Diferencia entre revisiones de «Servidor proxy con AV»
(→Squid) |
|||
Línea 82: | Línea 82: | ||
A continuación se va a pasar a compilar e instalar el squid. | A continuación se va a pasar a compilar e instalar el squid. | ||
− | Hay que tener en cuenta que antes de hacer el configure se debe configurar | + | Hay que tener en cuenta que antes de hacer el configure se debe configurar el número de descriptores de ficheros abiertos a 8192 |
<pre> | <pre> | ||
ulimit -HSn 8192 | ulimit -HSn 8192 |
Revisión del 23:57 4 abr 2009
Contenido
Introducción
El propósito de este manual es describir la instalación y configuración del squid 2.7 (proxy http) + antivirus (ClamAV) + Dansguard (filtrado de paginas web + integración con ClamAV) en una Ubuntu 8.04.
No sé entrará demasiado en explicar cada aplicación que se va a instalar, se deja el tema de profundizar a discreción del lector ;)
Así pues empecemos con la instalación y configuración de la solución proxy + filtrado + antivirus.
Requisitos
Paquetes/programas
Antes de proceder a la instalación se instalarán algunos requisitos previos para llevar a cabo la instalación de los componentes, teniendo en cuenta que el squid y el dansguardian se instalan desde fuentes y todas las opciones de compilación que se van a usar.
Así pues pasamos a instalar todo lo necesario
aptitude install gcc make perl build-essential libldap2-dev libsasl2-dev libpam0g-dev zlib-bin zlib1g-dev libpcre3-dev pkg-config
Parámetros kernel
Para un mejor funcionamiento se debe configurar una seria de parámetros en el kernel o comprobar que estén configurados con unos valores correctos.
Empecemos con los descriptores de ficheros, que por defecto solo se permiten en las sesiones bash 1024 ficheros abiertos, un número muy bajo para un squid con una carga moderada.
Por tanto se van a subir ese valor a algo más razonable como es 8192. Esto sólo se hará a nivel de sesión bash ya que el kernel el número de descriptores es bastante alto en la ubuntu 8.04
cat /proc/sys/fs/file-max 49910
Para configurar el número de descriptores basta con ejecutar el comando
ulimit -HSn 8192
Si queremos comprobar el valor de los descriptores basta con ejecutar el comando
ulimit -n
Por último hay que comprobar que el número de puertos dinámicos de cliente es suficientemente alto
cat /proc/sys/net/ipv4/ip_local_port_range 32768 61000
Instalación
A continuación pasaremos a instalar el primer componente, el antivirus clamav, necesario para bloquear los virus en la navegación web a través del proxy squid.
ClamAV
Optaremos por instalar el antivirus usando el sistema de paquetes de Ubuntu.
aptitude install clamav-daemon
Nota: Si estamos detrás de un proxy para acceder a internet se deberán configurar correctamente HTTPProxyUsername y HTTPProxyPassword del fichero de configuración /etc/freshclam.conf
Una vez instalado basta que actualicemos manualmente la base de datos del ClamAV ejecutando el comando
freshclam
De forma predeterminada la base de datos de virus se actualiza cada hora.
Nota: Vigilar de vez en cuando que la versión del clamav sea lo suficiente reciente para soportar la detección de toda la base de datos de virus
A continuación se pasa a instalar el proxy squid versión 2.7
Squid
Primero de todo se baja y descomprime la última versión estable a día de hoy (04/04/09), la versión 2.7estable6
wget http://www.squid-cache.org/Versions/v2/2.7/squid-2.7.STABLE6.tar.gz tar zxvf squid-2.7.STABLE6.tar.gz cd squid-2.7.STABLE6
A continuación se va a pasar a compilar e instalar el squid. Hay que tener en cuenta que antes de hacer el configure se debe configurar el número de descriptores de ficheros abiertos a 8192
ulimit -HSn 8192 ./configure --enable-storeio="aufs coss diskd ufs null" --enable-coss-aio-ops --with-aio --enable-removal-policies="heap,lru" --with-large-files --enable-large-cache-files --enable-delay-pools --enable-snmp --enable-linux-netfilter --enable-auth="basic digest negotiate ntlm" --enable-basic-auth-helpers="DB LDAP MSNT NCSA PAM POP3 SASL SMB squid_radius_auth YP" --enable-follow-x-forwarded-for && make && make install
Nota: Se va a usar el método de cache aufs, ya que el coss tarda en esta instalación como 5 min en arrancar la cache, provocando prácticamente un DoS de acceso a disco (I/O) en el disco duro del servidor. Si se quisiera usar el coss se debe tener en cuenta que el tamaño máximo de objeto "cacheable" debe ser menor que el valor del coss-membuf que se puede configurar en la compilación con la opción --enable-coss-membuf-size=COSS_MEMBUF_SIZE
TODO
Aunque la solución descrita en este manual es bastante completa, se podría instalar alguna herramienta más como por ejemplo:
- Estadísticas (Sarg) - El gestor de la cache (Cache Manager) - Snmp