You are on page 1of 16

PRÁCTICA 2

DESPLIEGUE Y
ADMINISTRACION DE
PROXY
2019
IES Punta del Verde – Seguridad y Alta disponibilidad

2
PRÁCTICA 2: Despliegue y administración de proxy
MARCO TEORICO

1. Material de partida
PC – HP G6
RAM 8 GB
Disco duro 500 GB
S.O Anfitrion Windows 10 Profesional
S.O. Huesped Ubuntu desktop 18.04
2. Objetivos
 Instalar un Proxy (SQUID) y comprender su funcionamiento.

 Conocer las diversas posibilidades que admite este programa como son la restricción de accesos a
determinadas URL’s, crear jerarquías de caches y verificar los ficheros de log.

3. ¿Qué es un proxy?
Un proxy, o servidor proxy, en una red informática, es un servidor (un programa o sistema informático), que sirve de
intermediario en las peticiones de recursos que realiza un cliente (A) a otro servidor (C). Por ejemplo, si una hipotética
máquina A solicita un recurso a C, lo hará mediante una petición a B, que a su vez trasladará la petición a C; de esta
forma C no sabrá que la petición procedió originalmente de A

Funciones:
 Auditoria y administración de recursos

 Control de acceso

 Registro del tráfico

 Prohibir cierto tipo de tráfico,

 Mejorar el rendimiento

 Mantener el anonimato

 Proporcionar Caché web, etc;

Características de SQUID
 Es un servidor proxy
 Controles de acceso avanzados avanzado en ACLs.
 Registro de Logs y soporte SNMP.
IES Punta del Verde – Seguridad y Alta disponibilidad

 Soporta diferentes esquemas de autenticación.


3

Ventajas

 Control: sólo el intermediario hace el trabajo real, por tanto se pueden limitar y restringir los derechos de los
usuarios, y dar permisos sólo al proxy.
 Ahorro: Sólo uno de los usuarios (el proxy) ha de estar preparado para hacer el trabajo real. Con estar
preparado queremos decir que es el único que necesita los recursos necesarios para hacer esa funcionalidad.
Ejemplos de recursos necesarios para hacer la función pueden ser la capacidad y lógica de cómputo o la
dirección de red externa (IP).
 Velocidad: Si varios clientes van a pedir el mismo recurso, el proxy puede hacer caché: guardar la respuesta
de una petición para darla directamente cuando otro usuario la pida. Así no tiene que volver a contactar con el
destino, y acaba más rápido.
 Filtrado: El proxy puede negarse a responder algunas peticiones si detecta que están prohibidas.
 Modificación: Como intermediario que es, un proxy puede falsificar información, o modificarla siguiendo un
algoritmo.

4. Instalación y configuración de Squid con APT

Instalación de squid3
IES Punta del Verde – Seguridad y Alta disponibilidad

Instalación de squid3 cliente


4

Mirar los permisos del fichero de configuración


IES Punta del Verde – Seguridad y Alta disponibilidad

El usuario y grupo proxy


5

Validar el archivo squid.conf


IES Punta del Verde – Seguridad y Alta disponibilidad

Configuración parámetros de red


6

Linea squid.conf Parámetro Uso Ejemplo

5510 Visible_hostname Este parámetro define el nombre del Visible_hostname


host con el que squid se anunciara, fwproxy.zenteno.com
como también será el nombre que
aparece en las páginas de error.
5478 Cache_effectivee_user Este parámetro define el nombre del Cache_effectivee_user
usuario con el que Squid operara. proxy
5458 Cache_mgr Define la dirección del correo Cache_mgr
administrador proxy. proxy@iadyd.com
3157 Cache_mem Establece la cantidad ideal de Cache_men 64 MB
memoria para lo siguiente:
• Objetos en tránsito.
• Objetos frecuentemente
utilizados (Hot).
• Objetos negativamente
almacenados en el caché.
3420 Chache_dir Define el directorio para almacenar Cache_dir ufs
los objetos en cache de disco, /var/spool/squid 100 16
también define la ruta del directorio 256
y el tamaño.
7471 Dns_nameservers Información del servidor DNS. Dns_nameserves 8.8.8.8

¿Qué es un sistema de archivo sin journaling?


IES Punta del Verde – Seguridad y Alta disponibilidad

Cuando un sistema de ficheros con journaling arranca no revisa y verifica los metadatos del mismo, sino que tiene que
7
revisar solamente aquellas transacciones que no se llevaron a cabo y las ejecuta . De esa manera se asegura
que la información del disco y los metadatos están sincronizados y son veraces.

El journal en un sistema de ficheros consiste básicamente en una lista de transacciones, de esta manera las
recuperaciones ante posibles accidentes son mucho más ágiles que en sistemas sin journaling.

