Está en la página 1de 13

instalar el squid

$>yum -y install squid


crear un directorio donde estaran las politicas de acceso
$>cd /etc/squid
$>mkdir -p /etc/squid/politicas
$>vim /etc/squid/squid.conf
habilitamos el puerto, ingresamos en la primera linea
http_port 8080
acl
acl
acl
acl
acl
acl

red src "/etc/squid/politicas/red"


negadas url_regex -i "/etc/squid/politicas/negadas"
sin_salida src "/etc/squid/politicas/sin_salida"
permitidos src "/etc/squid/politicas/permitidos"
intranet url_regex -i "/etc/squid/politicas/intranet"
ip_intranet src "/etc/squid/politicas/ip_intranet"

http_access
http_access
http_access
http_access

allow ip_intranet intranet


deny ip_intranet
allow permitidos
allow red !negadas !sin_salida

guardamos :wq
creamos los archivos
$>cd /etc/squid/politicas/
$>vim red
192.168.130.x-192.168.130.y
$>vim intranet
perulinux.pe
$>vim ip_intranet
192.168.130.20
$>vim negadas
facebook
$>vim permitidos
192.168.130.30
$>vim sin_salida
192.168.130.40

##iniciamos el squid
$>service squid start
##si realizamos cambios en las politicas del squid
$>squid -k check
$>squid -k reconfigure
##realizamos las pruebas de acceso

cambiando la plantilla de denegacion


-----------------------------------$>vim /usr/share/squid/errors/es/ERR_ACCESS_DENIED
###linea 1,466
<h1>PERULINUX</h1>
guardamos los cambios :wq
$>squid -k check
$>squid -k reconfigure
###probamos ingresando a una pagina filtrada

Denegacion por horarios


----------------------Los dias de la semana se definen con letras, las cuales corresponden a la primer
a letra del nombre en ingles
de modo que se utilizaran del siguiente modo:
*
*
*
*
*
*
*

S - Domingo
M - Lunes
T- Martes
W- Miercoles
H- Jueves
F- Viernes
A- Sabado

$>vim /etc/squid/squid.conf
.
acl sin_salida src "/etc/squid/politicas/sin_salida"
acl almuerzo time W 12:09-12:10
.
.
.
.
http_access allow red !negadas !sin_salida !almuerzo
guardamos los cambios :wq

$>squid -k check
$>squid -k reconfigure
denegacion https por squid
-------------------------$>vim /etc/squid/squid.conf
acl sitios-https url_regex "/etc/squid/politicas/sitios-https"
.
.
.
.
http_access allow CONNECT sitios-https
http_access deny CONNECT all
$>vim /etc/squid/politicas/sitios-https
bcpzonasegura.viabcp.com
guardamos :wq
$>squid -k check
$>squid -k reconfigure
si queremos hacer filtros por mac y no por ip
---------------------------------------------$>vim /etc/squid/squid.conf
acl macs arp "/etc/squid/politicas/macs"
acl negadas url_regex -i "/etc/squid/politicas/negadas"
.
.
.
http_access allow macs !negadas

creamos el archivo macs


----------------------$>vim /etc/squid/politicas/macs
00:15:58:C8:40:78
00:19:d1:f5:25:b3
guardamos los cambios :wq
$>squid -k check
$>squid -k reconfigure
Proxy con autenticacion local

------------------------------------$> vim /etc/squid/squid.conf


###linea 10 auth_param basic program /usr/lib64/squid/ncsa_auth /etc/squid/usuar
ios
.
.
.
.
###linea 22 acl usuarios proxy_auth "/etc/squid/politicas/usuarios.usr"
.
.
.
.
.
###linea 67 http_access allow usuarios ip_intranet
$> vim /etc/squid/politicas/usuarios.usr
juan
pepe
Crear usuarios del proxy
----------------------$> htpasswd -c /etc/squid/usuarios juan
clave: juan
$> htpasswd -c /etc/squid/usuarios pepe
clave: pepe
$> squid -k check
$> squid -k reconfigure
Proxy con autenticacion LDAP
---------------------------$>vim /etc/squid/squid.conf
##linea 11
auth_param basic program /usr/lib64/squid/squid_ldap_auth -v 3 -b "ou=people,dc=
sierra,dc=pe" -h 10.60.1.166 -f uid=%s
.
.
acl ip_intranet src "/etc/squid/politicas/ip_intranet"
acl ldap proxy_auth REQUIRED
.
.
.
.
http_access allow ldap !negadas !sin_salida !almuerzo

proxy transparente
-------------------$>vim /etc/sysctl.conf

##por defecto aparece "0", cambiamos a "1!


