Tomado de http://mundolinuxecuador.blogspot.com/2008/10/instalacin-dansguardian-antivirus.html
La paquetería necesaria es squid, libesmtp y dansguardian antivirus.
Para empezar, instalamos nuestro server Centos 5.2, luego el serividor Proxy:
yum -y install squid httpd
Añadimos el repo de dag.wieers.com
wget
dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
rpm -i rpmforge-release
rpm -ivh
apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
Instalamos el antivirus clamav en modo demonio
yum -y install clamd sarg
Actualizamos las definiciones de virus.
freshclam
descargamos el dansguardian-antivirus:
wget ftp://ftp.sourceforge.net/pub/sourceforge/d/dg/dgav/dansguardian-antivirus-6.4.4.2-1.src.rpm
instalamos algunos paquetes adicionales para poder compilar:
yum -y install rpm-build libesmtp libesmtp-devel gcc-c++ gcc zlib
Ahora compilamos:
rpmbuild --rebuild dansguardian-antivirus-6.4.4.2-1.src.rpm
e instalamos:
rpm -ivh /usr/src/redhat/RPMS/i386/dansguardian-antivirus-6.4.4.2-1.i386.rpm
Luego procedemos con la configuración:
En el proxy ponemos:
vi /etc/squid/squid.conf
#Habilitamos el puerto por el que se escucha y si deseamos para proxy transparente, añadimos transparent
http_port 3128 transparent
#El parametro cache_mem depende de la cantidad de memoria RAM que se posea, por tanto debería ser una porción menor, ejemplo, poseo 1 GB de RAM y configuro este parámetro en 128 MB
cache_mem 128 MB
#El parámetro cache_dir nos indica el tamaño de nuestro cache en disco, el cual se lo indica en el 1er número, ej. me indica que dispondré de 2GB de cache, almacenado en /var/spool/squid:
cache_dir ufs /var/spool/squid 2000 16 256
#Cambiar el usuario ftp:
ftp_user proxy@midominio.com
Las reglas dejar las de defecto.
Cambiamos de idioma a Español
rm -f /etc/squid/errors
ln -s
/usr/share/squid/errors/Spanish /etc/squid/errors
vi /etc/squid/squid.conf
error_directory /usr/share/squid/errors/Spanish
Ahora vamos con la configuración de dansguardian:
vi /etc/dansguardian/dansguardian.conf
language = 'spanish'
filterip = 192.168.1.254
filterport = 8080
proxyip = 127.0.0.1
proxyport = 3128
daemonuser = 'clamav'
daemongroup = 'clamav'
clamdsocket = '/tmp/clamd.socket'
Necesitamos configurar los permisos en el firewall, en el caso de Shorewall, por ejemplo:
ACCEPT loc:192.168.1.0/24 fw 8080
#En el caso de proxy transparente
REDIRECT loc 8080 tcp 80
Ahora a iniciar los servicios:
service clamd start
service squid start
service dansguardian start
chkconfig clamd on
chkconfig squid on
chkconfig dansguardian on
Listo ya tienes tu proxy con filtro de antivirus y filtro de contenido.
Para la administración de las categorías de filtro de contenido, puedes utilizar la herramienta Webmin:
wget
prdownloads.sourceforge.net/webadmin/webmin-1.430-1.src.rpm
rpmbuild --rebuild webmin-1.430-1.src.rpm
rpm -ivh /usr/src/redhat/RPMS/noarch/webmin-1.430-1.noarch.rpm
El acceso lo puedes hacer mediante un tunnel ssh
En tu cliente ssh como
putty por ejemplo:
Una vez en el webmin instalamos el módulo:
ufpr.dl.sourceforge.net/sourceforge/dgwebminmodule/dg-0.5.10-pr4.wbm
La configuración de las excepciones de dansguardian se encuentran en:
bannediplist = '/etc/dansguardian/bannediplist'
Esta es una lista de IP's a las cuales no se les permitira la navegación.
exceptioniplist = '/etc/dansguardian/exceptioniplist'
En esta variable se indica el archivo que contiene la lista de direcciones IP las cuales no seran filtradas por Dansguardian, entre esas paginas podemos poner la IP del administrador, para que pueda hacer tareas administativas sinninguna restricción. :D
banneduserlist = '/etc/dansguardian/banneduserlist'
Esta contiene una lista de usuarios a los cuales no se les permitira la navegación.
exceptionuserlist = '/etc/dansguardian/exceptionuserlist'
Esta es una lista de usuarios a los cuales si se les permitira la navegación sin ser filtradas, es decir, que tendran navegacion libre al igual que en la variable exceptioniplist.
Las variables banneduserlist y exceptionuserlist son de mucha utilidad cuando se tiene la autenticación de usuarios por medio del proxy, es decir, cuando le decimos al proxy que para navegar los usuarios tienen que estar previamente autenticados, y para ello se les pedira un nombre de usuario y contraseña. La autenticación se puede hacer contra un Active Directory, contra un LDAP, etc. Se promete realizar un Mini Howto sobre este tema. ;)
Con esto tendremos una configuración basica para el Dansguardian. Luego tenemos algunos otros archivos que utilizaremos.
/etc/dansguardian/bannedurllist
Este archivo contiene las URL's que seran catalogadas como inarpopiadas, y que seran denegadas al cliente que las solicite. Algo interesante que podremos encontrar en este archivo son directivas como “.Include por ejemplo, donde hace referencia a un archivo que se encuentra en las blacklists que descargamos que contiene una lista ya definida de lugares catalogados de contenido para adultos. Solo bas con descomentas quitandole el simbolo “#” a las directivas contenisdas en estos archivos para que estas listas sean parte de este archivo.
En la carpeta /etc/dansguardian/blacklists/ encontraremos subcarpetas en la que se encuentran listas catalogadas por categorias, como por ejemplo, drogas, pornografia, violencia, hackers, etc.
Para añadir categorías se tiene:
urlblacklist.com/cgi-bin/commercialdownload.pl?type=download&file=bigblacklist
tar -zxvf bigblacklist.tar.gz
mv ./blacklist /etc/dansguardian/
/etc/dansguardian/exceptionurllist
Este archivo contiene la lista de las URL's que no seran filtradas al momento de una peticion. Una URL quenos podria ser de utilidad agregarla en este archivo puede ser el sitio web de nuestra empresa, para que los usaurios puedan navegarla sin problemas.
/etc/dansguardian/bannedextensionlist
En este archivo tendremos la lista de todas las extensiones que no seran permitidas descargar o visualizar desde web. Un ejemplo tipico podria ser denegar los .exe y .com que son los que pueden traer algun tipo de virus y dañar las computadoras de nuestra empresa. Tambien podriamos bloquear la descarga de .mpg, .avi y .mp3 que son los que generalmente los usuarios les gusta descargar desde web y que nos pueden estar comiendo el ancho de banda.
/etc/dansguardian/bannedmimetypelist
Aqui podremos agregar la lista de todos los tipos mime queno deseamos que sean descargados. Al igual que en bannedmimetipelist podriamos bloequear, por ejemplo, todas las que tengan relacion con audio y video.
La autenticación con el Active Directory la puedes realizar con:
Este les quedo debiendo
Para la integración con el sarg
Editamos vi /etc/sarg/sarg.conf
language Spanish
access_log /var/log/dansguardian/access.log
vi /etc/dansguardian/dansguardian.conf
logfileformat = 3
vi /etc/httpd/conf.d/mrtg.conf
Cambiamos Deny from all por Allow for all
service httpd restart
abrir un browser
www.tudominio.com/sarg