Conectados...

Usuarios invitados: 1,580

Bienvenido(a) a Alcance Libre 10/07/2026, 06:27

Ejercicio: Servidor Intermediario (Proxy)

⚠️ ADVERTENCIA:
La mayoría del contenido de blog.alcancelibre.org es obsoleto.
🚀 Por favor visitar: https://www.alcancelibre.org.
🚀 Nueva sección de manuales renovados en:
https://www.alcancelibre.org/manuales.

Introducción.

Utilizando como referencia los siguientes documentos, elabore un reporte por escrito de cada uno de los mandatos y parámetros utilizados en este ejercicio.

Procedimientos

  1. Proceda a instalar squid y el navegador lynx:
    sudo yum -y install squid lynx
  2. Cambie al directorio /etc/squid
    cd /etc/squid
  3. Genere el subdirectorio listas:
    sudo mkdir listas/
  4. Genere los archivos que se utilizarán para las listas de control de acceso y claves de acceso:

    sudo touch 
    listas/{libres,redlocal,porno,extensiones,claves,inocentes}
  5. Listar las propiedades del archivo que será utilizado para almacenar las claves de acceso:

    ls -l listas/claves
  6. Cambiar atributos de lectura y escritura solo para el usuario propietario:

    sudo chmod 600 listas/claves
  7. Cambiar el propietario del archivo de claves de acceso hacia el usuario squid:

    sudo chown squid.squid listas/claves
  8. Listar de nuevo las propiedades del archivo que será utilizado para almacenar las claves de acceso y observar cambios:

    ls -l listas/claves
  9. Ejecutar lo siguiente y asignar claves de acceso a los usuarios virtuales (para este ejercicio, asignar a todos qwerty como clave de acceso)

    for usuario in juanito pepito pedrito paquito
    do
    sudo htpasswd listas/claves $usuario
    done
  10. Editar el archivo listas/libres:

    sudo vim listas/libres

    Poner como contenido la IP de mi máquina.

    Opcionalmente, también se puede hacer realizar lo siguiente para determinar su dirección IP:

    /sbin/ifconfig eth0 
    | grep inet | cut -d : -f 2 | cut -d  -f 1 > /tmp/libres
    mv /tmp/libres /etc/squid/listas/libres
  11. Editar el archivo listas/redlocal:

    sudo vim listas/redlocal

    Poner como contenido las IP del resto de la LAN. Un renglón por IP.

  12. Editar el archivo listas/porno:

    sudo vim listas/porno

    Poner como contenido lo siguiente:

    www.sitioporno.com
    www.otrositioporno.com
    sitioindeseable.com
    otrositioindeseable.com
    napster
    sex
    porn
    mp3
    xxx
    adult
    warez
    celebri
    youtube
  13. Editar el archivo listas/extensiones:

    sudo vim listas/extensiones
  14. Poner como contenido:

    .avi$
    .mp4$
    .mp3$
    .mp4$
    .mpg$
    .mpeg$
    .mov$
    .ra$
    .ram$
    .rm$
    .rpm$
    .vob$
    .wma$
    .wmv$
    .wav$
    .doc$
    .xls$
    .mbd$
    .ppt$
    .pps$
    .ace$
    .bat$
    .exe$
    .lnk$
    .pif$
    .scr$
    .sys$
    .zip$
    .rar$
  15. Editar el archivo listas/inocentes:

    sudo vim listas/inocentes

    Poner como contenido:

    .alcancelibre.org
    .google.com.mx
    .eluniversal.com.mx
    .milenio.com.mx
    .diariolarazon.com.mx
    .reforma.com.mx
    .cnn.com
  16. Editar el archivo squid.conf:

    sudo vim squid.conf
  17. Desde vim, ejecutar la siguiente búsqueda:

    /http_port 3128

    Reemplazar por:

    http_port 192.168.0.XXX:8080 transparent

    Donde 192.168.0.XXX corresponde a la dirección IP de su servidor.

  18. Desde vim, realizar la siguiente búsqueda:

    /100 16 256

    Reemplazar:

    # cache_dir ufs /var/spool/squid 100 16 256

    Por:

    cache_dir ufs /var/spool/squid 512 16 256
  19. Desde vim, realizar la siguiente búsqueda:

    /#auth_param basic program <uncomment and complete this line>

    Reemplazar:

    #auth_param basic program <uncomment and complete this line>

    Por:

    auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/listas/claves
  20. Desde vim, realizar la siguiente búsqueda:

    /#acl password proxy_auth REQUIRED

    Descomentar la línea, quitando el símbolo #

  21. Desde vi, realizar la siguiente búsqueda:

    /acl to_localhost dst 127.0.0.0

    Debajo de ésta línea, agregar:

    acl redlocal src "/etc/squid/listas/redlocal"
    acl libres src "/etc/squid/listas/libres"
    acl porno url_regex "/etc/squid/listas/porno"
    acl extensiones urlpath_regex "/etc/squid/listas/extensiones"
    acl inocentes dstdomain "/etc/squid/listas/inocentes"
    acl matutino time MTWHF 08:00-19:00
  22. Desde vim, realizar la siguiente búsqueda:

    /http_access deny all

    Arriba de dicha línea, agregar:

    http_access allow matutino redlocal password !porno !extensiones
    http_access allow inocentes redlocal password
    http_access allow libres
  23. Desde vim, realizar la siguiente búsqueda:

    /# error_directory

    Reemplazar lo siguiente:

    # error_directory /usr/share/squid/errors/English

    Por:

    error_directory /usr/share/squid/errors/Spanish
  24. Reinicie o, en su defecto, inicie la configuración de Squid a fin de verificar si hubo errores fatales:

    sudo service squid restart

    Si hay errores, corregirlos. Sino devuelve depuración, examinar /var/log/squid/squid.out y realizar correcciones:

    sudo tail -f /var/log/squid/squid.out
  25. Recargar la configuración de Squid a fin de verificar si hubo errores no fatales:

    sudo service squid reload

    Si hay errores, realizar correcciones pertinentes.

  26. Realizar comprobaciones utilizando navegador en modo texto:

    Defina el propio servidor como el valor para la variable de ambiente http_proxy:

    export http_proxy="http://192.168.0.XXX:8080/"

    Donde 192.168.0.XXX corresponde a la dirección IP de su servidor.

  27. Realice una prueba de búsqueda a través de Google México para la palabra sex:

    lynx "http://www.google.com.mx/search?q=sexo"

    Deberá permitir realizar la búsqueda e ingresar hacia sitios cuyo URL contenga la cadena de caracteres sex.

    Defina otro servidor donde la IP del sistema donde está trabajando esté en la lista de redlocal como el valor para la variable de ambiente http_proxy:

    export http_proxy="http:// IP de la PC de al lado:8080/"

    Realice una prueba de búsqueda a través de Google México para la palabra sex:

    lynx -accept_all_cookies "http://www.google.com.mx/search?q=sexo"

    Deberá permitir realizar la búsqueda pero denegar el ingreso hacia sitios cuyo URL contenga la cadena de caracteres sex.

Última Edición: 31/05/2008, 16:05| Hits: 2,697