SlideShare una empresa de Scribd logo
PROXY SERVER SQUID
SQUID

El término PROXY es bastante ambiguo y muy general, sin embargo, se puede definir como un servidor que permite a los clientes realizar
conexiones de red indirectas hacia otros servicios de red

Instalación y configuración

Se instala mediante el paquete squid

El archivo de configuración se encuentra en /etc/squid/squid.conf

Inicio, parada y reinicio del servicio squid

service squid start | stop | restart

Opciones de configuración

NOTA El archivo squid.conf es similar a cualquier otro archivo de configuración GNU/LINUX, pero este no permite espacios en blanco antes de
las directivas de configuración

          OPCIONES GENERALES
                    OPCIÓN                                            DESCRIPCIÓN                                VALOR POR DEFECTO
          http_port                      Puerto de escucha utilizado por SQUID                                          3128
          visible_hostname               Nombre del servidor proxy SQUID
                                                                                                                         -
                                         Normalmente será el nombre del ordenador donde se ejecuta SQUID
          error_directory                Establece el idioma de las diferentes páginas de error o informativas
                                                                                                                         -
                                         Para establecer el idioma español /usr/share/squid/errors/es-es
          auth_param basic program       Indica el módulo de autenticación que utilizará SQUID                           -
          redirect_program               Permite a SQUID trabajar conjuntamente con otros programas                      -
          access_log                     Registro de accesos a través de squid
                                                                                                                         -
                                         Tiene que especificarse

          OPCIONES DE FILTRADO
          acl                            Establece una lista de control de acceso                                        -
          http_access                    Establece una regla de control de acceso                                        -

Ejemplo. Archivo de configuración mínima de un servidor proxy SQUID

#SERVIDOR PROXY SQUID
#OPCIONES GENERALES
http_port 3128
visible_hostname nombre_servidor
access_log /var/log/squid/access.log
error_directory /usr/share/squid/errors/es-es

#LISTAS CONTROL ACCESO
acl all src all
acl localhost src 127.0.0.1/32
acl localnet src 192.168.1.0/24

#REGLAS CONTROL ACCESO
http_access allow localhost
http_access allow localnet
http_access deny all
PROXY SERVER SQUID
CONTROL DE ACCESO

CONTROL DE ACCESO MEDIANTE DIRECCIONES IPS

Los controles de acceso se basan en LISTAS DE CONTROL DE ACCESO y REGLAS DE CONTROL DE ACCESO que permitirán o negarán el acceso a
SQUID

Listas de control de acceso

Se podría definir como QUE y A QUIEN se le aplicará una regla de control de acceso

Su sintaxis es acl [nombre_lista] src [componentes_lista]

Ejemplo. Crear una lista de control de acceso que abarca toda la red

acl red_local src 192.168.1.0/24

También se pueden crear listas de control de acceso especificando la ruta hacia un archivo determinado

Ejemplo. Crear una lista de control de acceso “denegados” mediante un fichero

acl denegados src “/etc/squid/listas/denegados”

El archivo “denegados” quedaría

#FILTRO IP
192.168.1.1
192.168.1.2
192.168.1.3

Reglas de control de acceso

Definen si se permite o no el acceso hacia squid a las listas de control de acceso definidas

Su sintaxis es http_access [deny | allow] [lista_control_acceso]

Ejemplo. Permitir el acceso a SQUID a una lista llamada “red_local”

http_access allow red_local

También pueden definirse reglas con el signo ! el cual significa no

Ejemplo. Definir dos listas de control de acceso “lista1” y “lista2” y establecer una regla de control que permita el acceso a lo que comprenda
“lista1” pero no a lo que comprenda “lista2”

http_access allow lista1 !lista2
PROXY SERVER SQUID
CONTROL DE ACCESO POR AUTENTICACIÓN

Autenticación a través del módulo NCSA
NOTA Para poder hacer uso del módulo de autenticación de SQUID es necesario instalar el paquete APACHE2

La autenticación de usuarios en SQUID se realiza mediante el módulo ncsa_auth que ya viene incluido en el propio paquete de instalación
SQUID en la mayoría de distribuciones. Este módulo provee una autenticación muy sencilla a través de un archivo de texto simple cuyas claves
de acceso se generan mediante el comando htpasswd

