Sei sulla pagina 1di 12

IES Siete Palmas – Seguridad y alta disponibilidad Profesor: Efrén León

Actividad 08– Actividad de Desarrollo


“Seguridad perimetral.”

Unidad didáctica 7: Seguridad perimetral


Temporalización:
1. 3 Semanas. 18 horas.

Objetivos del capítulo Contenidos


2. Valorar los peligros externos a las redes 7.1. CORTAFUEGOS
corporativas y conocer las medidas de Práctica 7.1: Configuración de cortafuegos
seguridad perimetrales para hacerles Práctica 7.2: Archivos log
frente. 7.1.1 Tipos de cortafuegos
3. Comprender la importancia de los Práctica 7.3: Configuración Router-Firewall
puertos de comunicaciones y su filtrado Práctica 7.4: Configuración de cortafuegos con
mediante cortafuegos o firewall. entorno gráfico
4. Aprender el significado de las listas de 7.1.2 DMZ
control de acceso (ACL) en routers y 7.2. PROXY
cortafuegos. 7.2.1 Tipos, características y funciones
5. Comprender la importancia y aprender principales
a configurar servidores y clientes proxy. Práctica 7.5: Configuración de Proxy. Gestión de
caché, log, clientes y filtros web
Criterios de Evaluación
a) Se ha reconocido la necesidad de establecer un plan integral de protección perimetral, especialmente en
sistemas conectados a redes públicas.
b) Se han descrito las características, tipos y funciones de los cortafuegos.
c) Se han clasificado los niveles en los que se realiza el filtrado de tráfico.
d) Se ha planificado la instalación de cortafuegos para limitar los accesos a determinadas zonas de la red.
e) Se han configurado filtros en un cortafuegos a partir de un listado de reglas de filtrado.
f) Se han revisado los registros de sucesos de cortafuegos, para verificar que las reglas se aplican
correctamente.
g) Se han probado distintas opciones para implementar cortafuegos, tanto software como hardware.
h) Se han diagnosticado problemas de conectividad en los clientes provocados por los cortafuegos.
i) Se ha elaborado documentación relativa a la instalación, configuración y uso de cortafuegos.
j) Se han identificado los tipos de proxy, sus características y funciones principales.
k) Se ha instalado y configurado un servidor proxy-caché.
l) Se han configurado los métodos de autenticación en el proxy.
m) Se ha configurado un proxy en modo transparente.
n) Se ha utilizado el servidor proxy para establecer restricciones de acceso web.
o) Se han solucionado problemas de acceso desde los clientes al proxy.
p) Se han realizado pruebas de funcionamiento del proxy, monitorizando su actividad con herramientas
gráficas.
q) Se ha configurado un servidor proxy en modo inverso.
r) Se ha elaborado documentaciónuso de servidores proxy.configuración y uso de servidores proxy.

Necesitan traer los siguientes programas:


 ISA Server.
 Squid (Windows/Linux).

Nota: No se los descarguen en clase, que si no el resto de las aulas no podrán utilizar
internet. Compartan los programas una vez descargados montando en un equipo un
repositorio con los programas utilizados en cada tema.

Página 1
IES Siete Palmas – Seguridad y alta disponibilidad Profesor: Efrén León

Índice de contenido
1. Seguridad perimetral......................................................................................................2
2. Cortafuegos. Iptables.....................................................................................................2
3. Práctica 7.1. Script iptables. .........................................................................................7
4. Archivos logs. Práctica 7.2............................................................................................8
5. Cortafuegos Gráfico. Firestarter y fwbuilder.................................................................8
6. Configuración Router-Firewall Linksys. Práctica 7.3...................................................8
7. Configuración de cortafuegos con entorno gráfico. Práctica 7.4..................................8
8. Configuración de proxy. Squid3. Ubuntu. Práctica 7.5.................................................8
9. Proxy transparente. Squid – iptables.............................................................................9
10. Configuración de proxy squid Windows 7/Server.....................................................10
11. Optativo. Saltarse un proxy. Squid – VPN - Control remoto.....................................10
12. Mantenimiento de listas negras (blacklist)................................................................10

Actividades

1. Seguridad perimetral
 Analiza la noticia “Chinos aprenden a evitar el Gran Firewall de internet”,
