Instalación Básica de Squid en CentOS, con SquidGuard

5 May

Este es un pequeño How To de como instalar un servidor proxy sin muchas configuraciones, solo unos bloqueos de páginas web.

INSTALACIÓN Y CONFIGURACIÓN DE SQUID.

Lo primero es instalar httpd y Squid haciendo uso del manejador de paquetes Yum.

yum -y install squid httpd

Una vez realizado esto debemos configurar el archivo squid.conf ubicado en la siguiente ruta /etc/squid/squid.conf.



Este archivo por defecto no trae configuradas las variables:

http_port
visible_hostname

Las cuales editaremos de la siguiente forma:

http_port 3128
visible_hostname

Debemos asegurarnos que no exista ningún espacio en blanco antes de cualquier directiva en el squid.conf de lo contrario será registrado como un error en la configuración.

Lo próximo será editar el tamaño de nuestro cache y el directorio donde se almacenará este con la siguiente variable:

cache_dir ufs /var/spool/squid 100 16 256

El número 100 es el número de megas de cache máximos que se almacenarán en nuestro servidor. Mientras que los números 16 y 256 significan que el directorio de cache contiene 16 directorios con 256 niveles cada uno como un arreglo para el almacenamiento de archivos, los cuales no se deben modificar.

Acto seguido se deben asignar las listas de usuarios que pueden usar el squid de la siguiente forma:
acl [nombre de la lista] src [lo que compone a la lista]

ó si tenemos una lista de ip´s en un fichero.

acl permitidos src “/etc/squid/permitidos”

y para permitir la lista de acceso
http_access [deny o allow] [lista de control de acceso]

Con todo esto ya tenemos el servidor de Squid configurado e instalado y es hora de instalar SquidGuard.

INSTALACIÓN Y CONFIGURACIÓN DE SQUIDGUARD

El primer paso para realizar la instalación de SquidGuard es descargar el paquete y compilarlo, para descargarlo podremos encontrar todas las versiones disponibles en:

http://www.squidguard.org/Downloads/

Una vez descargado procederemos a desempaquetar los ficheros e instalarlo de la siguiente forma:
Tar –zxvf
Cd
./configure
Make
Make install

Por defecto SquidGuard se instalará en la ruta /usr/local/squidGuard donde tendremos un directorio de logs, db (aquí se almacenan las listas negras), squiGuard.conf (archivo de configuración de SquidGuard).

En el Archivo de SquiGuard debemos tener algo asi:

Directorio donde se Buscan las Listas negras ó Blancas.
dbhome /usr/local/squidGuard/db

Directorio donde se almacenan los logs
logdir /usr/local/squidGuard/logs

Se crea el grupo de usuarios admin y se asigna un miembro con el ip 10.10.10.3

admin {
ip 10.10.10.3
}

Se crea un “Destination” y le asignamos el nombre que deseamos
dest porn {

Se asigna al destination, las listas que leerá
domainlist porn/domains
urllist porn/urls
}

Definición del Access Control List dependiendo del Tipo de Usuarios si es admin pues tiene acceso total a Internet si no es admin. Pues no puede navegar por paginas contenidas en el destination porn.

acl {

admin {
pass any
}

default {
pass !porn all

Si el url que visitan los que no son administradores esta en la lista de porn pues se redirije el trafico a un URL que deseemos.
redirect http://localhost/block.html
}
}

Para que las búsquedas en las listas sean mas efectivas, SquidGuard usa Berekley DB, por ende debemos ejecutar el comando squidguard –c all para que lea el fichero de configuración, y genere los .db a partir de las listas que especifiquemos allí.
Luego debemos modificar la permisología de la carpeta de DB con:
Chown -R /usr/local/squidGuard/db
Antes de conectar nuestro SquidGuard al motor de Squid, podremos probar que se estan aplicando las reglas de la siguiente forma:

echo ” <url a probar> <IP DE DONDE SE QUIERE SIMULAR>/ – - GET” | squidGuard -c -d

Esto nos mostrará si se ejecutan las reglas correctamente o no. Si se muestran correctamente podremos editar el squid.conf y agregar las siguiente linea.

url_rewrite_program /usr/local/bin/squidGuard -c /usr/local/squidGuard/squidGuard.conf

Y por ultimo reiniciar Squid y todo debería funcionar correctamente.

¿Quién es Rhommel Lamas?

Escribo en Talfin desde el 2006, soy un fanático de la libertad de expresión en todos sus sabores, fanboy, amante de la cultura libre, cloud computing, dispositivos móviles y de la vida en general. Emprendedor de corazón, y developer de Closet, me encantan los videojuegos, y conocer el mundo. También escribo en: Techironic mi Web Personal: Rhommell, me puedes encontrar también en Twitter: @rhoml y Facebook .

No te pierdas