Вы находитесь на странице: 1из 23

INSTITUTO NACIONAL DE CAPACITACIN Y EDUCACION SOCIALISTA

GERENCIA GENERAL DE INFORMATICA


DIVISION DE SERVIDORES

Manual de instalacin de Servidor seguridad y enlace para los CFS de las


Regiones, con los servicios de Dhcp, Proxy Squid3, Vpn y Firewall.

TUNFIRE

Autores:
Br. Jhonny Garzon
Br. Jess Alpino
Asesores tcnicos:
Noel Garcia
Rafael Martines
Primera entrega: Caracas, 1 de Noviembre de 2011
Segunda entrega: Caracas, 8 de Noviembre de 2011
Tercera estrega: Caracas, 26 de Enero de 2012
Instalacin de servicio DHCP

Su principal tarea consiste en asignar de


manera automtica las direcciones IP a los
puestos de una red TCP/IP. Esencialmente el
funcionamiento de este protocolo consiste en
que, cuando un cliente DHCP (uno de los
ordenadores de nuestra Intranet) se inicia, enva
un mensaje de difusin de manera que
cualquier servidor DHCP pueda detectarlo. En
este mensaje indica que se est iniciando y que
necesita una nueva direccin IP.

Instalacin
# aptitude install dhcp3-server

Configuracin
El servicio DHCP slo debe estar disponible para la red interna. Por eso, debe aceptar conexiones por
la interfaz interna (eth1, en este caso). Esto puede indicarse en el archivo de configuracin
/etc/default/isc-dhcp-server:
# Defaults for dhcp initscript
# sourced by /etc/init.d/dhcp
# installed at /etc/default/isc-dhcp-server by the maintainer scripts
#
# This is a POSIX shell fragment
# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
# Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="eth1"

Lo mas importante de la configuracin est contenida en el archivo /etc/dhcp/dhcpd.conf.


En este archivo se indica el nombre del dominio (option domain-name "home.lan";), las direcciones de
los servidores DNS (option domain-name-servers 192.168.1.100, 192.168.1.1;).
Tambin se puede definir la duracin normal y mxima de atribucin de la direccin IP atribuida
(default-lease-time 600; max-lease-time 7200;). El cliente podr pedir siempre una nueva atribucin
antes de que expire la actual, pudiendo recibir o no la misma direccin IP.
Finalmente, debe indicarse cul es el rango de direcciones disponibles para ser atribuidas en el
segmento de red 192.168.1.0 (range 192.168.1.32 192.168.1.63;), cul es la direccin del router (option
routers 192.168.1.1;) y finalmente, cul es la direccin para broadcast (option broadcast-address
192.168.1.255;)

Configuracion del interfaces para asignar la direccin ip fija.


# nano /etc/network/interfaces
Con las siguientes configuraciones:
auto lo eth0 eth1
iface lo inet loopback
iface eth0 inet dhcp
iface eth1 inet static
address 192.168.2.244
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.2.255

Activar el ip_forwaeding en el colocando el siguiente comando en un archivo que se lea al inicio del
sistema para que se active cada vez que se inicie el sistema.

- Se crea un archivo en el directorio /etc/init.d/


# nano /etc/init.d/firewall.cf
# chmod +x /etc/init.d/firewall.cf

Dentro se coloca las reglas de enmascaramiento para que la subnet pueda salir por la puerta de enlace
del servidor a internet:
#!/bin/sh
#FLUSH de reglas
iptables -F
iptables -X
iptables -Z
iptables -t nat -F

## Establecemos politica por defecto


iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT

###ENMASCARAMIENTO
iptables -t nat -A POSTROUTING -s 10.66.0.0/24 -o eth0 -j MASQUERADE
#activacion del ip_forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

Luego se ejecuta el comando:


# /etc/init.d/firewall.cf reload

Ejemplo de configuracion ISC dhcpd para Deban

#Se coloca el nombre del dominio de nuestro servidor


option domain-name "ince.int";
option domain-name-servers 10.0.0.120;
default-lease-time 600;
max-lease-time 7200;
authoritative;
log-facility local7;

subnet 192.168.1.0 netmask 255.255.255.0 {


range 192.168.1.32 192.168.1.63;
option routers 192.168.1.1;
option broadcast-address 192.168.1.255;
}

Para iniciar el servicio de DHCP


# /etc/init.d/isc-dhcp-server start
Para detenerlo
# /etc/init.d/isc-dhcp-server stop

Antes de proceder a la instalacin se verifica que tipo de conexin hay, a internet puesto que para una
conexin vpn es indispensable.
En caso de que no se tenga una conexin de cantv alambrica. Se podr utilizar una conexin (mdem
USB) para este ejemplo se ha utilizado un mdem USB de Movistar.

Instalacin del Mdem USB Movistar


Huawei:

Primero se deben instalar los siguientes paquetes:


# Modem Manager
# usb-modeswitch
# usb-modeswitch-data
# gnome-ppp
# dhcpd
# network-manager
# network-manager.gnome
#wdial

Luego de instalar todos los paquetes necesarios se colocara las siguientes directivas en el archivo de
configuracin del wvdial en /etc/wvdial.conf
#[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Modem Type = Analog Modem
Baud = 9600
New PPPD = yes
Modem = /dev/ttyUSB0
ISDN = 0
Phone = *99#
Password = movistar
Username = movistar
Stupid mode = 1
Auto Reconnect = on
Auto DNS = on

