Vous êtes sur la page 1sur 11

Administracin avanzada Linux para Gobierno de Aysn

SQUID PROXY

Tutor virtual Juan Martnez Garca

Administracin avanzada Linux para Gobierno de Aysn

Servicio Squid en GNU/Linux CentOS


Para iniciar con la configuracin se procede con la instalacin del paquete en el
servidor GNU/Linux CentOS;
yum install squid
Luego se ingresa al directorio donde se aloja el archivo de configuracin;
cd /etc/squid
Se crea una copia de respaldo del archivo de configuracin;
cp squid.conf squid.conf.org
Y se inicia la configuracin de dicho archivo, entre sus principales parmetros se
encuentran;
Nota: Dejar los dems parmetros de configuracin por defecto.
# Direccin IP interna del servidor GNU/Linux CentOS y puerto por donde los clientes
saldrn del Proxy.
http_port 192.168.1.1:3128 transparent
# Permite indicar la cantidad ideal de memoria RAM como mximo para almacenar
cach de objetos en trnsito.Los datos de estos objetos se almacenan en bloques
de 4KB. Una regla es dividir entre 8 el valor mximo de la memoria RAM fsica. Por
ejemplo para un servidor con 2,048 MB de RAM seria;
cache_mem 256 MB
# Visualizacin del nombre del servidor.
visible_hostname nombre_servidor
# El numero 33000 corresponde a 33000 MB como espacio mximo para almacenar
cach, el 16 son el numero de subdirectorios que contendr el directorio principal (en
este caso /var/spool/squid) y el 256 significa el numero de niveles para cada
subdirectorio. En caso de especificar un tamao mximo inferior al espacio real
disponible, el servidor SQUID se bloquear.
cache_dir ufs /var/spool/squid 33000 16 256
# Logs por donde se ver la navegacin de los clientes.
access_log /var/log/squid/access.log squid
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
# tiempo mximo para cacheados.
Tutor virtual Juan Martnez Garca

Administracin avanzada Linux para Gobierno de Aysn

minimum_object_size 0 KB
maximum_object_size 4096 KB

# Ver errores del servicio SQUID el espaol.


error_directory /usr/share/squid/errors/Spanish
# Refresh_Pattern optimizados para GNU/Linux Debian y CentOS
refresh_pattern -i .deb$ 129600 100% 129600
refresh_pattern -i .rpm$ 129600 100% 129600
refresh_pattern -i .gz$ 129600 100% 129600
refresh_pattern -i .bz2$ 129600 100% 129600
# Imgenes
refresh_pattern -i .gif$ 14400 80% 43200
refresh_pattern -i .tiff?$ 14400 80% 43200
refresh_pattern -i .bmp$ 14400 80% 43200
refresh_pattern -i .jpe?g$ 14400 80% 43200
refresh_pattern -i .xbm$ 14400 80% 43200
refresh_pattern -i .png$ 14400 80% 43200
refresh_pattern -i .wrl$ 14400 80% 43200
refresh_pattern -i .ico$ 14400 80% 43200
refresh_pattern -i .pnm$ 14400 80% 43200
refresh_pattern -i .pbm$ 14400 80% 43200
refresh_pattern -i .pgm$ 14400 80% 43200
refresh_pattern -i .ppm$ 14400 80% 43200
refresh_pattern -i .rgb$ 14400 80% 43200
refresh_pattern -i .ppm$ 14400 80% 43200
refresh_pattern -i .rgb$ 14400 80% 43200
refresh_pattern -i .xpm$ 14400 80% 43200
refresh_pattern -i .xwd$ 14400 80% 43200
refresh_pattern -i .pict?$ 14400 80% 43200
# Pelculas.
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
# Sonidos.
Tutor virtual Juan Martnez Garca