Ejemplo. Configuración servidor proxy SQUID con autenticación de usuarios
NOTA Se supone que todos los pasos se realizan con el usuario root

    1.   Creación del archivo passwd que almacenará los usuarios y sus claves de acceso (cifradas)
         NOTA El archivo puede estar en cualquier lugar del sistema con la única condición de que tendrá que ser accesible por el usuario
         proxy

         touch /etc/squid/passwd

         chown proxy:proxy /etc/squid/passwd
         chmod 600 /etc/squid/passwd

    2.   Añadir usuarios al archivo passwd mediante el comando htpasswd
         NOTA Las cuentas de usuario creadas con el comando htpasswd son independientes de las demás cuentas del sistema

         htpasswd /etc/squid/passwd usuario

    3.   Editar el archivo squid.conf configurando la directiva auth_param e indicando el módulo de autenticación (suelen ubicarse en el
         directorio /usr/lib/squid) a utilizar y ruta del archivo donde se almacenan los usuarios

         auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd

    4.   Crear las listas y reglas de control de acceso

              acl autenticación proxy_auth REQUIRED
              http_access allow autenticacion

RESTRICCIONES DE ACCESO A SITIOS WEB

Su sintaxis es acl [nombre_expresion] url_regex “ruta_lista_expresiones”

Ejemplo. Prohibir a los ordenadores de la red local 192.168.1.xx acceder a sitios que contengan las palabras torrent y elink

    1.   Crear fichero con la lista de expresiones que queramos filtrar

         sudo mkdir /etc/squid/listas
         sudo gedit /etc/squid/listas/prohibidas

         #FILTRO EXPRESIONES URL
         torrent
         elink

    2.   Crear las listas y reglas de control de acceso

         acl prohibidas url_regex “/etc/squid/listas/prohibidas”
         http_access allow localnet !prohibidas
PROXY SERVER SQUID
RESTRICCIONES DE ACCESO A DOMINIOS

Su sintaxis es acl [nombre_expresion] dstdomain “ruta_lista_dominios”

Los nombres de los dominios se pueden ser nombres de dominio específicos www.facebook.com, dominios completos (incluyendo
subdominios) .facebook.com, un dominio de nivel superior genérico .com o una combinación de todo lo anterior

NOTA Si se definen dominios completos, ya no es necesario definir dominios específicos de estos, www.facebook.com, mail.facebook.com, etc.
puesto que serán subdominios de .facebook.com

Ejemplo. Filtrar los dominios .facebook.com y .twitter.com

     1.   Crear fichero con la lista de dominios que queremos filtrar

          sudo gedit /etc/squid/listas/dominios

          #FILTRO DOMINIOS
          .facebook.com
          .twitter.com

     2.   Crear las listas y reglas de control de acceso

          acl dominios dstdomain “/etc/squid/listas/dominios”
          http_access allow localnet !dominios

RESTRICCIÓN DE ACCESO A CONTENIDO POR EXTENSIÓN

Su sintaxis es acl [nombre_expresion] urlpath_regex “ruta_lista_extensiones”

Ejemplo. Filtrar las extensiones pdf y jpg

     1.   Crear fichero con la lista de extensiones que queremos filtrar

          sudo gedit /etc/squid/listas/extensiones

          #FILTRO EXTENSIONES
          .pdf$
          .jpg$

     2.   Crear las listas y reglas de control de acceso

          acl extensiones urlpath_regex “/etc/squid/listas/extensiones”
          http_access allow localnet !extensiones

RESTRICCIÓN DE ACCESO POR HORARIOS

Su sintaxis es acl [nombre_horario] time [días_semana] hh:mm-hh:mm

Los días de la semana se definen con la primera letra del nombre del día en ingles, así lunes M, martes T, miércoles W, jueves H, viernes F,
sábado A y domingo S

Ejemplo. Establecer una regla que comprenda un horario de 09:00 a 14:00 de lunes a viernes

acl semana time MTWHF 09:00-14:00

Ejemplo. Permitir a los ordenadores del aula 192.168.1 acceder a web en un horario de lunes a viernes de 08:00 a 14:00

acl localnet src 192.168.1.0/24
acl horario time MTWHF 08:00-14:00

http_access allow horario localnet
PROXY SERVER SQUID
SQUIDGUARD

SQUIDGUARD es un plugin para SQUID que incrementa las funcionalidades de filtrado de contenido mediante bases de datos con miles de
URL´s y dominios agrupados en diferentes categorías

Instalación y configuración

Se instala mediante el paquete squidguard

El archivo de configuración se encuentra en /etc/squid/squidGuard.conf

Las bases de datos se encuentran en /var/lib/squidguard/db