Luego para levantar la interface de el mdem solo se escribe en la terminal el siguiente comando:
# wvdial &
Se coloca andpersand para que la tarea quede en un segundo plano, con esto debera levantar la
interface y con ella la asignacin de una ip y el acceso a internet. Luego de completar la instalacin del
mdem USB
Instalacin del servicio VPN Lan to Lan:
Estos son los supuestos para la instalacin

- Se tiene dos equipos, cada uno con dos tarjetas de red una conectada a la Internet el otro a una red
interna al menos 2 GB memoria Ram.

1. - Se instalara como sistema operativo Deban 6.0.3 Squeeze.

- Ambos equipos tienen slo el sistema base instalado, para mayor seguridad y aprovechar
mejor los recursos de hardware del servidor.

Instalar el software necesario

Se introducen estos comandos en el servidor y el cliente para la instalacin.

# aptitude install openvpn openssl rdate

Ahora del lado del servidor de introducen estos comandos.

- Con estos comando se pegan los archivos de configuracin del OpenVPN en la carpeta openvpn.
# cd /usr/share/doc/openvpn/examples/easy-rsa/
# cp * /etc/openvpn-R

- Se debe dirigir a la carpeta de configuracin del openvpn


# cd /etc/openvpn

- Editar el archivo vars para colocar la configuraciones especificas del administrador que seran la
direccin del centro u oficina.
# nano /etc/openvpn/2.0/vars

Con las siguientes configuraciones:


# easy-rsa parameter settings
# NOTE: If you installed from an RPM,
# don't edit this file in place in
# /usr/share/openvpn/easy-rsa --
# instead, you should copy the whole
# easy-rsa directory to another location
# (such as /etc/openvpn) so that your
# edits will not be wiped out by a future
# OpenVPN package upgrade.
# This variable should point to
# the top level of the easy-rsa
# tree.
export EASY_RSA="`pwd`"
#
# This variable should point to
# the requested executables
export OPENSSL="openssl"
export PKCS11TOOL="pkcs11-tool"
export GREP="grep"
# This variable should point to
# the openssl.cnf file included
# with easy-rsa.
export KEY_CONFIG=`$EASY_RSA/whichopensslcnf $EASY_RSA`
# Edit this variable to point to
# your soon-to-be-created key
# directory.
#
# WARNING: clean-all will do
# a rm -rf on this directory
# so make sure you define
# it correctly!
export KEY_DIR="$EASY_RSA/keys"
# Issue rm -rf warning
echo NOTE: If you run ./clean-all, I will be doing a rm -rf on $KEY_DIR
# PKCS11 fixes
export PKCS11_MODULE_PATH="dummy"
export PKCS11_PIN="dummy"
# Increase this to 2048 if you
# are paranoid. This will slow
# down TLS negotiation performance
# as well as the one-time DH parms
# generation process.
export KEY_SIZE=1024
# In how many days should the root CA key expire?
export CA_EXPIRE=3650
# In how many days should certificates expire?
export KEY_EXPIRE=3650
# These are the default values for fields
# which will be placed in the certificate.
# Don't leave any of these fields blank.
export KEY_COUNTRY="VE"
export KEY_PROVINCE="DC"
export KEY_CITY="Caracas"
export KEY_ORG="Inces"
export KEY_EMAIL="servpn@servpm.com.ve"

Luego ejecutar el paquete vars


# . . /vars

Y los paquetes
# , /clean-all

# . /build-ca

Y la salida tendr este aspecto como sigue:

Generating a 1024 bit RSA private key


.++++++
..........................++++++
writing new private key to 'ca.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [KG]:bo
State or Province Name (full name) [NA]:bo
Locality Name (eg, city) [BISHKEK]:santacruz
Organization Name (eg, company) [OpenVPN-TEST]:go2linux.org
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:OpenVPN-CA
Email Address [me@myhost.mydomain]:webmaster@go2linux.org

Ahora se crean los certificados para el servidor


. / Build-key-server server

Y la salida tendr este aspecto como sigue:


Generating a 1024 bit RSA private key
.++++++
................................++++++
writing new private key to 'server.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [KG]:bo
State or Province Name (full name) [NA]:bo
Locality Name (eg, city) [BISHKEK]:santacruz
Organization Name (eg, company) [OpenVPN-TEST]:go2linux.org
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:server
Email Address [me@myhost.mydomain]:webmaster@go2linux.org

Please enter the following 'extra' attributes


to be sent with your certificate request
A challenge password []:challenge
An optional company name []:go2linux.org
Using configuration from /etc/openvpn/openssl.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName :PRINTABLE:'bo'
stateOrProvinceName :PRINTABLE:'bo'
localityName :PRINTABLE:'santacruz'
organizationName :PRINTABLE:'go2linux.org'
commonName :PRINTABLE:'server'
emailAddress :IA5STRING:'webmaster@go2linux.org'
Certificate is to be certified until Jul 11 14:14:14 2017 GMT (3650 days)
Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y


Write out database with 1 new entries
Data Base Updated
Ahora debe crear el certificado para el sitio del cliente:

