firewall iptables
DESCRIPTION
ffTRANSCRIPT
Redes de computadoras IIIV CicloLaboratorio No 12
Implementacin y Configuracin del Servicio Firewall en Linux
Pg. 16Gua de LaboratorioGua de LaboratorioPg. 17Servicio Firewall en Linux
Objetivos:
Al finalizar el laboratorio el estudiante ser capaz de:Instalar y configurar un firewall en Linux.Controlar el acceso a determinados servicios de red.Publicar servidores de la red interna.Integrar el servicio Proxy con el servicio Firewall.
Introduccin:
Este laboratorio permitir comprobar el funcionamiento de IPTables y su implementacin en un entorno Linux.
Preparacin:
El alumno debe haber revisado, con anterioridad, el material del curso sobre los temas que se tratar en este laboratorio.
Durante el desarrollo de los temas de clase se realizarn ejercicios explicativos en cada uno de los puntos, ello le dar a la sesin una interaccin de la teora y la parte prctica, permitiendo al alumno comprobar todos los tems del manual en su computadora.
Seguridad:
Ubicar maletines y/o mochilas en el gabinete al final de aula de Laboratorio o en los casilleros asignados al estudiante.No ingresar con lquidos, ni comida al aula de Laboratorio.Al culminar la sesin de laboratorio apagar correctamente la computadora y el monitor; y ordenar las sillas utilizadas.
Equipos y materiales:
Dos computadoras con Windows 7 (clientes).Dos computadoras con Centos 6.3. o superior.Las computadoras deben de estar conectas a la red del laboratorio.
Procedimiento y Resultados:
PREPARACIN DE LAS MQUINAS VIRTUALES Y CONECTIVIDAD
Debido a que se va a realizar el manejo de varias mquinas virtuales es recomendable estructurar los nombres de los directorios de descompresin de las mquinas virtuales y la asignacin de etiquetas para evitar confusin.
1. Se realizar la siguiente estructura de directorios con mquinas virtuales.
No active la mquina virtual, indicaremos en la seccin los pasos previos
2. Se abrirn 4 mquinas virtuales en el mismo entorno del VMware, colocndoles las etiquetas respectivas (ClienteE, ClienteI, SA, FW).
3. Configurar los parmetros de conectividad apropiados en cada Mquina Virtual.
CONFIGURACIN DEL FIREWALL
El Firewall debe de configurarse primeramente el nivel RED. Agregando la tarjeta de Red Fsica y los parmetros de RED.
4. Se agregar una tarjeta en el (FW):
Como se observa en el diagrama de RED el (FW) debe tener 2 tarjetas de RED: (uno en host only y otra en bridge)
5. Se activar la MV. Representa a (eth0)Representa a (eth1)
6. En el (FW) configurar los parmetros de conectividad:
Proceda a eliminar (resolv.conf, network, ifcfg-eth0, ifcfg-eth1) y luego a generarlos con el comando (touch).
Editando los archivos de red:
ifcfg-eth0ifcfg-eth1
DEVICE=eth0ONBOOT=yesBOOTPROTO=staticIPADDR=192.168.11.113NETMASK=255.255.255.0DEVICE=eth1ONBOOT=yesBOOTPROTO=staticIPADDR=192.11.20.1NETMASK=255.255.255.0
network
resolv.conf
nameserver 192.168.65.43
NETWORKING=yesHOSTNAME=localhost.localdomainGATEWAY=192.168.11.1
7. En el (FW) cambiar enforcing por disabled para quitar permisos: # vi etc/selinux/config
8. En el (FW) se realizar el Forwardeo:sysctl.conf
Activando el FORWARD
*Ubique la lnea y cambie el valor de (0) a (1)
Reiniciar:# init 6
9. Realizaremos diversas pruebas para garantizar la conectividad:
En el (FW) comprobar que tenga acceso a Internet: http://www.tecsup.edu.pe
Navegacin
En el (SA,UI) comprobar que tenga conectividad al FIREWALL, enviando ping:PING 192.11.20.1No tendr acceso a Internet aun. Falta polticas . ms adelante lo configuraremos
PING 192.168.11.113
En el (ClienteE) Comprobar que tenga conectividad al FIREWALL y acceso a INTERNET http://www.tecsup.edu.pe:
Navegacin
PING 192.168.11.113
Entregable 1:Capture las pantallas donde se muestre la Conectividad entre los clientes y los 2 servidores Linux y tambin los accesos externos.
CREACIN DE POLTICAS
Las polticas controlaran el trfico de entrada y salida. El software IPTABLES implementa la capacidad de Firewall en Linux. Iptables es parte del Sistema Operativo, est integrado en el Kernel. Todo Linux lo incorpora. No necesita instalar
10. En el (FW) se verificar la existencia del programa.iptables
Info: http://www.netfilter.org/
11. En el (FW) se generar el archivo de polticas:
La configuracin est basada en comandos que pueden ejecutarse en consola que al reiniciar se perdern. Se recomienda que registremos las polticas en un archivo para luego ejecutarlos. Generaremos un archivo.# touch poli.sh
Para darle el permiso de ejecucin:Realizaremos el proceso en varios PASOS que ira cumpliendo determinada accin. Sigamos estos pasos# chmod +x poli.sh
PASO 1 (LIMPIEZA, PREDETERMINAR) En el (FW) agregar polticas:poli.sh Se ha separado por bloques solo por didctica.Respete las maysculas y minsculas
Para escribir algn comentario usamos el smbolo (#)
LIMPIEZA#LOCALiptables F INPUTiptables F OUTPUTiptables F FORWARD
#NATiptables t nat -F PREROUTINGiptables -t nat -F POSTROUTINGiptables -t nat -F OUTPUT
Limpiando todos los bloques que borrara configuraciones anteriores
(F) Parmetro de limpieza
PREDETERMINAR#LOCALiptables P INPUT ACCEPTiptables P OUTPUT ACCEPTiptables P FORWARD ACCEPT
# NATiptables t nat -P PREROUTING ACCEPTiptables -t nat -P POSTROUTING ACCEPTiptables -t nat -P OUTPUT ACCEPT
Accin predeterminada en ACCEPT
Con la accin de limpieza no borra la accin predeterminada. Predeterminaremos la accin de ACCEPT(P) Parmetro de predeterminar
Aplicando la politica:# sh poli.sh No deber de obtener ningn mensaje de error, de lo contrario revise
Visualizando listado: Observamos que los bloques estn predeterminados en ACCEPT y no hay polticas
# iptables t nat -L# iptables -L
BLOQUES
Relacin de polticas
Accin predeterminada
Entregable 2:Capture las pantallas donde se muestra el resultado de los listados.
En el (ClienteI) compruebe que no puede an acceder a INTERNET. Hasta ahora hemos avanzado limpiando las tablas:Navegacin
nowww.cisco.com
PASO 2 (ENMASCARAMIENTO) En el (FW) se configurar para que la red (inside) pueda acceder a Internet pero con libre acceso: Agregar al final del archivopoli.sh
ENMASCARAMIENTO
#ENMASCARAMIENTOiptables t nat A POSTROUTING s 192.11.20.0/255.255.255.0 j MASQUERADE
Accin que enmascara el trafico de la Red Inside con la IP publica del Firewall (192.168.11.113) cuando accedan a Internet
La Red INSIDE
Mascara de la Red INSIDE
Aplique la politica:# _______________
En el (ClienteI) compruebe que s puede acceder a INTERNET. Navegacin
SI
www.cisco.com
Entregable 3:Capture la pantalla donde se muestra el acceso a Internet, debe mostrarse que esta accin se realiza desde el cliente ClienteI.
PASO 3 (BLOQUEO DEL FIREWALL)
En el (FW) se va a bloquear toda conexin hacia el Firewall:
Agregar al final del archivopoli.sh
BLOQUEO FIREWALL
#BLOQUEO FIREWALLiptables P INPUT DROP
Predeterminando la poltica
Accin de bloqueo
Aplique la politica# sh poli.sh
Comprobando la aplicacin de la poltica: Navegacinwww.cisco.com
SI
no
no
ping al firewall 192.11.20.1
ping al firewall 192.168.11.113
Entregable 4:Capture las pantallas donde se muestra que desde ningn cliente ClienteI y ClienteE no tienen acceso al Firewall, debe mostrarse que esta accin se realiza desde cada cliente.
PASO 4 (PERMITIENDO TRAFICO LOCALHOST) En el (FW) se permitir la conexin local del Firewall:poli.sh
Agregar al final del archivo
PERMITIR LOCALHOST
#PERMITIR LOCALHOSTiptables A INPUT i lo -j ACCEPT
La ip 127.0.0.1 es conocida como local host en forma abreviada (lo)
Indicar interface
Aplique la politicaVarios procesos de Linux necesitan conectarse localmente, por eso es necesario habilitar el localhost
En el (FW) compruebe que s puede acceder localmente:
SI
ping127.0.0.1
Entregable 5:Capture la pantalla donde se comprueba la conectividad localmente al Firewall.
PASO 5 (BLOQUEAR TRAFICO DE SALIDA) En el (FW) se bloquear el trfico de acceso a Internet:
poli.sh Agregar al final del archivo
BLOQUEAR
#BLOQUEAR TRAFICOiptables t nat P PREROUTING DROP
Predeterminado bloque
Aplique la politica
Comprobando la aplicacin de la poltica: Navegacinwww.cisco.com
no
Entregable 6:Capture la pantalla donde se muestra la negacin del acceso a Internet, debe mostrarse que esta accin se realiza desde el cliente UI.
PASO 6 (PERMITIR DNS) En el (FW) permitir el trfico DNS:Parmetro de protocolo de transporte
Agregar al final del archivo
poli.sh
PERMISO DNS
Origen de la conexin
Nota: Estamos indicando la RED
#PERMITIR DNSiptables t nat A PREROUTING p _____s 192.11.20.0/255.255.255.0 --sport 1024:65535d any/0 --dport ___ j ACCEPT
Lnea continua
Destino de la conexin
Nota: Cualquier red es representada por (any/0) e Internet est incluida en esta red.
Puerto destino de la conexin
Nota: El puerto del DNS es (___)Puerto de origen de la conexin
Nota: Cuando un cliente solicita una conexin usa un puerto aleatorio en el rango de 1024:65535.
Aplique la politica
Comprobando la aplicacin de la poltica: SI
Hemos permitido resolucin, nicamente pruebe conectarse a una pgina WEB comprobara que no accede.
> _____ www.intel.com
Comprobando, est resolviendo. Resolvera pero no responder el PING porque esta bloqueado solo se habilito DNS
Entregable 7:Capture la pantalla donde se muestra la negacin del acceso a Internet, y la resolucin del nombre.
PASO 7 (PERMITIR HTTP) En el (FW) se permitir trfico http:Parmetro de protocolo de transporte
Agregar al final del archivo
poli.sh
PERMISO DNS
#PERMITIR WEBiptables t nat A PREROUTING p tcps 192.11.20.0/255.255.255.0 --sport 1024:65535d any/0 --dport 80 j ACCEPT
Aplique la politica
Comprobando la aplicacin de la poltica: Navegacinwww.cisco.com
Tome como referencia el patrn que hemos aplicado para permitir otros Servicios, segn la necesidad.SI
Entregable 8:Capture la pantalla donde se muestra el acceso a Internet, y se note el ingreso desde el cliente UI.
PASO 8 (PERMITIR WEB SEGURAS HTTPS)Realice la aplicacin de este paso en forma de ejercicio complete los valores en la tabla y compruebe el acceso.
Ingrese a www.viabcp.com Ingresa a tus cuentas Puede ingresar? Si o No Por qu? ______________________________________________________________________________________________________
En el (FW) se permitir el trfico https: Agregar al final del archivo
poli.sh
PERMISO HTTPS
#PERMITIR WEB SEGURA__________________________________________________________________
__________________________________________________________________
Aplique la politica
Comprobando la aplicacin de la poltica, en el (ClienteI): Accediendo a pgina WEB HTTP
13
Ingresando a seccin segura donde usa HTTPS
23
Pgina WEB Segura accedida
Bloquear el acceso al juego DOTA en lnea. (escribir la regla)___________________________________________________________________________
___________________________________________________________________________
Entregable 9:Capture la pantalla donde se muestra el acceso a Internet (https), y el bloqueo al dota en lnea, se note el ingreso desde el cliente UI.
NATEO
El acceso desde el exterior hacia la red Interna se establece con la propiedad de NAT. El NAT aplicado en el Firewall redireccionar las peticiones del lado pblico (OUTSIDE)al lado privado (INSIDE).
Informacin de referencia, que en los siguientes pasos se configurara
SERVIDOR WEB
El diagrama muestra el objetivo, donde el usuario externo al solicitar una conexin WEB a la ip publica el Firewall, va el NAT lo llevara a la IP PRIVADA del Servidor WEB. Sigamos ya falta poco
8080
IP PBLICA192.168.11.113
NATIP PRIVADA192.11.20.5
12. En el (SA) se configurar la Pgina de Inicio:
index.htmlEl archivo no existe
Pgina WEB de [Apellido][Nombre]
Reiniciando el servicio de WEB:# ________________________
Se comprobar el acceso local:
Acceso al WEBhttp://192.11.20.5
80
IP PRIVADA192.11.20.5
Entregable 10:Capture la pantalla donde se muestra el acceso a al servicio Web y se note que se est realizando desde el ClienteI.
13. Asignacin de IP pblica:
El FIREWALL asume la representacin de las IP Pblicas de los Servicios. En la tarjeta de red pblica del FIREWALL agregaremos la IP Pblica del Servidor WEB.
En el (FW) se agregar una IP adicional:
El archivo no existeifcfg-eth0:0
DEVICE=eth0:0ONBOOT=yesBOOTPROTO=staticIPADDR=192.168.11.116NETMASK=255.255.255.0
Reiniciando el servicio de Red:# ___________________________
PASO 9 (PERMITIR ACCESO AL SERVIDOR) En el (FW) permitir el acceso al servicio Web desde la Red externa:
poli.sh Agregar al final del archivoACCESO WEB PRIVADO
Accin de traslacin (DNAT)
Puerto trasladado
IP a trasladar
#NAT SERVICIO WEBiptables t nat A PREROUTING p tcpd 192.168.11.116 --dport 80 j DNAT-to 192.11.20.5:80
IP trasladada
Puerto a trasladar
Aplique la politica
Comprobando la aplicacin de la poltica: Navegacinhttp://192.168.11.117
NAT
IP PBLICA192.168.11.117IP PRIVADA192.11.20.5
Entregable 11:Capture la pantalla donde se muestra el acceso a al servicio Web (dentro de nuestra red) desde el cliente externo pasando por el Firewall.
PASO 10 (PERMITIR QUE EL SERVIDOR SALGA CON SU IP)En situaciones que el Servidor realice conexin a Internet se recomienda que salga con su direccin IP asignada. La opcin ENMASCARAMIENTO ocasiona que todas las conexiones de salida salgan con la primera IP del FIREWALL, para asignar otra IP de Salida se usa la opcin SNAT.
En el (FW) se realizar el proceso para que el Servidor Web salga con su direccin Pblica:Accin de traslacin (DNAT)
poli.shIP a trasladar
Agregar antes de la poltica de enmascaramiento (MASQUERADE)
TRASLADO
#NAT SERVICIO WEBiptables t nat A POSTROUTING s 192.11.20.5 o eth0 j SNAT -to 192.168.11.116
Interface pblica
IP publica trasladada
Aplique la politica
Comprobando la aplicacin de la poltica:
Navegacinhttp://www.cisco.com
SNAT
IP PRIVADA192.11.20.5IP PBLICA192.168.11.117
Entregable 12:Capture la pantalla donde se muestra el acceso del servicio Web hacia el exterior, pasando por el Firewall.
ACTIVACION DE POLITICAS PERMANENTE
El archivo de polticas es un SCRIPT, para que se ejecute siempre al reiniciar, indicaremos la accin en el archivo de inicio (rc.local)
14. En el (FW) se invocar al script:
Agregar al final del archivo
rc.local
/root/poli.sh
Directorio donde se encuentra el script de polticas
Reiniciar.# ______________________________
Comprobar que las POLITICAS estan activas. Cmo realizara esta comprobacin?.
PROXY TRANSPARENTE
La integracin del PROXY en el FIREWALL permitir el control del contenido de pginas WEB lo que no puede hacer el FIREWALL.
15. En el (FW) se comprobar la existencia del paquete: ________________
16. En el (FW) se realizar la configuracin: Instalar el servicio Squid. Borrar el archivo de configuracin /etc/squid/squid.conf Crear un nuevo archivo squid.conf con el siguiente contenido:
Personalizando un nuevo archivo :Opcin que habilita al Proxy para soportar el modo transparente
squid.conf
IDENTIFICACION
http_port 8080 transparentvisible_hostname 192.11.20.1
CACHE
cache_dir ufs /var/spool/squid 100 16 256cache_access_log /var/log/squid/access.logcache_log /var/log/squid/cache.logcache_store_log nonelogfile_rotate 9
POLITICAS
acl all src 0.0.0.0/0.0.0.0acl redlocal src 192.11.20.0/255.255.255.0
ACCION
http_access allow redlocalhttp_access deny all
Archivo de configuracin preparado
17. En el (FW) se generar la Cach:La letra (z) en minsculas
Mensaje que confirma la generacin de la cache
Nota: Si obtiene error revise el archivo de configuracin (squid.conf)
# squid -z
18. En el (FW) se activar el servicio:
Activando SQUID:# chkconfig squid on
# service squid restart
19. Se configurarn las polticas.Para realizar las pruebas del Proxy Transparente y evitar percances de bloqueos del FIREWALL, en un primer momento el archivo de poltica tendr libre acceso. Luego lo limitaremos.
En el (FW) se configurar: Solo debe mostrar este contenido, lo dems comentar
poli.sh
LIMPIEZA#LOCALiptables F INPUTiptables F OUTPUTiptables F FORWARD
#NATiptables t nat -F PREROUTINGiptables -t nat -F POSTROUTINGiptables -t nat -F OUTPUT
PREDETERMINAR#LOCALiptables P INPUT ACCEPTiptables P OUTPUT ACCEPTiptables P FORWARD ACCEPT
# NATiptables t nat -P PREROUTING ACCEPTiptables -t nat -P POSTROUTING ACCEPTiptables -t nat -P OUTPUT ACCEPT
ENMASCARAMIENTO#ENMASCARAMIENTOiptables t nat A POSTROUTING s 192.11.20.0/255.255.255.0 j MASQUERADE
REDIRECCIONAMIENTO#REDIRECCIONARiptables t nat A PREROUTING i eth1 p tcp -dport 80 j REDIRECT -to-port 8080
Puerto destino de la conexin a redireccionar
Accin que captura la conexin y lo redirecciona localmente
Puerto local del FIREWALL que recibe la conexin
Nota: En el puerto 8080 est esperando el PROXYInterface de entrada de la conexin
Aplique la politica
En el (FW) se realizar un monitoreo para poder visualizar la actividad: Mantener esta consola, no cerrarla al visitar pginas WEB ms adelante, visualizara actividad.
# tail f /var/log/squid/access.log
20. En el (ClienteI) se acceder en forma transparente:
Desactive cualquier configuracin del PROXY del navegador:
Visite pginas WEB:
21. En el (FW) en la ventana de monitoreo del los eventos del PROXY, chequear:
Entregable 13:Capture la pantalla donde se muestra el evento generado por el ingreso a travs del proxy transparente.
Gua de LaboratorioPg. 1