SlideShare a Scribd company logo
1 of 21
Ramón Jesús Suárez Pérez                                                        2ºASIR




SQUID 3 – Servidor Proxy en Ubuntu 12.04




Introducción y requisitos del sistema

Squid es un popular programa de software libre bajo licencia GPL diseñado para
ejecutarse en entornos tipo Unix, que implementa un servidor proxy y un dominio para
cache de páginas web.

Entre las principales características de squid, destacan:

   -   Permitir conectarse a internet a una serie de equipos a través de una sola IP.
   -   Filtrado de contenidos.
   -   Capacidad de almacenar una caché de páginas webs para que el acceso a ellas
       sea mucho más rápido desde los equipos de la red.

Aunque está orientado principalmente a HTTP y FTP es compatible con otros
protocolos como Internet Gopher. Implementa varias modalidades de cifrado como
TLS, SSL, y HTTPS.
Ramón Jesús Suárez Pérez                                                         2ºASIR


Instalación de Squid3 en Ubuntu 12.04

Para instalar Squid3 en Ubuntu 12.04, bastará con ejecutar el siguiente comando en el
terminal: “sudo aptitude install squid3”.

Este comando descargará e instalará el paquete squid3 de forma automática
directamente de los repositorios de Ubuntu.




Es conveniente tener configurada en nuestro equipo una dirección IP estática, no
obstante para la prueba no será necesario.

Utilizaremos el comando “ifconfig”, para obtener la dirección IP de nuestro servidor
que será el encargado de actuar como proxy.
Ramón Jesús Suárez Pérez                                                            2ºASIR


Si comprobamos el estado de los puertos abiertos en nuestro servidor mediante el
comando “nmap” ejecutado desde otra máquina, podremos comprobar que ha
quedado habilitado el puerto por defecto de squid (3128), lo cual nos indica que
nuestro proxy está activo en el sistema.




Configuración de Squid3 en Firefox