./build-key clinete

Y la salida tendr este aspecto como sigue:


Generating a 1024 bit RSA private key
...............++++++
.........++++++
writing new private key to 'home.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [KG]:bo
State or Province Name (full name) [NA]:bo
Locality Name (eg, city) [BISHKEK]:santacruz
Organization Name (eg, company) [OpenVPN-TEST]:go2linux.org
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:home
Email Address [me@myhost.mydomain]:webmaster@go2linux.org

Please enter the following 'extra' attributes


to be sent with your certificate request
A challenge password []:challenge
An optional company name []:go2linux.org
Using configuration from /etc/openvpn/openssl.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName :PRINTABLE:'bo'
stateOrProvinceName :PRINTABLE:'bo'
localityName :PRINTABLE:'santacruz'
organizationName :PRINTABLE:'go2linux.org'
commonName :PRINTABLE:'home'
emailAddress :IA5STRING:'webmaster@go2linux.org'
Certificate is to be certified until Jul 11 14:22:34 2017 GMT (3650 days)
Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y


Write out database with 1 new entries
Data Base Updated

Puede crear todas las llaves para su emisin a tantos clientes como desee, una vez que haya terminado
de crear todas las llaves para sus clientes openvpn ejecuta este comando.

. / Build-dh
Las llaves se estn generando ya, y la salida se ver as.
Generating DH parameters, 1024 bit long safe prime, generator 2
This is going to take a long time
..........................+......................................++*++*++*

Configurar el lado del servidor

Se copia el archivo de configuracion del servidor (server.conf) con los siguientes comandos.
# cd /usr/share/doc/openvpn/examples/sample-config-files/
# cp server.conf.gz /etc/openvpn/
# cd /etc/openvpn/
# gzip -d server.conf.gz
# nano server.conf

Con la siguientes configuraciones dentro de archivo de configuracion server.con


Se coloca la ip publica del servidor
local 10.0.0.201
#el puerto por el cual se va a comunicar con el cliente
port 1#194
proto udp
dev tun
tls-server
#Llaves y certificados
ca /etc/openvpn/2.0/keys/ca.crt
cert /etc/openvpn/2.0/keys/server.crt
key /etc/openvpn/2.0/keys/server.key # This file should be kept secret
dh /etc/openvpn/2.0/keys/dh1024.pem
#La subnet que va a utilizar el servidor VPN para los clientes
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
#Las subnets que va a reconocer y enrutar el servidor VPN con NAT
push "route 192.168.1.0 255.255.255.0"
push "route 192.168.2.0 255.255.255.0"
#Archivo que contiene la subnet del cliente para enrutar los paquetes de vuelta al servidor
client-config-dir ccd
#regla para enrutar los paquetes de ida hacia al cliente
route 192.168.1.0 255.255.255.0
client-to-client
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
#max-client 3
status openvpn-status.log
verb 3

Para mejorar la seguridad descomentar estas dos lneas


usuario nobody
grupo nogroup
Configurar el cliente

En primer lugar es necesario copiar los certificados del servidor al cliente, asegrese de hacer esto de
una manera segura, ya sea usando scp o una llave USB con el fin de mantener sus archivos seguros.

los archivos necesarios son:


ca.crt
home.crt
home.key (debe mantenerse en secreto)

Y se encuentran en el directorio del servidor /etc/openvpn/2,0/keys/

Ahora que se a copiado todos los archivos que el cliente abra una consola en el cliente y el
# cd /usr/share/doc/openvpn/examples/sample-config-files/
# cp client.conf /etc/openvpn/
# cd /etc/openvpn/
# nano client.conf

Con las siguientes configuraciones:


client
dev tun
proto udp
#Colocamos la ip publica del servidor VPN y el puerto
remote 10.0.0.201 1194
resolv-retry infinite
nobind
#tls-client
#user nobody
#group nogroup
persist-key
persist-tun
#Llaves del servidor creadas para el cliente
ca /etc/openvpn/cliente1/ca.crt
cert /etc/openvpn/cliente1/client1.crt
key /etc/openvpn/cliente1/client1.key
#ns-cert-type server
comp-lzo
tun-mtu 1500
keepalive 10 120
verb 3

Eso es todo, a menos que se haya hecho algunos cambios en el servidor, como por ejemplo, el cambio
de la UDP a TCP con el puerto predeterminado, por lo que tendr que cambiar, que tambin en el lado
del cliente.

Iniciar el servidor
/etc/init.d/openvpn start
si todo va bien, debera ver algo como esto:
Sat Jul 14 11:12:11 2007 OpenVPN 2.0.9 i486-pc-linux-gnu [SSL] [LZO] [EPOLL] built on Jan 21 2007
Sat Jul 14 11:12:11 2007 Diffie-Hellman initialized with 1024 bit key
Sat Jul 14 11:12:11 2007 TLS-Auth MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ]
Sat Jul 14 11:12:11 2007 TUN/TAP device tun0 opened
Sat Jul 14 11:12:11 2007 /sbin/ifconfig tun0 10.8.0.1 pointopoint 10.8.0.2 mtu 1500
Sat Jul 14 11:12:11 2007 /sbin/route add -net 10.8.0.0 netmask 255.255.255.0 gw 10.8.0.2
Sat Jul 14 11:12:11 2007 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
Sat Jul 14 11:12:11 2007 GID set to nogroup
Sat Jul 14 11:12:11 2007 UID set to nobody
Sat Jul 14 11:12:11 2007 UDPv4 link local (bound): [undef]:1194
Sat Jul 14 11:12:11 2007 UDPv4 link remote: [undef]
Sat Jul 14 11:12:11 2007 MULTI: multi_init called, r=256 v=256
Sat Jul 14 11:12:11 2007 IFCONFIG POOL: base=10.8.0.4 size=62
Sat Jul 14 11:12:11 2007 IFCONFIG POOL LIST
Sat Jul 14 11:12:11 2007 Initialization Sequence Completed