¿Qué almacena el fichero /etc/resolv.conf?

El fichero resolv.conf contiene una lista de servidores, que si está vacía hará considerar al sistema que el servidor está
en su máquina.

La opción más importante del fichero resolv.conf es nameserver, que tiene la dirección IP del servidor de nombres a
usar. Si especifican varios servidores poniendo varias líneas nameserver, se intentarán usar en el orden dado; por lo
que debería poner en primer lugar el servidor de nombres más rápido o cercano.

5. Listas ACL
Para permitir o denegar que se puede hacer y que no puede hacer cada cliente proxy.
http_access allow | deny nombre_lista_acl

Crear una lista


acl nombre src lista IP o dirección IP
acl loc_gerentes src 192.168.1.1 192.168.5.1 192.168.2.52

La lista se puede escribir en un fichero plana, cada elemento en una línea.


acl loc_gerentes src “etc/squid/loc_gerentes.acl”

También puede crear una lista para un rango de IP


acl loc_gerentes src 192.168.221.200. – 192.168.221.210/24

EJEMPLOS
## Reglas de acceso:
http_access allow localhost
http_access deny ip_sin_internet
http_access deny all
 Acl basadas en puertos
IES Punta del Verde – Seguridad y Alta disponibilidad

acl nombre port número


8
acl puertos_ssl port 443

 Acl basadas en métodos HTTP

Las acl de tipo method definen una lista en métodos HTTP usado en la petición.
En la mayoría de los casos los clientes usan el método GET o POST.
Algunos clientes usan el método CONNECT para realizar el túnel hacia el puerto TCP.
acl lista_CONNECT method CONNECT

Añada una lista de los puertos más usados


Lista de puertos
o HTTP: puerto 80;
o HTTPS: puerto 443;

o FTP: puerto 21;

o FTPS/SSH: puerto 22;

o POP3: puerto 110

o POP3 SSL: puerto 995

o IMAP: puerto 143

o IMAP SSL: puerto 993

o SMTP: puerto 25 (alternativas: puerto 26 / puerto 2525)

o SMTP SSL: puerto 587

o MySQL: puerto 3306

o CPanel: puerto 2082

o CPanel SSL: puerto 2083

o WHM (Webhost Manager): puerto 2086

o WHM (Webhost Manager) SSL: puerto 2087

o Webmail: puerto 2095

o Webmail SSL: puerto 2096

o WebDAV/WebDisk: puerto 2077

o WebDAV/WebDisk SSL: puerto 2078

¿Qué es kerberos?
IES Punta del Verde – Seguridad y Alta disponibilidad

Kerberos es un sistema de autentificación de usuarios, que posee un doble objetivo:


9
 Impedir que las claves sean enviadas a través de la red, con el consiguiente Riesgo de su divulgación.

 Centralizar la autentificación de usuarios, manteniendo una única base de Datos de usuarios para toda la red.

Kerberos, como protocolo de seguridad, usa una Criptografía de claves simétricas, lo que significa que la clave utilizada
para cifrar es la misma clave utilizada para descifrar o autenticar usuarios. Esto permite a dos computadores en una
red insegura, demostrar su identidad mutuamente de manera segura. Kerberos entonces restringe los accesos sólo a
usuarios autorizados y autentica los requerimientos a servicios, asumiendo un entorno distribuido abierto, en el cual
usuarios ubicados en estaciones de trabajo acceden a estos servicios en Servidores distribuidos a través de una red.

Criptografía de clave simétrica y asimétrica

Criptografía simétrica: La criptografía simétrica solo utiliza una clave para cifrar y descifrar el mensaje, que tiene que
conocer el emisor y el receptor previamente y este es el punto débil del sistema, la comunicación de las claves entre
ambos sujetos, ya que resulta más fácil interceptar una clave que se ha transmitido sin seguridad (diciéndola en alto,
mandándola por correo electrónico u ordinario o haciendo una llamada telefónica).
Criptografía asimétrica: La criptografía asimétrica se basa en el uso de dos claves: la pública (que se podrá difundir sin
ningún problema a todas las personas que necesiten mandarte algo cifrado) y la privada (que no debe de ser revelada
nunca).
¿Qué es gopher?
Gopher es un programa informático utilizado para organizar y presentar información en la internet, este servicio que
antecedió a la WWW (Word Wide Web) o red de informática mundial, fue creado en la universidad de Minnesota en el
año de 1991, siendo uno de los primeros sistemas que permitió trasladarse de un sitio a otro eligiendo una opción en el
menú de una página.

¿Para qué se una CUPS?


