Download - Servidor Proxy

Transcript
Page 1: Servidor Proxy

Febrero 2009

1

MANUAL

SERVIDOR PROXY

Page 2: Servidor Proxy

SERVIDOR PROXYINDICE

1. Introducción.................................................................................................................31.2 Ventajas de utilizar un servidor proxy.....................................................................31.3 Situación actual.......................................................................................................41.4 Esquema de integración de las tecnologías.............................................................51.5 Tabla de ruteo..........................................................................................................5

2. Servidor Squid............................................................................................................62.1 Pre requisitos...........................................................................................................62.2 Instalación................................................................................................................62.3 Compilación............................................................................................................62.4 Script de inicialización............................................................................................72.5 Instalación y configuración modulo squid-webmin...............................................8

3. Kaspersky..................................................................................................................113.1 Requerimientos......................................................................................................113.2 Instalación..............................................................................................................113.3 Pruebas de virus.....................................................................................................123.4 Funcionamiento del Antivirus Kaspersky.............................................................133.5 Reactivación de licencia........................................................................................13

4. Dansguardian............................................................................................................144.1 Instalación..............................................................................................................14

4.1.1 Instalación de blacklists..................................................................................154.1.2 Configuración archivo dansguardian.conf......................................................15

4.2 Instalación y configuración modulo dansguardian-webmin.................................154.3 Configuración del Dansguardian...........................................................................174.4 Configuración de los grupos..................................................................................18

4.4.1 Grupo 1...........................................................................................................194.4.2 Grupo 2...........................................................................................................194.4.3 Grupo 3...........................................................................................................194.4.4 Grupo 4...........................................................................................................20

4.5 Identificación de usuarios......................................................................................204.5.1 Identificación de usuarios según nombre del equipo.....................................214.5.2 Identificación de usuarios según IP................................................................21

5. Iptables.......................................................................................................................225.1 Bloqueo de windows-live-messenger....................................................................22

6. Script de arranque....................................................................................................227. Opción ICAP_PREVIEW.........................................................................................238. Autenticación mediante LDAP...............................................................................249. Configuración de los navegadores........................................................................25

9.1 Internet Explorer....................................................................................................259.2 Mozilla Firefox......................................................................................................26

2

Page 3: Servidor Proxy

1. Introducción

La finalidad del servidor proxy es de permite a otros equipos conectarse a una red de forma indirecta a través de él. Cuando un equipo de la red desea acceder a una información o recurso, es realmente el proxy quien realiza la comunicación y a continuación traslada el resultado al equipo inicial

Figura1.1: Diagrama general servidor proxy

1.2 Ventajas de utilizar un servidor proxy

Ahorro de Tráfico: Las peticiones de páginas Web se hacen al servidor Proxy y no a Internet directamente. Por lo tanto, aligera el tráfico en la red y descarga los servidores destino, a los que llegan menos peticiones.

Velocidad en Tiempo de respuesta: El servidor Proxy crea un caché que evita transferencias idénticas de la información entre servidores durante un tiempo (configurado por el administrador) así que el usuario recibe una respuesta más rápida.

Filtrado de contenidos: El servidor proxy puede hacer un filtrado de páginas o contenidos basándose en criterios de restricción establecidos por el administrador dependiendo valores y características de lo que no se permite, creando una restricción cuando sea necesario.

3

Page 4: Servidor Proxy

1.3 Situación actual

Para implementar el servidor proxy, se trabajó en una red real, lo cual nos permitió diseñar una arquitectura efectiva de seguridad para la navegación en internet.

El siguiente diagrama describe el diseño de red actual.

Figura 1.2: Diagrama de red actual

EL servidor Proxy consta de dos salidas ethernet, la ethrenet interna con IP 10.17.10.20/25, la cual se conecta a la red de clientes, y la ethernet externa 10.17.10.152/27 la cual se conecta al firewall 10.17.10.135/27 que es el medio por cual se sale a Internet.

4

Page 5: Servidor Proxy

Cabe mencionar que tanto el squid, el dansguardian y Kaspersky fueron instalados en un mismo servidor virtual bajo Vmware.

1.4 Esquema de integración de las tecnologías

Figura1.3: Esquema de integración squid-dansguardian-kaspersky