Inicie el cliente

/etc/init.d/openvpn restart

la salida debe ser similar a este:

Sat Jul 14 15:40:36 2007 OpenVPN 2.0.9 i486-pc-linux-gnu [SSL] [LZO] [EPOLL] built on Jan 21 2007
Sat Jul 14 15:40:36 2007 IMPORTANT: OpenVPN's default port number is now 1194, based on an official port number assignment by
IANA. OpenVPN 2.0-beta16 and earlier used 5000 as the default port.
Sat Jul 14 15:40:36 2007 WARNING: No server certificate verification method has been enabled. See
http://openvpn.net/howto.html#mitm for more info.
Sat Jul 14 15:40:36 2007 LZO compression initialized
Sat Jul 14 15:40:36 2007 Control Channel MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ]
Sat Jul 14 15:40:36 2007 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
Sat Jul 14 15:40:36 2007 Local Options hash (VER=V4): '41690919'
Sat Jul 14 15:40:36 2007 Expected Remote Options hash (VER=V4): '530fdded'
Sat Jul 14 15:40:36 2007 NOTE: UID/GID downgrade will be delayed because of --client, --pull, or --up-delay
Sat Jul 14 15:40:36 2007 UDPv4 link local: [undef]
Sat Jul 14 15:40:36 2007 UDPv4 link remote: 200.87.61.90:1194
Sat Jul 14 15:40:36 2007 TLS: Initial packet from 200.87.61.90:1194, sid=408d696e 88814e22
Sat Jul 14 15:40:37 2007 VERIFY OK: depth=1, /C=bo/ST=bo/L=santacruz/O=go2linux.org/CN=OpenVPN-
CA/emailAddress=gerencia@alketech.com
Sat Jul 14 15:40:37 2007 VERIFY OK: depth=0, /C=bo/ST=bo/O=go2linux.org/CN=server/emailAddress=gerencia@alketech.com
Sat Jul 14 15:40:38 2007 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Sat Jul 14 15:40:38 2007 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Sat Jul 14 15:40:38 2007 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Sat Jul 14 15:40:38 2007 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Sat Jul 14 15:40:38 2007 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 1024 bit RSA
Sat Jul 14 15:40:38 2007 [server] Peer Connection Initiated with 200.87.61.90:1194
Sat Jul 14 15:40:39 2007 SENT CONTROL [server]: 'PUSH_REQUEST' (status=1)
Sat Jul 14 15:40:39 2007 PUSH: Received control message: 'PUSH_REPLY,route 10.8.0.0 255.255.255.0,ping 10,ping-restart
120,ifconfig 10.8.0.6 10.8.0.5'
Sat Jul 14 15:40:39 2007 OPTIONS IMPORT: timers and/or timeouts modified
Sat Jul 14 15:40:39 2007 OPTIONS IMPORT: --ifconfig/up options modified
Sat Jul 14 15:40:39 2007 OPTIONS IMPORT: route options modified
Sat Jul 14 15:40:39 2007 TUN/TAP device tun0 opened
Sat Jul 14 15:40:39 2007 /sbin/ifconfig tun0 10.8.0.6 pointopoint 10.8.0.5 mtu 1500
Sat Jul 14 15:40:39 2007 /sbin/route add -net 10.8.0.0 netmask 255.255.255.0 gw 10.8.0.5
Sat Jul 14 15:40:39 2007 GID set to nogroup
Sat Jul 14 15:40:39 2007 UID set to nobody
Sat Jul 14 15:40:39 2007 Initialization Sequence Completed

Configuraciones adicionales para comunicar LAN to LAN


A los efectos de este ejemplo, vamos a suponer que la LAN en el servidor utiliza una subred de
10.66.0.0/24 y la IP VPN de direcciones usa 10.8.0.0/24 como se cita en la directiva del servidor en el
archivo de configuracin de OpenVPN servidor.

Al final del documento se anexa una tabla con la subnet's a utilizar por cada sentro segn lineamientos
del la Divisin de Servidores.

En primer lugar, debe anunciar la subred 10.66.0.0/24 a los clientes VPN de ser accesible a travs de la
VPN. Esto se puede hacer fcilmente con la siguiente directiva en el archivo de configuracin del
servidor, server.conf.

push "route 10.66.0.0 255.255.255.0"

A continuacin, se debe establecer una ruta en la puerta de entrada del lado del servidor LAN para la
ruta de la subred del cliente VPN (10.8.0.0/24) en el servidor OpenVPN (esto slo es necesario si el
servidor OpenVPN y el gateway LAN son diferentes mquinas).