Administracin avanzada Linux para Gobierno de Aysn

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
# Archivos
refresh_pattern -i .sit$ 14400 80% 43200
refresh_pattern -i .zip$ 14400 80% 43200
refresh_pattern -i .hqx$ 14400 80% 43200
refresh_pattern -i .exe$ 14400 80% 43200
refresh_pattern -i .arj$ 14400 80% 43200
refresh_pattern -i .lzh$ 14400 80% 43200
refresh_pattern -i .lha$ 14400 80% 43200
refresh_pattern -i .cab$ 14400 80% 43200
refresh_pattern -i .rar$ 14400 80% 43200
refresh_pattern -i .tar$ 14400 80% 43200
refresh_pattern -i .gz$ 14400 80% 43200
refresh_pattern -i .z$ 14400 80% 43200
refresh_pattern -i .a[0-9][0-9]$ 14400 80% 43200
refresh_pattern -i .r[0-9][0-9]$ 14400 80% 43200
# Archivos de datos
refresh_pattern -i .txt$ 14400 80% 43200
refresh_pattern -i .pdf$ 14400 80% 43200
refresh_pattern -i .doc$ 14400 80% 43200
refresh_pattern -i .rtf$ 14400 80% 43200
refresh_pattern -i .tex$ 14400 80% 43200
refresh_pattern -i .latex$ 14400 80% 43200
# Objetos de tipo JAVA.
refresh_pattern -i .class$ 14400 80% 43200
refresh_pattern -i .js$ 14400 80% 43200
refresh_pattern -i .class$ 14400 80% 43200
# Objetos de tipo Web.
refresh_pattern -i .css$ 10 20% 4320
refresh_pattern -i .html?$ 10 20% 4320
refresh_pattern /$ 10 20% 4320

Tutor virtual Juan Martnez Garca

Administracin avanzada Linux para Gobierno de Aysn

# Para evitar problemas con scripts .do


refresh_pattern -i .do$ 0 0% 1440
#Sugerencias predeterminadas:
refresh_pattern ^ftp:
1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern .
0 20% 43
# Listas de Control de Accesos por defecto.
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 to_localhost dst 127.0.0.0/8
# Para poder navegar se declara la red interna con su respectiva mascara de red en
una directiva de nombre ciberaula.
acl ciberaula src 192.168.1.0/255.255.255.0
# Se crea un archivo vaco de nombre permitidos en /etc/squid;
cd /et/squid
touch permitidos
# Se asigna el dueo y grupo squid en el archivo;
chown squid:squid permitidos
# Y en el archivo de configuracin se inserta la directiva de nombre spermitidos para
aceptar aquellos sitios o palabras blancas;
acl spermitidos url_regex /etc/squid/permitdos
Ejemplo del contenido del archivo permitodos;
sexualidad
computacion
aspx
analyser
analizador
analizadora
analisis
articulo
articulos
adulto
www.sexualidadjoven.cl
Tutor virtual Juan Martnez Garca

Administracin avanzada Linux para Gobierno de Aysn

# Se crea un archivo vaco de nombre sitios en /etc/squid;


touch sitios
# Se asigna el dueo y grupo squid en el archivo;
chown squid:squid sitios
# Y en el archivo de configuracin se inserta la directiva de nombre sitios para
bloquear aquellos sitios o palabras que consideremos no apropiados;
acl sitios url_regex /etc/squid/sitios
Ejemplo del contenido del archivo sitios;
#Expresiones
adultsight
adult
adultsonly
adultweb
blow-?job
bondage
centerfold
cumshot
cyberlust
cybercore
hardcore
incest
masturbat
obscene
pedophil
pedofil
playmate
# Proxy annimos
gohidden.webs.com/proxy/embed.html
gohidden.webs.com/proxy/pasfltr.html
gohidden.webs.com/proxy/pro.html
gohidden.webs.com/proxy/prxy.html
gohidden.webs.com/proxy/rock.html
# As como pornografa, sitios fraudulentos, sitios con actividades sospechosas,
etc,etc.
# Se crea un archivo vaco de nombre listaextensiones en /etc/squid;
touch listaextensiones
Tutor virtual Juan Martnez Garca