En el esquema se muestra la forma en que las tecnologías se comunican. Los clientes acceden a internet a través del servidor proxy, el cual se comunica con dansguardian para verificar las diferentes categorías dentro del diccionario el cual contiene: listas negras, grises y blancas y determinados grupos de acceso. A su vez el servidor proxy se comunica con Kaspersky para scannear archivos descargados desde internet.

1.5 Tabla de ruteo

Las siguientes rutas son las que se configuraron en la tabla de ruteo del servidor proxy.

Destination Gateway Genmask Iface10.17.10.128 * 255.255.255.224 eth110.17.10.0 * 255.255.255.128 eth0169.254.0.0 * 255.255.0 eth1default 10.17.10.135 0.0.0.0 eth1

5

DANSGUARDIAN

SQUID

KASPERSKY

FIREWALL

Diccionario

INTERNET

Page 6: Servidor Proxy

2. Servidor Squid

2.1 Pre requisitos

Plataforma Centos 5Kernel Linux 2.6.18-8.el5 i686 Iptables Versión iptables-1.3.5-1.2.1 SharutilsVersión sharutils-4.6.1-2 GccVersión gcc-4.1.2-42.el5 Webmin webmin-1.441-1

El sistema operativo Centos 5 fue instalado en un servidor virtual bajo Vmware con 512 Mb de RAM y un disco virtual de 14Gb.

2.2 Instalación

Antes de nada instalamos algunas utilidades necesarias para la compilación. yum install sharutils yum install gcc*

Descargar la version 2.6 de Squid en su version binaria (squid2.6.xxx.tar.gz)Descargado de la página: http://www.kaspersky.com/productupdates?chapter=199055161

Guardarlo en: /tmpDescomprimir el archivo: $ tar –zxpf squid-2.6xxx.tar.gzEntrar a la carpeta creada: $ cd squid-2.6xxx

2.3 Compilación

Dentro de la carpeta creada squid-2.6xxx, escribir la siguientes parámetros de configuración, uno es para poder trabajar con icap y el segundo parametro es # ./configure --enable-icap-support --enable-follow-x-forwarded-for –with-large-files --enable-auth=basic --enable-basic-auth-helpers=LDAP --enable-external-acl-herlpers=ldap-group# make # make install # make clean

enable-icap-support.- Este parámetro es necesario para que squid soporte el protocolo icap, permitiendo de esta forma la comunicación con el antivirus Kaspersky.

6

Page 7: Servidor Proxy

enable-follow-x-forwarded-for.- Este parámetro permite al squid redireccionar su puerto por defecto 3128 al puerto de dansguardian 8080.

with-large-files.- Permite al cache trabajar con archivos grandes.

Una vez finalizada la instalación, se debe configurar el archivo squid.conf, dentro de este archivo debemos de habilitar las siguientes líneas:

enable-auth=basic.- Permite la utenticación básica, mediante IP.

enable-basic-auth-helpers=LDAP.- Permite la autenticación mediante LDAP.

enable-external-acl-herlpers=ldap-group.- Permite el uso de listas de acceso con LDAP.

# vi /usr/local/squid/etc/squid.conf

visible_hostname squid cache_effective_user squid follow_x_forwarded_for allow localhost

Ahora añadimos la ACL localnet, la cual establece nuestra subred.

acl localnet src 10.17.10.0/255.255.255.128 http_access allow localnet

# chown squid /usr/local/squid/var/logs/# mkdir /usr/local/squid/var/cache# chown squid /usr/local/squid/var/cache/

Una vez realizado las configuraciones, iniciamos el cache de squid

/usr/local/squid/sbin/squid –z

Ahora iniciamos el squid desde el binario: /usr/local/squid/sbin/squid -N -d 1 –D

2.4 Script de inicialización

Para poder inicializar el squid en forma de servicio y poder ejecutar los comandos conocidos: start/stop/restart.

Creamos el siguiente script, el cual es puesto en el directorio: etc/init.d/Lo guardamos con el nombre de squid y le damos permisos de ejecución.

#!/bin/sh# chkconfig: 2345 99 00

case "$1" in

7

Page 8: Servidor Proxy

'start') /usr/local/squid/sbin/squid touch /var/lock/subsys/squid ;;'stop') /usr/local/squid/sbin/squid -k shutdown rm -f /var/lock/subsys/squid ;;*) echo "Usage: $0 { start | stop }" ;;esacexit 0

2.5 Instalación y configuración modulo squid-webmin

Descargamos la última versión de Webmin ‘webmin-1.450-1.noarch.rpm del sitio: http://www.webmin.com.

