====== 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"