Administracin avanzada Linux para Gobierno de Aysn

# Se asigna el dueo y grupo squid en el archivo;


chown squid:squid listaextensiones
# Y en el archivo de configuracin se inserta la directiva de
nombre listaextensiones para bloquear aquellas extensiones que consideremos no
apropiadas;
acl listaextensiones urlpath_regex /etc/squid/listaextensiones
Ejemplo del contenido del archivo listaextensiones;
# Lista de extensiones denegadas
.avi$
.mp3$
.mp4$
.mpg$
.mpeg$
.mov$
.ra$
.ram$
.rm$
.vob$
.wma$
.wmv$
.wav$
.pps$
.ace$
.bat$
.lnk$
.pif$
.scr$
.sys$
# Se crea un archivo vaco de nombre informatica en /etc/squid;
touch informatica
# Se asigna el dueo y grupo squid en el archivo;
chown squid:squid informatica
# Y en el archivo de configuracin se inserta la directiva de nombre rangos para
bloquear aquellas direcciones IP que no deseemos que naveguen. As mismo
recordar que el servicio DHCP permite la asignacin de direcciones IP por MAC
ADDRESS de los equipos clientes registradas en el servidor, si as lo desean.
acl rangos src /etc/squid/informatica
Tutor virtual Juan Martnez Garca

Administracin avanzada Linux para Gobierno de Aysn

Ejemplo del contenido del archivo de nombre informatica;


# Asumiendo que las direcciones IP 192.168.1.1 hasta la 192.168.1.10 son destinadas
para los servidores locales de la red.
192.168.1.11
192.168.1.12
192.168.1.13
192.168.1.14
192.168.1.15
192.168.1.16
# Hasta completar la 192.168.1.254, ya que la 192.168.1.255 es el broadcast y no se
incluye.
# Se crea un archivo vaco de nombre facebook en /etc/squid;
touch facebook
# Se asigna el dueo y grupo squid en el archivo;
chown squid:squid facebook
# Y en el archivo de configuracin se inserta la directiva de nombre webfb la cual
contiene los sitios web de facebook,ejemplos;
www.facebook.com
es-es.facebook.com
www.es-es.facebook.com
es.facebook.com
facebook
# A su vez se le permite a los clientes el uso de facebook en horario diferenciado. En
este ejemplo, se inserta la directiva de nombre horariobloqueado0 donde se niega el
acceso al sitio web facebook desde las 00:00 horas hasta las 5:59 AM de Lunes a
Viernes. Se inserta la directiva de nombre horariobloqueado1 donde se niega el
acceso al sitio web facebook desde las 13:00 horas hasta las 23:59 horas de Lunes a
Viernes. Se inserta una directiva de nombre horariobloqueado2donde se niega el
acceso al sitio web facebook desde las 00:00 horas hasta las 23:59 PM los fines de
semana. Y por ultimo se inserta una directiva de nombre horariopermitido donde se
permite acceder al sitio web facebook desde las 06:00 horas hasta las 12:59 del
medioda de Lunes a Viernes.
acl webfb url_regex /etc/squid/facebook
acl horariobloqueado0 time MTWHF 00:00-5:59
acl horariobloqueado1 time MTWHF 13:00-23:59
Tutor virtual Juan Martnez Garca

Administracin avanzada Linux para Gobierno de Aysn

acl horariobloqueado2 time AS 00:00-23:59