Precedemos con la instalación.

# rpm –i webmin-1.450-1.noarch.rpm

Una vez instalado, se nos informa que para acceder a webmin, lo hacemos mediante el siguiente url: https://localhost:10000, accediendo a este a través del usuario root, en este caso: usuario:root, password: root123.

Una vez instalado, ingresamos a webmin mediante el siguiente url: https//:10.17.10.20:10000, entramos a Webmin configuration y luego Webmin Modules.

Figura 2.1: Configuración de webmin

Ahora instalamos el modulo squid desde webmin.com

8

Page 9: Servidor Proxy

Figura 2.2: Instalación del módulo squid en webmin

Una vez instalado el modulo squid aun no se mostrara en el webmin, por lo que entramos de la siguiente manera: https//:10.17.10.20:10000/squidSeguidamente nos mostrara el siguiente error:

Figura 2.3: Mensaje de error en squid-webmin

Ahora lo que demos hacer es entrar al link de ‘Module config’ y configurar los parámetros del squid.

Figura 2.4: Configuración del módulo squid en webmin

Lo que debemos cambiar es solo la parte de system configuration.

9

Page 10: Servidor Proxy

System configuration Full path to squid config file: /usr/local/squid/etc/squid.confCommand to start squid: /usr/local/squid/sbin/squidCommand to stop squid: /usr/local/squid/sbin/squid -k shutdownCommand to apply changes: AutomaticSquid executable: /usr/local/squid/sbin/squidFull path to PID file: /usr/local/squid/var/logs/squid.pidFull path to squid cache directory: /usr/local/squid/var/cacheSquid cachemgr.cgi executable: /usr/libexec/webmin/squid/cachemgr.cgiFull path to squid log directory: /usr/local/squid/var/logs

Guardamos el modulo de configuración y de inmediato nos mostrara el módulo Squid.

Figura 2.5: Menú principal squid-webmin

Una vez instalado el módulo squid-webmin, podremos realizar la configuración de ACL’s a través de este medio.

Figura 2.6: Listas de control de acceso en SQUID

10

Page 11: Servidor Proxy

3. Kaspersky

3.1 Requerimientos

Se requiere tener SQUID 2.5 o 2.6 con soporte ICAP instalado. Ejecutable de instalación: kav4proxy-5.5-51.i386.rpm versión en inglés, descargado de la página: http://www.kaspersky.com/productupdates?chapter=199055161

Licencia: Licencia de prueba, válida por 30 días.

3.2 Instalación

# rmp –i kav4proxy-5.5-51.i386.rpmUna vez instalado el rpm, este automáticamente nos preguntará:

1. Especificar la ruta de la licencia. 2. Especificar la dirección IP y el puerto del servidor proxy.

http//:10.17.10.20:31283. Descargar los archivos de actualización para la base de datos. 4. Elegir la opción de configuración con el squid. En este caso elegimos la

opción 4 que nos muestra la ruta del archivo squid.conf,:/usr/local/squid/etc/squid.conf al aceptar esta opción se añadirán las siguientes líneas en squid.conf:

icap_enable on

icap_send_client_ip on

icap_service is_kav_resp respmod_precache 0icap://10.17.10.20:1344/av/respmod

icap_service is_kav_req reqmod_precache 0icap://10.17.10.20:1344/av/reqmod

icap_class ic_kav is_kav_req is_kav_resp

icap_access ic_kav allow all

5. Se instalara el modulo correspondiente en webmin. Verificamos la instalación del modulo ‘KAV for proxy servers’.

Figura 3.1: Módulo Kaspersky en webmin

11

Page 12: Servidor Proxy

Dentro del icono AV RUN, verificamos si el servicio está en funcionamiento.

Figura 3.2: Submenú AV RUN en kaspersky-webmin

3.3 Pruebas de virus

Para verificar nuestras pruebas de virus, entramos al sitio: http://www.eicar.org, en este sitio podremos encontrar archivos de prueba para antivirus, los cuales al abrirlos, kaspersky debería de detectarlos mostrando la siguiente página de bloqueo:

Figura 3.3: Pagina de denegación tras encontrar un archivo infectado

12

Page 13: Servidor Proxy

3.4 Funcionamiento del Antivirus Kaspersky

Figura 3.4: Diagrama de interacción de kaspersky con el cliente y el servidor proxy