Para utilizar un servidor proxy en un navegador, en nuestro caso firefox, bastará con
acceder al menú de configuración del navegador, y una vez dentro buscaremos en el
apartado de configuración oportuno (en nuestro caso “Avanzado” las propiedades de
la “Configuración de la conexión”.

Una vez allí, en el apartado de configuración de proxy, debemos especificar la
dirección IP de nuestro servidor y el puerto de nuestro proxy (por defecto 3128).
Ramón Jesús Suárez Pérez                                                          2ºASIR


Configuración básica y Listas de control de acceso (ACL)

Si comprobamos el funcionamiento de nuestro servidor proxy desde un navegador,
podremos darnos cuenta de que por defecto SQUID bloquea el acceso a todas las
direcciones HTTP.




Para solventar esto y poder disfrutar de un acceso total al contenido web desde los
equipos que utilicen nuestro proxy, debemos dirigirnos al fichero:
“/etc/squid3/squid.conf” y una vez allí modificar la línea “http_access deny all” por
“http_access allow all”.




Es recomendable que antes de realizar modificaciones en el fichero squid.conf
realicemos copias de seguridad para evitar fallos en la ejecución del programa.
Ramón Jesús Suárez Pérez                                                           2ºASIR


Cada vez que realicemos cambios en el archivo de configuración del programa, será
necesario reiniciar el servicio de squid para que se apliquen al sistema.

Para reiniciar el servicio bastará con ejecutar el comando: “sudo service squid3 restart”




Una vez hecho esto, podremos comprobar como volvemos a navegar con total libertad
desde los equipos clientes que utilicen nuestro proxy.
Ramón Jesús Suárez Pérez                                                           2ºASIR


Definición y denegación de ACL (Listas de control de acceso)

Las listas de control de acceso son un conjunto de reglas que permiten controlar el
tráfico de la red a través de la aprobación o la denegación de estas.

La definición, aprobación y denegación de ACLs se realiza desde el fichero de
configuración de squid (/etc/sqiud3/squid.conf).

Las acls deben de especificarse en el fichero de manera ordenada ya que las acls
superiores tendrán prioridad sobre las inferiores.


Bloqueando el acceso a un determinado dominio.

Para definir una acl para un determinado sitio web utilizaremos la siguiente sintaxis:
“acl nombre_acl        dstdomain      dominio_o_ip_del_sitio_web”
Para denegar el acceso a una detemrinado sitio web, en este caso únicamente
tendremos que haber definido previamente la acl y después denegarla mediante:
“http_access deny nombre_acl”




Como se vió anteriormente, tras reiniciar el servicio de squid, podremos comprobar
que ninguna de las webs especificadas es accesible por los equipos clientes.
Ramón Jesús Suárez Pérez                                                           2ºASIR




Bloqueando el acceso a una lista negra de dominios

Para facilitar el bloqueo a varios sitios webs de una sola vez, podemos recurrir a las
llamadas “listas negras”.

Una lista negra no es otra cosa que una acl que carga los dominios o palabras de un
fichero y permite así garantizar o denegar el acceso a dichos sitios web.

Para definir una acl de este tipo usaremos la siguiente estructura:
“acl nombre_acl         dstdomain       “/direccion_del_fichero_lista_negra”
Ramón Jesús Suárez Pérez                                                       2ºASIR


Aquí podemos comprobar el funcionamiento de la lista negra:




Bloqueando el acceso a una lista negra de palabras

De la misma forma que definimos listas negras de dominios, es posible bloquear el
acceso a direcciones que contengan determinadas palabras:
“acl nombre_acl url_regex         “/direccion_del_fichero_lista_negra”
Ramón Jesús Suárez Pérez                                                         2ºASIR


Si comprobamos el funcionamiento de nuestra lista negra de palabras podemos
observar como nos bloquea directamente todas las urls que contengan las palabras
indicadas en el fichero.

No nos deja incluso buscarlas desde el navegador.




Excepciones de reglas (listas blancas)

Las listas blancas se definen de la misma forma que cualquier otra acl...
Son utilizadas para especificar excepciones en las reglas del proxy.


Podemos habilitar el acceso a una lista blanca mediante la siguiente sintaxis (habiendo
definido previamente la acl correspondiente)

“http_access allow nombre_acl”
Ramón Jesús Suárez Pérez                                                       2ºASIR


Cambiando el nombre a nuestro proxy

Es posible cambiar el nombre que nuestro proxy muestra a la hora de bloquear el
acceso a cierto contenido.

Para cambiar el nombre a nuestro proxy debemos buscar la linea “visible_hostname”
dentro del fichero “/etc/squid3/squid.conf”. En dicha linea podremos especificar el
nombre de nuestro proxy.
Ramón Jesús Suárez Pérez                                                     2ºASIR


Configuración en Webmin

Para poder acceder a configurar squid3 desde Webmin, primero hemos de instalar el
módulo adecuado.

Para ello, nos dirigiremos a:
“Webmin  Configuración de Webmin  Módulos de Webmin”




Una vez dentro del menú de instalación de módulos de webmin, procederemos a
instalar el módulo estandar “squid”
Ramón Jesús Suárez Pérez                                                        2ºASIR


Hecho esto, podremos observar como squid3 dispondrá de un menú de configuración
en webmin bajo el nombre “Squid – Servidor Proxy” dentro de la categoría
“Servidores”.

Tras acceder a dicho menú de administración, haremos clic en la utilidad
“Control de Acceso”.




Una vez dentro del menú de control de acceso podemos observar varias pestañas.

En la pestaña de “listas de control de Acceso” podemos observar las ACLs definidas en
nuestro sistema. Para definir una nueva ACL mediante Webmin, nos dirigiremos a la
parte inferior de la página, donde debemos especificar el tipo de acl y una vez hecho
esto pulsar en “Crear nueva ACL”.
Ramón Jesús Suárez Pérez                                                        2ºASIR


La acción anterior lanzará un nuevo formulario html en el que podremos definir los
diferentes parámetros de la ACL. En este caso definición de dominios.




Hecho esto, únicamente tendremos que hacer clic en “Salvar” para almacenar la ACL.




Para aprobar o denegar una determinada ACL, nos dirigiremos a la pestaña
”Restricciones Proxy” y haremos clic en el enlace “Añadir restricción proxy”.
Ramón Jesús Suárez Pérez                                                         2ºASIR


A continuación elegiremos la ACL sobre la que queremos trabajar del listado (es
necesario haberla especificado antes mediante el paso anterior) y especificaremos la
acción a realizar (Permitir o Denegar).




Recordemos que la posición de las restricciones llevadas a cabo en nuestro proxy juega
un papel importante en el funcionamiento de este…

Podemos hacer uso de las flechas para cambiar el orden de las acls en el fichero de
configuración.




   Las acls deben de especificarse en el fichero de manera ordenada ya que las acls
                   superiores tendrán prioridad sobre las inferiores.



Recordemos que después de llevar a cabo algún cambio en este servicio será necesario
“Aplicar cambios” y reiniciar Squid3.
Ramón Jesús Suárez Pérez                     2ºASIR


Comprobación de acl definida desde webmin:
Ramón Jesús Suárez Pérez                                                       2ºASIR


Proxy transparente

Para montar nuestro servidor proxy de forma transparente al usuario, será necesario
disponer de un segundo adaptador de red.

En nuestro caso, al estar funcionando con una máquina virtual, podemos agregarlo
fácilmente desde el panel de configuración de este.




Una vez agregado, lo configuraremos de forma manual para asignarle una dirección IP
estática en otra subred.
El archivo de configuración para llevar a cabo esta operación lo encontraremos en:
“/etc/networking/interfaces”
Ramón Jesús Suárez Pérez                                                       2ºASIR


Tras reiniciar el servicio de red mediante el comando:
“sudo /etc/init.d/networking restart”
Podremos comprobar mediante la utilidad “ifconfig” que la configuración de red se ha
aplicado de forma correcta.




Una vez configurado nuestro segundo adaptador de forma estática, accederemos al
fichero de configuración de squid3 (/etc/squid3/squid.conf) para activar el modo
transparente añadiendo a la línea “http_port 3128” la cláusula “transparent”.
Ramón Jesús Suárez Pérez                                                          2ºASIR


Hecho esto, tras reiniciar el servicio nuestro proxy estará activo de manera invisible
(transparente) para el usuario, de manera que el usuario no tendrá que tener activo el
proxy en su navegador.

Los equipos clientes deberán de utilizar como puerta de enlace la dirección IP de
nuestro segundo adaptador, obligando así a redirigir el tráfico hacia nuestro proxy.




Ahora únicamente faltará realizar unos últimos ajustes para redirigir el tráfico entrante
de nuestra subred (segundo adaptador), hacia nuestro primer adaptador con conexión
a internet a través del puerto 3128 (puerto por defecto de squid3) y viceversa, es decir
montar el puente de conexión para que los clientes de nuestra subred puedan acceder
a internet usando obligatoriamente nuestro proxy.

Esta acción la llevaremos a cabo mediante los siguientes comandos:
Ramón Jesús Suárez Pérez                                                             2ºASIR


Podemos valernos del siguiente script si tenemos dificultades a la hora de redirigir
manualmente las conexiones:

#!/bin/sh
# squid server IP
SQUID_SERVER="192.168.1.1"
# Interface connected to Internet
INTERNET="eth0"
# Interface connected to LAN
LAN_IN="eth1"
# Squid port
SQUID_PORT="3128"
# DO NOT MODIFY BELOW
# Clean old firewall
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
# Load IPTABLES modules for NAT and IP conntrack support
modprobe ip_conntrack
modprobe ip_conntrack_ftp
# For win xp ftp client
#modprobe ip_nat_ftp
echo 1 > /proc/sys/net/ipv4/ip_forward
# Setting default filter policy
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
# Unlimited access to loop back
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Allow UDP, DNS and Passive FTP
iptables -A INPUT -i $INTERNET -m state --state ESTABLISHED,RELATED -j ACCEPT
# set this system as a router for Rest of LAN
iptables --table nat --append POSTROUTING --out-interface $INTERNET -j MASQUERADE
iptables --append FORWARD --in-interface $LAN_IN -j ACCEPT
# unlimited access to LAN
iptables -A INPUT -i $LAN_IN -j ACCEPT
iptables -A OUTPUT -o $LAN_IN -j ACCEPT
# DNAT port 80 request comming from LAN systems to squid 3128 ($SQUID_PORT) aka
transparent proxy
iptables -t nat -A PREROUTING -i $LAN_IN -p tcp --dport 80 -j DNAT --to
$SQUID_SERVER:$SQUID_PORT
# if it is same system
iptables -t nat -A PREROUTING -i $INTERNET -p tcp --dport 80 -j REDIRECT --to-port
$SQUID_PORT
# DROP everything and Log it
iptables -A INPUT -j LOG
iptables -A INPUT -j DROP
Ramón Jesús Suárez Pérez                                                       2ºASIR


Si hemos llevado a cabo todas las configuraciones de forma correcta, nuestro proxy
invisible deberá de estar totalmente activo.




       Ejemplo de acceso a una web no autorizada (en nuestro caso Facebook)
Ramón Jesús Suárez Pérez                                                         2ºASIR


Interesante (Proxy vs Proxy)

Para evitar las acls de dominio de un determinado proxy, podemos hacer uso otro
servidor proxy que no esté denegado en ellas.

Un ejemplo de proxy de los más utilizados para eludir estos controles es:
http://anonymouse.org/

No obstante si el proxy dispone de un filtrado de palabras (lista negra) este método no
funcionará.

More Related Content

What's hot

Unidad 6 Seguridad en redes corporativas
Unidad 6 Seguridad en redes corporativasUnidad 6 Seguridad en redes corporativas
Unidad 6 Seguridad en redes corporativasvverdu
 
Enrutamiento estatico
Enrutamiento estaticoEnrutamiento estatico
Enrutamiento estaticoAnthony
 
Dns Primario y Secundario en Ubuntu Server 18.04
Dns Primario y Secundario en Ubuntu Server 18.04Dns Primario y Secundario en Ubuntu Server 18.04
Dns Primario y Secundario en Ubuntu Server 18.04Luisa Mª Molina
 
Comandos router cisco
Comandos router ciscoComandos router cisco
Comandos router ciscoEddy Lojan
 
Centos 6.5 Servidor Básico
Centos 6.5 Servidor BásicoCentos 6.5 Servidor Básico
Centos 6.5 Servidor Básicocyberleon95
 
Ejercicios packet tracer_completo_2014
Ejercicios packet tracer_completo_2014Ejercicios packet tracer_completo_2014
Ejercicios packet tracer_completo_2014Dario Esquina
 
Capacitación Mikrotik desde Cero - práctica
Capacitación Mikrotik desde Cero - prácticaCapacitación Mikrotik desde Cero - práctica
Capacitación Mikrotik desde Cero - prácticaMicrocom Argentina
 
Bases distribuidas en mysql
Bases distribuidas en mysqlBases distribuidas en mysql
Bases distribuidas en mysqlGiovanni Peruch
 
Enrutamiento estatico pptx1509813317
Enrutamiento estatico pptx1509813317Enrutamiento estatico pptx1509813317
Enrutamiento estatico pptx1509813317Rhayza Rodríguez
 
Integración GNS3 - VirtualBox - Wireshark
Integración GNS3 - VirtualBox - WiresharkIntegración GNS3 - VirtualBox - Wireshark
Integración GNS3 - VirtualBox - Wiresharkcyberleon95
 
Enrutamiento estatico sena
Enrutamiento estatico senaEnrutamiento estatico sena
Enrutamiento estatico senaYinaGarzon
 
Manual configuración GPO
Manual configuración GPOManual configuración GPO
Manual configuración GPOcyberleon95
 

What's hot (20)

Unidad 6 Seguridad en redes corporativas
Unidad 6 Seguridad en redes corporativasUnidad 6 Seguridad en redes corporativas
Unidad 6 Seguridad en redes corporativas
 
Enrutamiento estatico
Enrutamiento estaticoEnrutamiento estatico
Enrutamiento estatico
 
Cacti
CactiCacti
Cacti
 
Crucigrama de red 11
Crucigrama de red 11Crucigrama de red 11
Crucigrama de red 11
 
Microondas por satelite
Microondas por sateliteMicroondas por satelite
Microondas por satelite
 
Dns Primario y Secundario en Ubuntu Server 18.04
Dns Primario y Secundario en Ubuntu Server 18.04Dns Primario y Secundario en Ubuntu Server 18.04
Dns Primario y Secundario en Ubuntu Server 18.04
 
Comandos router cisco
Comandos router ciscoComandos router cisco
Comandos router cisco
 
Centos 6.5 Servidor Básico
Centos 6.5 Servidor BásicoCentos 6.5 Servidor Básico
Centos 6.5 Servidor Básico
 
Ejercicios packet tracer_completo_2014
Ejercicios packet tracer_completo_2014Ejercicios packet tracer_completo_2014
Ejercicios packet tracer_completo_2014
 
Kali linux
Kali linuxKali linux
Kali linux
 
Capacitación Mikrotik desde Cero - práctica
Capacitación Mikrotik desde Cero - prácticaCapacitación Mikrotik desde Cero - práctica
Capacitación Mikrotik desde Cero - práctica
 
direcciones ip no validas
direcciones ip no validasdirecciones ip no validas
direcciones ip no validas
 
Bases distribuidas en mysql
Bases distribuidas en mysqlBases distribuidas en mysql
Bases distribuidas en mysql
 
Rangos de IPs Públicas y Privadas
Rangos de IPs Públicas y PrivadasRangos de IPs Públicas y Privadas
Rangos de IPs Públicas y Privadas
 
Seguridad en wireless
Seguridad en wirelessSeguridad en wireless
Seguridad en wireless
 
Compartir Reursos De Una Red
Compartir Reursos De Una RedCompartir Reursos De Una Red
Compartir Reursos De Una Red
 
Enrutamiento estatico pptx1509813317
Enrutamiento estatico pptx1509813317Enrutamiento estatico pptx1509813317
Enrutamiento estatico pptx1509813317
 
Integración GNS3 - VirtualBox - Wireshark
Integración GNS3 - VirtualBox - WiresharkIntegración GNS3 - VirtualBox - Wireshark
Integración GNS3 - VirtualBox - Wireshark
 
Enrutamiento estatico sena
Enrutamiento estatico senaEnrutamiento estatico sena
Enrutamiento estatico sena
 
Manual configuración GPO
Manual configuración GPOManual configuración GPO
Manual configuración GPO
 

Viewers also liked

Instalación y Configuración de un Servidor Proxy en Linux Ubuntu
Instalación y Configuración de un Servidor Proxy en Linux UbuntuInstalación y Configuración de un Servidor Proxy en Linux Ubuntu
Instalación y Configuración de un Servidor Proxy en Linux UbuntuMarcelo Alcivar
 
Squid proxy transparente en ubuntu
Squid proxy transparente en ubuntuSquid proxy transparente en ubuntu
Squid proxy transparente en ubuntuAlvaro López
 
Instalación de Servidores GNU/Linux - PROXY SQUID (parte 3)
Instalación de Servidores GNU/Linux - PROXY SQUID (parte 3)Instalación de Servidores GNU/Linux - PROXY SQUID (parte 3)
Instalación de Servidores GNU/Linux - PROXY SQUID (parte 3)Max Morales
 
Configuracion de proxy squid en centos
Configuracion de proxy squid en centosConfiguracion de proxy squid en centos
Configuracion de proxy squid en centosmurilloyair
 
Presentacion Squid
Presentacion SquidPresentacion Squid
Presentacion Squidalexmerono
 
Comandos básicos para utilizar squid o squid3
Comandos básicos para utilizar squid o squid3Comandos básicos para utilizar squid o squid3
Comandos básicos para utilizar squid o squid3ALBERTO CHUICA
 
Manual básico Cain & Abel - Sniffer en Windows
Manual básico Cain & Abel - Sniffer en WindowsManual básico Cain & Abel - Sniffer en Windows
Manual básico Cain & Abel - Sniffer en WindowsTotus Muertos
 
IPTABLES y SQUID‏
IPTABLES y SQUID‏IPTABLES y SQUID‏
IPTABLES y SQUID‏ingpuma
 
Configuracion proxy Windows server 2008
Configuracion proxy Windows server 2008Configuracion proxy Windows server 2008
Configuracion proxy Windows server 2008teresi0101
 
Instalacion del servidor proxy para conectar una red lan a una pc con salid...
Instalacion del  servidor  proxy para conectar una red lan a una pc con salid...Instalacion del  servidor  proxy para conectar una red lan a una pc con salid...
Instalacion del servidor proxy para conectar una red lan a una pc con salid...Fragatacante
 
servidor squid
servidor squidservidor squid
servidor squidhack3600
 
Encriptación asimétrica con GPG en Ubuntu
Encriptación asimétrica con GPG en UbuntuEncriptación asimétrica con GPG en Ubuntu
Encriptación asimétrica con GPG en UbuntuTotus Muertos
 
Nuevas tendencias en procesamiento
Nuevas tendencias en procesamientoNuevas tendencias en procesamiento
Nuevas tendencias en procesamientoTotus Muertos
 
Manual freeproxy
Manual freeproxyManual freeproxy
Manual freeproxykatoaries
 
Proxy解說
Proxy解說Proxy解說
Proxy解說Tony Yeh
 

Viewers also liked (20)

Instalación y Configuración de un Servidor Proxy en Linux Ubuntu
Instalación y Configuración de un Servidor Proxy en Linux UbuntuInstalación y Configuración de un Servidor Proxy en Linux Ubuntu
Instalación y Configuración de un Servidor Proxy en Linux Ubuntu
 
Squid proxy transparente en ubuntu
Squid proxy transparente en ubuntuSquid proxy transparente en ubuntu
Squid proxy transparente en ubuntu
 
Instalación de Servidores GNU/Linux - PROXY SQUID (parte 3)
Instalación de Servidores GNU/Linux - PROXY SQUID (parte 3)Instalación de Servidores GNU/Linux - PROXY SQUID (parte 3)
Instalación de Servidores GNU/Linux - PROXY SQUID (parte 3)
 
Configuracion de proxy squid en centos
Configuracion de proxy squid en centosConfiguracion de proxy squid en centos
Configuracion de proxy squid en centos
 
Curso Squid avanzado
Curso Squid avanzadoCurso Squid avanzado
Curso Squid avanzado
 
Presentacion Squid
Presentacion SquidPresentacion Squid
Presentacion Squid
 
SERVIDOR PROXY
SERVIDOR PROXYSERVIDOR PROXY
SERVIDOR PROXY
 
Comandos básicos para utilizar squid o squid3
Comandos básicos para utilizar squid o squid3Comandos básicos para utilizar squid o squid3
Comandos básicos para utilizar squid o squid3
 
Manual Servidor Proxy Squid3
Manual Servidor Proxy Squid3Manual Servidor Proxy Squid3
Manual Servidor Proxy Squid3
 
Manual básico Cain & Abel - Sniffer en Windows
Manual básico Cain & Abel - Sniffer en WindowsManual básico Cain & Abel - Sniffer en Windows
Manual básico Cain & Abel - Sniffer en Windows
 
IPTABLES y SQUID‏
IPTABLES y SQUID‏IPTABLES y SQUID‏
IPTABLES y SQUID‏
 
Configuracion proxy Windows server 2008
Configuracion proxy Windows server 2008Configuracion proxy Windows server 2008
Configuracion proxy Windows server 2008
 
Instalacion del servidor proxy para conectar una red lan a una pc con salid...
Instalacion del  servidor  proxy para conectar una red lan a una pc con salid...Instalacion del  servidor  proxy para conectar una red lan a una pc con salid...
Instalacion del servidor proxy para conectar una red lan a una pc con salid...
 
servidor squid
servidor squidservidor squid
servidor squid
 
Encriptación asimétrica con GPG en Ubuntu
Encriptación asimétrica con GPG en UbuntuEncriptación asimétrica con GPG en Ubuntu
Encriptación asimétrica con GPG en Ubuntu
 
Nuevas tendencias en procesamiento
Nuevas tendencias en procesamientoNuevas tendencias en procesamiento
Nuevas tendencias en procesamiento
 
Manual freeproxy
Manual freeproxyManual freeproxy
Manual freeproxy
 
Ictic4
Ictic4Ictic4
Ictic4
 
Introducción Administración TCP/IP
Introducción Administración TCP/IPIntroducción Administración TCP/IP
Introducción Administración TCP/IP
 
Proxy解說
Proxy解說Proxy解說
Proxy解說
 

Similar to Configuración Squid Proxy

Manual de squid creado por juanextk
Manual de squid creado por juanextkManual de squid creado por juanextk
Manual de squid creado por juanextkjuanextk
 
Manual de squid creado por juanextk
Manual de squid creado por juanextkManual de squid creado por juanextk
Manual de squid creado por juanextkjuanextk
 
Configuración de servicios basicos con Zentyal
Configuración de servicios basicos con ZentyalConfiguración de servicios basicos con Zentyal
Configuración de servicios basicos con ZentyalTotus Muertos
 
Manual de squid creado por juanextk
Manual de squid creado por juanextkManual de squid creado por juanextk
Manual de squid creado por juanextkjuanextk
 
Servidir Proxy
Servidir ProxyServidir Proxy
Servidir Proxykaliz
 
Unidad iii seguridad de redes
Unidad iii seguridad de redes Unidad iii seguridad de redes
Unidad iii seguridad de redes leonardoruiz98
 
Administracion servidores
Administracion  servidoresAdministracion  servidores
Administracion servidoresIsaac Gonzalez
 
Unidad III: Seguridad de las redes
Unidad III: Seguridad de las redesUnidad III: Seguridad de las redes
Unidad III: Seguridad de las redesJavierRamirez419
 
servidor proxy squid
servidor proxy squidservidor proxy squid
servidor proxy squidmanu betran
 
Instalacion de servidor proxy
Instalacion de servidor proxyInstalacion de servidor proxy
Instalacion de servidor proxyyarevale
 
Redes del computador unidad 3
Redes del computador unidad 3Redes del computador unidad 3
Redes del computador unidad 3AngelSoto104
 
Instalacion del servidor proxy para conectar una red lan a una pc con salid...
Instalacion del  servidor  proxy para conectar una red lan a una pc con salid...Instalacion del  servidor  proxy para conectar una red lan a una pc con salid...
Instalacion del servidor proxy para conectar una red lan a una pc con salid...ChanCHIMAL
 

Similar to Configuración Squid Proxy (20)

PROXY CENTOS 6.5
PROXY CENTOS 6.5PROXY CENTOS 6.5
PROXY CENTOS 6.5
 
RESUMEN PROXY
RESUMEN PROXYRESUMEN PROXY
RESUMEN PROXY
 
servidor proxy
servidor proxyservidor proxy
servidor proxy
 
Resumen Servidor Proxy
Resumen Servidor ProxyResumen Servidor Proxy
Resumen Servidor Proxy
 
Proxy
ProxyProxy
Proxy
 
Resumen squid
Resumen squidResumen squid
Resumen squid
 
Manual de squid creado por juanextk
Manual de squid creado por juanextkManual de squid creado por juanextk
Manual de squid creado por juanextk
 
Manual de squid creado por juanextk
Manual de squid creado por juanextkManual de squid creado por juanextk
Manual de squid creado por juanextk
 
Configuración de servicios basicos con Zentyal
Configuración de servicios basicos con ZentyalConfiguración de servicios basicos con Zentyal
Configuración de servicios basicos con Zentyal
 
Manual de squid creado por juanextk
Manual de squid creado por juanextkManual de squid creado por juanextk
Manual de squid creado por juanextk
 
Servidir Proxy
Servidir ProxyServidir Proxy
Servidir Proxy
 
Unidad iii seguridad de redes
Unidad iii seguridad de redes Unidad iii seguridad de redes
Unidad iii seguridad de redes
 
Administracion servidores
Administracion  servidoresAdministracion  servidores
Administracion servidores
 
taller-proxy
taller-proxytaller-proxy
taller-proxy
 
Unidad III: Seguridad de las redes
Unidad III: Seguridad de las redesUnidad III: Seguridad de las redes
Unidad III: Seguridad de las redes
 
servidor proxy squid
servidor proxy squidservidor proxy squid
servidor proxy squid
 
Manual
ManualManual
Manual
 
Instalacion de servidor proxy
Instalacion de servidor proxyInstalacion de servidor proxy
Instalacion de servidor proxy
 
Redes del computador unidad 3
Redes del computador unidad 3Redes del computador unidad 3
Redes del computador unidad 3
 
Instalacion del servidor proxy para conectar una red lan a una pc con salid...
Instalacion del  servidor  proxy para conectar una red lan a una pc con salid...Instalacion del  servidor  proxy para conectar una red lan a una pc con salid...
Instalacion del servidor proxy para conectar una red lan a una pc con salid...
 

More from Totus Muertos

Breve resumen sobre consultas básicas en MySQL
Breve resumen sobre consultas básicas en MySQLBreve resumen sobre consultas básicas en MySQL
Breve resumen sobre consultas básicas en MySQLTotus Muertos
 
DNS (Servidor de Nombres de Dominio)
DNS (Servidor de Nombres de Dominio)DNS (Servidor de Nombres de Dominio)
DNS (Servidor de Nombres de Dominio)Totus Muertos
 
Escritorio remoto con soporte web (Windows Server 2003)
Escritorio remoto con soporte web (Windows Server 2003)Escritorio remoto con soporte web (Windows Server 2003)
Escritorio remoto con soporte web (Windows Server 2003)Totus Muertos
 
Tipos de datos en MySQL
Tipos de datos en MySQLTipos de datos en MySQL
Tipos de datos en MySQLTotus Muertos
 
Manual básico Acronis True Image Home 2012 (Clonacion y volcado de imagenes d...
Manual básico Acronis True Image Home 2012 (Clonacion y volcado de imagenes d...Manual básico Acronis True Image Home 2012 (Clonacion y volcado de imagenes d...
Manual básico Acronis True Image Home 2012 (Clonacion y volcado de imagenes d...Totus Muertos
 
Manual GParted (Administrador de discos)
Manual GParted (Administrador de discos)Manual GParted (Administrador de discos)
Manual GParted (Administrador de discos)Totus Muertos
 
Instalación de servidor DHCP en Ubuntu Server 12.04
Instalación de servidor DHCP en Ubuntu Server 12.04Instalación de servidor DHCP en Ubuntu Server 12.04
Instalación de servidor DHCP en Ubuntu Server 12.04Totus Muertos
 
Instalación de servidor DHCP en Windows Server 2003
Instalación de servidor DHCP en Windows Server 2003Instalación de servidor DHCP en Windows Server 2003
Instalación de servidor DHCP en Windows Server 2003Totus Muertos
 
Instalación de Ubuntu Server 10.04 LTS
Instalación de Ubuntu Server 10.04 LTSInstalación de Ubuntu Server 10.04 LTS
Instalación de Ubuntu Server 10.04 LTSTotus Muertos
 
Transferencia de bases de datos entre sistemas gestores
Transferencia de bases de datos entre sistemas gestoresTransferencia de bases de datos entre sistemas gestores
Transferencia de bases de datos entre sistemas gestoresTotus Muertos
 
Instalación de un servidor RIS en Windows Server 2003
Instalación de un servidor RIS en Windows Server 2003Instalación de un servidor RIS en Windows Server 2003
Instalación de un servidor RIS en Windows Server 2003Totus Muertos
 
Ensamblaje y puesta en marcha de un Sistema Informático
Ensamblaje y puesta en marcha de un Sistema InformáticoEnsamblaje y puesta en marcha de un Sistema Informático
Ensamblaje y puesta en marcha de un Sistema InformáticoTotus Muertos
 
Manual básico Everest Ultimate
Manual básico Everest UltimateManual básico Everest Ultimate
Manual básico Everest UltimateTotus Muertos
 
Manual básico 7-ZIP
Manual básico 7-ZIPManual básico 7-ZIP
Manual básico 7-ZIPTotus Muertos
 

More from Totus Muertos (14)

Breve resumen sobre consultas básicas en MySQL
Breve resumen sobre consultas básicas en MySQLBreve resumen sobre consultas básicas en MySQL
Breve resumen sobre consultas básicas en MySQL
 
DNS (Servidor de Nombres de Dominio)
DNS (Servidor de Nombres de Dominio)DNS (Servidor de Nombres de Dominio)
DNS (Servidor de Nombres de Dominio)
 
Escritorio remoto con soporte web (Windows Server 2003)
Escritorio remoto con soporte web (Windows Server 2003)Escritorio remoto con soporte web (Windows Server 2003)
Escritorio remoto con soporte web (Windows Server 2003)
 
Tipos de datos en MySQL
Tipos de datos en MySQLTipos de datos en MySQL
Tipos de datos en MySQL
 
Manual básico Acronis True Image Home 2012 (Clonacion y volcado de imagenes d...
Manual básico Acronis True Image Home 2012 (Clonacion y volcado de imagenes d...Manual básico Acronis True Image Home 2012 (Clonacion y volcado de imagenes d...
Manual básico Acronis True Image Home 2012 (Clonacion y volcado de imagenes d...
 
Manual GParted (Administrador de discos)
Manual GParted (Administrador de discos)Manual GParted (Administrador de discos)
Manual GParted (Administrador de discos)
 
Instalación de servidor DHCP en Ubuntu Server 12.04
Instalación de servidor DHCP en Ubuntu Server 12.04Instalación de servidor DHCP en Ubuntu Server 12.04
Instalación de servidor DHCP en Ubuntu Server 12.04
 
Instalación de servidor DHCP en Windows Server 2003
Instalación de servidor DHCP en Windows Server 2003Instalación de servidor DHCP en Windows Server 2003
Instalación de servidor DHCP en Windows Server 2003
 
Instalación de Ubuntu Server 10.04 LTS
Instalación de Ubuntu Server 10.04 LTSInstalación de Ubuntu Server 10.04 LTS
Instalación de Ubuntu Server 10.04 LTS
 
Transferencia de bases de datos entre sistemas gestores
Transferencia de bases de datos entre sistemas gestoresTransferencia de bases de datos entre sistemas gestores
Transferencia de bases de datos entre sistemas gestores
 
Instalación de un servidor RIS en Windows Server 2003
Instalación de un servidor RIS en Windows Server 2003Instalación de un servidor RIS en Windows Server 2003
Instalación de un servidor RIS en Windows Server 2003
 
Ensamblaje y puesta en marcha de un Sistema Informático
Ensamblaje y puesta en marcha de un Sistema InformáticoEnsamblaje y puesta en marcha de un Sistema Informático
Ensamblaje y puesta en marcha de un Sistema Informático
 
Manual básico Everest Ultimate
Manual básico Everest UltimateManual básico Everest Ultimate
Manual básico Everest Ultimate
 
Manual básico 7-ZIP
Manual básico 7-ZIPManual básico 7-ZIP
Manual básico 7-ZIP
 

Configuración Squid Proxy

  • 1. Ramón Jesús Suárez Pérez 2ºASIR SQUID 3 – Servidor Proxy en Ubuntu 12.04 Introducción y requisitos del sistema Squid es un popular programa de software libre bajo licencia GPL diseñado para ejecutarse en entornos tipo Unix, que implementa un servidor proxy y un dominio para cache de páginas web. Entre las principales características de squid, destacan: - Permitir conectarse a internet a una serie de equipos a través de una sola IP. - Filtrado de contenidos. - Capacidad de almacenar una caché de páginas webs para que el acceso a ellas sea mucho más rápido desde los equipos de la red. Aunque está orientado principalmente a HTTP y FTP es compatible con otros protocolos como Internet Gopher. Implementa varias modalidades de cifrado como TLS, SSL, y HTTPS.
  • 2. Ramón Jesús Suárez Pérez 2ºASIR Instalación de Squid3 en Ubuntu 12.04 Para instalar Squid3 en Ubuntu 12.04, bastará con ejecutar el siguiente comando en el terminal: “sudo aptitude install squid3”. Este comando descargará e instalará el paquete squid3 de forma automática directamente de los repositorios de Ubuntu. Es conveniente tener configurada en nuestro equipo una dirección IP estática, no obstante para la prueba no será necesario. Utilizaremos el comando “ifconfig”, para obtener la dirección IP de nuestro servidor que será el encargado de actuar como proxy.
  • 3. Ramón Jesús Suárez Pérez 2ºASIR Si comprobamos el estado de los puertos abiertos en nuestro servidor mediante el comando “nmap” ejecutado desde otra máquina, podremos comprobar que ha quedado habilitado el puerto por defecto de squid (3128), lo cual nos indica que nuestro proxy está activo en el sistema. Configuración de Squid3 en Firefox Para utilizar un servidor proxy en un navegador, en nuestro caso firefox, bastará con acceder al menú de configuración del navegador, y una vez dentro buscaremos en el apartado de configuración oportuno (en nuestro caso “Avanzado” las propiedades de la “Configuración de la conexión”. Una vez allí, en el apartado de configuración de proxy, debemos especificar la dirección IP de nuestro servidor y el puerto de nuestro proxy (por defecto 3128).
  • 4. Ramón Jesús Suárez Pérez 2ºASIR Configuración básica y Listas de control de acceso (ACL) Si comprobamos el funcionamiento de nuestro servidor proxy desde un navegador, podremos darnos cuenta de que por defecto SQUID bloquea el acceso a todas las direcciones HTTP. Para solventar esto y poder disfrutar de un acceso total al contenido web desde los equipos que utilicen nuestro proxy, debemos dirigirnos al fichero: “/etc/squid3/squid.conf” y una vez allí modificar la línea “http_access deny all” por “http_access allow all”. Es recomendable que antes de realizar modificaciones en el fichero squid.conf realicemos copias de seguridad para evitar fallos en la ejecución del programa.
  • 5. Ramón Jesús Suárez Pérez 2ºASIR Cada vez que realicemos cambios en el archivo de configuración del programa, será necesario reiniciar el servicio de squid para que se apliquen al sistema. Para reiniciar el servicio bastará con ejecutar el comando: “sudo service squid3 restart” Una vez hecho esto, podremos comprobar como volvemos a navegar con total libertad desde los equipos clientes que utilicen nuestro proxy.
  • 6. Ramón Jesús Suárez Pérez 2ºASIR Definición y denegación de ACL (Listas de control de acceso) Las listas de control de acceso son un conjunto de reglas que permiten controlar el tráfico de la red a través de la aprobación o la denegación de estas. La definición, aprobación y denegación de ACLs se realiza desde el fichero de configuración de squid (/etc/sqiud3/squid.conf). Las acls deben de especificarse en el fichero de manera ordenada ya que las acls superiores tendrán prioridad sobre las inferiores. Bloqueando el acceso a un determinado dominio. Para definir una acl para un determinado sitio web utilizaremos la siguiente sintaxis: “acl nombre_acl dstdomain dominio_o_ip_del_sitio_web” Para denegar el acceso a una detemrinado sitio web, en este caso únicamente tendremos que haber definido previamente la acl y después denegarla mediante: “http_access deny nombre_acl” Como se vió anteriormente, tras reiniciar el servicio de squid, podremos comprobar que ninguna de las webs especificadas es accesible por los equipos clientes.
  • 7. Ramón Jesús Suárez Pérez 2ºASIR Bloqueando el acceso a una lista negra de dominios Para facilitar el bloqueo a varios sitios webs de una sola vez, podemos recurrir a las llamadas “listas negras”. Una lista negra no es otra cosa que una acl que carga los dominios o palabras de un fichero y permite así garantizar o denegar el acceso a dichos sitios web. Para definir una acl de este tipo usaremos la siguiente estructura: “acl nombre_acl dstdomain “/direccion_del_fichero_lista_negra”
  • 8. Ramón Jesús Suárez Pérez 2ºASIR Aquí podemos comprobar el funcionamiento de la lista negra: Bloqueando el acceso a una lista negra de palabras De la misma forma que definimos listas negras de dominios, es posible bloquear el acceso a direcciones que contengan determinadas palabras: “acl nombre_acl url_regex “/direccion_del_fichero_lista_negra”
  • 9. Ramón Jesús Suárez Pérez 2ºASIR Si comprobamos el funcionamiento de nuestra lista negra de palabras podemos observar como nos bloquea directamente todas las urls que contengan las palabras indicadas en el fichero. No nos deja incluso buscarlas desde el navegador. Excepciones de reglas (listas blancas) Las listas blancas se definen de la misma forma que cualquier otra acl... Son utilizadas para especificar excepciones en las reglas del proxy. Podemos habilitar el acceso a una lista blanca mediante la siguiente sintaxis (habiendo definido previamente la acl correspondiente) “http_access allow nombre_acl”
  • 10. Ramón Jesús Suárez Pérez 2ºASIR Cambiando el nombre a nuestro proxy Es posible cambiar el nombre que nuestro proxy muestra a la hora de bloquear el acceso a cierto contenido. Para cambiar el nombre a nuestro proxy debemos buscar la linea “visible_hostname” dentro del fichero “/etc/squid3/squid.conf”. En dicha linea podremos especificar el nombre de nuestro proxy.
  • 11. Ramón Jesús Suárez Pérez 2ºASIR Configuración en Webmin Para poder acceder a configurar squid3 desde Webmin, primero hemos de instalar el módulo adecuado. Para ello, nos dirigiremos a: “Webmin  Configuración de Webmin  Módulos de Webmin” Una vez dentro del menú de instalación de módulos de webmin, procederemos a instalar el módulo estandar “squid”
  • 12. Ramón Jesús Suárez Pérez 2ºASIR Hecho esto, podremos observar como squid3 dispondrá de un menú de configuración en webmin bajo el nombre “Squid – Servidor Proxy” dentro de la categoría “Servidores”. Tras acceder a dicho menú de administración, haremos clic en la utilidad “Control de Acceso”. Una vez dentro del menú de control de acceso podemos observar varias pestañas. En la pestaña de “listas de control de Acceso” podemos observar las ACLs definidas en nuestro sistema. Para definir una nueva ACL mediante Webmin, nos dirigiremos a la parte inferior de la página, donde debemos especificar el tipo de acl y una vez hecho esto pulsar en “Crear nueva ACL”.
  • 13. Ramón Jesús Suárez Pérez 2ºASIR La acción anterior lanzará un nuevo formulario html en el que podremos definir los diferentes parámetros de la ACL. En este caso definición de dominios. Hecho esto, únicamente tendremos que hacer clic en “Salvar” para almacenar la ACL. Para aprobar o denegar una determinada ACL, nos dirigiremos a la pestaña ”Restricciones Proxy” y haremos clic en el enlace “Añadir restricción proxy”.
  • 14. Ramón Jesús Suárez Pérez 2ºASIR A continuación elegiremos la ACL sobre la que queremos trabajar del listado (es necesario haberla especificado antes mediante el paso anterior) y especificaremos la acción a realizar (Permitir o Denegar). Recordemos que la posición de las restricciones llevadas a cabo en nuestro proxy juega un papel importante en el funcionamiento de este… Podemos hacer uso de las flechas para cambiar el orden de las acls en el fichero de configuración. Las acls deben de especificarse en el fichero de manera ordenada ya que las acls superiores tendrán prioridad sobre las inferiores. Recordemos que después de llevar a cabo algún cambio en este servicio será necesario “Aplicar cambios” y reiniciar Squid3.
  • 15. Ramón Jesús Suárez Pérez 2ºASIR Comprobación de acl definida desde webmin:
  • 16. Ramón Jesús Suárez Pérez 2ºASIR Proxy transparente Para montar nuestro servidor proxy de forma transparente al usuario, será necesario disponer de un segundo adaptador de red. En nuestro caso, al estar funcionando con una máquina virtual, podemos agregarlo fácilmente desde el panel de configuración de este. Una vez agregado, lo configuraremos de forma manual para asignarle una dirección IP estática en otra subred. El archivo de configuración para llevar a cabo esta operación lo encontraremos en: “/etc/networking/interfaces”
  • 17. Ramón Jesús Suárez Pérez 2ºASIR Tras reiniciar el servicio de red mediante el comando: “sudo /etc/init.d/networking restart” Podremos comprobar mediante la utilidad “ifconfig” que la configuración de red se ha aplicado de forma correcta. Una vez configurado nuestro segundo adaptador de forma estática, accederemos al fichero de configuración de squid3 (/etc/squid3/squid.conf) para activar el modo transparente añadiendo a la línea “http_port 3128” la cláusula “transparent”.
  • 18. Ramón Jesús Suárez Pérez 2ºASIR Hecho esto, tras reiniciar el servicio nuestro proxy estará activo de manera invisible (transparente) para el usuario, de manera que el usuario no tendrá que tener activo el proxy en su navegador. Los equipos clientes deberán de utilizar como puerta de enlace la dirección IP de nuestro segundo adaptador, obligando así a redirigir el tráfico hacia nuestro proxy. Ahora únicamente faltará realizar unos últimos ajustes para redirigir el tráfico entrante de nuestra subred (segundo adaptador), hacia nuestro primer adaptador con conexión a internet a través del puerto 3128 (puerto por defecto de squid3) y viceversa, es decir montar el puente de conexión para que los clientes de nuestra subred puedan acceder a internet usando obligatoriamente nuestro proxy. Esta acción la llevaremos a cabo mediante los siguientes comandos:
  • 19. Ramón Jesús Suárez Pérez 2ºASIR Podemos valernos del siguiente script si tenemos dificultades a la hora de redirigir manualmente las conexiones: #!/bin/sh # squid server IP SQUID_SERVER="192.168.1.1" # Interface connected to Internet INTERNET="eth0" # Interface connected to LAN LAN_IN="eth1" # Squid port SQUID_PORT="3128" # DO NOT MODIFY BELOW # Clean old firewall iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -t mangle -F iptables -t mangle -X # Load IPTABLES modules for NAT and IP conntrack support modprobe ip_conntrack modprobe ip_conntrack_ftp # For win xp ftp client #modprobe ip_nat_ftp echo 1 > /proc/sys/net/ipv4/ip_forward # Setting default filter policy iptables -P INPUT DROP iptables -P OUTPUT ACCEPT # Unlimited access to loop back iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT # Allow UDP, DNS and Passive FTP iptables -A INPUT -i $INTERNET -m state --state ESTABLISHED,RELATED -j ACCEPT # set this system as a router for Rest of LAN iptables --table nat --append POSTROUTING --out-interface $INTERNET -j MASQUERADE iptables --append FORWARD --in-interface $LAN_IN -j ACCEPT # unlimited access to LAN iptables -A INPUT -i $LAN_IN -j ACCEPT iptables -A OUTPUT -o $LAN_IN -j ACCEPT # DNAT port 80 request comming from LAN systems to squid 3128 ($SQUID_PORT) aka transparent proxy iptables -t nat -A PREROUTING -i $LAN_IN -p tcp --dport 80 -j DNAT --to $SQUID_SERVER:$SQUID_PORT # if it is same system iptables -t nat -A PREROUTING -i $INTERNET -p tcp --dport 80 -j REDIRECT --to-port $SQUID_PORT # DROP everything and Log it iptables -A INPUT -j LOG iptables -A INPUT -j DROP
  • 20. Ramón Jesús Suárez Pérez 2ºASIR Si hemos llevado a cabo todas las configuraciones de forma correcta, nuestro proxy invisible deberá de estar totalmente activo. Ejemplo de acceso a una web no autorizada (en nuestro caso Facebook)
  • 21. Ramón Jesús Suárez Pérez 2ºASIR Interesante (Proxy vs Proxy) Para evitar las acls de dominio de un determinado proxy, podemos hacer uso otro servidor proxy que no esté denegado en ellas. Un ejemplo de proxy de los más utilizados para eludir estos controles es: http://anonymouse.org/ No obstante si el proxy dispone de un filtrado de palabras (lista negra) este método no funcionará.