Está en la página 1de 35

Nombre: Johamartin

Apellido: López Polonia

Matricula: 2018-6870

Asignatura: Sistema Operativo 3


Tema: Servidor Proxy Squid

Docente: Gean Carlos Sosa

Introducción
Squid es un servidor proxy para web con caché. Es una de las
aplicaciones más populares y de referencia para esta función, es un
desarrollo en software libre publicado bajo licencia GPL. Entre sus
utilidades está la de mejorar el rendimiento de las conexiones de
empresas y particulares a Internet guardando en caché peticiones
recurrentes a servidores web y DNS, acelerar el acceso a un servidor web
determinado o añadir seguridad realizando filtrados de tráfico.
Aunque orientado principalmente a HTTP y HTTPS soporta también
otros protocolos como FTP e incluso Gopher. Implementa cifrado
SSL/TLS tanto en la conexión al servidor web como a los navegadores y
cualquier cliente web que lo soporte.
Squid es una aplicación muy consolidada en Internet. En desarrollo
desde los años 1990, se le considera muy completo y robusto y es el
software de referencia como servidor proxy-caché de web. Como muchas
aplicaciones de software libre está incluido en distribuciones GNU/Linux
pero se puede ejecutar también en entornos tipo Unix y hay algunas
versiones para MS Windows.
Squid se puede configurar para ser usado como proxy transparente
empleando un cortafuego que intercepte y redirija las conexiones sin
configuración por parte del cliente, e incluso sin que el propio usuario
conozca de su existencia.
Squid proporciona un servicio de proxy que soporta peticiones HTTP,
HTTPS y FTP a equipos que necesitan acceder a Internet y a su vez
provee la funcionalidad de caché especializado en el cual almacena de
forma local las páginas consultadas recientemente por los usuarios.

Lo primero que debemos hacer es instalar el servicio de squid con el


comando yum install –y squid

Luego de que se instale, iniciaremos el servicio con systemctl start


squid.service y lo dejaremos siempre activo con el comando systemctl
enable squid.service

Luego debemos instalar lo que es el iptables-services que es una


herramienta avanzada de filtrado de paquetes en Linux. Es un sistema de
seguridad que permite controlar qué trafico puede atravesar un equipo,
para protegerlo del exterior y para protegerlo de otras redes.
Por el momento pararemos el servicio del iptables para no tener ningún
tipo de problemas

Ahora abriremos el archivo de configuración de squid que se encuentra


en el directorio /etc/squid se llama squid.conf. Teniendo en cuenta que
por seguridad no es bueno modificar el archivo principal, sino que es
mejor hacer una copia de dicho archivo.
Bloquear una LAN
Lo primero que haremos es dentro del archivo de configuración de Squid
y nos dirigimos al parte donde dice INSERT YOUR OWN RULE(s) y
aquí crearemos una acl que será la que bloqueara la red que estamos
utilizando, debemos también debemos escribir la máscara de subred,
más abajo con el http_access deny lan negaremos el acceso a esa red

Luego debemos reiniciar el Squid para que se apliquen los cambios y


verificar si no existe ningún error de sintaxis, debe estar todo correcto
para que el sistema se reinicie, si no nos saltara un error
Ahora debemos dirigirnos a nuestro cliente, que en mi caso es un
Windows 8, aquí nos dirigiremos al buscador y escribiremos configurar
el servidor proxy y entramos a la opción que aparece sombreada en la
imagen.
Dentro de aquí en el apartado de conexiones debemos darle a la opción
de configuración de LAN
Ahora dentro de aquí debemos activar el CHECK del servidor proxy
para poder añadirle nuevas cosas como en el apartado de dirección que
debemos poner la IP de nuestro servidor de Squid y en la opción del
Puerto usaremos el 3128 ya que es el que trae por defecto Squid, luego
de eso solo le damos a aceptar y a aplicar los cambios

Ahora entramos a nuestro navegador y como vemos, se nos bloquea


cualquier sitio web porque asignamos que nuestra red no tenga acceso
Bloquear un equipo
Ahora para bloquear un equipo primero veremos que IP tiene el
dispositivo, en mi caso es mi cliente Windows, aquí entramos al CMD y
con ipconfig veremos la IP

Ahora volvemos nuevamente al archivo de configuración de Squid y en


la parte donde configuramos anteriormente la acl de la LAN borraremos
todo eso y cambiaremos vario valores como de que la acl ahora será para
una pc y en la IP debemos asignar exactamente la que tiene el dispositivo
que bloquearemos y en http_access pondremos deny pc
Debemos reiniciar el servicio para que los cambios se apliquen

Volvemos a nuestro cliente e intentamos entrar a cualquier página de


internet y como vemos no tenemos acceso
Bloquear páginas web

Lo primero que debemos hacer es crear una carpeta llamada bloqueos


dentro del directorio /etc/squid, luego debemos entrar a dicha carpeta
que creamos para editarla

Ahora dentro de aquí debemos escribir las direcciones de los sitios web
que queremos bloquear, luego debemos guardar los cambios
Ahora debemos dirigirnos al archivo de configuración de Squid y aquí
en el apartado de INSERT YOUR OWN RULES(S) crearemos una
nueva acl con la sintaxis de bloqued_sites sirve para que no tengamos
acceso a sitios y en dstdomain debemos escribir la dirección en donde
tenemos la carpeta que creamos. Con http_access negaremos el acceso

Luego debemos reiniciar Squid

Ahora nos dirigimos nuevamente a nuestro cliente e intentamos acceder a


alguna de las páginas que bloqueamos y como vemos a la izquierda el
logo de Squid, este nos bloquea todas las paginas
Bloquear contenido
Lo primero que debemos hacer es entrar nuevamente al archivo de
configuración de squid y aquí crearemos una nueva acl para bloquear
imágenes del tipo jpg

Debemos reiniciar Squid

Cuando entramos a nuestro navegador de nuestro cliente y entramos a


una página que contenga imágenes de formato jpg como por ejemplo
freedigitalphotos vemos como todo el contenido aparece bloqueado
Ahora desactivamos la acl para poder visualizar la pagina

Debemos reiniciar nuevamente Squid. Aquí podemos ver nuevamente la


página con todas sus imágenes como debería verse normalmente.
Bloquear acceso por día
Lo primero que haremos es entrar nuevamente al archivo de
configuración de Squid y aquí crearemos una nueva acl en donde no
permitiremos el acceso solo los lunes, martes y miércoles

Luego reiniciamos el sistema, y cuando accedemos al navegador vemos


que no tenemos acceso porque si se fijan en la parte sombreada es martes
y ese día está dentro de los días que no se permite el acceso
Bloquear acceso por hora
Lo primero que haremos será volver al archivo de configuración de Snort
y aquí modificaremos la acl de por días a horas y exactamente no
tendremos acceso los martes de 6 a 10

Reiniciamos el servicio y cuando intentamos entrar al navegador no


tendremos acceso ya que el dia si es martes pero esta dentro del rango
que no tendrá acceso a esa hora
Seguridad por usuario
Lo primero que haremos será con el comando ls /usr//lib64//squid/
verificar que Squid posee diversas herramientas para ser integradas con
squid, en este caso usaremos la basic_ncsa_auth

Ahora debemos instalar las herramientas para sitios web con el comando
yum install –y httpd-tools
Luego En nuestro archivo de configuración squid.conf colocamos el
parametro auth_param basic program donde colocamos la dirección
del programa de autenticación y la dirección del archivo .htpasswd
que crearemos más adelante, luego definimos un realm, y colocamos
una nueva acl con proxy_auth como parámetro como REQUIRED, y
generamos un nuevo http_access permitiendo esta nueva acl

Ahora debemos crear el archivo .htpasswd ya que fue el que


mencionamos en el archivo anteriormente y es donde haremos varias
configuraciones, para poder visualizarlo debemos usar el comando ls- a
ya que es un archivo diferente que ls no admite
Con la herramienta htpasswd generamos un nuevo usuario dentro del
archivo, para esto usamos htpasswd -c [ dirección del archivo] [ usuario].
Luego reiniciamos el servicio de Squid.

Ahora pasamos al cliente y cuando entramos al navegador


automáticamente nos pide registrarnos con nuestras credenciales para
poder tener acceso a la página, usaremos el usuario anteriormente creado
con su contraseña
Aquí vemos como ya si podemos usar la página normalmente luego de
loguearnos
Proxy transparente
TENIENDO EN CUENTA QUE SOLO DEBEMOS TENER UN
ADAPTADOR EN RED INTERNA EN NUESTRO CLIENTE

Lo primero que debemos hacer es que en el cliente colocamos como


Gateway la dirección de la interfaz de servidor conectada a la red local, y
como dns el mismo de la interfaz WAN del servidor
Para el proxy transparente enrutamos el tráfico de la interfaz de los
clientes a la interfaz del servidor con el servidor proxy. Antes de enrutar
debemos realizar ciertas verificaciones de configuración para que
nuestros clientes aún cuenten con acceso a internet. primero en el archivo
/etc/sysconfig/network nos aseguramos de que el GATEWAY sea el
mismo que el de la interfaz que conectamos a internet

Ahora entramos a al directorio /etc y abriremos el archivo resolv.conf y


de por si aquí nos aparecerá la dirección ip que le pusimos al
GATEWAY anteriormente pero de no aparecer la colocamos.
Primero debemos iniciar nuevamente el servicio de Iptables y Luego
aplicamos las reglas de enrutamiento con las iptables, estas son:
iptables --table nat --append POSTROUTING --out-interface
[interfaz wan] -j MASQUERADE

iptables --append FORWARD --in-interface [interfaz lan] -j ACCEPT


y activamos el routing con:
echo 1 > /proc/sys/net/ipv4/ip_forward

Ahora pasaremos al cliente y probaremos si tenemos conexión a internet


aun estando en una red interna
Ahora intentaremos entrar al navegador para verlo mucho mejor y cómo
podemos observar si tenemos acceso a internet

Si queremos bloquear el acceso a internet solo debemos cambiar el allow


por el deny sin quitarle la opción de debajo de transparent
Luego reiniciamos e intentamos acceder nuevamente a internet y como
vemos no tenemos acceso

También podría gustarte