26 nov 2010

04 - SQUID / Transparente


Instalación del proxy (Squid)


sudo apt-get install squid
Solicitara descargar unos 8Mb aprox.

Configuración Squid.
Vamos a explicar como configurar Squid.
El archivo de configuración de squid se llama
"squid.conf" y está ubicado en "/etc/squid/squid.conf.

Una vez hecho esto detenemos e iniciamos squid:

sudo service squid stop
sudo service squid start

Hacemos copia de Seguridad:
sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.original
Editamos el proxy Squid con para metros básicos;
1000 Mb de cache, y autorizando a la red 192.168.10.0
sudo gedit /etc/squid/squid.conf

Eliminamos todas la lineas de conf original y
pegamos la siguiente configuración básica:
____________________________________________________
http_port 192.168.10.1:3128 transparent
http_port 8080 transparent
  cache_mem 16 MB cache_dir ufs /var/spool/squid 1000 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 acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl todalared src 192.168.10.0/255.255.255.0 http_access allow localhost http_access allow todalared http_access deny all ______________________________________________
 
# sudo apt-get install squidguard
# sudo chown -R proxy:proxy /var/lib/squidguard/db
# sudo gedit /etc/squid/squidGuard.conf
 
Los primeros dos parámetros de configuración son el dbhome y el
logdir. Estos son respectivamente el lugar donde se lee la base de
datos de squidGuard (La lista negra shallalist) y la ruta donde se
guarda la bitácora (log) del squidGuard.
Estos parámetros se dejan con el valor predeterminado y se
procede a eliminar a partir, de la siguiente linea, el resto del
contenido de este archivo, para reemplazarlo con lo siguiente:


(Cuidando de reemplazar el valor <<ip-address>> con la
ip que obtuvimos anteriormente usando el ifconfig).

dest adv {
domainlist adv/domains
urllist adv/urls
}
dest porn {
domainlist porn/domains
urllist porn/urls
}
dest warez {
domainlist warez/domains
urllist warez/urls
}

acl {

default {
pass !adv !porn !warez all
redirect http://<<ip-address>>/blocked.html
}
}
 
Guardamos los cambios, luego: 
 
# sudo squidGuard –C all 
Indica al squidGuard que debe de compilar la lista de dominios en
una base de datos.

Crearemos ahora un archivo HTML al cual será redireccionada
cualquier solicitud bloqueada.
sudo gedit /var/www/blocked.html

Ahora editaremos el archivo de configuración del squid3 para
decirle a este que queremos que valide cada página usando el
squidGuard.
 
# sudo gedit /etc/squid/squid.conf

Agregamos:
url_rewrite_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf
 
 
Ejecutamos:
# sudo squid -k reconfigure
 
 
El siguiente paso es obtener la lista negra de shallalist usando
el script distribuido en su sitio web usando los siguientes comandos:

cd ~
wget http://www.shallalist.de/Downloads/shalla_update.sh
 
# gedit shalla_update.sh 

Modificaremos los valores de inicialización de las variables
para que queden de la siguiente manera:
squidGuardpath="/usr/bin/squidGuard"
squidpath="/usr/sbin/squid"
httpget="/usr/bin/wget"
tarpath="/bin/tar"
chownpath="/bin/chown"
dbhome="/var/lib/squidguard/db"
squidGuardowner="proxy:proxy"

Con cuidado de las mayúsculas y minúsculas. Todos los datos deben quedar
como se describe para evitar fallas
 
A continuación ejecutaremos el script usando privilegios de
administrador, ya que el script escribe en carpetas para las que el
usuario en sesión no tiene privilegios.
# sudo bash ./shalla_update.sh

Lo que hace este script es bajar de internet la base de datos en
formato comprimido (tar.gz) dentro de la carpeta /tmp, luego lo
descomprime. A continuación borra la base de datos anterior y luego
copia la nueva base de datos. Asigna los permisos apropiados, indica
a squidGuard que debe recompilar y a squid3 que debe reconfigurar.

En caso de que este script marque un error no se debe intentar
ejecutar nuevamente ya que shallalist comenta en su sitio que
bloqueará el acceso a quien trate de bajar repetidas veces la base
de datos en el mismo día.

Lo que se debe hacer es modificar este script para que no baje
la base de datos nuevamente. Esto sería poner un símbolo de #
para comentar la línea que realiza el download como se muestra a
continuación:

#$httpget $shallalist -O $workdir/shallalist.tar.gz || exit 1

Si a pesar de correr nuevamente el script sigue marcando el error
entonces se recomienda iniciar el squid sin importar que el script
haya fallado.
 

1 comentario:

  1. Free Blacklists Suck!


    We specialize in serving intelligent network administrators high quality blacklists for effective, targeted inline web filtering leveraging Squid proxy. We are the worlds leading and ONLY publisher of blacklists tailored specifically for use with Squid Proxy Native ACL. We also publish the worlds LARGEST adult domain blacklist, as well, as the worlds first blasphemy blacklist. Our works are available in several alternative formats for compatibility with multiple other web filter platforms. There is a demand for a better blacklist. And with few alternatives available, we intend to fill that gap.

    Squidblacklist.org Est. 2012. Owned and maintained by Benjamin E. Nichols & Co. It is an extension of the work I have been doing for years applying filters to my own networks with squid proxy and firewalls. Squidblacklist.org is platform whereby I hope to share the amalgamation of these works with the community, in the hopes that it will serve the greater good, helping to secure networks while providing a useful resource for individuals looking for a reasonable level of control of http traffic on their respective networks using a range of filtering solutions.


    It would be our pleasure to serve you,

    Signed,

    Benjamin E. Nichols

    ResponderEliminar