net.ipv4.ip_forward = 1
actualizar los cambios del forward
---------------------------------$>sysctl -p
$>vim /etc/squid/squid.conf
###linea 1 http_port 8080 transparent
:wq
$>service squid restart
ingresando reglas iptables por consola
--------------------------------------#####puerto 80
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 80
80
#####puerto 443
iptables -A FORWARD -s 10.60.1.0/24 -p tcp --dport 443 -j ACCEPT
#####bloqueo paginas https
##viabcp
iptables -I FORWARD -s 10.60.1.0/24 -d 200.4.200.170 -p tcp --dport 443 -j DROP
iptables -I FORWARD -s 10.60.1.0/24 -d 200.37.27.170 -p tcp --dport 443 -j DROP

iptables -t nat -A PREROUTING


80 # conexion con puerto 8080
iptables -t nat -A PREROUTING
080 # conexion al 443 "HTTPS"

-i eth0 -p tcp --dport 80 -j REDIRECT --to-port 80


"HTTP" lo tendra squid
-i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8
lo tendra squid

####configuar el gateway del cliente, el gateway tiene que ser la ip del servido
r proxy
NOTA:si en caso no resulta el forward, reiniciar el servidor y aplicar nuevament
e las reglas del firewall
para visualizar las reglas
--------------------------$>iptables -L
generando un archivo para las reglas iptables
--------------------------------------------$>vim reglas

#!/bin/bash
.
.
.
guardamos :wq
damos permisos de ejecucion al archivo
-------------------------------------$>chmod 755 reglas
ejecutamos las reglas
--------------------$>sh reglas

generacion de reportes con calamaris


---------------------------------------$>yum -y install calamaris
$>vim /etc/calamaris.conf
agregamos las siguientes lineas
-----------------------------## Reporte Por Dia
daily:root:/var/www/calamaris/daily.html:both:'Squid daily'
### Reporte por Semana
weekly:root:/var/www/calamaris/weekly.html:both:'Squid weekly'
### Reporte por Mes
monthly:root:/var/www/monthly.html:both:'Squid monthly'
Tambien crearemos el archivo de configuracion para apache
--------------------------------------------------------Deber contener a la siguientes parmetros.
-----------------------------------------$>vim /etc/httpd/conf.d/calamaris.conf

Alias /calamaris "/var/www/calamaris"


<Directory "/var/www/calamaris">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
# Allow from all
Allow from 192.168.1.0/24
</Directory>

Se creara el directorio de alojamiento de reportes, tambien se le otorgara permi


sos al usuario squid y grupo apache.
$>mkdir /var/www/calamaris
chown squid.apache /var/www/calamaris -R
Reiniciamos el servicio de apache.
---------------------------------$>service httpd restart
Generando el reporte.
---------------------$>cat /var/log/squid/access.log | calamaris -R -1 -a -F html > /var/www/calamari
s/reporte-hoy.html

SARG
-------------------------------------------------------------------Sarg genera reportes diarios, semanales y mensuales, automaticamente
Instalar sarg de 32 bits de centos5
$> wget http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/sarg-2.2.3.1-1.el5.rf.
i386.rpm
$> yum -y install sarg-2.2.3.1-1.el5.rf.i386.rpm
Para generar un reporte del momento (snapshot)
$> sarg
$> service httpd start
Ir a
http://localhost/sarg
Ver Reportes de Sarg a nivel de toda la red
-----------------------------------------------$> vim /etc/httpd/conf.d/sarg.conf
Alias /sarg /var/www/sarg
<Directory /var/www/sarg>
Options Indexes FollowSymLinks
AllowOverride All
DirectoryIndex index.html
Order deny,allow
Allow from all
</Directory>
$> vim /var/www/sarg/.htaccess
AuthType basic
AuthName "reportes de sarg"
AuthUserFile /etc/sarg/sarg.user

Require valid-user
$> htpasswd -c /etc/sarg/sarg.user admin
clave: admin
$> service httpd restart
Acceder con
http://192.168.130.X/sarg

configuracion dansguardian
----------------------------$>yum -y install dansguardian
$>vim /etc/dansguardian/dansguardian.conf
#linea 26 definimos el lenguaje
language = 'spanish'
#linea 85 definimos la ip por donde se filtrara
filterip = 192.168.130.x
#linea 88 puerto por donde escuchara dansguardian
filterport = 8080
#linea 91 ip del proxy
proxyip = 192.168.130.x
#linea 94 puerto del proxy
proxyport = 3128
##guardamos :wq
###cambiamos de puerto al squid
$>vim /etc/squid/squid.conf
http_port 3128
reiniciamos el squid
----------------------$>service squid restart
reiniciamos el dansguardian
---------------------------$>service dansguardian restart

reglas de filtrado del dansguardian