1. El usuario hace una petición via HTTP a través del proxy. 2. El servidor proxy verifica si el objeto HTTP se encuentra o no en cache.3. El servidor proxy hace la transferencia del objeto con Kaspersky

mediante el protocolo ICAP. 4. Kaspersky hace el análisis del archivo internamente. 5. Kaspersky hace un scanneo y verifica el estado del archivo y de acuerdo

al archivo de configuración se determina si el archivo será bloqueado o no.

6. Kaspersky muestra el resultado bloqueando la pagina o permitiendo el archivo, esto según la configuración.

3.5 Reactivación de licencia

Para la reactivación de la licencia debemos descargar la licencia en su versión trial de la siguiente página:

http://www.kaspersky.com/kaspersky_security_internet_gateway_trial_download

Esta licencia es válida por 30 días y soporta 50 usuarios.

13

Page 14: Servidor Proxy

Una vez que tengamos la licencia, lo copiamos en un directorio del servidor Proxy, ejemplo ‘/tmp/ ‘

Ahora ejecutamos el script kav4proxy-licensemanager con la opción “-a”, este nos permitirá añadir una nueva licencia.

[root@proxy ~]# /opt/kaspersky/kav4proxy/bin/kav4proxy-licensemanager -a /tmp/

Observación: Para poder renovar una licencia trial por otra licencia trial, la única opción es de desinstalar kaspersky completamente y volver a instalarlo con la nueva licencia.

4. Dansguardian

4.1 Instalación

Antes de instalación, actualizamos las librerias de libtool. # yum update libtool

Descargamos la versión dansguardian-2.10.0.3.tar.gz del sitio:www.dansguardian.org

Una vez que lo tenemos en la carpeta /tmpDescomprimimos el archivo: # tar –zxpf dansguardian-2.10.0.3.tar.gz# cd dansguardian-2.10.0.3#./configure --prefix=/usr/local/ --enable-icap --enable-kavd --with-proxyuser=squid --with-proxygroup=squid # make # make install

prefix=/usr/local.- El parámetro determina la ruta en donde se instalará el dansguardian.

enable-icap.- El parámetro habilita el protocolo ICAP, necesario para establecer comunicación con el antivirus de Kaspersky.

enable-kavd.- El parámetro define como antivirus de Proxy a Kaspersky.

with-proxyuser=squid.- El parámetro define el nombre de usuario de Proxy, ‘squid’ en este caso.

with-proxygroup=squid.- El parámetro define el nombre de grupoo de Proxy, ‘squid’ en este caso.

4.1.1 Instalación de blacklists

Descargamos el archivo ‘bigblacklist.tar.gz’ del la página:

14

Page 15: Servidor Proxy

http://dansguardian.org/?page=blacklist descargamos el archivo en el directorio: /usr/local/etc/dansguardian/lists/ Descomprimimos el archivo: # tar –zxpf bigblacklist.tar.gz

4.1.2 Configuración archivo dansguardian.conf

Una vez instalado Dansguardian, procedemos con su cofiguración. Descomentamos las siguientes lineas:

#daemonuser = 'squid'#daemongroup = 'squid'

daemonuser = 'squid'daemongroup = 'squid'

habilitamos la opción forwarded for:

forwardedfor = on

Configuramos las ip’s y puertos del Squid y del Dansguardian:

filterip = 10.17.10.20filterport = 8080proxyip = 127.0.0.1proxyport = 3128

chown squid /usr/local/var/log/dansguardian/

loglocation = '/usr/local/var/log/dansguardian/access.log'

accessdeniedaddress = 'http://YOURSERVER.YOURDOMAIN/cgi-bin/dansguardian.pl'

Una vez instalado debemos de configurar el script de arranque, ‘systemv-init’. Este esta ubicado en:

/usr/local/share/dansguardian/scripts

# cd /usr/local/share/dansguardian/scripts# cp systemv-init /etc/init.d/dansguardian

Para finalizar damos permisos de ejecución al script.

4.2 Instalación y configuración modulo dansguardian-webmin

Ahora nos queda configurar el dansguardian, para facilitar la configuración usaremos el webmin como interfaz gráfica.

Primero necesitamos el módulo webmin-dasnguardian, en su versión web, ya que la versión desde webmin.com es incompatible.

15

Page 16: Servidor Proxy