“Common UNIX Printing System” o Sistema de Impresión Común para UNIX, es un potente software que se utiliza para
imprimir desde las diferentes aplicaciones instaladas tales como el propio navegador que está usted utilizando ahora
para leer este post.
¿Para qué se usa SSH?
SSH o Secure Shell, es un protocolo de administración remota que permite a los usuarios controlar y modificar sus
servidores remotos a través de Internet. El servicio se creó como un reemplazo seguro para el Telnet sin cifrar y utiliza
técnicas criptográficas para garantizar que todas las comunicaciones hacia y desde el servidor remoto sucedan de
manera encriptada. Proporciona un mecanismo para autenticar un usuario remoto, transferir entradas desde el cliente
al host y retransmitir la salida de vuelta al cliente.
¿Qué son los servicios seguros FTPS y HTTPS? ¿Qué es SSL?
FTPS es una de las variantes del protocolo FTP utilizadas para la transmisión de datos de forma segura y cifrada por la
red. En este protocolo, cada camino implica el uso de una capa SSL / TLS por debajo del protocolo FTP estándar para
cifrar la información de control del servidor y/o los canales de datos.
HTTPS (Hyper Text Transfer Protocol Secure o protocolo seguro de transferencia de hipertexto) aparece en la
dirección URL cuando un sitio web está protegido por un certificado SSL. Los detalles del certificado, por ejemplo la
IES Punta del Verde – Seguridad y Alta disponibilidad

entidad emisora y el nombre corporativo del propietario del sitio web, se pueden ver haciendo clic en el símbolo de
candado de la barra del navegador. 10

SSL es el acrónimo de Secure Sockets Layer (capa de sockets seguros), la tecnología estándar para mantener segura
una conexión a Internet, así como para proteger cualquier información confidencial que se envía entre dos sistemas e
impedir que los delincuentes lean y modifiquen cualquier dato que se transfiera, incluida información que pudiera
considerarse personal. Los dos sistemas pueden ser un servidor y un cliente (por ejemplo, un sitio web de compras y
un navegador) o de servidor a servidor (por ejemplo, una aplicación con información que puede identificarse como
personal o con datos de nóminas).

Uso del método CONNECT en conexiones http ¿Cuál es su peligro?


Según describe el estándar HTTP 1.1, existen 28 métodos (o verbos) para la comunicación mediante el protocolo
HTTP. Aunque muchos son desconocidos para la mayoría de usuarios (y administradores de sistemas) por no ser de
uso habitual, existe un riesgo potencial si el administrador del servidor web no los tiene controlados. Veamos
algunas técnicas comunes.

CONNECT: Utilizado para crear la comunicación con un proxy HTTP (SSL).

acl http_connect method CONNECT


http_access allow red1 !http_connect

Ejercicios
Denegar a vuestra red varios dominios peligrosos: www.proxysite.com, etc
acl dominios_peligrosos dstdomain proxysite.com kproxy.com
http_access deny dominios_peligrosos

Denegarlo a toda la red exceptuando la maquina 192.168.4.43


acl maquina src 192.168.4.43
http_access deny dominios_peligrosos !maquina
equivale a:
http_access deny dominios_peligrosos
http_access allow maquina

Caso práctico 1
IES Punta del Verde – Seguridad y Alta disponibilidad

11

a) 192.168.7.0/24

acl red1 Acl red2 src 192.168.7.0/24

acl http_connect method CONNECT

http_access allow red1

http_access deny http_connect

b) 192.168.14.0/24

acl red2 src 192.168.14.0/24

acl ftp port 21

acl dns port 53

acl gopher port 70

acl rango_ip 192.168.14.55 – 192.168.14.65/24

http_access allow red2 ftp

http_access allow red2 dns

http_access allow rango_ip gopher


IES Punta del Verde – Seguridad y Alta disponibilidad

http_access deny all


12
c) 192.168.21.0/24

acl red3 src 192.168.21.0/24

acl http port 80

acl ip src 192.168.21.65

acl ssh port 22

http_access allow red3 http

http_access allow ip ssh

http_access deny all

d) 192.168.28.0/24

acl red4 src 192.168.28.0/24

acl ftp port 21

http_access allow red4

http_access deny ftp

e) 192.168.35.0/24

acl dns port 53

acl http port 443

acl cups port 631

acl kerberos port 88

http_access allow red5 dns https cups kerberos

http_access deny all

Caso práctico 2

Permitir los siguientes accesos:

Los dominios: youtube, hotmail, Facebook


IES Punta del Verde – Seguridad y Alta disponibilidad

Pueden acceder: el equipo 192.168.5.33/27


13
Todos los equipos de la red 192.168.6.32/27

Y todos los equipos que accedan por el puerto 443

Resto: denegados

acl dominios dtsdomain .youtube.com .Hotmail.com .Facebook.com