Opciones de configuración

                              OPCIÓN                                   DESCRIPCIÓN
                              dbhome   indica el directorio donde se almacenan las bases de datos de SQUIDGUARD
                              logdir   indica el directorio donde SQUIDGUARD almacenará los informes generados
                              dest     Crea una lista de control de acceso
                              acl      Crea una regla de control de acceso

Ejemplo. Archivo de configuración mínimo de SQUIDGUARD

#CONFIGURACIÓN SQUIDGUARD
dbhome /var/lib/squidguard/db
logdir /var/log/squid

#LISTAS CONTROL ACCESO
dest adultos{
        domainlist adult/domains
        urllist adult/urls
        }

#REGLAS CONTROL ACCESO
acl{
      default{
               pass !adultos all
               redirect http://www.google.es
               }
      }

Ejemplo. Instalación y configuración de SQUIDGUARD filtrando redes sociales

    1.   Instalamos el paquete squidguard
    2.   Configuramos SQUID para trabajar conjuntamente con SQUIDGUARD

         sudo gedit /etc/squid.conf

         añadimos la opción

         redirect_program /usr/bin/squidGuard –c /etc/squid/squidGuard.conf

    3.   Descargar las bases de datos cri.univ-tlse1.fr/blacklists/, descomprimirlas y moverlas al directorio /var/lib/squidguard/db
         NOTA se supone la base de datos social-networks

    4.   Crear las listas y reglas de control de acceso

         #LISTAS CONTROL ACCESO
         dest redes_sociales{
                  domainlist social-networks/domains
                  log redes_sociales
                  }
PROXY SERVER SQUID
         #REGLAS CONTROL ACCESO
         acl{
              default{
                  pass !redes_sociales all
                  redirect http://www.google.es
                  }
              }

    5.   Reiniciar SQUID

         sudo service squid restart

SARG

SARG Squid Analysis Report Generator es una sencilla pero potente herramienta para generar informes en formato HTML a partir de los
ficheros logs de SQUID. Permite ver con detalle la actividad de todos los equipos y/o usuarios dentro de la red de área local

Instalación y configuración

Se instala mediante el paquete sarg

El archivo de configuración se encuentra en /etc/sarg/sarg.conf

Opciones de configuración

NOTA Existe un error en el paquete pre compilado.deb. Para solucionar dicho error basta deshabilitar la opción site_user_time_date_type

  OPCIONES GENERALES
     OPCIÓN                                           DESCRIPCIÓN                                                    VALOR DEFECTO
  access_log   Indica la ubicación del log generado por squid                                                    /var/log/squid/access.log
  output_dir   Establece donde generará SARG los informes HTML                                                   /var/lib/sarg
  report_type  Indica el tipo de informe generado por SARG                                                       Todas las opciones

  OPCIONES DE IDIOMAS
     OPCIÓN                                             DESCRIPCIÓN                                                  VALOR DEFECTO
  charset        Establece el charset de los informes generados por SARG
                                                                                                                 Latin1
                 Recomiendo UTF-8 para visualizar correctamente caracteres españoles
  languaje       Establece el lenguaje en el cual SARG generará los informes HTML
                                                                                                                 English
                 Spanish para idioma español
  date_format    Indica el formato de las fechas
                                                                                                                 u
                 e para formato europeo

  OPCIONES DE EXCLUSIÓN
     OPCIÓN                                          DESCRIPCIÓN                                                     VALOR DEFECTO
  exclude_users Ubicación del archivo donde se pueden indicar usuarios que serán excluidos de los informes
                                                                                                                 /etc/sarg/exclude_users
                generados por SARG
  exclude_host  Ubicación del archivo donde se pueden indicar hosts que serán excluidos de los informes
                                                                                                                 /ect/sarg/exclude_hosts
                generados por SARG


Ejemplo. Instalación SARG

    1.   Instalamos y modificamos las opciones que creamos convenientes
    2.   Creamos el fichero de configuración en el servidor web APACHE

         sudo gedit /etc/apache2/conf.d/sarg.conf

         #CONFIGURACIÓN SARG
         Alias /sarg /var/lib/sarg

         sudo service apache2 restart

    3.   Lanzamos SARG
         sudo sarg
PROXY SERVER SQUID