-----------------------------------$>cd /etc/dansguardian/lists/
extensiones filtradas (ejem: .mp3, .mp4, etc)
$>vim bannedextensionlist
dando salida a internet a la red
-------------------------------$>vim bannediplist
#linea 17
192.168.130.0/24
guardamos :wq
En este archivo vamos a configurar las listas de frases a utilizar para el escan
eo de contenidos
----------------------------------------------------------------------------------------------$>vim bannedphraselist
#descomentamos las lineas 46 y 47
.Include</etc/dansguardian/lists/phraselists/pornography/banned>
.Include</etc/dansguardian/lists/phraselists/pornography/banned_portuguese>
incluimos la siguiente linea
#nos va a escanear las paginas que sean para nios de 14 aos
.Include</etc/dansguardian/lists/phraselists/safelabel/banned>
guadamos :wq
bannedsitelist y bannedurllist:
------------------------------Estos archivos de configuracion contienen las rutas de la base de datos de domin
ios y url, que vamos
a restringir
ingresamos a la siguiente ruta
$>cd /etc/dansguardian/lists/blacklists/
descargamos una base de datos de la siguiente url
http://urlblacklist.com/cgi-bin/commercialdownload.pl?type=download&file=bigblac

klist
descomprimir
-----------$>tar -zxvf bigblacklist.tar.gz
$>cd blacklists/
podemos ver por ejemplo las siguientes categorias:
$>ls
-games
-hacking
-porn
-proxy
-sports
-virusinfected
-violence
-socialnetworking
generamos una regla de firewall
------------------------------con esta regla le decimos que todas peticiones que llegan al puerto 3128(squid),
se redireccione al puerto 8080(dansguardian)
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 3128 -j REDIRECT --to-port
8080
$>cd /etc/dansguardian/lists/
$>vim bannedsitelist
Por ejemplo para bloquear las paginas de contenido deportivo:
## descomentamos la linea 108
.Include</etc/dansguardian/lists/blacklists/blacklists/sports/domains>
Para bloquear las paginas con contenido violento:
## descomentamos la linea 110
.Include</etc/dansguardian/lists/blacklists/blacklists/violence/domains>
ingresamos a al archivo
$>vim /etc/dansguardian/lists/blacklists/blacklists/sports/domains
y en la primera linea ingresamos
peru.com
guardamos :wq

Para bloquear una categoria de URLs


----------------------------------$>cd /etc/dansguardian/lists/
$>vim bannedurllist
##descomentamos desde la linea 38 a la 42
.Include</etc/dansguardian/lists/blacklists/blacklists/adult/urls>
.Include</etc/dansguardian/lists/blacklists/blacklists/aggressive/urls>
.Include</etc/dansguardian/lists/blacklists/blacklists/audio-video/urls>
.Include</etc/dansguardian/lists/blacklists/blacklists/chat/urls>
.Include</etc/dansguardian/lists/blacklists/blacklists/drugs/urls>
ingresar al archivo
$>vim /etc/dansguardian/lists/blacklists/blacklists/adult/urls
ingresamos en la primera linea
www.relaxdelperu.com
reiniciamos el servicio del dansguardian
$>service dansguardian restart

personalizando el template del dansguardian


------------------------------------------$>vim /usr/share/dansguardian/languages/spanish/template.html
##linea 4 ###esto nos mostrara en la barra superior del navegador "PERULINUX"
<title>PERULINUX Acceso denegado</title>
###linea 15 ##
<b>PERULINUX</b>
###linea 27
SISTEMAS
guardamos los cambios :wq
reiniciamos el dansguardian y el apache

$>service dansguardian restart


$>service squid restart
probamos los cambion ingresando a una pagina filtrada

proxy padre/hijo
-----------------proxy_padre
----------$>vim /etc/squid/squid.conf
###linea 2
icp_port 3130
.
.
.
http_access allow permitidos
icp_access allow all
reconfiguramos el squid
----------------------$>squid -k check
$>squid -k reconfigure
proxy_hijo
---------$>vim /etc/squid/squid.conf
###linea 2
icp_port 3130
####linea 12
cache_peer 192.168.130.x parent 8080 3130 default
.
.
.
.
http_access allow permitidos
icp_access allow all
* bannedextensionlist: Filtra las extensiones de los archivos que descarguemos.
Por ejemplo: zip,
jpg etc.
* bannediplist:
Se pondrn las IPs que no tendrn acceso. Por ejemplo la
IP 192.168.1.10
* bannedphraselist:
Se pondrn palabras o frases prohibidas. Por ejemplo:
sexo, alcohol, porno etc
* bannedmimetypelist: Se escriben los tipos de contenidos no permitidos.
Por ejemplo: sexo.
* bannedsitelist: Bloquea el acceso a un dominio. Por ejemplo: www.marca.com
.
* bannedurllist: Impide el acceso a una parte del dominio. Por ejemplo: www.

marca.com/realmadrid
* weightedphraselist: Muestra una lista de palabras con su
correspondiente peso e instrucciones de definicin.
* exceptioniplist: Lista de las IPs que no sern filtradas.
* exceptionphraselist: Palabras o frases que no se filtrarn.
* exceptionsitelist: Dominios que no se prohibirn.
* exceptionurllist: Parte de un dominio que no se bloquear.