encontrada en:
http://www.bbc.co.uk/mundo/ciencia_tecnologia/2010/03/100320_china_interne
t_control_censura_firewall_jp.shtml, e indica:
◦ ¿Qué es el gran firewall? ¿Quién controla dicho firewall? ¿Para qué?
◦ ¿Qué tipo de palabras y webs son censuradas? ¿Por qué?
◦ ¿Qué porcentaje y cómo consiguen eludir el gran firewall? ¿Mediante qué
aplicaciones?
◦ Práctica: Instala TOR en Windows/Linux, y realiza una prueba mirando
cual es tu ip pública antes de activarlo y después. Por último comprueba la
navegación. Nota: se puede realizar implementando el plugin en el
navegador del firefox.
¿Qué es el gran firewall? ¿Quién controla dicho firewall? ¿Para qué?

Un firewall es un dispositivo de seguridad de la red que monitoriza el tráfico entrante y


saliente y decide si debe permitir o bloquear un tráfico específico en función de un
conjunto de restricciones de seguridad ya definidas.

El gobierno ha invertido mucho para construir infraestructura para filtrar, controlar y


bloquear sitios web y ver cómo la gente se comunica.

Despliega mucha gente para vigilar y seguir las actividades online de las personas.

¿Qué tipo de palabras y webs son censuradas? ¿Por qué?

Las palabras más censuradas agregadas a la lista negra:


Charter 08 , nombres de líderes políticos y grupos religiosos prohibidos.

Página 2
IES Siete Palmas – Seguridad y alta disponibilidad Profesor: Efrén León

Según las autoridades esto es debido a leyes locales y regulaciones.

¿Qué porcentaje y cómo consiguen eludir el gran firewall? ¿Mediante qué


aplicaciones?

Un 20% son los que consiguen eludir el gran firewall, esto lo consiguen con la
disponibilidad del software libre, de código abierto, y peer-to-peer (P2P, red de pares),
como Tor.

2. Cortafuegos. Iptables
 Para empezar a utilizar iptables primero debes entender como funciona. Estudia
la documentación del libro y después el pdf “Documentacion de iptables”. Es
muy importante que entiendas cuando se procesan las reglas, y eso está
resumido en la imagen del capítulo.
 MUY IMPORTANTE. Cuidado con el orden en el cual disponemos las reglas.
IPTABLES LEE DE MANERA SECUENCIAL LAS CADENAS DE REGLAS.
Es decir, comienza por la primera y verifica que se cumpla la condición y la ejecuta sin
verificar las siguientes.
Por consiguiente, si la primera regla en la tabla filter de la cadena input es rechazar
cualquier paquete, las siguientes reglas no serán verificadas, y se rechazará cualquier
paquete.
 Lista las reglas de todas las cadenas de la tabla por defecto (no debe aparecer
ninguna regla).

Página 3
IES Siete Palmas – Seguridad y alta disponibilidad Profesor: Efrén León

$ sudo su
$ iptables -L

 Un caso sencillo: filtrar el tráfico icmp de una dirección ip.


Para el ejemplo vamos a filtrar todo el tráfico icmp (ping) proveniente de la interfaz
“loopback” (127.0.0.1), de tal manera que sea descartada
 Primero comprobamos que funciona
$ ping -c 1 127.0.0.1

 Activamos el filtro y lo probamos:


$ iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP
$ ping -c 1 127.0.0.1

 Lista las reglas de la cadena INPUT de la tabla filter. ¿Qué significa que sea una
regla INPUT?
$ iptables --t filter -L INPUT --line-numbers
Nota: ¿Qué significa cada una de las columnas?
 Para borrar la regla dos opciones:
$ iptables -D INPUT -s 127.0.0.1 -p icmp -j DROP
$ iptables -D INPUT 1

 Borra todas las reglas de todas las cadenas de la tabla filter.


$ iptables --t filter -F

 Cambia la política por defecto para la cadena FORWARD de la tabla filter. ¿Para
qué servía la cadena FORWARD?
$ iptables --t filter -P FORWARD DROP

 Guardar la configuración de nuestras iptables en un archivo.


$ iptables-save > tunombre.iptables.up
$ cat tunombre.iptables.up

 Restaurar la configuración de nuestras iptables de un archivo. Primero hacemos


un cambio, y después restauramos.
$ iptables --t filter -P FORWARD ACCEPT

Página 4
IES Siete Palmas – Seguridad y alta disponibilidad Profesor: Efrén León

$ iptables -L → observa el cambio


$ iptables-restore < tunombre.iptables.up
$ iptables -L

 Volvemos a poner las políticas como el principio.


$ iptables --t filter -P FORWARD ACCEPT

Pasos en la configuración de algunas reglas de cortafuegos para nuestro servidor