Se debe asegurar que ha activado IP y TUN / TAP envo en el servidor OpenVPN.

Incluyendo varias mquinas en el lado del cliente cuando se utiliza un enrutado VPN (dev tun)
En un escenario tpico de acceso a la carretera-guerrero o remota, la mquina cliente se conecta a la
VPN, como una sola mquina. Pero supongamos que la mquina del cliente es una puerta de entrada
para una red local (tal como una oficina en casa), y le gustara que cada mquina en la LAN del cliente
para poder enrutar a travs de la VPN.

Para este ejemplo, se supondra que la red LAN del cliente est utilizando la subred 192.168.4.0/24, y
que el cliente VPN est utilizando un certificado con un nombre comn de client2. Nuestro objetivo es
la creacin de la VPN para que cualquier mquina en la LAN del cliente se puede comunicar con
cualquier mquina en la LAN del servidor a travs de la VPN.

Antes de la instalacin, hay algunos requisitos bsicos que deben seguirse:

* El cliente subred LAN (192.168.4.0/24 en nuestro ejemplo) no deben ser exportados a la VPN por el
servidor o cualquier otro cliente de los sitios que utilizan la misma subred. Cada subred que se une a la
VPN a travs de enrutamiento debe ser nico.

* El cliente debe tener un nombre nico en su certificado Common ("client2" en nuestro ejemplo), y la
bandera duplicado-cn no debe utilizarse en el fichero de configuracin de OpenVPN servidor.
En primer lugar, asegrese de que el reenvo IP y TUN / TAP est activado en la mquina cliente.

A continuacin, se tratara con los cambios de configuracin necesarios en el servidor. Si el archivo de


configuracin del servidor actualmente no hacen referencia a un directorio de configuracin de cliente,
agregue la siguiente directiva en el archivo de configuracin del servidor server.conf:

client-config-dir ccd

En la directiva anterior, deber ser el nombre de un directorio que ha sido creado previamente en el
directorio predeterminado donde el demonio del servidor OpenVPN funciona. En Linux esto tiende a
ser /etc/openvpn y en Windows por lo general es \Archivos de programa \OpenVPN\Config. Cuando
un nuevo cliente se conecta al servidor OpenVPN, el demonio de verificacin de este directorio para un
archivo que coincida con el nombre comn del cliente que se conecta. Si un archivo es encontrado, ser
ledo y procesado de directrices adicionales de archivo de configuracin que se aplicarn para el cliente
llamado.

El siguiente paso es crear un archivo llamado client2 en el directorio de la CLD. Este archivo debe
contener la lnea:

iroute 192.168.4.0 255.255.255.0


Esto le dir al servidor OpenVPN que la subred 192.168.4.0/24 debe ser enviado a client2.

A continuacin, se agregaranla siguiente lnea en el fichero de configuracin del servidor principal (no
el archivo ccd/client2):

route 192.168.4.0 255.255.255.0

La razn por la que se agrega dos veces es que route controla el enrutamiento del ncleo con el
servidor OpenVPN (a travs de la interfaz TUN), mientras que iroute controla el enrutamiento desde el
servidor OpenVPN a los clientes remotos. Ambos son necesarios.
Despus, pregntese si le gustara para permitir el trfico de red entre la subred client2
(192.168.4.0/24) y otros clientes del servidor OpenVPN. Si es as, aada lo siguiente en el fichero de
configuracin del servidor server.conf.
Client to client
push "route 192.168.4.0 255.255.255.0"
El siguiente manual pretende entregar al usuario una gua para configurar un servidor PROXY SQUID
con autenticacin con un servidor LDAP.

Como muestra la Figura anterior, los clientes que intenten conectarse a cualquier sitio WEB deben
autenticarse. Esto lo hace solo la primera ves que abre un navegador.
Enviar su nombre de usuario y la clave cuando se le solicite.
Una ves enviado estos datos, el servidor PROXY debe verificar la existencia de tal usuario y validar
la clave en el servidor LDAP.
El servidor LDAP, una ves verificado y autenticado el usuario, le indica al servidor PROXY que el
usuario puede comenzar a navegar.

Para instalar Squid escribe en un terminal:


# sudo aptitude install squid

La configuracin de Squid se hace editando el archivo /etc/squid/squid.conf

# nano /etc/squid3/squid.conf

Ejemplo de archivo de configuracin del squi.conf


##################################################
### Archivo de Configuracion de SQUID Version3 ###
# Gerencia General de Informatica ###
# Departamento de Servidores ###
# -------------------------------------------- ###
# Proyecto de Actualizacion de Servidores ###
# 26/05/2010 ###
##################################################

# PARAM E T R O S G LOBALES

# Puerto de escucha y la ip
# Esta es la ip y el puerto que se deben colocar en las configuraciones del explorador de cada uno de los usuario
http_port 10.127.1.244:3128

# ICP Port - Puerto por el que se reciben solicitudes ICP (Inter-Cache Protocol)
icp_port 0

# Parametros de Apache
#acl apache rep_header Server ^Apache
# PARAM E T R O S D E CAC H E

# Tiempo de actualizacion de objetos relacionados con


# los protocolos FTP, GOPHER, HTTP
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320