Descargamos la versión necesaria ‘dgweb-0.6.3.3.wbm’ desde la siguiente dirección: http://ftp.momo-i.org/pub/proxy/

Una vez descargada lo copiamos a tmp/ en este caso. Seguidamente abrimos el webmin y nos vamos a la opción Webmin configuration.

Figura 4.1: Menú configuración de webmin

Entramos en la opción webmin modules, en esta opción instalamos el modulo desde local file.

Figura 4.2: Instalación del modulo dansgaurdian en webmin

Una vez instalado abrimos el archivo dansguardian-lib.pl # vi /usr/libexec/webmin/dgweb-0.6.3.3/dansguardian-lib.pl

16

Page 17: Servidor Proxy

Una vez abierto el archivo debemos modificarlo para que sea compatible con ultima versión del dansguardian 2.10.0.3.

Añadimos la línea $ver =~ /(2\.10\.\d+-?(\d+)?)/), como ultima condición en el if.

Cambiamos el: else return $0; por return $1;

## checkdgver();## Check DG version for compatibilitysub checkdgver { my $ver = `$config{'binary_file'} -v 2>&1`; if ($ver =~ /(2\.4\.\d+-?(\d+)?)/ || $ver =~ /(2\.5\.\d+-?(\d+)?)/ || $ver =~ /(2\.6\.\d+-?(\d+)?)/ || $ver =~ /(2\.7\.\d+-?(\d+)?)/ || $ver =~ /(2\.8\.\d+-?(\d+)?)/ || $ver =~ /(2\.9\.\d+-?(\d+)?)/ || $ver =~ /(2\.10)/ || $ver =~ /(2\.10\.\d+-?(\d+)?)/) { return $1; } else { return $1; }}

Guardamos el archivo y reiniciamo el webmin: # restart service webmin

4.3 Configuración del Dansguardian

Tras modificar el archivo dansguardian-lib.pl y reiniciar el Webmin, empezamos a configurar el dansguardian desde el webmin.

Entramos a la opción ‘View Edit config’ de

Figura 4.3: Menú principal dansgaurdian-webmin

17

Page 18: Servidor Proxy

Figura 4.4: configuración del dansguardian via webmin

Una vez dentro de EDIT DG config, modificamos las siguientes opciones: Filter IPEs la IP de escucha del proxy, en este caso nuestra configuración corresponde a la dirección 10.17.10.20.

Filter portEs el Puerto de escucha del dansguardian, en este caso es el 8080, posteriormente este puerto será configurado en el navegador de los clientes.

Proxy IPEs el IP del proxy, como el Webmin el squid y el dasnguardian estan instalados en la misma máquina, utilizamos el IP de defecto loopback 127.0.0.1.

Proxy portEs el puerto de conexión del Danaguardian con el Squid. En nuestro caso utilizamos el puerto de defecto 3128

Add-X-forwarded-For Add-X-forwarded-For Estas opciónes deben estar habilitadas para poder redireccionar el tráfico del puerto 3128 al 8080.

4.4 Configuración de los grupos

Para poder tener un mejor control de filtrado sobre los usuarios, determinamos 4 tipos de grupos:

filter 1: Grupo sin salida web.filter 2: Grupo filtrado a través de listas grises y negras.filter 3: Grupo con accesso web sin restricciones.filter 4: Grupo con acceso web solo a sitios específicos.

Para poder crear los grupos, seguimos los siguientes pasos:

Copiamos el archivo dansguardianf1.conf con los nombres dansguardianfN.conf, en donde N es el numero de grupo, de esta forma tendremos: dansguardianf1.conf, dansguardianf2.conf, dansguardianf1

18

Page 19: Servidor Proxy

3.conf, dansguardianf4.conf.

4.4.1 Grupo 1

Grupo sin salida web, mode banned. Archivo de configuración dansguardianf1.conf groupmode 0

4.4.2 Grupo 2