Web, y para nuestro servidor TELNET:
 Configura en un equipo con IP 172.31.22.98 un servidor TELNET y un servidor
Web con tres hosts virtuales en los puertos 8080, 8081 y 8082. Captura las
pruebas de que está funcionando.
Nota: Previamente tendrán que seguir los pasos de la “Actividad_41_-
_Servidor_Apache_php_mysql_Linux.pdf”, la parte de VirtualHost por puertos.
(puntos 15,16,17). La actividad 41 está hecha para Centos (Red Hat), pero funciona
igualmente para Ubuntu, a continuación explico como repase para Ubuntu.
 Punto 15. Creación de la estructura.
# mkdir /var/www/efren
# mkdir /var/www/efren/efrenleon
# mkdir /var/www/efren/efren
# mkdir /var/www/efren/leon
# echo "<html><body> La pagina web de efrenleon.com </body> </html>" >
/var/www/efren/efrenleon/index.html
# echo "<html><body> La pagina web de efren.com </body> </html>" >
/var/www/efren/efren/index.html
# echo "<html><body> La pagina web de leon.com </body> </html>" >
/var/www/efren/leon/index.html
# chmod 755 -R /var/www/efren/

  Punto 16.
Virtual Host por puertos.

Comprobamos que los puertos estén libres:

OK en el puerto 80 está el apache y los otros están libres.


# cd /etc/apache2/sites-available/
# touch efrenleon.com efren.com leon.com

Página 5
IES Siete Palmas – Seguridad y alta disponibilidad Profesor: Efrén León

# cat efrenleon.com
Listen 8080
<VirtualHost *:8080>
ServerAdmin root@efrenleon.com
DocumentRoot /var/www/efren/efrenleon/
ServerName www.efrenleon.com
ErrorLog /var/log/apache2/www.efrenleon.com-error_log
CustomLog /var/log/apache2/www.efrenleon.com-access_log common
</VirtualHost>

# cat efren.com
Listen 8081
<VirtualHost *:8081>
ServerAdmin root@efren.com
DocumentRoot /var/www/efren/efren/
ServerName www.efren.com
ErrorLog /var/log/apache2/www.efren.com-error_log
CustomLog /var/log/apache2/www.efren.com-access_log common
</VirtualHost>

#cat leon.com
Listen 8082
<VirtualHost *:8082>
ServerAdmin root@leon.com
DocumentRoot /var/www/efren/leon/
ServerName www.leon.com
ErrorLog /var/log/apache2/www.leon.com-error_log
CustomLog /var/log/apache2/www.leon.com-access_log common
</VirtualHost>

Activamos los servidores virtuales (para desactivarlos hay que utilizar el


comando a2dissite).
# a2ensite efren.com leon.com efrenleon.com
Enabling site efren.com.
Enabling site leon.com.
Enabling site efrenleon.com.

Reiniciamos apache
# service apache2 restart

 Punto 17. Pruebas.

Página 6
IES Siete Palmas – Seguridad y alta disponibilidad Profesor: Efrén León

 Utiliza el comando nmap para averiguar los puertos abiertos en tu servidor desde
cualquier otro equipo. Nota: si no aparece escuchando los puertos 8080, 8081 y
8082 no continúes hasta arreglar y poner bien el virtual host por puertos.
$ nmap 172.31.22.98

 Añade la siguiente regla para que no llegue absolutamente ningún paquete a


nuestro equipo desde el equipo con dirección IP 172.31.22.200 (pon la ip del
equipo desde el que vas a realizar la prueba).
$ iptables -A INPUT -s 172.31.22.200 -j DROP
$ iptables -L --line-numbers

¿Puedes hacer un ping desde otro equipo con otra IP?


¿Y acceder desde un navegador al servidor Web?
¿Puedes interpretar el significado del listado de la tabla filter ahora?
¿Qué es lo que cambia si en vez de DROP pones REJECT?

 En el paso anterior impedías toda comunicación con el host. Borra primero la


regla anterior y prueba luego a evitar sólo la comunicación web con uno de los
tres hosts virtuales de tu servidor.
$ iptables -t filter -D INPUT 1
$ iptables -A INPUT -s 172.31.22.200 -p tcp --destination-port 8080 -j DROP
$ iptables -L --line-numbers

 Introduce una nueva regla para evitar que el host 172.31.22.200 se contacte a
través de ssh con tu equipo.
$ iptables -I INPUT -s 172.31.22.200 -p tcp --dport 22 -j REJECT
$ iptables -L --line-numbers

 Busca en el archivo /etc/services a qué servicio corresponde el puerto tcp 22.