# Tamano maximo de la cache (2 GB)


cache_mem 2048 MB

# Define la ubicacion de la cache del disco, tamano y cantidad


# de directorios padre, y directorios hijo.
cache_dir ufs /var/spool/squid3 4096 64 512

# Nivel de % min y max aceptada por el squid. Es decir, los objetos


# se mantendran en cache hasta alcanzar un nivel min, y se comenzaran
# a borrar tras alcanzar un nivel max.
cache_swap_low 90
cache_swap_high 95

# Indica el tamano max de un objeto en la cache


maximum_object_size 4096 KB

# No almacena en cache ciertos objetos (cgi-bin)


hierarchy_stoplist cgi-bin ? hotmail inces.gob.ve yahoo

# Grupo que administra la cache del squid


cache_effective_group proxy

# P A R A M E T R O S T I M E T O L I V E (TTL)

# Tiempo para procesar nuevamente una pagina que no ha sido encontrada


negative_ttl 50 seconds

# TIempo que mantendra squid para una pagina que ha sido encontrada
positive_dns_ttl 6 hours

# Duracion de la IP autenticada
authenticate_ip_ttl 30 seconds

# D E C LARAC I O N DE REDES

acl manager proto cache_object


acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8
acl redlocal src 10.127.1.0/24

# Declaracion de la acl de Usuarios Maximos


acl maxuser max_user_ip -s 1

# Crea una lista de control de acceso, basandose en una URL


# y utilizando expresiones regulares, en esta situacin fue
# creada una expresion regular para cgi e?
acl QUERY urlpath_regex cgi-bin \?

# No hace cache de la acl QUERY


cache deny QUERY

# D E C LARAC I O N DE PU ERTOS C ON F IABLE S


acl SSL_ports port 443 # https
acl SSL_ports port 12443 # https - Banco del Tesoro
acl SSL_ports port 14443 # https - Banco Banesco
acl SSL_ports port 563 # snews
acl SSL_ports port 666 # Darkstat
acl SSL_ports port 667 # Darkstat
acl SSL_ports port 873 # rsync
acl SSL_ports port 2083 # Cafince
acl SSL_ports port 3000 # NTOP
acl SSL_ports port 10000 # rsync/webmin
acl SSL_ports port 1863
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 444 # https - Banco del Tesoro
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 666 # Darkstat
acl Safe_ports port 667 # Darkstat
acl Safe_ports port 777 # multiling http
acl Safe_ports port 631 # cups
acl Safe_ports port 873 # rsync
acl Safe_ports port 901 # SWAT
acl Safe_ports port 2083 # Cafince
acl Safe_ports port 3000 # NTOP
acl Safe_ports port 8082 # Universidad Santa Maria
acl Safe_ports port 9000 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT

#AC CE SO S BAS I CO S

http_access allow manager localhost


http_access deny manager
http_access allow purge localhost
http_access deny purge !localhost
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

# Denegacion de Conexiones desde IP > 1


http_access deny maxuser

# Permite replicas de solicitudes a los usuarios de la red


http_reply_access allow redlocal

#METODO DE A U T E N T I C A C I O N (OpenLDAP)

auth_param basic program /usr/lib/squid3/squid_ldap_auth -v3 -b "dc=ince,dc=int" -f "uid=%s" -h 10.0.0.120