Ejercicios.
     1. Configurar SQUID de forma que
           Existe un usuario administrador al que no se le aplica ningún tipo de restricción
           Para todos los demás usuarios de la red 192.168.1.
                     No se podrá acceder a páginas deportivas salvo en la hora de descanso que comprende desde las 11:00 a las 11:45
                     No se podrá acceder a redes sociales
                     No se podrá acceder a páginas de contenido exotérico
                     No se podrán visualizar archivos de imágenes
                     No se podrán visualizar archivos multimedia
                     Se establecerá un horario de acceso a internet de lunes a viernes de 08:30 a 14:00 y de 15:30 a 20:00

    2.   Configurar SQUID de forma que permita solo el acceso a la página web www.as.com de 08:00 a 14:00 y a la página web
         www.marca.com de 16:00 a 20:00 de lunes a viernes

    3.   Asegurar el acceso a internet mediante dos usuarios squid y squidbis y añadiendo dos filtros de SQUIDGUARD redirigiendo los
         accesos a www.megaupload.com

    4.   Redirigir los accesos a páginas deportivas a la página web www.as.com mediante una regla SQUIDGUARD

    5.   Configurar SQUID para que cumpla
                  Se permita el acceso a internet todos los días de la semana de 08:00 a 12:00 a dos ordenadores de la red 192.168.1.
                  Se permita el acceso a internet todos los días de la semana de 12:30 a 18:00 a dos ordenadores de la red 192.168.1.
                  distintos a los anteriores
                  Se permita el acceso sin restricciones desde localhost pero teniendo que introducir un usuario
                  Se prohíba el acceso a páginas web que contengan las palabras casillas, sergio ramos y arbeloa

    6.   Asegurar los informes generados por SARG permitiendo solamente el acceso desde localhost y habilitando el acceso mediante
         usuario y contraseña

Más contenido relacionado

PDF
Manual de configuracion de proxy SQUID
DOCX
PROXY CENTOS 6.5
DOCX
Manual de squid creado por juanextk
ODP
PDF
Servidor proxy en centos
PDF
Squid3 - Servidor Proxy
DOCX
Configuracion de proxy squid en centos
Manual de configuracion de proxy SQUID
PROXY CENTOS 6.5
Manual de squid creado por juanextk
Servidor proxy en centos
Squid3 - Servidor Proxy
Configuracion de proxy squid en centos

La actualidad más candente (20)

PDF
Tutorial linux centos configuraciones básicas
 
PDF
Servicio HTTP en Ubuntu (Apache)
PPTX
PDF
Instalación y Configuración de un Servidor Proxy en Linux Ubuntu
PDF
Manual Servidor Proxy Squid3
PDF
Instalación de Servidores GNU/Linux - PROXY SQUID (parte 3)
PDF
Squid proxy transparente en ubuntu
ODP
Proxy Squid en Ubuntu
ODP
Samba como PDC y autentificación LDAP
PDF
Instalación de dns en centos
PDF
Servidor FTP en CentOS 6.5
PPTX
Configuracion proxy Windows server 2008
PDF
Instalacion del servidor proxy para conectar una red lan a una pc con salid...
PPT
Apache.http ftp-smtp
PDF
PDF
Instalación y configuración Servidor FTP y SSH
PDF
Manual FTP, SSH y OpenMedia Vault
DOCX
Manual intalación DHCP en Centos 6
PPTX
Instalación de Centos y Configuración de Samba
PDF
Instalación y Configuración de LDAP
Tutorial linux centos configuraciones básicas
 
Servicio HTTP en Ubuntu (Apache)
Instalación y Configuración de un Servidor Proxy en Linux Ubuntu
Manual Servidor Proxy Squid3
Instalación de Servidores GNU/Linux - PROXY SQUID (parte 3)
Squid proxy transparente en ubuntu
Proxy Squid en Ubuntu
Samba como PDC y autentificación LDAP
Instalación de dns en centos
Servidor FTP en CentOS 6.5
Configuracion proxy Windows server 2008
Instalacion del servidor proxy para conectar una red lan a una pc con salid...
Apache.http ftp-smtp
Instalación y configuración Servidor FTP y SSH
Manual FTP, SSH y OpenMedia Vault
Manual intalación DHCP en Centos 6
Instalación de Centos y Configuración de Samba
Instalación y Configuración de LDAP
Publicidad

Destacado (20)

