====== Instalación y configuración de Squid Proxy Server ======
**¿Qué es el servidor Squid Proxy?**
Squid es un servidor proxy. Tiene una amplia variedad de usos, desde la aceleración de un servidor web mediante el almacenamiento en memoria caché de solicitudes repetidas; almacenamiento en caché de la web, DNS y otras búsquedas de red informática para un grupo de personas que comparten recursos de red; para ayudar a la seguridad al filtrar el tráfico.
**Uso malicioso de Squid Proxy Server**
Digamos que en el colegio, o trabajo no le permite ver sitios web como google, facebook y youtube.
Todo lo que hay que hacer es encontrar un servidor Squid Proxy en Internet o instalar uno en su casa. Luego, simplemente usar el cliente SOCKS en Firefox para enrutar todas sus solicitudes HTTP / HTTPS a través del servidor Squid Proxy, evitando así la ACL de la escuela o el trabajo.
Si se instala un servidor Squid Proxy en casa, tendremos que permitir y reenviar el puerto 3128 a la dirección interna correcta que apunta a su servidor que aloja Squid. \\
** Requisito previo**
Instalación de Ubuntu Desktop 12.04 LTS
** Notas de la practica**
En esta practica veremos cómo hacer lo siguiente:
* Actualizaremos la lista de paquetes apt-get.
* Usaremos apt-cache para buscar en la lista de paquetes de Squid.
* Usaremos apt-get para instalar squid3.
* Utilizaremos update-rc.d para crear el inicio del nivel de ejecución y eliminar los scripts.
* Configuraremos Squid para permitir el acceso a redes específicas.
* Configuraremos Squid para denegar el acceso a sitios web específicos.
* Configuraremos Firefox para usar su cliente SOCKS para pasar solicitudes al servidor Squid.
**
Verificamos que tenemos conexión**
ifconfig -a
{{:sad:ubuntu:p12:01.png?500|}}
si no tenemos conexion
dhclient -v
/etc/init.d/networking restart
======
Actualización del indice de paquetes ======
apt-get update
buscamos el squid
apt-cache search "squid" | grep "^squid"
{{:sad:ubuntu:p12:02.png?400|}}
Instalamos los 2 paquetes que necesitamos
apt-get install squid squid-common
{{:sad:ubuntu:p12:03.png?500|}}
**verificamos que el squid está corriendo** \\
service squid3 status
ps -eaf | grep -v grep | grep squid3
**ps -eaf**, muestra todos los procesos.\\
**grep -v grep**, filtra el proceso grep. \\
**grep squid3**, muestra solo el proceso squid. \\
{{:sad:ubuntu:p12:04.png?500|}}
Observamos si el script de squid se encuenta en init.d
ls -l /etc/init.d/squid3
{{:sad:ubuntu:p12:05.png?500|}}
====== Detenemos el servicio y volvemos a arrancarlo con /etc/init.d/squid3 ======
cd /etc/init.d
./squid3 stop
ps -eaf | grep -v grep | grep squid3
No devuelve nada, el servicio está parado
./squid3 start
ps -eaf | grep -v grep | grep squid3
Ahora nos devuelve 1 linea porque el servicio está ejecutandose
{{:sad:ubuntu:p12:06.png?500|}}
====== Parar e iniciar el servico squid3 con el comando "service" ======
service squid3 status
Nos muestra el numero de proceso o PID, en mis caso es 3167.
ps -eaf | grep -v grep | grep 3167
Tienes que reemplazar el PID por el tuyo
service squid3 stop
este comando parara el demonio
ps -eaf | grep -v grep | grep squid3
No muestra nada porque el proceso está detenido
service squid3 start
Iniciamos el servicio
ps -eaf | grep -v grep | egrep '(squid3|3196)'
**ps -eaf**, muestra todos los procesos.
**grep -v grep**, filtra el comando grep
**egrep '(squid|3196)'**,busca cualquier proceso que tenga la cadena squid o 3410 (el PID)
{{:sad:ubuntu:p12:07.png?500|}}
====== Backup del fichero de configuracion de Squid ======
cd /etc/squid3
cp squid.conf squid.conf.BKP
ls -l squid.conf*
{{:sad:ubuntu:p12:08.png?500|}}
====== Iniciando el proxy squid ======
**Iniciamos el Firefox**
Aplicaciones ----> Internet -----> Firefox
Nota: no tenemos que usar el Firefox, se puede usar cualquier navegador, por razones de simplicidad, uso el Firefox
Edit ----> preferencias
clic en Avanced
Clic en network tercera solapa
clic en setting
{{:sad:ubuntu:p12:09.png?500|}}
====== configurar HPPT proxy ======
Click en manual proxy configuracion
Http proxy ponemos nuestra ip
Port : 3128
Click en SOCKSv5
**cerramos**
{{:sad:ubuntu:p12:10.png?500|}}
vamos al navegador y vamos a google y observamos que nos bloquea
{{:sad:ubuntu:p12:11.png?500|}}
observamos el log de acceso del Squid
grep -i denied /var/log/squid3/access.log
El squid deniega el acceso de google
{{:sad:ubuntu:p12:12.png?500|}}
====== Configuracion de la etiqueta visible_hostname ======
Buscar e ir a ETIQUETA: número de línea visible_hostname
cd /etc/squid3/
grep -n "visible_hostname localhost" squid.conf
Esto producirá el número de línea que se usará en el siguiente paso. (En mi caso, número de línea: 3761)
{{:sad:ubuntu:p12:13.png?500|}}
nano +3761 squid.conf
descomentamos esa linea y escribimos
visible_hostname Colegio_Montessori
Guardamos, salimos y reseteamos el servicio
{{:sad:ubuntu:p12:14.png?500|}}
service squid3 restart
===== Test visible_hostname =====
Vamos al navegador y escribimos www.colegiomontessori.com
ahora vemos que nos deniega el Colegio Montessori
{{:sad:ubuntu:p12:15.png?500|}}
====== Permitir el acceso ======
Determinar la subsed
ifconfig | grep eth | awk '{print $1}'
nos mostrara solo el nombre de la interface que estamos usando
ifconfig eth0 | grep "inet addr:" | head -1
en mi caso la ip del Ubuntu es 192.168.153.47.
solo me muestra la linea donde pone mi ip y mi mascara de subred
mi subred es 192.168.153.0 /24
{{:sad:ubuntu:p12:16.png?400|}}
**Buscar posible red de internet**
cd /etc/squid3/
grep -n "192.168.0" squid.conf
Porque pongo que me busque la subred 192.168.0 si yo estroy trabajando con la 192.168.153?, es muy sencillo por que el fichero squid.conf utiliza esa ip como regla por defecto a la hora de indicar ejemplos.
En mi caso numero de linea 703
{{:sad:ubuntu:p12:17.png?500|}}
nano +703 squid.conf
copio esa linea justo debajo, la descomento y pongo mi ip de red (^k, ^u)
{{:sad:ubuntu:p12:18.png?500|}}
====== Buscar la opcion permitir localnet ======
cd /etc/squid3/
grep -n "http_access allow localnet" squid.conf
Estos dos comandos me dan un numero de linea, 842
nano +842 squid.conf
{{:sad:ubuntu:p12:19.png?500|}}
Descomento esa linea
Guardo, y reseteo el servicio
ya tengo internet
service squid3 restart
Denegar el servicio a ciertos sitios web
Para denegar el servicio a ciertos sitios web tengo que buscar la etiqueta http_access
cd /etc/squid3/
grep -n "TAG: http_access" squid.conf
linea 792
nano +792 squid.conf
agregamos las siguientes lineas
acl block_websites dstdomain .facebook.com .youtube.com
http_access deny block_websites
{{:sad:ubuntu:p12:20.png?500|}}
Reseteamos el servicio, volvemos al navegador y escribimos facebook o youtube y vemos que no podemos acceser
si queremos dejar todo como al principio del ejercicio tenemosque ir a propiedades del navegador y seleccionar la opcion de **no proxy**
''**
print de pantalla que hay que entregar**''
cd /var/log/squid3/
grep -i denied access.log | grep -i facebook
grep -i denied access.log | grep -i youtube
date
echo "tu nombre"