acl horariopermitido time MTWHF 06:00-12:59
# Se permite el uso de MSN, Yahoo y GAIM
acl Safe_ports port 5050
# Gaim-yahoo
acl Safe_ports port 1863
# Gaim-msn
# Se niega o se permite con las directiva http_access deny o http_access
allow respectivamente las listas de control de accesos creadas anteriormente. As, se
niega de la directiva de nombre labs aquellas IPs que no estn comentadas, a su vez
los horarios negados del sitio web facebook, las directivas de nombre sitios, rangos,
listaextensiones y se permite el acceso al sitio web facebook en horario asignado. El
signo de admiracin indica a su vez negar.
http_access deny labs webfb horariobloqueado0
http_access deny labs webfb horariobloqueado1
http_access deny labs webfb horariobloqueado2
http_access allow labs !sitios !rangos !listaextensiones
http_access allow labs webfb horariopermitido
http_access deny manager
# Se acepta todo lo que venga de la directiva de nombre spermitdos (sitiosinocentes).
http_access allow localhost
http_access allow all spermitidos
http_access deny all
# and finally allow by default
http_reply_access allow all
# Correo del administrador
cache_mgr alguncorreo@dominio.com
# Algunos parmetros de seguridad.
coredump_dir /var/spool/squid
log_icp_queries off
buffered_logs on
# Aplicando control de Ancho de Banda.Primeramente se crean los archivos
vacos formatos_videos y sitios_videos. El contenido de cada archivo respectivo
seria;
touch formatos_videos
touch sitios_videos
# Se asigna el dueo y grupo squid en el archivo;
chown squid:squid formatos_videos
Tutor virtual Juan Martnez Garca

Administracin avanzada Linux para Gobierno de Aysn

chown squid:squid sitios_videos


# Formatos de Vdeos.
.avi$
.mp4$
.mp3$
.mp4$
.mpg$
.mpeg$
.mov$
.wma$
.wmv$
.wav$
.exe$
.iso$
.zip$
.rar$
# Sitios de Vdeos.
youtube.com
porntube.com
redtube.com
videoplayback
/videoplayback?=
/get_video?origin=
update.microsoft.com
watch?
/videoplayback?
/get_video?
facebook.com
apple.com/downloads/
shallalist.de/Downloads/
avast.com/iavs4x/
apple.com/quicktime/download
apple.com/support/downloads/
grisoft.cz/softw/70/update/
pctools.com/mirror/
sophos.com/downloads/
kaspersky.com/avupdates/
kaspersky.com/sfupdates/
download.mcafee.com/updates/
200.122.168.229/dl/
Tutor virtual Juan Martnez Garca

10

Administracin avanzada Linux para Gobierno de Aysn

apple.com/itunes/affiliates/download/
cooliris.com/downloads/
cooliris.com/static/releases/
tv1.bee.pl/telewizja-dostep.htm
# Continua. Sera cuestin de investigar por mas sitios.
# Luego se asigna por medio de delay_pools el control del ancho de banda. En este
caso los archivos y videos que superen los 2 MB y puedan navegar a una velocidad
mxima de descarga de 48 kB/s.
delay_pools 1
delay_class 1 1
delay_parameters 1 48000/2097152
acl formatos_videos urlpath_regex -i /etc/squid/formatos_videos
acl sitios_videos url_regex -i /etc/squid/sitios_videos
delay_access 1 allow formatos_videos
delay_access 1 allow sitios_videos
Bien, como notas finales, recuerden que para permitir direcciones IP, sitios, palabras,
que se encuentran contenidas en los archivos creados en /etc/squid deben de
comentarlos, salvo el contenido de la directiva de nombre spermitidos (sitiosinocentes), as mismo aclarar que no se esta haciendo uso de NAT para los equipos
clientes ya que se considera innecesario , salvo que sea solicitado se agrega la
siguiente cadena en el cortafuegos para ese equipo cliente que lo solicite.
iptables -t nat -A POSTROUTING -s direccin_IP -o tarjeta_red_publica -d 0.0.0.0/0 -j
MASQUERADE
As tambin SELinux debe permitir el servicio SQUID por medio de la siguiente
sintaxis;
setsebool -P squid_connect_any = 1
Si desea encontrar categoras y bloquear su contenido pueden visitar
http://urlblacklist.com/?sec=download
Tambin puede instalar Dansguardian para el contenido de su filtrado web.

Tutor virtual Juan Martnez Garca

11

Vous aimerez peut-être aussi