Bien es esta ocasión vamos a proceder a la instalación y configuración de un servidor proxy en una máquina Ubuntu.

¿Qué es un proxy?

Un servidor proxy es una máquina que filtra el tráfico de la red. Estos filtrados se basan en reglas, por ejemplo podemos establecer una regla para toda la red local o interna, otra para un grupo de máquinas dentro de la red local o interna, y otra, para las páginas que serán aceptadas o denegadas para estos grupos.

En esta guía vamos a usar esta implementación dado que vamos a bloquear el acceso a algunos sitios webs a un par de direcciones IP dentro de la red local o interna, mientras que el resto de las direcciones IP de la red, tendrán acceso sin restricciones.

El proxy depende de la interfaz de red primaria, o incluso de la secundaría dependiendo de la implementación que deseemos instaurar, en este caso la máquina que hará de proxy solo tiene una interfaz de red.

En los navegadores debemos indicarle en que dirección está el proxy para que lance las peticiones hacia él y aplique las reglas de acceso http.

Nota: es recomendable que cojáis un papel y un boligrafo para poder llevar a cabo la implementación de las reglas del proxy dado que un solo error puede producir que ninguna de las configuraciones funcione si son en pirámide.

Obtención de la dirección ip de la máquina servidor y de la red

Lo primero que debemos apuntar es la dirección que nos facilita la interfaz primaria de red, o en caso de tener dos tarjetas de red, la que dirección ip que comunique con los equipos de la red. Para ello utilizamos el siguiente comando.


sudo ifconfig

Al lanzar el comando obtendremos una respuesta, por ejemplo 192.168.1.135, bien, esa dirección será la del servidor, y por ende 192.168.1.0/x será nuestra dirección de red

Nota: se pone 192.1681.0/x dado que una red de esta ip no tiene porque tener una mascara de red de 24 bits (11111111.11111111.11111111.00000000) o 3 bytes (255.255.255.0). Esto lo debemos percibir en la dirección de la máscara de red.

 

INPLEMENTACIÓN DEL PROXY EN RED LOCAL

proxy red LAN.png

Instalación de SQUID3

Para proceder con la instalación del servidor proxy, solamente debemos lanzar el comando de instalación:


sudo apt-get update

sudo apt-get install -y squid3

Configuración del proxy

Lo primero que vamos a realizar es una copia de seguridad del archivo de configuración del proxy, para ello aplicamos este comando:


sudo cp /etc/squid3/squid.conf    /etc/squid3/squid.conf .original

Una vez tengamos el back up del archivo editaremos el archivo de configuración:


sudo nano /etc/squid3/squid.conf

Ahora vamos a realizar las siguientes búsquedas para editar las directrices del servicio, estas búsquedas en el editor nano las realizaremos con las teclas ( CONTROL + W ).

http_port 3128 –> en caso de querer usar otro puerto cambiar el 3128 por otro en desuso

# cache_mem 256 MB  –> cache_mem 512 MB (Se debe quitar la almohadilla)

#cache_dir ufs /var –> donde pone 100 pondremos 1000 (Se debe quitar la almohadilla)

Visible_hostname –> en la linea inferior escribiremos visible_hostname NOMBRE_QUE_QUERAMOS.

Creando las reglas

Para ello buscaremos dentro del documento de configuración la línea,  recommended minimum configuration: y añadiremos los acl (access control o reglas de control de acceso).

acl red_local src 192.168.1.0/24  # Definimos la red completa.

acl grupo1 src “/etc/squid3/grupo1” # Definimos el archivo de IP’s del grupo1.

acl webs_bloqueadas dstdomain “/etc/squid3/webs_bloqueadas” # Definimos el archivo de los sitios web bloqueados.

Aplicando las reglas

Debemos buscar en el archivo de configuracion your own rule

Y pondremos lo siguiente:

http_access deny grupo1 webs_bloqueadas

http_access allow red_local

http_access deny all

Ya podemos guardar el documento y proceder a reiniciar el servicio

Creación de los archivos grupo1 y webs_bloqueadas

Solo queda definir que equipos tendrán las restricciones y que páginas estarán restringidas, vamos a ello


sudo nano /etc/squid3/grupo1

este archivo contendrá las direcciones ip que no navegarán por toda la red

192.168.1.120

192.168.1.121

192.168.1.121


sudo nano /etc/squid3/webs_bloqueadas

Este archivo contendrá las direcciones DNS que vamos a bloquear:

www.ask.es

www.es.ask.es

www.musica.com

www.abc.es

 

Reiniciar el servidor


sudo service squid3 restart