¿Qué diferencia encuentras entre utilizar la acción DROP y la acción REJECT?
¿Qué diferencia existe entre utilizar el comando -A y el comando -I? ¿Y para
qué utilizaríamos la opción -R?
Nota: Recuerda que el orden en el que tienes puesto las reglas es importante.

Página 7
IES Siete Palmas – Seguridad y alta disponibilidad Profesor: Efrén León

$ cat /etc/services | grep 22

 Has que sólo el equipo host 172.31.22.200 pueda hacer un ping a tu equipo.
Comprueba que funciona haciendo los ping correspondientes
$ iptables -A INPUT ! -s 172.31.22.200 -p icmp -j DROP
$ iptables -L --line-numbers

¿Qué indica “!”?

 Borra todas las reglas de todas las cadenas de la tabla filter.


$ iptables --t filter -F

 Supón que quieres que el equipo 172.31.22.200 no pueda hacerte ping, pero que
tú si puedas hacerle ping a él. Puede “que se te ocurra” lo siguiente:
$ iptables -A INPUT -s 172.31.22.200 -p icmp -j DROP
$ iptables -L --line-numbers
Sin embargo, pronto te darás cuenta, que no funciona porque un ping implica un
paquete de ida o echo-request y un paquete de vuelta o echo-replay, y al hacer DROP
de todos los paquetes icmp estamos descartando la comunicación en ambos sentidos.
Por tanto, interesa descartar que el equipo 172.31.22.200 pueda hacer un echo-request a
nuestro equipo, pero que sí pueda enviarnos un paquete de echo-replay como respuesta.
Por ello, debes reemplazar la línea anterior por:
$iptables -R INPUT 1 -s 172.31.22.200 -p icmp --icmp-type echo-request
-j DROP

3. Práctica 7.1. Script iptables.


 Una vez explicado iptables realizar la actividad propuesta, intenta entender el
script, también puedes escoger otros como los que se explican en esta página y
adaptarlos a tus reglas: http://www.pello.info/filez/firewall/iptables.html
 Tienes que hacer, basándote en los ejemplos, tu propio script de iptables,
explicando que quieres realizar.
 También tienes que decir los pasos a seguir para que el script se ejecute al
reiniciar el sistema.

Página 8
IES Siete Palmas – Seguridad y alta disponibilidad Profesor: Efrén León

4. Archivos logs. Práctica 7.2.


 Realiza la actividad propuesta, y visualización de un mensaje de error, para lo
cual tendrás que realizar alguna prueba.

5. Cortafuegos Gráfico. Firestarter y fwbuilder.


 Instala uno o dos de los siguientes cortafuegos gráficos para ubuntu:
 Un cortafuegos gráfico decente para Linux es Firestarter. Instálalo y realiza
alguna prueba (iptables -L también).
http://dmolinap.blogspot.com/2008/09/administracin-del-firewall-con.html
 Otro cortafuegos gráfico (más que cortafuegos compilador) es fwbuilder (si
quieres puedes instalar otro que te guste más).
http://www.fwbuilder.org/4.0/quick_start_guide.html
http://www.securitybydefault.com/2011/09/firewall-builder-la-gui-para-tu.html

6. Configuración Router-Firewall Linksys. Práctica 7.3.


 Realiza una captura del cortafuegos integrado en un Router. Puedes utilizar tu
router o si quieres el router Linksys que tenemos en el instituto.
 Tienes que explicar con palabras la captura realizada, explicando que estás
filtrando en tu cortafuegos.

7. Configuración de cortafuegos con entorno gráfico. Práctica 7.4.


 Realiza la actividad con uno de los programas propuestos en el libro o similar.
 Se recomienda utilizar el Kerio, porque este programa se utilizará en el próximo
tema para balanceo de carga.

8. Configuración de proxy. Squid3. Ubuntu. Práctica 7.5.


 Realizar la práctica según el pdf del moodle “Proxy_squid.pdf”. Tienes que
realizar lo siguiente:
◦ Instalación del proxy squid y puesto para que inicie con el sistema.
◦ Creación las siguientes reglas acl (el orden no importa):
▪ acl “src” para direcciones de red/ip.
▪ acl “url_regex” para filtrar por palabras o por extensiones.

Página 9
IES Siete Palmas – Seguridad y alta disponibilidad Profesor: Efrén León

▪ acl “dstdomain” para filtrar por dominios.