Grupo con salida web filtrada mediante listas negras.Archivo de configuración dansguardianf2.conf groupmode 1groupname = 'filtrado'# Content filtering files locationbannedphraselist = '/usr/local/etc/dansguardian/lists/bannedphraselist'weightedphraselist = '/usr/local/etc/dansguardian/lists/weightedphraselist'exceptionphraselist = '/usr/local/etc/dansguardian/lists/exceptionphraselist'bannedsitelist = '/usr/local/etc/dansguardian/lists/bannedsitelist'greysitelist = '/usr/local/etc/dansguardian/lists/greysitelist'exceptionsitelist = '/usr/local/etc/dansguardian/exceptionsitelist'bannedurllist = '/usr/local/etc/dansguardian/lists/bannedurllist'greyurllist = '/usr/local/etc/dansguardian/lists/greyurllist'exceptionurllist = '/usr/local/etc/dansguardian/lists/exceptionurllist'exceptionregexpurllist = '/usr/local/etc/dansguardian/lists/exceptionregexpurllist'bannedregexpurllist = '/usr/local/etc/dansguardian/lists/bannedregexpurllist'picsfile = '/usr/local/etc/dansguardian/lists/pics'contentregexplist = '/usr/local/etc/dansguardian/lists/contentregexplist'urlregexplist = '/usr/local/etc/dansguardian/lists/urlregexplist'

4.4.3 Grupo 3

Grupo con salida web sin restricciones.Archivo de configuración dansguardianf3.conf groupmode = 2# Filter group name# name the group in the access logs# Defaults to empty stringgroupname = 'libre'

# Content filtering files locationbannedphraselist = '/usr/local/etc/dansguardian/listsf2/bannedphraselist'weightedphraselist = '/usr/local/etc/dansguardian/listsf2/weightedphraselist'exceptionphraselist = '/usr/local/etc/dansguardian/listsf2/exceptionphraselist'bannedsitelist = '/usr/local/etc/dansguardian/listsf2/bannedsitelist'greysitelist = '/usr/local/etc/dansguardian/listsf2/greysitelist'exceptionsitelist = '/usr/local/etc/dansguardian/exceptionsitelist'bannedurllist = '/usr/local/etc/dansguardian/listsf2/bannedurllist'greyurllist = '/usr/local/etc/dansguardian/listsf2/greyurllist'exceptionurllist = '/usr/local/etc/dansguardian/listsf2/exceptionurllist'

19

Page 20: Servidor Proxy

exceptionregexpurllist = '/usr/local/etc/dansguardian/listsf2/exceptionregexpurllist'bannedregexpurllist = '/usr/local/etc/dansguardian/listsf2/bannedregexpurllist'picsfile = '/usr/local/etc/dansguardian/listsf2/pics'contentregexplist = '/usr/local/etc/dansguardian/listsf2/contentregexplist'urlregexplist = '/usr/local/etc/dansguardian/listsf2/urlregexplist'

4.4.4 Grupo 4

Archivo de configuración dansguardianf4.conf Grupo con salida web a determinados sitios y dominios.

# Defaults to 0 if unspecified.# Unauthenticated users are treated as being in the first filter group.groupmode = 1# Filter group name# name the group in the access logs# Defaults to empty stringgroupname = 'especial'

# Content filtering files locationbannedphraselist = '/usr/local/etc/dansguardian/lists/bannedphraselist'weightedphraselist = '/usr/local/etc/dansguardian/lists/weightedphraselist'exceptionphraselist = '/usr/local/etc/dansguardian/lists/exceptionphraselist'bannedsitelist = '/usr/local/etc/dansguardian/bannedsitelist'greysitelist = '/usr/local/etc/dansguardian/lists/greysitelist'exceptionsitelist = '/usr/local/etc/dansguardian/exceptionsitelist'bannedurllist = '/usr/local/etc/dansguardian/lists/bannedurllist'greyurllist = '/usr/local/etc/dansguardian/lists/greyurllist'exceptionurllist = '/usr/local/etc/dansguardian/lists/exceptionurllist'exceptionregexpurllist = '/usr/local/etc/dansguardian/lists/exceptionregexpurllist'bannedregexpurllist = '/usr/local/etc/dansguardian/lists/bannedregexpurllist'picsfile = '/usr/local/etc/dansguardian/lists/pics'contentregexplist = '/usr/local/etc/dansguardian/lists/contentregexplist'urlregexplist = '/usr/local/etc/dansguardian/lists/urlregexplist'

Para poder bloquear toda la salida web excepto aquellos sitios y dominios que se encuentran en el archivo exceptionsitelist, se debe de configurar el archivo

‘bannedsitelist’

#Blanket Block. To block all sites except those in the#exceptionsitelist and greysitelist files, remove#the # from the next line to leave only a '**':**

4.5 Identificación de usuarios

Para la identificación del cliente, utilizaremos el modo ident, el cual nos permite identificar a los clientes mediante el nombre de usuario de su maquina.

