You are on page 1of 6

Configurando squid

Los objetivos planteados La configuracin que haremos trata de un proxy transparente, es decir de aquel proxy que el usuario final no se da cuenta que utiliza, el cul no se configura en el navegador, sino que toma al momento de traficar paquetes de red. Haremos adems un archivo de reglas de palabras denegadas y de otras permitidas, de forma predeterminada acepta todo lo que no esta denegado, sin embargo puede ser que al denegar alguna palabra, por ejemplo hot tambin prohbe , la cual si queremos aceptar hay que agregarla a la lista de permitidas. Finalmente para complicar un poco las cosas segmentaremos la red en dos, dejando por un lado el equipo de los padres, que podrn ver sus sitios con contenido de adultos y el de los hijos, en que intentaremos filtrar en lo posible el contenido de adultos. squid.conf Veamos como hacer este archivo paso a paso proxy transparente http_port 10.69.0.1:3128 transparent Esta primer instruccin dice que usaremos el puerto 3128 en nuestro 10.69.0.1, ademas de ello que nuestro proxy ser transparente el cache cache_mem 64 MB cache_swap_low 90 cache_swap_high 95 maximum_object_size 4096 KB cache_dir aufs /var/spool/squid 1024 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 Esta es la configuracin del cache hablar ac un poco de estas lineas: cache_mem: memoria de objetos calientes (de forma predeterminada esta en 256, pero si su equipo es pequeo debe bajar, el tope recomendado es RAM/3). cache_swap_low y cache_swap_high: son el rango de porcentajes de memoria cache que se dedica para el intercambio. maximum_object_size: el tamao mximo del objeto que va a ser almacenado en cache, los objetos mas grandes que estos no se almacenarn, en este caso 4M que es lo predeterminado. cache_dir: directorio donde almacenar el cache, el parmetro aufs es mejor que ufs debido a que maneja multihilo aumentando el rendimiento... 1024 es la cantidad de megas que usar en disco, en nuestro caso 1G y el resto es la figura de 16 directorios o carpetas con 256 directorios cada uno, este

valor es el predeterminado (16 256). cache_access_log, cache_log, cache_store_log son los logs que informan el acceso, el log del sistema de cache y el del uso del almacenamiento. el refresco Despus del cache definimos cuanto tiempo lo guardamos, bsicamente la expresin regular el tiempo mnimo antes de descargar de nuevo (en minutos), el porcentaje de envejecimiento y el tiempo mximo para considerarse viejo (en minutos) # Paquetes Debian y RedHat 1 dia refresh_pattern -i \.deb$ 1440 100% 1440 refresh_pattern -i \.rpm$ 1440 100% 1440 # Actualizaciones de windows 10 a 20 dias refresh_pattern -i \.cab$ 14400 80% 28800 # Ejecutables 10 a 30 dias refresh_pattern -i \.exe$ 14400 80% 43200 # Imagenes minimo 1 dia maximo 3 antes de descargar de nuevo refresh_pattern -i \.gif$ 1440 80% 4320 refresh_pattern -i \.tiff?$ 1440 80% 4320 refresh_pattern -i \.bmp$ 1440 80% 4320 refresh_pattern -i \.jpe?g$ 1440 80% 4320 refresh_pattern -i \.xbm$ 1440 80% 4320 refresh_pattern -i \.png$ 1440 80% 4320 refresh_pattern -i \.wrl$ 1440 80% 4320 refresh_pattern -i \.ico$ 1440 80% 4320 refresh_pattern -i \.pnm$ 1440 80% 4320 refresh_pattern -i \.pbm$ 1440 80% 4320 refresh_pattern -i \.pgm$ 1440 80% 4320 refresh_pattern -i \.ppm$ 1440 80% 4320 refresh_pattern -i \.rgb$ 1440 80% 4320 refresh_pattern -i \.ppm$ 1440 80% 4320 refresh_pattern -i \.rgb$ 1440 80% 4320 refresh_pattern -i \.xpm$ 1440 80% 4320 refresh_pattern -i \.xwd$ 1440 80% 4320 refresh_pattern -i \.pict?$ 1440 80% 4320 # Video minimo 10 dias, maximo 30 refresh_pattern -i \.mov$ 14400 80% 43200 refresh_pattern -i \.mpe?g?$ 14400 80% 43200 refresh_pattern -i \.avi$ 14400 80% 43200 refresh_pattern -i \.qtm?$ 14400 80% 43200 refresh_pattern -i \.viv$ 14400 80% 43200 refresh_pattern -i \.swf$ 14400 80% 43200 refresh_pattern -i \.flv$ 14400 80% 43200 # Sonido idem que video refresh_pattern -i \.wav$ 14400 80% 43200 refresh_pattern -i \.aiff?$ 14400 80% 43200 refresh_pattern -i \.au$ 14400 80% 43200 refresh_pattern -i \.ram?$ 14400 80% 43200