DOCX
Laboratorio Squid
PDF
Portal Cautivo - PfSense
PDF
Tutorial Instalacion Openvpn
PPT
Byspass Proxy
DOCX
Resumen squid
PDF
Proxy filtro-contenido
PDF
Filtrado der contenido web con GNU/Linux y Squid
PDF
taller-proxy
DOCX
Comandos básicos para utilizar squid o squid3
ODP
Curso Avanzado Seguridad Redes
PDF
SERVIDOR PROXY
PDF
Autenticación de usuarios proxy pfsense 2.1
PPTX
Cómo crear un portal cautivo con easyhotspot
PDF
PPT
Proxy presentacion
DOCX
Administracion servidores
PDF
Curso Squid avanzado
PPT
Herramientas de Monitorizacion y Administracion Web
PDF
Firewall Casero con gnu/linux (Ubuntu Server 14.04)
ODP
servidor squid
Laboratorio Squid
Portal Cautivo - PfSense
Tutorial Instalacion Openvpn
Byspass Proxy
Resumen squid
Proxy filtro-contenido
Filtrado der contenido web con GNU/Linux y Squid
taller-proxy
Comandos básicos para utilizar squid o squid3
Curso Avanzado Seguridad Redes
SERVIDOR PROXY
Autenticación de usuarios proxy pfsense 2.1
Cómo crear un portal cautivo con easyhotspot
Proxy presentacion
Administracion servidores
Curso Squid avanzado
Herramientas de Monitorizacion y Administracion Web
Firewall Casero con gnu/linux (Ubuntu Server 14.04)
servidor squid
Publicidad

Similar a servidor proxy squid (20)

PPT
Presentacion Squid
PPTX
Resumen Servidor Proxy
PPTX
RESUMEN PROXY
PPTX
servidor proxy
PDF
Instalacion y configuracion de squid 2.6 estable
PDF
DOCX
Manual de squid creado por juanextk
DOCX
Manual de squid creado por juanextk
PPT
Servidir Proxy
PDF
Manual de instalacion y configuracion squid j.e.u.m
PDF
Manual de instalacion y configuracion squid j.e.u.m
PDF
Servidor proxy squid para utilizar como proxy server.pdf
PDF
Memoria sobre Squid3
PDF
Bulma 441
PDF
Proxy
PDF
Instalación de un servicio de proxy, Squid
PDF
SQUID con validación en CentOS
PDF
PDF
Filtradocontenidowebcongnulinuxysquid 110414191512-phpapp02
Presentacion Squid
Resumen Servidor Proxy
RESUMEN PROXY
servidor proxy
Instalacion y configuracion de squid 2.6 estable
Manual de squid creado por juanextk
Manual de squid creado por juanextk
Servidir Proxy
Manual de instalacion y configuracion squid j.e.u.m
Manual de instalacion y configuracion squid j.e.u.m
Servidor proxy squid para utilizar como proxy server.pdf
Memoria sobre Squid3
Bulma 441
Proxy
Instalación de un servicio de proxy, Squid
SQUID con validación en CentOS
Filtradocontenidowebcongnulinuxysquid 110414191512-phpapp02

Más de manu betran (7)

PDF
Gestión de ficheros y directorios
PDF
servidor web apache
PDF
gnupg criptografía de llave pública
PDF
openssl
DOCX
openssh
DOCX
copias de seguridad rsync
DOCX
tcp-wrappers
Gestión de ficheros y directorios
servidor web apache
gnupg criptografía de llave pública
openssl
openssh
copias de seguridad rsync
tcp-wrappers

Último (20)

PPTX
Propuesta BKP servidores con Acronis1.pptx
PDF
Diapositiva proyecto de vida, materia catedra
PPT
Que son las redes de computadores y sus partes
PDF
Estrategia de apoyo tecnología grado 9-3
PDF
Estrategia de apoyo tecnología miguel angel solis
PPT
El-Gobierno-Electrónico-En-El-Estado-Bolivia
PPTX
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PPTX
REDES INFORMATICAS REDES INFORMATICAS.pptx
PDF
Maste clas de estructura metálica y arquitectura
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PDF
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
PPTX
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PPTX
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
PDF
SAP Transportation Management para LSP, TM140 Col18
PDF
CyberOps Associate - Cisco Networking Academy
PDF
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
PDF
clase auditoria informatica 2025.........
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PDF
taller de informática - LEY DE OHM
Propuesta BKP servidores con Acronis1.pptx
Diapositiva proyecto de vida, materia catedra
Que son las redes de computadores y sus partes
Estrategia de apoyo tecnología grado 9-3
Estrategia de apoyo tecnología miguel angel solis
El-Gobierno-Electrónico-En-El-Estado-Bolivia
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
REDES INFORMATICAS REDES INFORMATICAS.pptx
Maste clas de estructura metálica y arquitectura
Power Point Nicolás Carrasco (disertación Roblox).pptx
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
SAP Transportation Management para LSP, TM140 Col18
CyberOps Associate - Cisco Networking Academy
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
clase auditoria informatica 2025.........
historia_web de la creacion de un navegador_presentacion.pptx
taller de informática - LEY DE OHM