20

Page 21: Servidor Proxy

Para poder utilizar el ident, primero habilitamos el plugin para ident en el archivo de configuración ‘dansguardian.conf’. #authplugin = '/usr/local/etc/dansguardian/authplugins/proxy-basic.conf'#authplugin = '/usr/local/etc/dansguardian/authplugins/proxy-digest.conf'#authplugin = '/usr/local/etc/dansguardian/authplugins/proxy-ntlm.conf'authplugin = '/usr/local/etc/dansguardian/authplugins/ident.conf'authplugin = '/usr/local/etc/dansguardian/authplugins/ip.conf'

Seguidamente debemos de instalar el servicio de ident en los clientes y asegurarse en al archivo de servicios del Windows ‘services.msc’, que el servicio inicia automáticamente al iniciar Windows.

4.5.1 Identificación de usuarios según nombre del equipoPara poder identificar a los clientes según el nombre del equipo, los clientes deben de tener instalado el servicio ‘Identd’.

Para definir los usuarios a través del nombre de equipo, configuramos el archivo ‘filtergrouplist’ en el servidor proxy.

# vi /usr/local/etc/dansguardian/filtergroupslist

Para poder definir a que grupo pertenece un usuario, basta con definirlo de la siguiente manera:

# Format is <user>=filter<1-9> where 1-9 are the groups## Eg:# daniel=filter2

Por defecto todos los usuarios pertenecen al grupo 1 (filter1).

4.5.2 Identificación de usuarios según IPPara poder identificar a los clientes según la dirección IP, no es necesario ningún servicio extra como en el anterior caso.

Para definir los usuarios a través del nombre de equipo, configuramos el archivo ‘ipgrups’ en el servidor proxy.

# vi /usr/local/etc/dansguardian/lists/authplugins/ipgroups

Para poder definir a que grupo pertenece un IP, seguimos la sintaxis:

IP=filterNEjemplos:10.17.10.40 = filter2# Ejemplo con subredes

21

Page 22: Servidor Proxy

#10.17.10.0/255.255.255.0 = filter1# Rangos10.17.10.10-10.17.10.40 = filter3

5. Iptables

Como ya sabemos el squid utilize el Puerto 3128, y el dasnguardian 8080, eso quiere decir que ambos funcionan indistintamente del otro, par que ambos puedan funcionar bajo el mismo puerto necesitamos añadir el siguiente iptable:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 3128 -j REDIRECT --to-port 8080

5.1 Bloqueo de windows-live-messenger

Para poder bloquear la salida del Messenger bloqueamos los puertos de salida y la red de servidores con las que se conecta el Messenger.

iptables -A FORWARD -p TCP -dport 1863 -j REJECTiptables -A FORWARD -p TCP -sport 1863 -j REJECTiptables -A FORWARD -p TCP -d 64.4.13.0/24 -j REJECT

6. Script de arranque

El siguiente script de arranque ubicado en ‘/etc/rc.d/rc.local’, nos sirve para:

Establecer la configuración correcta de las interfaces ethernet. Establecer las rutas necesarias para la salida a Internet. Definir las reglas iptables para el direccionamiento de puertos de salida y

para el bloqueo del Messenger. Iniciar los servicios de squid, dansguardian y kaspersky.

#!/bin/sh## This script will be executed *after* all the other init scripts.# You can put your own initialization stuff in here if you don't# want to do the full Sys V style init stuff.touch /var/lock/subsys/localifconfig eth0 10.17.10.20 netmask 255.255.255.128ifconfig eth1 10.17.10.152 netmask 255.255.255.224route add default gw 10.17.10.135route add -net 192.168.0.0/16 gw 10.17.10.2iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 3128 -j REDIRECT --to-port 8080iptables -A FORWARD -p TCP -dport 1863 -j REJECTiptables -A FORWARD -p TCP -sport 1863 -j REJECTiptables -A FORWARD -p TCP -d 64.4.13.0/24 -j REJECT/usr/local/squid/sbin/squid -k shutdown/usr/local/squid/sbin/squid/opt/kaspersky/kav4proxy/lib/bin/kav4proxy restartservice dansguardian restart

22

Page 23: Servidor Proxy

7. Opción ICAP_PREVIEW