auth_param basic children 50
auth_param basic realm Web-Proxy
auth_param basic credentialsttl 1 minute
# LI STAS D E C O N TR O L D E AC C E S O
## Donde se especifican los grupos del arbol ldap
external_acl_type GrupoLDAP %LOGIN /usr/lib/squid3/squid_ldap_group -b "ou=Grupos,dc=ince,dc=int" -f
"(&(objectclass=posixGroup)(cn=%a)(memberUid=%v))" -h 10.0.0.120
#acl cocina url_regex /etc/squid3/lists/blacklists/culinary
#acl ads url_regex /etc/squid3/lists/blacklists/ads
#acl bancos url_regex /etc/squid3/lists/blacklists/banking
#acl bancos1 url_regex /etc/squid3/lists/blacklists/bank
#acl deport url_regex /etc/squid3/lists/blacklists/sports
#acl jobsearch url_regex /etc/squid3/lists/blacklists/jobsearch
#acl gardenin url_regex /etc/squid3/lists/blacklists/gardening
#acl cerveceria url_regex /etc/squid3/lists/blacklists/beerliquorinfo
#acl entretenimiento url_regex /etc/squid3/lists/blacklists/entertainment
#acl celebracion url_regex /etc/squid3/lists/blacklists/celebrity
#acl aborto url_regex /etc/squid3/lists/blacklists/abortion
#acl periodicos url_regex /etc/squid3/lists/blacklists/news
#acl chats url_regex /etc/squid3/lists/blacklists/chat
#acl reaffected url_regex /etc/squid3/lists/blacklists/reaffected
#acl actualizacion url_regex /etc/squid3/lists/blacklists/updatesites
#acl pezca url_regex /etc/squid3/lists/blacklists/phishing
#acl gamblig url_regex /etc/squid3/lists/blacklists/gambling
#acl red_social url_regex /etc/squid3/lists/blacklists/social_networks
#acl carajitos url_regex /etc/squid3/lists/blacklists/child
#acl correos url_regex /etc/squid3/lists/blacklists/webmail
#acl caza url_regex /etc/squid3/lists/blacklists/hunting
#acl tabaco url_regex /etc/squid3/lists/blacklists/tobacco
#acl agua url_regex /etc/squid3/lists/blacklists/weather
#acl agrasivas url_regex /etc/squid3/lists/blacklists/aggressive
#acl solopagas url_regex /etc/squid3/lists/blacklists/onlinepayment
#acl acce_remoto url_regex /etc/squid3/lists/blacklists/remote-control
#acl firme url_regex /etc/squid3/lists/blacklists/verisign
#acl red_social2 url_regex /etc/squid3/lists/blacklists/socialnetworking
#acl malware url_regex /etc/squid3/lists/blacklists/malware
#acl drogas url_regex /etc/squid3/lists/blacklists/drugs
#acl adult_mixtos url_regex /etc/squid3/lists/blacklists/mixed_adult
#acl humor url_regex /etc/squid3/lists/blacklists/humor
#acl adultos url_regex /etc/squid3/lists/blacklists/adult
#acl list_blanca url_regex /etc/squid3/lists/blacklists/whitelist
#acl blogs url_regex /etc/squid3/lists/blacklists/blog
#acl beer_sale url_regex /etc/squid3/lists/blacklists/beerliquorsale
#acl higiene url_regex /etc/squid3/lists/blacklists/hygiene
#acl economia url_regex /etc/squid3/lists/blacklists/ecommerce
#acl alcohol url_regex /etc/squid3/lists/blacklists/alcohol
#acl juegos_online url_regex /etc/squid3/lists/blacklists/onlinegames
#acl escritorio url_regex /etc/squid3/lists/blacklists/desktopsillies
#acl busq_archivos url_regex /etc/squid3/lists/blacklists/filesharing
#acl contracep url_regex /etc/squid3/lists/blacklists/contraception
#acl prensa url_regex /etc/squid3/lists/blacklists/press
#acl ringtones url_regex /etc/squid3/lists/blacklists/ringtones
#acl correos2 url_regex /etc/squid3/lists/blacklists/mail
#acl vacaciones url_regex /etc/squid3/lists/blacklists/vacation
#acl finacieras url_regex /etc/squid3/lists/blacklists/financial
#acl accion_online url_regex /etc/squid3/lists/blacklists/onlineauctions
#acl celulares url_regex /etc/squid3/lists/blacklists/cellphones
#acl spias url_regex /etc/squid3/lists/blacklists/spyware
#acl radio url_regex /etc/squid3/lists/blacklists/radioacl
#acl pistolas url_regex /etc/squid3/lists/blacklists/guns
#acl proxy url_regex /etc/squid3/lists/blacklists/proxy
#acl armas url_regex /etc/squid3/lists/blacklists/weapons
#acl fecha url_regex /etc/squid3/lists/blacklists/dating
#acl cuidado_carajitos Url_regex /etc/squid3/lists/blacklists/childcare
#acl ropa url_regex /etc/squid3/lists/blacklists/clothing
#acl libros url_regex /etc/squid3/lists/blacklists/books
#acl comer_soft url_regex /etc/squid3/lists/blacklists/marketingware
#acl res_linea url_regex /etc/squid3/lists/blacklists/dialers
#acl naturismo url_regex /etc/squid3/lists/blacklists/naturism
#acl sexualidad url_regex /etc/squid3/lists/blacklists/sexuality
#acl antiespia url_regex /etc/squid3/lists/blacklists/antispyware
#acl msn_instantaneo url_regex /etc/squid3/lists/blacklists/instantmessaging
#acl arjel url_regex /etc/squid3/lists/blacklists/arjel
#acl infectadas url_regex /etc/squid3/lists/blacklists/virusinfected
#acl edu_frances url_regex /etc/squid3/lists/blacklists/frencheducation
#acl hackers url_regex /etc/squid3/lists/blacklists/hacking
#acl noti_deportivas url_regex /etc/squid3/lists/blacklists/sportnews
#acl manga url_regex /etc/squid3/lists/blacklists/manga
#acl arnudes url_regex /etc/squid3/lists/blacklists/artnudes
acl porno url_regex "/etc/squid3/lists/blacklists/porn/urls3"
#acl mascotas url_regex /etc/squid3/lists/blacklists/pets
#acl religion url_regex /etc/squid3/lists/blacklists/religion
#acl telf_mobil url_regex /etc/squid3/lists/blacklists/mobile-phone
#acl limpieza url_regex /etc/squid3/lists/blacklists/cleaning
#acl medicina url_regex /etc/squid3/lists/blacklists/medical
#acl repar_hoogar url_regex /etc/squid3/lists/blacklists/homerepair
#acl busque_motores url_regex /etc/squid3/lists/blacklists/searchengines
#acl comunidades url_regex /etc/squid3/lists/blacklists/warez
#acl compras url_regex /etc/squid3/lists/blacklists/shopping
#acl sectas url_regex /etc/squid3/lists/blacklists/sect
#acl archivos_host url_regex /etc/squid3/lists/blacklists/filehosting
#acl jewelry url_regex /etc/squid3/lists/blacklists/jewelry
#acl tim_carajito url_regex /etc/squid3/lists/blacklists/kidstimewasting
#acl juegos url_regex /etc/squid3/lists/blacklists/games
#acl audio_video url_regex /etc/squid3/lists/blacklists/audio-video
#acl violencia url_regex /etc/squid3/lists/blacklists/violence
#acl astrologia url_regex /etc/squid3/lists/blacklists/astrology
#acl fin_personal url_regex /etc/squid3/lists/blacklists/personalfinance
#acl revistas url_regex /etc/squid3/lists/blacklists/magazines
#acl gobierno url_regex /etc/squid3/lists/blacklists/government
acl sitiospermitidos url_regex "/etc/squid3/rules/sitioslibres"