servidor proxy squid

  • 1. PROXY SERVER SQUID SQUID El término PROXY es bastante ambiguo y muy general, sin embargo, se puede definir como un servidor que permite a los clientes realizar conexiones de red indirectas hacia otros servicios de red Instalación y configuración Se instala mediante el paquete squid El archivo de configuración se encuentra en /etc/squid/squid.conf Inicio, parada y reinicio del servicio squid service squid start | stop | restart Opciones de configuración NOTA El archivo squid.conf es similar a cualquier otro archivo de configuración GNU/LINUX, pero este no permite espacios en blanco antes de las directivas de configuración OPCIONES GENERALES OPCIÓN DESCRIPCIÓN VALOR POR DEFECTO http_port Puerto de escucha utilizado por SQUID 3128 visible_hostname Nombre del servidor proxy SQUID - Normalmente será el nombre del ordenador donde se ejecuta SQUID error_directory Establece el idioma de las diferentes páginas de error o informativas - Para establecer el idioma español /usr/share/squid/errors/es-es auth_param basic program Indica el módulo de autenticación que utilizará SQUID - redirect_program Permite a SQUID trabajar conjuntamente con otros programas - access_log Registro de accesos a través de squid - Tiene que especificarse OPCIONES DE FILTRADO acl Establece una lista de control de acceso - http_access Establece una regla de control de acceso - Ejemplo. Archivo de configuración mínima de un servidor proxy SQUID #SERVIDOR PROXY SQUID #OPCIONES GENERALES http_port 3128 visible_hostname nombre_servidor access_log /var/log/squid/access.log error_directory /usr/share/squid/errors/es-es #LISTAS CONTROL ACCESO acl all src all acl localhost src 127.0.0.1/32 acl localnet src 192.168.1.0/24 #REGLAS CONTROL ACCESO http_access allow localhost http_access allow localnet http_access deny all
  • 2. PROXY SERVER SQUID CONTROL DE ACCESO CONTROL DE ACCESO MEDIANTE DIRECCIONES IPS Los controles de acceso se basan en LISTAS DE CONTROL DE ACCESO y REGLAS DE CONTROL DE ACCESO que permitirán o negarán el acceso a SQUID Listas de control de acceso Se podría definir como QUE y A QUIEN se le aplicará una regla de control de acceso Su sintaxis es acl [nombre_lista] src [componentes_lista] Ejemplo. Crear una lista de control de acceso que abarca toda la red acl red_local src 192.168.1.0/24 También se pueden crear listas de control de acceso especificando la ruta hacia un archivo determinado Ejemplo. Crear una lista de control de acceso “denegados” mediante un fichero acl denegados src “/etc/squid/listas/denegados” El archivo “denegados” quedaría #FILTRO IP 192.168.1.1 192.168.1.2 192.168.1.3 Reglas de control de acceso Definen si se permite o no el acceso hacia squid a las listas de control de acceso definidas Su sintaxis es http_access [deny | allow] [lista_control_acceso] Ejemplo. Permitir el acceso a SQUID a una lista llamada “red_local” http_access allow red_local También pueden definirse reglas con el signo ! el cual significa no Ejemplo. Definir dos listas de control de acceso “lista1” y “lista2” y establecer una regla de control que permita el acceso a lo que comprenda “lista1” pero no a lo que comprenda “lista2” http_access allow lista1 !lista2
  • 3. PROXY SERVER SQUID CONTROL DE ACCESO POR AUTENTICACIÓN Autenticación a través del módulo NCSA NOTA Para poder hacer uso del módulo de autenticación de SQUID es necesario instalar el paquete APACHE2 La autenticación de usuarios en SQUID se realiza mediante el módulo ncsa_auth que ya viene incluido en el propio paquete de instalación SQUID en la mayoría de distribuciones. Este módulo provee una autenticación muy sencilla a través de un archivo de texto simple cuyas claves de acceso se generan mediante el comando htpasswd Ejemplo. Configuración servidor proxy SQUID con autenticación de usuarios NOTA Se supone que todos los pasos se realizan con el usuario root 1. Creación del archivo passwd que almacenará los usuarios y sus claves de acceso (cifradas) NOTA El archivo puede estar en cualquier lugar del sistema con la única condición de que tendrá que ser accesible por el usuario proxy touch /etc/squid/passwd chown proxy:proxy /etc/squid/passwd chmod 600 /etc/squid/passwd 2. Añadir usuarios al archivo passwd mediante el comando htpasswd NOTA Las cuentas de usuario creadas con el comando htpasswd son independientes de las demás cuentas del sistema htpasswd /etc/squid/passwd usuario 3. Editar el archivo squid.conf configurando la directiva auth_param e indicando el módulo de autenticación (suelen ubicarse en el directorio /usr/lib/squid) a utilizar y ruta del archivo donde se almacenan los usuarios auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd 4. Crear las listas y reglas de control de acceso acl autenticación proxy_auth REQUIRED http_access allow autenticacion RESTRICCIONES DE ACCESO A SITIOS WEB Su sintaxis es acl [nombre_expresion] url_regex “ruta_lista_expresiones” Ejemplo. Prohibir a los ordenadores de la red local 192.168.1.xx acceder a sitios que contengan las palabras torrent y elink 1. Crear fichero con la lista de expresiones que queramos filtrar sudo mkdir /etc/squid/listas sudo gedit /etc/squid/listas/prohibidas #FILTRO EXPRESIONES URL torrent elink 2. Crear las listas y reglas de control de acceso acl prohibidas url_regex “/etc/squid/listas/prohibidas” http_access allow localnet !prohibidas
  • 4. PROXY SERVER SQUID RESTRICCIONES DE ACCESO A DOMINIOS Su sintaxis es acl [nombre_expresion] dstdomain “ruta_lista_dominios” Los nombres de los dominios se pueden ser nombres de dominio específicos www.facebook.com, dominios completos (incluyendo subdominios) .facebook.com, un dominio de nivel superior genérico .com o una combinación de todo lo anterior NOTA Si se definen dominios completos, ya no es necesario definir dominios específicos de estos, www.facebook.com, mail.facebook.com, etc. puesto que serán subdominios de .facebook.com Ejemplo. Filtrar los dominios .facebook.com y .twitter.com 1. Crear fichero con la lista de dominios que queremos filtrar sudo gedit /etc/squid/listas/dominios #FILTRO DOMINIOS .facebook.com .twitter.com 2. Crear las listas y reglas de control de acceso acl dominios dstdomain “/etc/squid/listas/dominios” http_access allow localnet !dominios RESTRICCIÓN DE ACCESO A CONTENIDO POR EXTENSIÓN Su sintaxis es acl [nombre_expresion] urlpath_regex “ruta_lista_extensiones” Ejemplo. Filtrar las extensiones pdf y jpg 1. Crear fichero con la lista de extensiones que queremos filtrar sudo gedit /etc/squid/listas/extensiones #FILTRO EXTENSIONES .pdf$ .jpg$ 2. Crear las listas y reglas de control de acceso acl extensiones urlpath_regex “/etc/squid/listas/extensiones” http_access allow localnet !extensiones RESTRICCIÓN DE ACCESO POR HORARIOS Su sintaxis es acl [nombre_horario] time [días_semana] hh:mm-hh:mm Los días de la semana se definen con la primera letra del nombre del día en ingles, así lunes M, martes T, miércoles W, jueves H, viernes F, sábado A y domingo S Ejemplo. Establecer una regla que comprenda un horario de 09:00 a 14:00 de lunes a viernes acl semana time MTWHF 09:00-14:00 Ejemplo. Permitir a los ordenadores del aula 192.168.1 acceder a web en un horario de lunes a viernes de 08:00 a 14:00 acl localnet src 192.168.1.0/24 acl horario time MTWHF 08:00-14:00 http_access allow horario localnet
  • 5. PROXY SERVER SQUID SQUIDGUARD SQUIDGUARD es un plugin para SQUID que incrementa las funcionalidades de filtrado de contenido mediante bases de datos con miles de URL´s y dominios agrupados en diferentes categorías Instalación y configuración Se instala mediante el paquete squidguard El archivo de configuración se encuentra en /etc/squid/squidGuard.conf Las bases de datos se encuentran en /var/lib/squidguard/db Opciones de configuración OPCIÓN DESCRIPCIÓN dbhome indica el directorio donde se almacenan las bases de datos de SQUIDGUARD logdir indica el directorio donde SQUIDGUARD almacenará los informes generados dest Crea una lista de control de acceso acl Crea una regla de control de acceso Ejemplo. Archivo de configuración mínimo de SQUIDGUARD #CONFIGURACIÓN SQUIDGUARD dbhome /var/lib/squidguard/db logdir /var/log/squid #LISTAS CONTROL ACCESO dest adultos{ domainlist adult/domains urllist adult/urls } #REGLAS CONTROL ACCESO acl{ default{ pass !adultos all redirect http://www.google.es } } Ejemplo. Instalación y configuración de SQUIDGUARD filtrando redes sociales 1. Instalamos el paquete squidguard 2. Configuramos SQUID para trabajar conjuntamente con SQUIDGUARD sudo gedit /etc/squid.conf añadimos la opción redirect_program /usr/bin/squidGuard –c /etc/squid/squidGuard.conf 3. Descargar las bases de datos cri.univ-tlse1.fr/blacklists/, descomprimirlas y moverlas al directorio /var/lib/squidguard/db NOTA se supone la base de datos social-networks 4. Crear las listas y reglas de control de acceso #LISTAS CONTROL ACCESO dest redes_sociales{ domainlist social-networks/domains log redes_sociales }
  • 6. PROXY SERVER SQUID #REGLAS CONTROL ACCESO acl{ default{ pass !redes_sociales all redirect http://www.google.es } } 5. Reiniciar SQUID sudo service squid restart SARG SARG Squid Analysis Report Generator es una sencilla pero potente herramienta para generar informes en formato HTML a partir de los ficheros logs de SQUID. Permite ver con detalle la actividad de todos los equipos y/o usuarios dentro de la red de área local Instalación y configuración Se instala mediante el paquete sarg El archivo de configuración se encuentra en /etc/sarg/sarg.conf Opciones de configuración NOTA Existe un error en el paquete pre compilado.deb. Para solucionar dicho error basta deshabilitar la opción site_user_time_date_type OPCIONES GENERALES OPCIÓN DESCRIPCIÓN VALOR DEFECTO access_log Indica la ubicación del log generado por squid /var/log/squid/access.log output_dir Establece donde generará SARG los informes HTML /var/lib/sarg report_type Indica el tipo de informe generado por SARG Todas las opciones OPCIONES DE IDIOMAS OPCIÓN DESCRIPCIÓN VALOR DEFECTO charset Establece el charset de los informes generados por SARG Latin1 Recomiendo UTF-8 para visualizar correctamente caracteres españoles languaje Establece el lenguaje en el cual SARG generará los informes HTML English Spanish para idioma español date_format Indica el formato de las fechas u e para formato europeo OPCIONES DE EXCLUSIÓN OPCIÓN DESCRIPCIÓN VALOR DEFECTO exclude_users Ubicación del archivo donde se pueden indicar usuarios que serán excluidos de los informes /etc/sarg/exclude_users generados por SARG exclude_host Ubicación del archivo donde se pueden indicar hosts que serán excluidos de los informes /ect/sarg/exclude_hosts generados por SARG Ejemplo. Instalación SARG 1. Instalamos y modificamos las opciones que creamos convenientes 2. Creamos el fichero de configuración en el servidor web APACHE sudo gedit /etc/apache2/conf.d/sarg.conf #CONFIGURACIÓN SARG Alias /sarg /var/lib/sarg sudo service apache2 restart 3. Lanzamos SARG sudo sarg
  • 7. PROXY SERVER SQUID Ejercicios. 1. Configurar SQUID de forma que Existe un usuario administrador al que no se le aplica ningún tipo de restricción Para todos los demás usuarios de la red 192.168.1. No se podrá acceder a páginas deportivas salvo en la hora de descanso que comprende desde las 11:00 a las 11:45 No se podrá acceder a redes sociales No se podrá acceder a páginas de contenido exotérico No se podrán visualizar archivos de imágenes No se podrán visualizar archivos multimedia Se establecerá un horario de acceso a internet de lunes a viernes de 08:30 a 14:00 y de 15:30 a 20:00 2. Configurar SQUID de forma que permita solo el acceso a la página web www.as.com de 08:00 a 14:00 y a la página web www.marca.com de 16:00 a 20:00 de lunes a viernes 3. Asegurar el acceso a internet mediante dos usuarios squid y squidbis y añadiendo dos filtros de SQUIDGUARD redirigiendo los accesos a www.megaupload.com 4. Redirigir los accesos a páginas deportivas a la página web www.as.com mediante una regla SQUIDGUARD 5. Configurar SQUID para que cumpla Se permita el acceso a internet todos los días de la semana de 08:00 a 12:00 a dos ordenadores de la red 192.168.1. Se permita el acceso a internet todos los días de la semana de 12:30 a 18:00 a dos ordenadores de la red 192.168.1. distintos a los anteriores Se permita el acceso sin restricciones desde localhost pero teniendo que introducir un usuario Se prohíba el acceso a páginas web que contengan las palabras casillas, sergio ramos y arbeloa 6. Asegurar los informes generados por SARG permitiendo solamente el acceso desde localhost y habilitando el acceso mediante usuario y contraseña