La opción ICAP_PREVIEW reduce tráfico y tiempo de filtración. La opción PREVIEW de Kaspersky, simplifica el proceso de envió del objeto analizado con el servidor Proxy. De esta forma el servidor proxy no esperará hasta que el Antivirus termine de analizar el archivo y vuelva a reenviar nuevamente el objeto descargado al servidor Proxy, sino que enviara el archivo por partes y así la ultima parte del objeto será enviado cuando Kaspersky haya terminado el scanneo y este bloqueará el objeto si estuviera infectado.

Para poder habilitar la opción ICAP_PREVIEW, se configuró los archivos de configuración kav4proxy.conf y squid.conf.

Squid.conf En el archivo de configuración del squid, todas las opciones del ICAP_PREVIEW se encuentran comentadas, así que basta con borrar el carácter ‘#’ que precede a las siguientes líneas:

icap_preview_enable on.- Habilita la opción de “envio previo’, la cual es una opción de kaspersky, la cual reduce la cantidad de trafico y tiempo en el momento del análisis de un archivo.

icap-preview_size 128.- Especifica el tamaño de cabecera, en este caso de 128 kbps, la cabecera contiene la información necesaria para que el antivirus pueda detectar si el archivo esta infectado.

icap_send_client_ip on.- Añade la IP del cliente en la cabecera del paquete icap_preview.

icap_send_server_ip on.- Añade la IP del cliente en la cabecera del paquete.

icap_send_auth_user on.- Añade el nombre del cliente en la cabecera del paquete, esto es necesario, ya que el servidor Proxy esta configurado tanto para aceptar clientes según su IP o según su nombre de equipo.

En el archivo de configuración del Kaspersky ‘Kav4proxy.conf ‘ configuramos las siguientes opciones:

23

Page 24: Servidor Proxy

MaxReqLength=1048576El tamaño máximo en bytes de un archivo, para poder ser escaneado

PreviewSize=512El número de bytes que un cliente ICAP puede enviar al servidor ICAP durante la etapa previa.

8. Autenticación mediante LDAP

En el archivo squid.conf, añadir las siguientes líneas:

auth_param basic program /usr/local/squid/libexec/squid_ldap_auth -v 3 -b ou=People,dc=grupofortaleza1,dc=com,dc=bo -f "uid=%s" -h 10.17.10.145

Esta línea utiliza el script “squid_ldap_auth” para conectarse con el LDAP, -v 3 es la versión de SAMBA , “ou=People” es el grupo de usuarios definidos en el servidor samba, “dc=grupofortaleza1,dc=com,dc=bo” es el dominio a utilizar, "uid=%s" es la variable que almacena el nombre de usuario, y finalmente nos conectamos al servidor samba con el parámetro “-h”.

auth_param basic children 5 auth_param basic realm Identification proxyDefine que la autenticación en el servidor proxy se realizara mediante el script “auth_param” auth_param basic credentialsttl 2 hoursDa un TTL (tiempo de vida) de dos horas para la sesión en el navegador.

En el archivo de dansguardian.conf, en la opción “Auth-Plugin”, utilizar los plugins:Proxy-basic, y ip. Estos dos plugins permitiran la autenticación de los usuarios, mediante IP y LDAP.

authplugin = '/usr/local/etc/dansguardian/authplugins/proxy-basic.conf'#authplugin = '/usr/local/etc/dansguardian/authplugins/proxy-digest.conf'#authplugin = '/usr/local/etc/dansguardian/authplugins/proxy-ntlm.conf'#authplugin = '/usr/local/etc/dansguardian/authplugins/ident.conf'authplugin = '/usr/local/etc/dansguardian/authplugins/ip.conf'

El archivo de autenticación mediante LDAP es:/usr/local/etc/dansguardian/lists/filtergroupslist

La otra forma de autenticarse es mediante la ip, que es mediante el archive: /usr/local/etc/dansguardian/lists/authplugins/ipgroups

24

Page 25: Servidor Proxy

9. Configuración de los navegadores

9.1 Internet Explorer

Figura 8.1: configuración Proxy, Internet Explorer

Figura 8.2: configuración Proxy, Internet Explorer

25

Page 26: Servidor Proxy

Figura 8.3: configuración Proxy, Internet Explorer

9.2 Mozilla Firefox

Figura 7.4: configuración Proxy, Mozila Firefox

26

Page 27: Servidor Proxy

Figura8.5: configuración Proxy, Mozila Firefox

Figura 8.6: configuración Proxy, Mozila Firefox

27