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
(http://i.imgur.com/Tvkqf.png)
Ahora hacemos una copia de seguridad del archive de configuracion de squid
cp /etc/squid/squid.conf /etc/squid/squid.conf.default
(http://i.imgur.com/Bd9bQ.png)
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
(http://i.imgur.com/ka7jZ.png)
Ahora buscamos acl y creamos un nuevo valor de regla para nuestra red en este caso...
(http://i.imgur.com/DNWZP.png)
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
(http://i.imgur.com/RCVdJ.png)
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
(http://i.imgur.com/UY5Qh.png)
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
(http://i.imgur.com/4pnLH.png)
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 www.youtube.com www.backtrackfire.com www.underc0de.org www.foro.dhackers.com www.hackxcrack.es www.linuxerz.org
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 es.facebook.com y listo no esta en las reglas ;) pero por eso se usa .facebook.com asi bloquea subdominios :)
(http://i.imgur.com/AA6P8.png)
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
(http://i.imgur.com/og8HF.png)
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
(http://i.imgur.com/MAyxQ.png)
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...
(http://i.imgur.com/9areh.png)
O una palabra mala xxx, sexo, porno
(http://i.imgur.com/QBSNl.png)
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
(http://i.imgur.com/y2CcV.png)
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 :)
Excelente manual ;D