Howto Squid + SquidGuard + Sarg
Artículo sobre cómo instalar un Proxy cache para optimizar la navegación en Internet, crearemos una lista de control de acceso tanto como para el acceso al servidor Proxy como para Sarg, filtros para Squid como dominios, expresiones, servidores ads, ...
Todo ello se implementará usando:
Apache (1.3) para el servidor web.
Squid (2.5) como proxy caché.
SquidGuard (1.x) para filtrar y redireccionar con Squid.
Sarg (2.x) para generar las estadísticas de Squid.
Software usado:
Sistema operativo Linux Debian Sarge
Apache 1.3.3x ( Servidor web )
Apache-utils 1.3.3x ( htpasswd lo usaremos para crear los archivos de contraseñas )
Squid 2.5.x ( Proxy cache de Internet )
SquidGuard 1.x ( Plugin para Squid para filtrar y redireccionar)
Sarg 2.x ( Generador de estadísticas para Squid )
server:~# apt-get update && apt-get install apache apache-utils squid squidguard sarg
Una vez instaladas todas las aplicaciones editaremos el archivo de configuración de Squid con nuestro editor preferido, descomentaremos y configuraremos las opciones necesarias para adaptarlo a nuestro gusto.
El siguiente es un ejemplo de cómo no debe descomentarse un parámetro:
# Mal
#Opción incorrectamente descomentada
# http_access 3128
# Mal
#Opción incorrectamente descomentada
#
http_access 3128
# Bien
#Opción correctamente descomentada
#
http_access 3128
Editaremos /etc/squid/squid.conf
Las opciones que mas nos interesa descomentar y configurar son estas, las demás las dejaremos en su configuración por defecto:
http_port 3128
cache_mem 32 MB
cache_swap_low 90
cache_swap_high 95
maximum_object_size 8192 KB
ipcache_size 2048
ipcache_low 90
ipcache_high 95
fqdncache_size 2048
cache_dir ufs /var/spool/squid 2000 16 256
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
hosts_file /etc/hosts
redirect_program /usr/bin/squidGuard
acl our_networks src "/etc/squid/accept"
http_access allow our_networks
http_access allow localhost
http_access deny all
http_reply_access allow all
icon_directory /usr/share/squid/icons
short_icon_urls on
error_directory /usr/share/squid/errors/Spanish
coredump_dir /var/spool/squid
auth_param basic program /usr/sbin/ncsa_auth /etc/squid/usuarios.list
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
Crearemos el archivo /etc/squid/accept y le añadiremos la IP de las maquinas de nuestra red que van a tener acceso al Proxy.
# Ejemplo de configuración
aida:~# cat /etc/squid/accept
192.168.1.4
192.168.1.5
192.168.1.6
Ahora configuraremos SquidGuard y le añadiremos unos filtros, nuestro archivo de configuración de SquidGuard tienes que tener esta configuración:
aida:/etc/squid# cat /etc/squid/squidGuard.conf
dbhome /var/lib/squidguard/db
logdir /var/log/squid
src usuarios
{
userlist usuarios.list
}
dest porn
{
domainlist blacklists/porn/domains
urllist blacklists/porn/urls
expressionlist blacklists/porn/expressions
}
dest ads
{
domainlist blacklists/ads/domains
urllist blacklists/ads/urls
}
dest audio-video
{
domainlist blacklists/audio-video/domains
urllist blacklists/audio-video/urls
}
dest aggressive
{
domainlist blacklists/aggressive/domains
urllist blacklists/aggressive/urls
}
dest drugs
{
domainlist blacklists/drugs/domains
urllist blacklists/drugs/urls
}
dest gambling
{
domainlist blacklists/gambling/domains
urllist blacklists/gambling/urls
}
dest hacking
{
domainlist blacklists/hacking/domains
urllist blacklists/hacking/urls
}
dest mail
{
domainlist blacklists/mail/domains
}
dest proxy
{
domainlist blacklists/proxy/domains
urllist blacklists/proxy/urls
}
dest violence
{
domainlist blacklists/violence/domains
domainlist blacklists/violence/urls
}
dest warez
{
domainlist blacklists/warez/domains
urllist blacklists/warez/urls
}
# Control de acceso
acl
{
usuarios
{
pass !ads !drugs !hacking !porn !proxy !violence !warez all
}
else
{
pass all
}
default
{
pass none
redirect http://localhost
}
}
Descargaremos los filtros de http://www.squidguard.org/blacklist/
aida:~# cd /tmp
aida:/tmp#wget http://ftp.teledanmark.no/pub/www/proxy/squidGuard/contrib/blacklists.tar.gz
aida:/tmp# tar -zxvf blacklists.tar.gz -C /var/lib/squidguard/db
Configuraremos Sarg y Apache para poder leer las estadisticas de uso del servidor Proxy.
Editaremos /etc/squid/sarg.conf y descomentaremos y configuraremos as siguientes opciones.
language Spanish
access_log /var/log/squid/access.log
temporary_dir /tmp
output_dir /var/www/squid-reports
Editaremos /etc/apache/httpd.conf y añadiremos estas lineas:
<Directory "/var/www/squid-reports">
AuthName "Squid Reports"
AuthType Basic
AuthUserFile /etc/squid/squidreports.list
require valid-user
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Crearemos los usuarios con contraseñas encriptadas para autorizar la entrada en las estadísticas de Sarg y los usuarios del proxy.
aida:/tmp# htpasswd -c -m /etc/squid/squidreports.list USUARIO
aida:/tmp# htpasswd -c -m /etc/squid/usuarios.list USUARIO
Reiniciamos todos los servicios.
aida:/tmp# /etc/init.d/apache restart
aida:/tmp# /etc/init.d/squid restart









