Documente Academic
Documente Profesional
Documente Cultură
Escenario:
o bind9:
o apache2:
• AccesoTotal
• AccesoLimitado
Los usuarios que pueden visitar casi todo el contenido de internet, que es este
caso serán los administradores de la red, los haremos miembros del grupo Ac-
cesototal.
Los usuarios que serán miembros del grupo Accesolimitado, tendrán acceso a
casi todos los sitios web, pero no podrá hacer descargas, ver algunas extensio-
nes de archivo o jugar; excepto en la hora de almuerzo, que es el horario en el
que podrán visitar las páginas que en el resto de día no podrán ver como por
ejemplo (www.facebook.com).
#cd /etc/squid
#pico squid.conf
CONFIGURACION DE SQUID
#configuración general
http_port 3128
icp_port 0
forwarded_for off
> Ocultamos la ip del cliente, para que en internet solo se muestre la ip del
router.
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
> Aquí puedes incluir todo aquello que squid no debe guardar en chache
Ej. cgi-bin.
> Para los servidores que permiten resumir la sesión cuando se cancela
una descarga de un archivo.
> Esta linea se explica por si misma, donde guardamos el log de acceso.
emulate_httpd_log on
> Para emular el formato de log del apache, esto nos sirve para utilizar los
analizadores de logs de apache.
hosts_file /etc/hosts
cache_mem 128 MB
> Ahora vamos con el otro "helper" este permite la utilización de grupos
del ldap
external_acl_type ldap_group
o "(&(objectclass=person) (sAMAccountName=%v)
(memberof=cn=%a,ou=proxy,dc=proxy57,dc=com))" -h
172.20.0.13Le inidcamos en que unidad organizativa se en-
cuentran los grupos de los usuario, recuerda que hemos creado
los grupos "Accessototal" y "Accesolimitado" en la UO "proxy"
> Todo lo que escribas después del realm, se muestra al usuario cuando
se le pide la contraseña. Ej. "Proxy57"
> El tiempo que squid mantiene las credenciales de las web externas, don-
de el usuario se valida
#acl's
> Estos son los puertos "80 443" que squid permitirá conexiones. cualquier
petición a un puerto que no esté en esta línea será rechazada.
Si no sabes que puertos necesitan tus aplicaciones puedes utilizar una
línea con todos los puertos altos y con los más usuales pero no es muy
recomendable. Ej. "acl Safe_ports port 80 443 21 1024-65535"
> Esta acl define el grupo con Accesolimitado, es el nombre del grupo en
el AD y ldapLimitado es el nombre de la acl del squid.
> Esta acl define el grupo con Accesototal, es el nombre del grupo en el
AD y ldapTotal es el nombre de la acl del squid.
> En estos archivo pondremos todos lo que consideramos que no debe ser
accesibles para todos los usuarios. Vamos a implementar políticas de
acceso y restricción por URL, extensiones de archivo mimetypes y por
acceso de horarios
> Solo vamos a usar una acl de tiempo, esta es para el horario de almuer-
zo.
> Esta acl establece que todos los usuarios del ldap deben autenticarse.
offline_mode on
#Políticas
> Permitimos que todos los usuarios del grupo ldapLimitado en la hora del
almuerzo pueda ver el contenido de la paginas denegadas dentro del
archivo de la en la acl url_deny.
> Todos los usuarios del grupo ldapTotal tienen acceso a todo excepto pá-
ginas que contengan las palabras definidas dentro del archivo de la acl
cont_palabras.
> Para ocultar la máxima información del proxy, solo en las cabeceras.
> Estas líneas no se para que sirven pero se incluyen por defecto y aquí
están pero no las comento.
cache_effective_user proxy
cache_effective_group proxy
> El usuario y el grupo que utilizara squid.
coredump_dir /var/spool/squid
error_directory /usr/share/squid/errors/Spanish
Hasta aquí todas las líneas del archivo de configuración del squid, ubicado en
/etc/squid/squid.conf, asegúrate de hacer añadido los usuarios en los grupos
correspondientes del Active Directory de windows, configurar el navegador de
los usuarios con la dirección ip y el puerto del proxy.
Ahora antes de reiniciar el squid, tenemos que crear el directorio acl y creamos
los archivos archivos mime_types url_deny cont_palabras
Creamos el directorio acl en el directorio de configuración del squid.
#mkdir /etc/squid/acl
#touch /etc/squid/acl/archivos
#touch /etc/squid/acl/mime_types
#touch /etc/squid/acl/url_deny
#touch /etc/squid/acl/cont_palabras
Reinicia el squid
# /etc/init.d/squid restart
LISTAS NEGRAS
CONFIGURACION DE SQUIDGUARD
Bajamos el archivo que contiene la base de datos con miles de direcciones web
cuyo contenido queremos bloquear. Ese archivo lo podemos encontrar en la
siguiente dirección: http://urlblacklist.com/cgi-
bin/commercialdownload.pl?type=download&file=bigblacklist
Ahora solo nos queda convertir estas blacklist en formato de base de datos
para que su consulta sea mucho más rápida y efectiva.
#squidGuard -C all
Refrescamos la cache
#squid -z
Reinicia el squid
# /etc/init.d/squid restart
Utilizaremos un tail en el log del squidGuard, para asegurarnos que todo esté
bien.
#tail -f /var/log/squid/squidGuard.log
Las estadísticas las veremos vía web, y para ello deben tener instalado un
servidor web y un servidor de nombres.
CONFIGURACION DE SARG
#pico sarg.conf
Spanish
access_log /var/log/squid/access.log.1
graphs yes
title "Reporte de Acceso de Usuarios de Squid"
font_face Tahoma,Verdana,Arial
header_color darkblue
header_bgcolor blanchedalmond
header_font_size -1
background_color white
text_color black
text_bgcolor beige
title_color green
temporary_dir /tmp
output_dir /var/www/squid-reports/
resolve_ip yes
user_ip yes
topuser_sort_field languageBYTES reverse
user_sort_field BYTES reverse
date_format u
remove_temp_files yes
index yes
overwrite_report yes
use_comma no
topsites_num 100
topsites_sort_order CONNECT D
max_elapsed 28800000
report_type topsites users_sites sites_users date_time denied auth_failures
site_user_time_date
long_url no
date_time_by bytes
CONFIGURACION DE APACHE
Configura el apache2 para ver las estadísticas vía web.
Configura al Apache para poder leer las estadísticas de uso del servidor
Proxy.
#pico /apache2/httpd.conf
Entra a tmp, allí ejecutaremos el comando para crearemos un archivos
de contraseñas encriptadas para autorizar la entrada en Sarg.
#cd /
#cd tmp
Abre tu navegador y veras que si todo está bien te debe pedir el usuario y
contraseña.
#configuracion general
http_port 3128
icp_port 0
forwarded_for off
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
access_log /var/log/squid/access.log squid
emulate_httpd_log on
hosts_file /etc/hosts
cache_dir aufs /var/spool/squid/ 200 16 256
cache_mem 128 MB
#acl's
acl CONNECT method CONNECT
acl Safe_ports port 80 443 1024-65535
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
acl lan src 172.20.0.0/255.255.255.0
acl purge method PURGE
acl ldapLimitado external ldap_group Accesolimitado
acl ldapTotal external ldap_group Accesototal
acl permitir dstdomain "/etc/squid/acl/permitir.acl"
acl archivos urlpath_regex "/etc/squid/acl/archivos.acl"
acl mime_types urlpath_regex "/etc/squid/acl/mime_types.acl"
acl url_deny dstdomain "/etc/squid/acl/url_deny.acl"
acl cont_palabras url_regex "/etc/squid/acl/cont_palabras.acl"
acl horario_almuerzo time MTWHF 12:00-13:00
acl ldap-group proxy_auth REQUIRED
offline_mode on
#politicas
http_access deny !Safe_ports
http_access deny CONNECT
http_access allow horario_almuerzo all ldapLimitado url_deny
http_access allow ldapTotal all !cont_palabras
http_access allow ldapLimitado all !archivos !mime_types !url_deny
\!cont_palabras
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access allow localhost
http_access deny all
http_reply_access allow all
icp_access deny all
header_access X-Forwarder-For deny all
header_access Via deny all
header_access Accept-Language deny all
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
cache_effective_user proxy
cache_effective_group proxy
coredump_dir /var/spool/squid
error_directory /usr/share/squid/errors/Spanish
#redireccionar a squidGuard
redirect_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf