domingo, 1 de marzo de 2015

Proxy Squid

Partimos del siguiente esquema:


Vamos a configurar la red. Instalamos el Proxy en un Ubuntu server, le ponemos dos interfaces una en puente y la otra en red interna.


Configuramos la red interna.


Instalamos el proxy con apt-get install squid.
Vamos ahora a configurar los clientes, ambos los ponemos en red interna y le configuramos la red manualmente.



Hay que configurar el navegador, para ello nos vamos a herramientas, opciones, avanzado, red, configuración, configuración manual del proxy, se añade la ip del proxy y el puerto correspondiente.


Si intentamos navegar, esto es lo que nos sale.


Lo primero que hacemos es irnos al archivo de configuración que se encuentra en /etc/squid3/squid.conf.
Y lo que hacemos es descomentar las siguientes directivas:
cache_mem que se encuentra dentro de memory cache options. Y cache_dir.




Vamos entonces a configurar proxy para que pueda navegar, para ello hay que crear las siguientes directivas.
acl xphttp src 10.0.0.0/24
http_access allow xphttp


Restablecemos el servicio.


Y con esto, ya podemos navegar.


- Permitir conectarse a todos los equipos de la red, excepto al 10.0.0.2

Hay que crear dos acl, una primero que deniegue al profe, y otra que permita a la red, y luego hay que poner las directivas de http, una denegando y otra permitiendo, y se restablece el servicio.


Si intentamos acceder con el profe no nos dejara, si lo intentamos con otro equipo de la red lo permite.


- Permitir conectarse a todos los equipos del rango, 10.0.0.10 a 10.0.0.20

Para ello hay que crear una acl que permita el rango, esto implica que los equipos fuera de ese rango, no podrán navegar.


Para comprobar que funciona, modificamos la ip de profe y la ponemos dentro del rango establecido y con ello ya podrá navegar.


- Permitir conectarse a todos los equipos de la red 10.0.0.0/24 excepto a la dirección 10.0.0.2 y al rango 10.0.0.10 a 10.0.0.20.

Hay que hacer una acl que deniegue la ip 10.0.0.2 y el rango y otra que permita al resto de equipos de la red y se restablece el servicio.


- Permitir conectar profe identificándolo mediante MAC

Creamos una acl para que pueda acceder por mac, con esto, solo podrá acceder a la red el equipo con esa mac, y el resto no podrá.


- Denegar la conexión a cualquier equipo que no sea el 10.0.0.2. Solo permitirlo al 10.0.0.2

Hay que crear una acl que solo permita conexión a ese equipo y dos http, uno permitiendo al equipo y otro denegando al resto.


De esta forma solo podrá conectarse el profe, para el resto es acceso estará denegado.


- Permitir conectarse a profe (10.0.0.2) solo en horario laboral de lunes a viernes de 8:00 a 15:00.

Hay que crear una acl de tiempo, en la que se indique los días de la semana y otra de tiempo para que indique las horas, y otra para que de él permiso al equipo.


Los comandos para analizar y probar el archivo de configuración son:
/usr/sbin/squid –k check
/usr/sbin/squid –k parse

- Profe pueda acceder a TODO y cualquier día y a cualquier hora.


- Alum no puede acceder a un listado de dominios contenidos en un fichero. 

Creo un archivo con los dominios a los que no puede acceder.


Creo la acl que le deniega el acceso a los dominios y la http_access.



- Sólo podrán navegar los equipos de la red 10.0.0.0/24.


- Sólo se puede navegar de L-V de 8 a 15.


- El equipo Alum no podrá acceder los viernes.


- Cualquier equipo necesitará introducir un usuario/contraseña válido para navegar (Autenticación básica). 

Para ello, lo primero que hay que hacer es instalar apt-get install apache2-utils
Después hay que crear un fichero que contenga usuarios y contraseñas. Como hemos instalado el apache2-utils, utilizo el comando htpasswd. Dentro de /etc/squid3, creamos el fichero squid.users y dentro de ese los usuarios que queramos.


Vamos a decirle a squid que vamos a utilizar ese sistema de configuración. Para ello me voy a /usr/lib/squid3 y le digo que:
./basic_ncsa_auth /etc/squid3/squid.users
Le paso usuario y contraseña y me da el ok.


Nos vamos ahora al archivo de configuración, para descomentar las directivas correspondientes.
/etc/squid3/squid.conf y dentro de él nos vamos al módulo de auth_param. Dentro de él descomentamos las directivas que se ven en la imagen. En la primera indicamos el programa que vamos a utilizar. La segunda te abrirá 5 procesos hijos, la tercera te indica a través del mensaje que decidas poner que introduzcas usuario y contraseña y la cuarta te dice el tiempo que te permite tener acceso a la red.


Ahora nos vamos a la parte de las acl, para crear la que corresponda usando el proxy_auth.


Restauramos el servicio y comprobamos que funciona.

No hay comentarios:

Publicar un comentario