refresh_pattern -i \.snd$ 14400 80% 43200 refresh_pattern -i \.mid$ 14400 80% 43200 refresh_pattern -i \.mp2$ 14400 80% 43200 refresh_pattern -i \.mp3$ 14400 80% 43200 refresh_pattern -i \.ogg$ 14400 80% 43200 # Default refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern . 0 20% 4320

El tiempo que deseemos mantener almacenado algo es relativo a nuestro trabajo, en todo caso por motivos de actualizaciones lo ideal no es dejar muy alto los valores de los .deb .rpm, y si la gente de Microsoft trabajara en serio en parches, deberia acortarse ese tiempo, pero como no es as... Recordemos que slo almacenar los archivos que estn dentro del maximum_object_size Control de Acceso Ahora, a crear las listas de control de acceso (acl : access control list), en ellas bsicamente decimos que o a quien permitimos o denegamos. En este lugar tambin usamos el http_access que permite o provee el acceso a las reglas de acceso http. Una cosa importante a recordar es que estas reglas se aplican de arriba a abajo, siendo las superiores sobre las inferiores, es decir, si permito abc arriba y luego deniego todo abajo, significa que solamente estoy permitiendo abc y nada ms acl all src 0.0.0.0/0.0.0.0 # todo acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 # maquina local acl SSL_ports port 443 873 # https, rsync acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl CONNECT method CONNECT # metodo Connect acl padres src 10.69.0.0/255.255.255.0 # red padres acl hijos src 10.69.1.0/255.255.255.0 # red hijos acl palabrasNo url_regex "/etc/squid/palabras_no" acl palabrasSi url_regex "/etc/squid/palabras_si" acl horario time MTWHF 18:30-20:00 acl finsemana time AS 15:00-20:00 http_access allow manager localhost http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow palabrasSi http_access allow padres http_access allow horario finsemana hijos !palabrasNo http_access deny all

Me detendr ac a explicar un par de reglas, src hace referencia a una o un rango de ip, time hace referencia a dias de la semana (MTWHFAS) y rango horario (00:00-23:59). acl palabrasNo url_regex "/etc/squid/palabras_no" y acl palabrasSi url_regex "/etc/squid/palabras_si" hacen referencia a url_regex que busca una expresin regular en una url, y la lista de expresiones regulares esta en los archivos /etc/squid/palabras_no y /etc/squid/palabras_si. Un ejemplo de palabras_no es ardiente ass bdsm bestialismo bitch bizarre bizarro blowjob boobies boobs bukkake chochito cum exnovia ex\+novia hot Un ejemplo de palabras_si seria aquel que tiene como parte alguna denegada, por ejemplo "cum" cumple documento Otras configuraciones Finalmente es bueno dejar los mensajes del proxy en espaol y cambiar el nombre del host a alguno que queramos. error_directory /usr/share/squid/errors/Spanish visible_hostname proxy.gulix.local Pasos finales Configurar iptables En la linea RedHat (CentOS, Fedora) Hay que modificar el archivo /etc/sysconfig/iptables agregando lo siguiente: En la tabla nat:

-A PREROUTING -s 10.69.0.0/255.255.255.0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128 -A PREROUTING -s 10.69.1.0/255.255.255.0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128 En la tabla filter -A RH-Firewall-1-INPUT -i eth1 -p tcp -m state --state NEW -m tcp --dport 3128 -j ACCEPT Suponiendo que eth1 es el dispositivo por el cual se conecta el proxy a la red. Despus de estos cambios, hay que ejecutar service iptables restart En Debian y Ubuntu Crear un archivo squid.sh en /etc/network/if-pre-up.d/ que contenga #!/bin/sh iptables -t nat -A PREROUTING -s 10.69.0.0/255.255.255.0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128 iptables -t nat -A PREROUTING -s 10.69.1.0/255.255.255.0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128 iptables -t filter -A RH-Firewall-1-INPUT -i eth1 -p tcp -m state --state NEW -m tcp --dport 3128 -j ACCEPT Cambiar el permiso para ejecucin: chmod ugo+x /etc/network/if-pre-up.d/squid.sh Cargar el archivo source /etc/network/if-pre-up.d/squid.sh

Poner a funcionar el servicio del proxy En RedHat, Centos, Fedora service squid start En Debian, ubuntu y similares /etc/init.d/squid start

Bueno hay esta tambien lo pueden descargar en formato word donde se entiende mejor suerte aki el link

You might also like