acl equipo01 src 192.168.5.33/27

acl red02 src 192.168.6.32/27

acl websegura port 443

http_access allow equipo01 red02 dtssomain

http_access allow equipo01 red02 websegura

http_acces deny all

A las url que hacen intento a conexión Messenger (Gateway.dll)

Pueden acceder aquellas maquinas que se indican en el fichero maq_comunicacion.acl

Todos los equipos de la red 192.168.6.32/27

Resto: denegados

alc url_msn url_regex-i Gateway.dll

acl comunicación src “maq_comunicacion.acl”

acl red01 src 192.168.6.32/27

http_access allow url_msn comunicación red01

http_acces deny all

A las url que contenga la cadena “download”

Pueden acceder: el equipo 192.168.5.33/27 por los puertos 1-1024

Todos los de la red 192.168.6.32/27 si usan los puertos 23, 2323, 80,8080
IES Punta del Verde – Seguridad y Alta disponibilidad

Resto:denegado
14
acl descargas url_regex –i download

acl equipo01 src 192.168.5.33/27

acl red1 src 192.168.6.32/27

acl puertosnormales port 1-1024

acl puertosespeciales port 23 2323 80 8080

http_acces allow equipo01 puertosnormales download

http_acces allow red1 puertosespeciales download

http_acces deny all

A los archivos multimedia mp3, mp4, avi

Equipo de las redes 192.168.5.0/24

192.168.6.32/27

192.168.6.64/26 puertos 23,2323

192.168.7.0/24 puertos 80,8080

172.16.0.0/16

172.17.0.0/16:443

acl descargas url_regex –i download

acl equipo01 src 192.168.5.33/27

acl red1 src 192.168.6.32/27

acl puertosnormales port 1-1024

acl puertosespeciales port 23 2323 80 8080

http_acces allow equipo01 puertosnormales download

http_acces allow red1 puertosespeciales download

http_acces deny all

Caso práctico 3.

Dado el contenido indicando en el ejercicio terminar las acls y/o las http_access que corresponda:

1) Permitir acceso a dos redes:


IES Punta del Verde – Seguridad y Alta disponibilidad

acl red1 src 192.168.0.0/24


15
acl red2 src 192.168.1.0/24

http_acces allow red1 red2

2) denegar las peticiones de ficheros de tipo exe, pif, bat y cmd

acl tipoexe url_regex exe$ pif$ bat$ cmd$

http_access deny tipoexe pif bat cmd

3) denegar el acceso a todos los servidores cuyo nombre comience por “popup”, “banner” o “ads”.

acl incordios url_regex http://popup.* http://banner.* http://ads.*

http_access deny incordios

4) denegar las conexiones a las url completas o incompletas que hay en el fichero
“/etc/squid/lista_negra.txt”

acl ln1 url_regex -i "/etc/squid/lista_negra.txt"

http_access deny ln1

5) permitir bloquear el acceso a las paginas cuya url contenga las palabras sex,porn,xxx o nude

acl palabras_prohibidas url_regex –i sex porn xxx nude

http_access deny palabras_prohibidas

6) dar control de acceso a través de las MAC

acl mac1 arp 08:00:09:ab:fd:b5

acl mac2 arp 04:ba:cb:0a:05:24

http_access allow mac1

http_access deny mac2

7) permitir acceso por días u horas

acl usuarios_turno_tarde time MTWHF 16:00-19:59

http_access allow usuarios_turno_tarde tardes


IES Punta del Verde – Seguridad y Alta disponibilidad

16
8) red con 3 niveles de reglas gerentes, nivel_b y nivel_c donde gerentes tiene acceso a todo, nivel_b a
todo menos paginas prohibidas y msn y nivel_c solo a páginas permitidas.

Acl gerentes src “/etc/squid/gerentes”

Acl nivel_b src “/etc/squid/nivel_b”

Acl nivel_c src “/etc/squid/nivel_c

Acl permitidos url_regex “/etc/squid/sitios-permitidos”

Acl nopermitidos url_regex “/etc/squid/sitios-nopermitidos”

Acl especificas url_regex “/etc/squid/sitios-especificas”

Acl Messenger url_regex “/etc/squid/pagmessenger”

http_access allow localhost

http_access allow CONNECT !SSL_ports

http_access allow ipgerentes

http_access deny messenger

http_access allow nivel_b !nopermitidos

http_access alow permitidos nivel_c

http_access deny all

https://www.ecured.cu/Kerberos

https://www.genbeta.com/desarrollo/tipos-de-criptografia-simetrica-asimetrica-e-hibrida

https://www.websecurity.symantec.com/es/es/security-topics/what-is-ssl-tls-https

You might also like