Configurando el navegador de los clientes

Cada navegador se configura de manera diferente, pero en esencia, navegaremos a las opciones, a las opciones avanzadas, buscaremos la opcion proxy activaremos la opción LAN en algunos, proxy manual en otros, activar proxy en el caso de Edge…. ya solo nos falta poner la dirección IP del servidor proxy y el puerto en el que está corriendo para que todo esté operativo.

INPLEMENTACIÓN DEL PROXY EN RED INTERNA

PROXY EN RED INTERNA.png

En este caso nuestro servidor proxy esta dispuesto con dos interfaces de red, la primaria que posee conexión con el router y la secundaria o interna que tiene conexión con la interfaz primaria y la red interna

Bien, ahora en el caso de que tengamos una red interna, lo primero que debemos realizar es la configuración en ip estática del servidor para las dos interfaces de red que vamos a necesitar.

para ello vamos a editar el archivo de configuración de las interfaces


sudo nano /etc/network/interfaces

En el caso de esta instalación vamos a configurarlo de esta manera


auto eth0

iface eth0 inet static

address 192.168.1.135

network 192.168.1.0

netmask 255.255.255.0

broadcast 192.168.1.255

gateway 192.168.1.1

dns-nameservers 8.8.8.8 8.8.4.4

#####

auto eth1

iface eth1 inet static

address 10.0.0.1

network 10.0.0.0

netmask 255.255.255.0

broadcast 10.255.255.255

gateway 192.168.1.135   #IMPORTANTE PONER DE GATEWAY LA IP DE WAN

Ahora se debe editar el archivo /etc/sysctl.conf


sudo nano /etc/sysctl.conf

y se debe descomentar la siguiente línea:


net.ipv4.ip_forward=1

El siguiente paso es realizar el nateo de la las tarjetas de red con este comando:


sudo iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -o eth0 -j SNAT --to 192.168.1.135

La ip de la opción -s es la perteneciente a la red interna y la opción -o se refiere a la interfaz de red que tiene salida a la WAN, el parámetro –to hace referencia a la dirección IP que posee la conexión con el router.

por último vamos a permitir que el trafico http y https que bloquearemos después no requieran de configuración en el navegador para ser bloqueadas


sudo iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

sudo iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 443 -j REDIRECT --to-port 3128

Hay que decir que el direccionamiento del puerto 443 no hay que realizarlo en caso de que no se valla a realizar la implementación del certificado SSL para HTTPS.

Las directrices para la configuración del archivo /etc/squid3/squid.conf serán casi identicas salvo que en las acl debemos poner en el src las direcciónes de red adecuadas para nuestra red interna, por ese motivo obvio el volver a escribir todo el archivo de configuración.

Bloqueo de HTTPS

Para poder bloquear los sitios web https, se deben realizar 3 grupos de acciones

1º crear el directorio /etc/squid3/ssl_cert y aplicarle un chmod -R 777 /etc/squid3/ssl_cert


sudo mkdir /etc/squid3/ssl_cert

sudo chmod -R 777 /etc/squid3/ssl_cert

2º- Acceder a este directorio y crear el certificado .pem y después el .der


cd /etc/squid3/ssl_cert

sudo chmod -R 777 /etc/squid3/ssl_cert

openssl req -new -newkey rsa:2048 -sha256 -days 365 -nodes -x509 -extensions v3_ca -keyout myCA.pem -out myCA.pem

openssl x509 -in myCA.pem -outform DER -out myCA.der

3º importarlo a los navegadores de los clientes

Para ello tendremos que tener el archivo myCA.der es un medio que podamos portar entre los equipos clientes, un USB por ejemplo. Se debe acceder a la configuración del navegador, localizar la sección de certificados HTTPS/SSL e importar el archivo myCA.der.

Al realizar esto solo nos queda añadir http://www.facebook.com o http://www.google.es a nuestra lista de sitios webs bloqueados y reiniciar el servicio squid3.

NOTA: algunos sitios como  www.twitter.com http://www.wordpress.com evaden en bloqueo HTTPS/SSL

 

Instalación de dansguardian


sudo apt-get install dansguardian

Configuración de dansguardian


sudo nano /etc/dansguardian/dansguardian.conf

 

y lo dejaremos así


#UNCONFIGURED - Please remove this line after configuration

language = 'spanish

filterport = 8080

proxyip = 10.0.0.0/8

proxyport = 3128

Configuración de las url prohibidas


sudo nano /etc/dansguardian/list/bannedlist

y debajo de badboys.com introducir las urls a bloquear


sudo service dansguardian restart

 

 

Anuncios