## Varibles que se le asignan a cada uno del los grupos del LDAP
acl U-VIP external GrupoLDAP Usuarios_VIP
acl U-ADMIN external GrupoLDAP Usuarios_ADMIN
acl U-Autorizados external GrupoLDAP Usuarios_Autorizados
acl U-Descargas external GrupoLDAP Usuarios_Descargas
acl U-Limitados external GrupoLDAP Usuarios_Limitados
acl U-Bloqueados external GrupoLDAP Usuarios_Bloqueados
acl U-Servidores external GrupoLDAP Usuarios_Servidores
acl U-MSN external GrupoLDAP Usuarios_Messenger
acl U-Especiales external GrupoLDAP Usuarios_Especiales
acl U-Serv external GrupoLDAP Usuarios_Servidores
acl U-RRHH external GrupoLDAP Usuarios_Pag_Gobierno
acl U-Twitter external GrupoLDAP Usuarios_Twitter
acl password proxy_auth REQUIRED

acl HORA_BLOQ time M 16:00-16:53

# R E G LAS D E AC C E S O
#http_access allow U-Serv sitiospermitidos
#http_access allow redlocal
##http_access allow U-ADMIN
#http_access allow U-Twitter twitter !youtube !facebook !messenger !sitiosbloqueados
##http_access allow U-MSN messenger !sitiosbloqueados-msn !youtube facebook !sitiosbloqueados !twitter
##http_access allow U-VIP !facebook !sitiosbloqueados !messenger !youtube !twitter
##http_access allow U-Descargas !facebook !sitiosbloqueados !messenger !youtube !twitter
##http_access allow U-Limitados !facebook !sitiosbloqueados !messenger !youtube !twitter
##http_access allow U-Especiales youtube !facebook !sitiosbloqueados !sitiosbloqueados-msn !messenger !twitter
##http_access allow U-Servidores !facebook !sitiosbloqueados !messenger !youtube !twitter
##http_access allow U-Autorizados !facebook !sitiosbloqueados !messenger !youtube !twitter
##http_access allow U-RRHH gobierno !facebook !sitioslibres !sitiosbloqueados !messenger !youtube !twitter !sitiosbloqueados-msn
##http_access deny U-Serv HORA_BLOQ
##http_access deny U-Bloqueados U-ADMIN
##http_access allow U-Serv !porno
http_access allow redlocal

icp_access allow redlocal


icp_access deny all

coredump_dir /var/spool/squid3

# M I S C E LAN E O S

# Nombres de Maquinas
hosts_file /etc/hosts

# Servidores de DNS locales en todo casa de que existan


dns_nameservers 10.0.0.120

# Ocultar Version de Squid3


httpd_suppress_version_string on

# Correo de Administracion de Squid


cache_mgr tunfire@tunfire.gob.ve

# Archivo de eventos (LOG)


access_log /var/log/squid3/access.log squid

# Directorio de Mensajes de Error


error_directory /etc/squid3/errors

# Nombre del Servidor Squid


visible_hostname srvtunfire

# |D|E|L|A|Y| |P|O|O|L|

#acl day time 07:30-18:00 #Limitael ancho de banda durante el periodo especificado
#delay_pools 1
#delay_class 1 1
#delay_parameters 1 1000/1000
#delay_access 1 allow redlocal
#delay_access 1 deny all

Para que todas estas configuraciones funciones todas las llamadas a archivos externos deben ser
satisfechas segun su ruta.
ANEXOS
Tabla de subnet's postuladas para los CFS. Segun su sede Regional
Sede Distrito Capital Sudnet 10.127.0.0
C.F.S. Subnet de la LAN
23 de Enero 10.127.1.0
Caricuao 10.127.2.0
Banco Seguro 10.127.3.0
Centro Norte 10.127.4.0
Maracapana 10.127.5.0
Comercio 10.127.6.0
Industria 10.127.7.0
Textil 10.127.8.0
Polivalente 10.127.9.0
Categoris Admin Viip Autorizados Bloqueados Especiales Messenger Servidores Twitter

ads
Banking
Sports
Marketingware
Dialers
Naturismo
Sexualidad
Antispyware
Instantmessaging
Virusinfected
Frencheducation
Hacking
Sportnews
Manga
Artnudes
Porn
Pets/Mascotas
Religion
Mobile-phone
Cleaning
Medical
Homerepair
warez
shopping
Sect
Filehosting
Kidstimewasting
Games
Audio-video
Violence
Astrology
Personalfinance
Magazines
Government

Вам также может понравиться