Servidor proxy con squid en linux by arthusu

Iniciado por arthusu, Agosto 05, 2012, 01:03:56 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Agosto 05, 2012, 01:03:56 AM Ultima modificación: Noviembre 11, 2014, 02:30:05 PM por Expermicid
Que es un proxy
Bueno yo no se lo voy a explicar muy chido que digamos, solo como lo se, un proxy seria como intermedario de red con en man in the middle, pero en estos casos checa las conexiones y las compara con las reglas que tiene predefinidas, otra cosa es que si tienes cache te carga mas rapido algunas webs :p

User pc -----proxy-----modem------proxy------servidor isp


En este caso el escenario de una pc seria asi, ya que los isp también traen configurada su proxy en nuestro caso la proxy squid seria la que sigue de user pc :P


Instalando squid

Sudo apt-get install squid



Ahora hacemos una copia de seguridad del archive de configuracion de squid

cp /etc/squid/squid.conf  /etc/squid/squid.conf.default



Vamos a configurar squid
sudo gedit /etc/squid/squid.conf

Buscamos cache_dir que es el tamaño de cache en el disco duro para squid para buscar en gedit usa ctrl+f :D
Una ves encontrado lo descomentamos quitándole #
Recuerden no dejar espacios en las líneas descomentadas ;) en este caso tengo espacio en cache_dir pues se lo quitare :P



Ahora buscamos acl y creamos un nuevo valor de regla para nuestra red en este caso...



Como puedes ver la regla que cree fue: 
Acl red src 192.168.40.129/255.255.255.0

Donde acl es para crear una regla de acceso red es el nombre de la regla src es para indicar a cual red le aplicaremos esta regla en este caso a la 192.168.40.129 esa es la ip y 255.255.255.0 es la mascara de red
Ahora para toda la red según yo seria de esta manera: 192.168.40.0/24 como en el nmap en el tutorial de man in the middle explique lo del rango de mascara de red:

255.255.255.0 0/24
255.255.0.0 seria 0/16
255.0.0.0 seria 0/8


Ahora buscamos http_access allow
ahi creamos una regla para activar la otra regla red, es decir, activamos la configuración de la maquina red permitiendo acceder



Ahora buscamos http_port por defecto esta en 3128 lo cambiamos a uno que queramos en mi caso lo pondré en 8080 el http_port lo que hace es indicar un puerto por el cual estará configurado squid



Como ven comente la que estaba por defecto http_port 3128

Listo tenemos configurado el squid le damos save y salimos del gedit
Ahora reiniciamos el servicio

sudo /etc/init.d/squid restart

vamos al firefox y configuramos el squid

edit>preferences>network>settings>manual proxy configuration
le ponemos la ip 192.168.40.129<--- es la ip que configuramos en la regal ed
y puerto 8080 <--- es el que configuramos en http_port
le damos ok



por cierto socks host no lo pongan igual que yo ahi lo quite es que se me olvido pero al final lo quite para que funcionara je!

Ahí tenemos configurado el proxy, pero no bloqueamos ninguna web ni habilitamos ninguna..

Les dejare un listado de reglas que pueden ser de utilidad:

Acl hora time MTWHFS 16:40-23:00

En este caso le definimos unas horas en que se permiten o se deniegan según tu lo configures, una hora MTWHFS (todos los días en ingles S – Sunday, M – Monday, T – Tuesday, W – Wednesday, H – Thursday, F – Friday, A - Saturday) desde las 4:40am a las 11pm

Acl paginas dstdomain No tienes permitido ver los links. Registrarse o Entrar a mi cuenta No tienes permitido ver los links. Registrarse o Entrar a mi cuenta No tienes permitido ver los links. Registrarse o Entrar a mi cuenta No tienes permitido ver los links. Registrarse o Entrar a mi cuenta No tienes permitido ver los links. Registrarse o Entrar a mi cuenta No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Con esto habilitamos una regla para los dominios que ves con dstdomain :)

http_access allow paginas
en este caso habilitaríamos la regla paginas, con lo que permitiríamos esos dominios que pusimos en esa regla

http_access deny paginas

en este caso es alreves con esto denegamos el acceso a esas paginas

ahora vamos a ver como filtrar algunas paginas.... Como ejemplo
creamos un archivo de texto con algunas paginas a bloquear... digamos que esta es una empresa que no nos agradaría que el usuario viera?

.facebook.com
.hotmail.com
Porno
Xxx
Sexo
Putas


En este caso bloqueariamos todo lo que tuviera que ver con las palabras porno,xxx,putas... y bloqueariamos las paginas facebook y hotmail, le pusimos . sin www para mejor filtrado ya que si le pones www pueden entrar tan fácil a facebook como poner No tienes permitido ver los links. Registrarse o Entrar a mi cuenta y listo no esta en las reglas ;) pero por eso se usa .facebook.com asi bloquea subdominios :)



Lo guarde en /etc/squid como prohibidos

Ahora buscamos acl y donde agregamos anteriormente la regla red creamos una nueva debajo...

acl sitiosprohibidos url_regex "/etc/squid/prohibidos"

Con esta regla analizamos las url del archivo prohibidos




Ahora buscamos http_access allow
Y creamos una nueva regla
http_access deny sitiosprohibidos
también la configuramos asi:
http_access_allow red !sitiosprohibidos
con lo que prohibiríamos el acceso a los sitios que pusimos en el archivo



Ahora guardamos y salimos del gedit
Ponemos en la terminal
Sudo /etc/init.d/squid reload – para recargar las configuraciones
Sudo /etc/init.d/squid restart – para reiniciar el servicio

Ahora nos intentamos conectar al facebook...



O una palabra mala xxx, sexo, porno



Otra cosa es que puedes ver los logs con esto por ejemplo si eres un administrador puedes ver a que paginas ingresan los usuarios de la empresa para ello nos dirigimos...

/var/log/squid/access.log



Con esto muchos administradores pueden ver a que paginas entras y hasta bloquearte algunas :)
Bueno este es todo el tutorial...
Me base en el tutorial de punkkd de squid en Windows pero a mi manera y claro explicando algunos conceptos mas :P

Espero les guste amigos :)

Pentest - Hacking & Security Services

Contact me: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta