Práctica 5. Firewall y OpenVPN

Documentos relacionados
INGENIERÍA EN SISTEMAS Y TELECOMUNICACIONES ÉNFASIS EN ADMINISTRACIÓN DE REDES

EJERCICIOS DE REDES. 1. Configurar por completo la red mostrada en el siguiente diagrama:

Ejercicios de Seguridad en Redes. Firewalls y túneles cifrados

Ejercicios de Seguridad en Redes. Firewalls y túneles cifrados

PARTE IV. Uso de shorewall. Shorewall Configuración de Shorewall

Cortafuegos (Firewalls) en Linux con iptables

Ejercicios de Seguridad en Redes. Firewalls y túneles cifrados

Iptables: un cortafuegos TCP/IP

En el anterior post había explicado que es necesario en un firewall primero denegar todo tráfico entrante, para ello:

Zonas desmilitarizadas y redes privadas virtuales

Firewall en GNU/Linux netfilter/iptables

Cortafuegos y Linux. Iptables

8. Cortafuegos (Firewall).

Iptables, herramienta para controlar el tráfico de un servidor

Firewall en Linux. Luis Eduardo Vivero Peña. Director Centro de Difusión del Software Libre Ingeniero de Proyectos Corporación Linux

UNIDAD DIDACTICA 12 CONFIGURACIÓN DE IPTABLES EN GNU/LINUX

66.69 Criptografía y Seguridad Informática FIREWALL

IPTABLES. Esta es una herramienta que permite configurar las reglas del sistema de filtrado de paquetes del kernel de Linux, desde su versión 2.4.

IPTables. Roberto Gómez Cárdenas Netfilter/IPTables

Gestión de Recursos y Seguridad en Redes Seguridad en la red con Open Source. Derman Zepeda Vega. dzepeda@unan.edu.ni

Ejemplos iptables. Planificación y gestión de redes de ordenadores. Departamento de Sistemas Telemáticos y Computación (GSyC) Noviembre de 2012

XARXES 2. Seguretat de Xarxa. Módul 2: Carles Mateu Departament d'informàtica i Enginyeria Industrial Universitat de Lleida

Tema 6. Funciones y protocolos del nivel de red. Ejercicios propuestos (II).

Conozca sobre el funcionamiento de las IPTables Forward. Aprenda como administrar de mejor forma las IPTables en SO GNU/Linux.

SEGURIDAD EN SISTEMAS INFORMÁTICOS

IPTABLES. Gonzalo Alvarez Flores

Guía de Configuración de Firewalls BarbedWire. Elaborada para la SSA en B.C.S. Marco Antonio Castro Liera

P r á c t i c a 1 5. C o n f i g u r a c i ó n d e f i r e w a l l m e d i a n t e i p t a b l e s

Instalación de OPENVPN en LinuxMint

IPTables: Filtrado de paquetes en Linux

Firewalls: iptables. Pablo Suau Pérez (aka Siew) Marzo 2002

Guía de Configuración de Firewalls con Scientific Linux 5.0

Cortafuegos (Firewalls) en Linux con iptables

Curso avanzado de GNU/Linux

VPN. Virtual Private Network. Liliana Castillo Devoto Aldo Lovera Raffo. Ingeniería de Telecomunicaciones - GST

Software de Comunicaciones. Práctica 9 - Filtrado de Paquetes. IPTables y Shorewall

Configuración del firewall en Linux con IPtables

Filtrado de paquetes y NAT

Este firewall trabaja en las cuatro primeras capa del modelo OSI. Los principales comandos de IPtables son los siguientes (argumentos de una orden):

John R. Correa Administrador de Seguridad de la Información.

Apartado: BrutaliXL Versión: 3 Título: Cortafuegos - Iptables Fecha:

Charla de redes. Carlos Hernando ACM Facultad de Informática Universidad Politécnica de Madrid

Prácticas de laboratorio de Telemática II

Concepto de Seguridad de Alto Nivel: A lo largo del curso hemos establecido protecciones en los equipos y en la información que almacenan e

Instalación de shorewall.

Firewalls de Internet. Ricardo D. Pantazis

Taller de SSH (o como ser un BOFH vago)

Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux

Manual de usuario del entorno admin. Iván Roldán

PRÁCTICA 5: USO DE CORTAFUEGOS

Firewall con IPTABLES

Configuración de túneles VPN mediante OpenVPN

Tema: Firewall basado en IPTABLES.

I.E.S Polígono Sur 2º ASIR

Instalación de OPENVPN en Debian

Julio Gómez López Universidad de Almería

Instalar Firewall en Linux Server con Shorewall

Seguridad y Alta Disponibilidad

Contenidos. Introducción. Seguridad y Alta Disponibilidad Instalación y configuración de cortafuegos. Introducción Tipos de cortafuegos.

Instituto Tecnológico Las Américas (ITLA) Sistemas Operativos 3 (SO3) Daniel Alejandro Moreno Martínez. Matrícula:

Seleccionamos aceptar conexiones entrantes

2. Diferencias respecto a IPCHAINS

IPTABLES Manual práctico

Introducción al concepto y puesta en marcha de una pared de fuego utilizando IPTables

How to 16 Firewall. Jesús Betances Página 1

Tema 5. Topologías de red Seguras. Módulo I : Topologías de Red Seguras

Informe Final Experiencia 2 Configuración de Firewall, Router y Gateway

Elastix : Servidor de Comunicaciones Unificadas

Seguridad y Alta Disponibilidad

Antes de empezar a escribir las reglas de filtrado del firewall voy a dar una breve explicación sobre como trabaja iptables actualmente.

Práctica 5: Puesta en marcha de un cortafuegos con IPTABLES Arquitectura de Sistemas y Aplicaciones Distribuidas U.L.P.G.C.

IPTABLES Manual práctico

Examen Parcial II de Sistemas Telemáticos para Medios Audiovisuales

Firewalls Proxys - AntiSpam

Seguridad Informática

Administración de servicios Internet Intranet

Conexión VPN. El proposito de la VPN es unir dos subredes en dos localizacioes, una la red de la oficina y la subred de mi red casera.

Servidor Firewall. Patrick Hernández Cuamatzi. Maestría en Ingeniería de Software Redes Avanzadas

Laboratorio 2 Filtrado de paquetes con Netfilter

Manual de utilización de Proxmox

Linksys WRT54G y DD-WRT - Guía práctica

Seguridad en Sistemas Informáticos Seguridad perimetral. Área de Ingeniería Telemática Dpto. Automática y Computación

Cortafuegos en Linux con iptables

Cortafuegos. Departamento de Sistemas Telemáticos y Computación (GSyC) Abril de GSyC Cortafuegos 1

MODULO IV Control de Acceso y Cortafuegos. Diplomado en Seguridad Informática Cortafuegos 2003 SekureIT, S.A. de C.V. 10.

Enrutamiento y filtrado

Como configurar un Firewall con Shorewall en dos Interfaces de Red con políticas DROP en CentOS y Debian.

Universidad del Azuay

Montaje de una red doméstica

Routers y Firewalls. Seguridad en Redes TCP/IP. Tabla de Contenidos

Parallels Plesk Panel. Módulo de firewall para Parallels Plesk Panel 10 para Linux/Unix. Guía del administrador

Como configurar Firewall (Kaspersky)

Curso de VPN en GNU/Linux (20 horas) Teoría, Guía de prácticas y ejercicios

Enrutado en base a marcas de paquetes. Iproute + Iptables.

Transcripción:

Práctica 5 Firewall y OpenVPN Alexandre Ramilo Conde Pablo Prol Sobrado

Shorewall Se busca configurar las siguientes reglas: 1. Enmascaramiento (SNAT) de la red interna (10.10.10.0/24) y de la DMZ (10.20.20.0/24) 2. Redireccionamiento (DNAT) de los servicios públicos que ofrecerá la red hacia la máquina dentro (10.20.20.22) de la DMZ a. peticiones WEB (http y https) b. tráfico de correo saliente (smtp) y entrante (pop3) 3. Control de tráfico con política ''denegar por defecto'' (DROP) a. desde la red externa sólo se permiten las conexiones hacia la DMZ contempladas en las redirecciones del punto anterior (http, https, smtp, pop3) b. desde la red interna hacia la red externa sólo se permite tráfico de tipo WEB y SSH c. desde la red interna hacia la DMZ sólo se permite tráfico WEB (http, https), e- mail (smtp, pop3) y SSH d. desde la máquina dmz (10.20.20.22) se permiten conexiones MySQL hacia la máquina dentro (10.10.10.11) de la red interna e. se permite la salida a la red externa de las consultas DNS originadas en la red interna f. firewall sólo admite conexiones SSH desde la red interna 4. Registro (log) de intentos de acceso no contemplados desde red externa a firewall3 (193.147.87.47) y a equipos internos con la etiqueta Acceso no autorizado Configuramos shorewall según las instrucciones de la práctica, y chequeamos la configuración de iptables que se ha generado, obteniendo: Chain INPUT (policy DROP) dynamic all -- anywhere anywhere ctstate INVALID,NEW net2fw all -- anywhere anywhere loc2fw all -- anywhere anywhere dmz2fw all -- anywhere anywhere ACCEPT all -- anywhere anywhere `Shorewall:INPUT:REJECT:' Chain FORWARD (policy DROP) dynamic all -- anywhere anywhere ctstate INVALID,NEW

TCPMSS tcp -- anywhere anywhere tcp flags:syn,rst/syn TCPMSS clamp to PMTU net_frwd all -- anywhere anywhere loc_frwd all -- anywhere anywhere dmz_frwd all -- anywhere anywhere `Shorewall:FORWARD:REJECT:' Chain OUTPUT (policy DROP) fw2net all -- anywhere anywhere fw2loc all -- anywhere anywhere fw2dmz all -- anywhere anywhere ACCEPT all -- anywhere anywhere `Shorewall:OUTPUT:REJECT:' Chain Drop (4 references) all -- anywhere anywhere reject tcp -- anywhere anywhere tcp dpt:auth /* Auth */ dropbcast all -- anywhere anywhere ACCEPT icmp -- anywhere anywhere icmp fragmentation-needed /* Needed ICMP types */ ACCEPT icmp -- anywhere anywhere icmp time-exceeded /* Needed ICMP types */ dropinvalid all -- anywhere anywhere DROP udp -- anywhere anywhere multiport dports loc-srv,microsoft-ds /* SMB */ DROP udp -- anywhere anywhere udp dpts:netbios-ns:netbios-ssn /* SMB */ DROP udp -- anywhere anywhere udp spt:netbios-ns dpts:1024:65535 /* SMB */ DROP tcp -- anywhere anywhere multiport dports loc-srv,netbiosssn,microsoft-ds /* SMB */ DROP udp -- anywhere anywhere udp dpt:1900 /* UPnP */ dropnotsyn tcp -- anywhere anywhere DROP udp -- anywhere anywhere udp spt:domain /* Late DNS Replies */

Chain Reject (11 references) all -- anywhere anywhere reject tcp -- anywhere anywhere tcp dpt:auth /* Auth */ dropbcast all -- anywhere anywhere ACCEPT icmp -- anywhere anywhere icmp fragmentation-needed /* Needed ICMP types */ ACCEPT icmp -- anywhere anywhere icmp time-exceeded /* Needed ICMP types */ dropinvalid all -- anywhere anywhere reject udp -- anywhere anywhere multiport dports loc-srv,microsoft-ds /* SMB */ reject udp -- anywhere anywhere udp dpts:netbios-ns:netbios-ssn /* SMB */ reject udp -- anywhere anywhere udp spt:netbios-ns dpts:1024:65535 /* SMB */ reject tcp -- anywhere anywhere multiport dports loc-srv,netbios-ssn,microsoftds /* SMB */ DROP udp -- anywhere anywhere udp dpt:1900 /* UPnP */ dropnotsyn tcp -- anywhere anywhere DROP udp -- anywhere anywhere udp spt:domain /* Late DNS Replies */ Chain dmz2fw (1 references) ACCEPT icmp -- anywhere anywhere icmp echo-request /* Ping */ `Shorewall:dmz2fw:REJECT:' Chain dmz2loc (1 references) ACCEPT icmp -- anywhere anywhere icmp echo-request /* Ping */ ACCEPT tcp -- dmz.ssi.net dentro.ssi.net tcp dpt:mysql `Shorewall:dmz2loc:REJECT:' Chain dmz2net (1 references)

ACCEPT icmp -- anywhere anywhere icmp echo-request /* Ping */ `Shorewall:dmz2net:REJECT:' Chain dmz_frwd (1 references) dmz2net all -- anywhere anywhere dmz2loc all -- anywhere anywhere Chain dropbcast (2 references) ADDRTYPE match dst-type BROADCAST DROP all -- anywhere 224.0.0.0/4 Chain dropinvalid (2 references) ctstate INVALID Chain dropnotsyn (2 references) DROP tcp -- anywhere anywhere tcp flags:!fin,syn,rst,ack/syn Chain dynamic (2 references) Chain fw2dmz (1 references) ACCEPT icmp -- anywhere anywhere `Shorewall:fw2dmz:REJECT:' Chain fw2loc (1 references) ACCEPT icmp -- anywhere anywhere

`Shorewall:fw2loc:REJECT:' Chain fw2net (1 references) ACCEPT udp -- anywhere anywhere udp dpts:bootps:bootpc ACCEPT udp -- anywhere anywhere udp dpt:domain /* DNS */ ACCEPT tcp -- anywhere anywhere tcp dpt:domain /* DNS */ ACCEPT icmp -- anywhere anywhere `Shorewall:fw2net:REJECT:' Chain loc2dmz (1 references) ACCEPT tcp -- anywhere anywhere tcp dpt:ssh /* SSH */ ACCEPT icmp -- anywhere anywhere icmp echo-request /* Ping */ ACCEPT tcp -- anywhere dmz.ssi.net multiport dports www,https ACCEPT tcp -- anywhere dmz.ssi.net multiport dports smtp,pop3 `Shorewall:loc2dmz:REJECT:' Chain loc2fw (1 references) ACCEPT tcp -- anywhere anywhere tcp dpt:ssh /* SSH */ ACCEPT icmp -- anywhere anywhere icmp echo-request /* Ping */ `Shorewall:loc2fw:REJECT:' Chain loc2net (1 references) ACCEPT tcp -- anywhere anywhere multiport dports www,https

ACCEPT udp -- anywhere anywhere udp dpt:domain /* DNS */ ACCEPT tcp -- anywhere anywhere tcp dpt:domain /* DNS */ Drop all -- anywhere anywhere Chain loc_frwd (1 references) loc2net all -- anywhere anywhere loc2dmz all -- anywhere anywhere Chain logdrop (0 references) Chain logflags (5 references) LOG all -- anywhere anywhere LOG level info ip-options prefix `Shorewall:logflags:DROP:' Chain logreject (0 references) reject all -- anywhere anywhere Chain net2dmz (1 references) ACCEPT tcp -- anywhere dmz.ssi.net multiport dports www,https ACCEPT tcp -- anywhere dmz.ssi.net multiport dports smtp,pop3 Drop all -- anywhere anywhere `Shorewall:net2dmz:DROP:' Chain net2fw (1 references) ACCEPT udp -- anywhere anywhere udp dpts:bootps:bootpc DROP icmp -- anywhere anywhere icmp echo-request /* Ping */ Drop all -- anywhere anywhere

`Shorewall:net2fw:DROP:' Chain net2loc (1 references) Drop all -- anywhere anywhere `Shorewall:net2loc:DROP:' Chain net_frwd (1 references) net2loc all -- anywhere anywhere net2dmz all -- anywhere anywhere Chain reject (18 references) ADDRTYPE match src-type BROADCAST DROP all -- 224.0.0.0/4 anywhere DROP igmp -- anywhere anywhere REJECT tcp -- anywhere anywhere reject-with tcp-reset REJECT udp -- anywhere anywhere reject-with icmp-port-unreachable REJECT icmp -- anywhere anywhere reject-with icmp-host-unreachable REJECT all -- anywhere anywhere reject-with icmp-host-prohibited Chain shorewall (0 references) Chain smurflog (2 references) `Shorewall:smurfs:DROP:' Chain smurfs (6 references) RETURN all -- default anywhere smurflog all -- anywhere anywhere [goto] ADDRTYPE match src-type BROADCAST smurflog all -- 224.0.0.0/4 anywhere [goto] Chain tcpflags (6 references)

logflags tcp -- anywhere anywhere [goto] tcp flags:fin,syn,rst,psh,ack,urg/ FIN,PSH,URG logflags tcp -- anywhere anywhere [goto] tcp flags:fin,syn,rst,psh,ack,urg/ NONE logflags tcp -- anywhere anywhere [goto] tcp flags:syn,rst/syn,rst logflags tcp -- anywhere anywhere [goto] tcp flags:fin,syn/fin,syn logflags tcp -- anywhere anywhere [goto] tcp spt:0 flags:fin,syn,rst,ack/syn También comprobamos NAT, que nos devuelve: Chain PREROUTING (policy ACCEPT) dnat all -- anywhere anywhere Chain POSTROUTING (policy ACCEPT) eth2_masq all -- anywhere anywhere Chain OUTPUT (policy ACCEPT) Chain dnat (1 references) net_dnat all -- anywhere anywhere Chain eth2_masq (1 references) MASQUERADE all -- 10.10.10.0/24 anywhere MASQUERADE all -- 10.20.20.0/24 anywhere Chain net_dnat (1 references) DNAT tcp -- anywhere anywhere multiport dports www,https to:10.20.20.22 DNAT tcp -- anywhere anywhere multiport dports smtp,pop3 to:10.20.20.22 OpenVPN (Enlace) Mediante certificados digitales, configuramos el enlace VP entre el servidor interno y los clientes que se quieran unir a la red desde la red externa (Desde internet). Se necesita: Para el servidor:

certificado digital de la Autoridad Certificadora (CA) reconocida por ambos participantes: cacert.crt clave privada del servidor: firewall3.key certificado digital del servidos: firewall3.crt (emitido por la CA) parámetros para intercambio de clave Diffie-Hellam: dh1024.pem Para cada uno de los clientes que se conecten con OpenVPN: certificado digital de la Autoridad Certificadora reconocida por ambos participantes: cacert.crt clave privada del servidor: fuera.key certificado digital del servidor: fuera.crt (emitido por la CA) En el sevidor, nos dispondremos a generar la autoridad certificadora, que una vez preconfigurada, podremos empezar a crear con el script /etc/openvpn/easy-rsa/#./build_ca. Aunque se ha usado este procedimiento, se podría también utilizar TinyCA que ofrece un interfaz gráfico sobre openssl para la gestión de autoridades de certificación y la generación de certificados digitales. Una vez realizado, copiamos los certificados a los directorios dentro del servidor y al cliente que quiera establecer el túnerl OpenVPN, y creamos y configuramos los archivos de configuración del cliente y del servidor, activamos el ip_forwarding en el servidor. Podremos ya activar el túnel OpenVPN para que se establezca la conexión. OpenVPN (Shorewall) Para que shorewall reconozca la OpenVPN, creamos una nueva zona en el fichero zones, asociando la interfaz virtual tun a dicha zona. Configuramos las políticas y reglas de shorwall para esta zona de manera similar a lo que se ha hecho con la red interna (Es decir, que tengan las mismas reglas y políticas).