▪ acl “port” para filtrar por puertos.
▪ acl “time” para filtrar por horarios.
◦ Aplicación de las reglas con los http_access allow y deny. Nota: es
recomendable para evitar errores hacer uno, probar, hacer otro, probar, y así
sucesivamente.
◦ Modificación de otros parámetros del squid como “cache_mgr”,
“maximum_object_size_in_memory”.
◦ Valida el squid cuando termines con “sudo squid3 -k parse” y si tienes
errores y no inicia comprueba “”sudo less /var/log/squid3/cache.log.
◦ También es obligatorio instalar Sarg para ver los informes de squid.
◦ Optativo es poner la autenticación de usuarios en squid.
◦ Como ampliación se propone probar el control del ancho de banda con los
delay pools.
 Si quieres puedes echarle un vistazo a la “IYN Actividad_16_-
_Proxy_Squid.pdf” que está resuelta.

9. Proxy transparente. Squid – iptables.


 Lee la documentación del libro, y utilizando iptables monta el proxy
transparente, de forma que los usuarios utilizan el puerto 80, y creen que están
conectándose directamente a internet, pero nosotros los estamos redirigiendo por
el proxy en el puerto 3128.
 Para probarlo, si solo tienes una tarjeta de red, tienes que poner el proxy en el
puerto 80 en vez del 3128, y meterte en una página que esté filtrada y en otra
quye no.
 Pero para que sea efectivo este paso, lo ideal es realizar la siguiente prueba:
◦ Necesitas dos tarjetas de red, si estás en máquina real puedes utilizar la WIFI
y la cableada, si estás en máquina virtual añade dos tarjetas de red.
◦ La interfaz externa estará en la misma red que la ADSL, y la interfaz interna
estará en otra red interna (la que quieras privada, menos la red donde está la
adsl).
◦ Ahora habilita el enrutamiento (forward) para que enrute entre las dos
tarjetas, y lo pones para que se cargue de inicio con el sistema.
◦ Habilitas la regla iptables del libro para poner el proxy transparente.
◦ Ahora desde otro pc o máquina virtual realizaremos lo siguiente:
▪ IP estará en la misma red que la interfaz interna del servidor.
▪ La puerta de enlace será la interfaz interna del servidor y configuramos
también el DNS.

Página
10
IES Siete Palmas – Seguridad y alta disponibilidad Profesor: Efrén León

▪ Probamos salir a internet sin proxy y si se ha realizado bien prueba entrar


en una página filtrada y aparecerá denegada, y prueba a entrar en una
página no filtrada y sí se podrá entrar.

10. Configuración de proxy squid Windows 7/Server.


 Instalar el proxy squid en Windows, para ellos se puede seguir la actividad
“IYN_Actividad_16_-_Proxy_Squid_Windows.pdf”. Nota es similar al paso 9
pero en Windows. No hace falta que hagas todas las reglas de nuevo, solo
instalarlo y configurarlo básicamente para las pruebas.
 Nota: también se deja como opcional utilizar otros servidores proxy como
Wingate (propuesto por el libro) o el que propongas (el que viene en Windows
Server, ISA server, etc.).

11. Optativo. Saltarse un proxy. Squid – VPN - Control remoto.


 Combina los tres programas para saltarte un proxy local. Pasos a realizar
 Proxy funcionando correctamente en el equipo de tu casa, y tener alguna regla
que permita todas las conexiones al proxy (si no ver apartado 5)
 VPN desde aquí a tu casa funcionando con hamachi, tendrás que mirar cual es
dirección de red privada y permitirla en el proxy, y lo único que tendrás que
hacer será en la dirección del proxy del navegador poner la ip que le asigna el
hamachi al equipo de tu casa en el puerto 3128
 Usar el Team Viewer para resolver problemas en el equipo de tu casa desde el
instituto. Un problema puede ser que habrá que abrir el puerto 3128

12. Mantenimiento de listas negras (blacklist).


 La configuración y mantenimiento de listas negras (blacklist) de sitios web que
queremos restringir en nuestra organización puede llegar a ser una tarea tediosa.
Para ello es posible descargar archivos de sitios web poco recomendables o que
pertenecen a listas negras de sitios web de confianza y añadirlos a la
configuración de nuestro proxy Squid. Puedes encontrar archivos con listas
negras en sitios web como http://urlblacklist.com
 Busca en internet páginas que te ofrezcan listas negras para squid.

Página
11
IES Siete Palmas – Seguridad y alta disponibilidad Profesor: Efrén León

Página
12

Potrebbero piacerti anche