SlideShare una empresa de Scribd logo
Comoconfigurar un Firewall con Shorewall en dos Interfaces de Red
con políticas DROP en CentOS y Debian.
Autor: David Rosado
Correo electrónico: bleycklinx@gmail.com
En este tutorial indicare como se configura un Firewall con Shorewall con políticas DROP
en dos interfaces de red para CentOS y para Debian.
Shorewall
Shorewall (Shoreline Firewall) es una robusta y extensible herramienta de alto nivel
para la configuración de muros cortafuego. Shorewall solo necesita se le proporcionen
algunos datos en algunos ficheros de texto simple y éste creará las reglas de
cortafuegos correspondientes a través de iptables. Shorewall puede permitir utilizar un
sistema como muro cortafuegos dedicado, sistema de múltiples funciones como puerta de
enlace, dispositivo de encaminamiento y servidor. Shorewall no solo le permite
configurar un firewall seguro, poderoso y robusto, también se puede lograr con este el
control del AB (Ancho de Banda) ya que maneja el “Traffic Shaping/QOS”, También podemos
configurar en Shorewall algunas cosas como “Dom0, Xen - Shorewall in Routed Xen, Xen -
Shorewall in a Bridged Xen DomU, VNP, IPP2P, Macros, MAC Verification, Múltiples
conexiones de Intener o MultiISP” y más.
A pesar de ser tan potente y flexible, Shorewall puede llegar a ser una herramienta
demasiado complicada para el uso cotidiano del usuario principiante y que no tenga
conocimientos sobre este, además para muchos usuarios, Shorewall puede parecer una
herramienta muy fácil de configurar, pero cabe recalcar que una ves dominada se puede
lograr tener un firewall muy potente y seguro para servidores en producción.
Hay muchas herramientas para crear un Firewall básico, y algunas de estas son para el
entorno gráfico o X, no se recomienda utilizar estas ya que consumen muchos recursos y
lo que a muchos nos interesa es evitar esto.
¿Qué es un NAT?
NAT (acrónimo de Network Address Translation o Traducción de Dirección de Red), también
conocido como enmascaramiento de IP, es una técnica mediante la cual las direcciones de
origen y/o destino de paquetes IP son reescritas mientras pasan a través de un
dispositivo de encaminamiento (router) o muro cortafuegos. El NAT es un sistema que se
utiliza para asignar una red completa (o varias redes) a una sola dirección IP.
Cómo Funciona el NAT
Cuando un cliente en la red interna contacta con una máquina en Internet, envía paquetes
IP destinados a esa máquina. Estos paquetes contienen toda la información de
direccionamiento necesaria para que puedan ser llevados a su destino. NAT se encarga de
estas piezas de información:
• Dirección IP de origen (por ejemplo, 192.168.1.35)
• Puerto TCP o UDP de origen (por ejemplo, 2132)
Cuando los paquetes pasan a través de la pasarela de NAT, son modificados para que
parezca que se han originado y provienen de la misma pasarela de NAT. La pasarela de NAT
registra los cambios que realiza en su tabla de estado, para así poder: a) invertir los
cambios en los paquetes devueltos, y b) asegurarse de que los paquetes devueltos pasen a
través del cortafuegos y no sean bloqueados. Por ejemplo, podrían ocurrir los siguientes
cambios:
• IP de origen: sustituida con la dirección externa de la pasarela (por ejemplo,
24.5.0.5)
• Puerto de origen: sustituido con un puerto no en uso de la pasarela, escogido
aleatoriamente (por ejemplo, 2945)
Ni la máquina interna ni el anfitrión de Internet se dan cuenta de estos pasos de
traducción. Para la máquina interna, el sistema NAT es simplemente una pasarela a
Internet. Para el anfitrión de Internet, los paquetes parecen venir directamente del
sistema NAT; ni siquiera se da cuenta de que existe la estación interna.
Cuando el anfitrión de Internet responde a los paquetes internos de la máquina, los
direcciona a la IP externa de la pasarela de NAT (24.5.0.5) y a su puerto de traducción
(53136). La pasarela de NAT busca entonces en la tabla de estado para determinar si los
paquetes de respuesta concuerdan con alguna conexión establecida. Entonces encontrará
una única concordancia basada en la combinación de la dirección IP y el puerto, y esto
indica a PF que los paquetes pertenecen a una conexión iniciada por la máquina interna
192.168.1.35. Acto seguido PF realiza los cambios opuestos a los que realizó para los
paquetes salientes, y reenvía los paquetes de respuesta a la máquina interna.
¿Que es DNAT?
DNAT son las siglas de Destination Network Address Translation o Traducción de dirección
de red de destino, el DNAT nos permite redirigir puertos hacia máquinas que se
encuentran en una red interna o Red Privada.
Procedemos a descargar Shorewall 3.4.6-2.noarch.rpm en formato RPM para CentOS 5 desde
la página oficial desde la sección de descargas en http://www.shorewall.net también
directamente en http://www.invoca.ch
Una vez descargado el shorewall antes mencionado pasamos a instalarlo:
rpm -Uvh shorewall-3.4.6-2.noarch.rpm
Para Debian simplemente lo podemos instalar con “aptitude install shorewall” el cual se
instalará la versión 3.2.6-2.
Una vez instalado, copiamos los archivos de configuración desde
/usr/share/doc/shorewall/default-config a /etc/shorewall.
cp /usr/share/doc/shorewall/default-config /etc/shorewall
Para activar Shorewall en Debian debemos editar /etc/default/shorewall, aquí
encontraremos startup=0, solo hay que cambiar el “0” por “1” y lo dejamos así:
startup=1
Hay que tener en cuenta que los ficheros que vamos a configurar se encuentran en el
directorio "/etc/shorewall", los ficheros que vamos a configurar a continuación son:
zones, interfaces, policy, rules, routestopped
En CentOS configuramos "shorewall.conf" en "/etc/shorewall/shorewall.conf
Definimos principalmente en CentOS el parámetro STARTUP_ENABLED, este parámetro sirve
para activar Shorewall, en el vamos a encontrar "NO" ya que de modo predefinido está
desactivado, y para activar Shorewall debemos cambiar el No por Yes, y debemos dejarlo
así:
STARTUP_ENABLED=Yes
De esta manera cuando queramos iniciar Shorewall con "shorewall start" o reiniciar con
"shorewall restart", no nos dará problemas.
Otro parámetro que hay que tener en cuenta CLAMPMSS, ya que si contamos con un enlace
tipo PPP debemos cambiar el No por Yes, se utiliza en conexiones tipo PPP (PPTP o PPPoE)
y sirve para limitar el MSS (acrónimo de Maximum Segment Size que significa Máximo
Tamaño de Segmento).
CLAMPMSS=Yes
En Debian ya no es necesario editar “shorewall.conf” ya que por defecto esta en Yes
(STARTUP_ENABLED=Yes).
Seguimos con la configuración del resto de ficheros.
zones
En el fichero zones se definen las zonas que se administraran del firewall. La zona fw
está definida en zones, por lo tanto ya no tendremos que ponerla ni borrarla, ahora
procedemos a registrar las zonas de Internet (net) y Red Local (loc):
#ZONE DISPLAY OPTIONS
fw firewall
net ipv4
loc ipv4
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
interfaces
En este fichero se establecen las interfaces de las zonas a ser tomadas en cuenta por el
firewall. Se establecen las interfaces que corresponden a la de Internet y Red Local. En
el siguiente ejemplo, se cuenta con una interfaz eth1 para acceder hacia Internet, y una
interfaz eth0 para acceder hacia la LAN y en todas se solicita se calcule
automáticamente la dirección de transmisión (Broadcast), además se identifican ciertas
propiedades respecto de la interpretación de los paquetes que ingresan o salen por esa
interfaz:
#ZONE INTERFACE BROADCAST OPTIONS GATEWAY
net eth1 detect tcpflags,blacklist,norfc1918,routefilter,nosmurfs,logmartians
loc eth0 detect dhcp
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
Nótese que en la interfaz de Internet (net) "eth1" se adhiere "blacklist", con esto
tendremos la opción de que si en algún momento observamos en los registros de nuestros
logs del sistema que alguna ip está intentando ingresar sin nuestro permiso a nuestro
servidor lo podemos bloquear por completo editando en el fichero
"/etc/shorewall/blacklist" la ip correspondiente de dicho intruso, también si acaso
hubiera un servicio de DHCP, sea como cliente, como servidor o como intermediario, en
alguna de las interfaces, se debe añadir la opción dhcp para permitir la comunicación
requerida para este servicio, en el ejemplo dado opera un servidor DHCP, el cual es
utilizado en la red de área local para asignar direcciones IP a los equipos de la LAN,
en lo anterior se debe activar la opción DHCP para la interfaz eth0, que corresponde a
la zona utilizada por el área local, en caso de que el anfitrión donde opera el muro
cortafuegos obtiene su dirección IP, para la interfaz eth1, a través del servicio DHCP
del ISP, será necesario interpretarlo como el caso de la Red Local.
En muchos casos “norfc1918” da un error al momento de iniciar shorewall, si fuese este
el caso solo lo borramos de interfaces, así shorewall iniciará normalmente.
policy
En este fichero se establecen las políticas por defecto para paquetes que viajan entre
una zona hacia otra:
#SOURCE DEST POLICY LOG LIMIT:BURST
# LEVEL
net all DROP info
all all REJECT info
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
Lo anterior bloquea todo el tráfico desde donde sea a donde sea.
Si desean permitir al propio cortafuegos acceder hacia la zona de Internet lo pueden
hacer añadiendo la respectiva regla:
fw net ACCEPT
Si se desea dar una salida a los equipos de la LAN sin restriccón de puertos hacia el
mundo o Internet simplemente ponemos esta regla:
loc net ACCEPT
De tal modo que el fichero policy quede del siguiente modo:
loc net ACCEPT
net all DROP info
all all REJECT info
De este modo no especificamos ningún puerto, simplemente los equipos navegaran y podran
salir a cualquier lado, caso contrario que no se desee esta política se podrá configurar
como está en el ejemplo dado más abajo en el fichero "rules".
Según los requerimientos del usuario también podrían utilizar otras como:
* ACCEPT: Se acepta la conexión.
* DROP: Se ignora la conexión.
* REJECT: Se rechaza explícitamente la conexión.
* QUEUE: Envia el pedido a una aplicación con la
target QUEUE.
* CONTINUE: Dejar que el pedido de conexión continúe
para ser procesado por otras reglas.
* NONE: Se asume que esta conexión no puede darse y
no se generan reglas al respecto.
masq
Este fichero se lo utiliza para definir enmascaramiento (masquerading) o NAT, esto es
útil cuando tenemos una red privada con la cual queremos navegar a través de un Proxy.
En el siguiente ejemplo aplicaremos enmascaramiento para la interfaz eth0 (Red Lan) la
cual sale por medio de la interfaz eth1 que es nuestra IP Pública:
#INTERFACE SUBNET ADDRESS PROTO PORT(S) IPSEC
eth1 eth0
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
Otro caso es si tenemos varias redes y queremos enmascarar a través de una sola
interfaz, no olviden en configurar correctamente su Proxy:
#INTERFACE SUBNET ADDRESS PROTO PORT(S) IPSEC
eth1 172.16.0.0/16
eth1 172.16.1.0/24
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
También podemos hacer NAT a una sola IP y para solo un protocolo:
#INTERFACE SUBNET ADDRESS PROTO PORT(S) IPSEC
eth1 eth0 172.16.0.3 tcp 25,110
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
routestopped
En este fichero podemos definir que direcciones IP o redes podrán continuar accediendo
cuando el cortafuegos es detenido o cuando este se encuentra en proceso de reinicio.
Será necesario definir nuestras interfaces de red o IP que deseamos que continúe la
comunicación, podemos definir en formato separado por comas indicando la red o ip:
#INTERFACE HOST(S) OPTIONS
eth0
eth1
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
Otro ejemplo:
#INTERFACE HOST(S) OPTIONS
eth0 172.16.0.0/24
eth0 172.16.3.16,172.16.1.12
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
rules
Este es el fichero de configuración más importante de Shorewall, ya que aquí se definen
las reglas que permitirán o denegarán el acceso a servicios y puertos desde y hacia
zonas o el firewall. También se puede definir las reglas DNAT y registro de ciertos
paquetes. Antes de configurarlo hay que tener en cuenta que las políticas por defecto
son DROP, por lo tanto nada pasa a ningún lugar, no se podrá navegar ni siquiera el
mismo fw, por lo tanto tenemos que ir a abriendo y permitiendo el acceso a varios
puertos según como sean los requerimientos.
En Shorewall no solo se puede configurar con las numeraciones de los puertos, Shorewall
nos permite también configurar los puertos según sea su nombre o servicio que ofrece
(DNS, FTP, POP3, MySQL, SSH, VNC, Whois, Emule, BitTorrent, etc), dada esta facilidad en
Shorewall podemos incluir y agregar de esta forma:
DNS/ACCEPT loc fw
Lo que se estaría haciendo con esta regla, es permitiendo que la red local haga
consultas de DNS al fw, nótese que se a incluido “DNS” en ves de los puertos por su
numeración “53”, con esta regla se abrirá tanto en tcp como en udp por que con esta
simple regla nos bastaría para que se abra el puerto DNS.
Si quisiéramos permitir las consultas de DNS desde el Internet (net) hacia el Firewall
(fw), lo tendríamos que hacer así:
DNS/ACCEPT net fw
Hay algunos ejemplos en el mismo sitio de Shorewall.
ACCEPT
Lo primero que aremos es permitir o aceptar que el mismo Firewall (fw) pueda navegar,
sin restricciones, esto es indispensable ya que si contamos con un servidor que
pertenece a un Caber café o parecido, se necesitara que el servidor pueda navegar sin
límites, de esa forma ninguna página que sea tipo Chat no será bloqueada, porque
necesita de ciertos puertos para la autenticación, lo mismo para algunos servicios
necesarios, a los cuales necesitaremos ingresar y navegar con tranquilidad, abriremos
los puertos del 1024 hasta el 65535:
#ACTION SOURCE DEST PROTO DEST
# PORT
ACCEPT fw net tcp 20,21,22,43,53,80,443,1024:65535
ACCEPT fw net tcp 43,53,123,443,1024:65535
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
También podemos definir una regla para que no tenga límites de puertos:
ACCEPT fw net all
Con esta regla lo que hemos hecho es que el Firewall (fw) tenga acceso hacia el Internet
(net) sin restricción alguna.
Ahora aceptamos que nuestra red local (loc) se pueda conectar al Internet (net), aquí
podemos definir si queremos los mismos puertos que el fw, ya que para mayor seguridad no
le ponemos que todas puedan salir a puertos como el 22, 5800, 5900, 1-1023, ya que son
puertos de riesgos, y para evitarnos problemas con los usuarios a que estén haciendo
cosas sin control en la red preferible descomentamos estos:
ACCEPT loc net tcp 20,21,22,43,53,80,443,1024:65535
ACCEPT loc net udp 43,53,123,443,1024:65535
Nótese que de igual manera a la red local (loc) le permito hacer peticiones al Puerto 53
hacia el Internet, recuerden que es recomendable configurar un DNS cache para nuestra
red local en nuestro servidor, pero al mismo tiempo los ISP nos dan otros DNS de gran
ayuda para que podamos navegar, estos DNS hay que ponerlos en nuestro servidor y uno de
los DNS del ISP en los equipos clientes, de esta forma si nuestro DNS local no puede
resolver un dominio pasará a utilizar el DNS secundario que le hemos asignado.
Procedemos a permitir la conexión de los equipos de la red local a limitados puertos del
fw, si hemos configurado un DNS cache para nuestra red local (loc) y un Proxy para
navegación por medio de este procedemos a abrir solo los puertos necesarios, ya que no
permitiremos a todos los equipos la conexión por medio de VNC al servidor, ni por SSH a
menos que quieran los administradores de red permitir estos u otros accesos al servidor:
ACCEPT loc fw tcp 53,3128
ACCEPT loc fw udp 53
Permitimos que una sola máquina ingrese a nuestro servidor sin límite alguno, esta
máquina o ip sería la del administrador de la red:
ACCEPT loc:172.16.0.20 fw all
Con este ejemplo también lo podemos definir desde la zona de Internet (net) al Firewall
(fw) para permitir el acceso a una ip fuera de nuestra red, la cual puede ser de algún
amigo, administrador, etc.
ACCEPT net:202.15.19.18 fw all
También podemos definir que solo se conecte desde el exterior a limitado números de
puertos:
ACCEPT net:202.15.19.18 fw 21,22,80
También podemos definir la mac de dicho equipo, lo recomendable es definir la mac desde
la red local, ya que desde el exterior puede haber la posibilidad de falsear dicha mac y
de esa forma tener acceso al servidor:
ACCEPT loc:~00-10-8D-27-03-76 fw all
REDIRECT
El REDIRECT permite redirigir peticiones hacia un puerto en particular. Muy útil cuando
se quieren redirigir peticiones para HTTP (puerto 80) y se quiere que estas pasen a
través de un Servidor Intermediario (Proxy) como Squid. Las peticiones hechas desde la
red local serán redirigidas hacia el puerto 8080 del cortafuegos, en donde hay un
Servidor Intermediario (Proxy) configurado en modo transparente:
#ACTION SOURCE DEST PROTO DEST
# PORT
REDIRECT loc 8080 tcp 80
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
Podemos también limitar las peticiones hechas desde la red local (LAN) al puerto 3128
del Proxy, limitando la taza de conexiones a veinte por segundo con ráfagas de hasta
cinco conexiones. Esto es muy útil para evitar ataques de DoS (acrónimo de Denial of
Service que se traduce como Denegación de Servicio) desde la red local (LAN).
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE
# PORT PORT(S) DEST LIMIT
REDIRECT loc 3128 tcp 80 - -
20/sec:5
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
DNAT
El DNAT se utiliza para reenviar peticiones desde un puerto del cortafuegos hacia una IP
y puerto en particular tanto en la red local como en la DMZ. Cabe destacar que para que
el DNAT funcioné se necesita que:
• Esté habilitado el reenvío de paquetes en /etc/sysctl.cfg en la opción
“net.ipv4.ip_forward = 1”
• Los equipos hacia los que se esté haciendo DNAT utilicen como puerta de enlace al
cortafuegos.
Si tenemos un servidor DNS (53), HTTP (80) dentro de nuestra red local y queremos
permitir accesos a este, reenviamos con el DNAT editando las siguientes reglas:
#ACTION SOURCE DEST PROTO DEST
# PORT
DNAT net loc:172.16.0.3 tcp 53,80
DNAT net loc:172.16.0.3 udp 53
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT
REMOVE
Si tenemos dos servidores de correo, uno que recibe la mensajería (como pasarela) y otro
que envía y este necesita conectarse al servidor principal (pasarela) para poder enviar
los correos, para poder permitir esto solo tenemos que abrir los puertos necesarios:
ACCEPT loc fw tcp 25
Si hemos puesto que se permita la conexión a ciertos servicios o puertos es recomendable
permitir tanto el Ping como el Traceroute al servidor, para realizar pruebas de
diagnóstico desde el cortafuegos hacia Internet y red local para probar conectividad y
acceso hacia diversos protocolos, se puede utilizar lo siguiente:
Ping/ACCEPT fw loc
Ping/ACCEPT fw net
Trcrt/ACCEPT fw net
En el siguiente ejemplo permitimos a una máquina de la red local hacer Ping y Traceroute
hacia la zona de Internet:
Ping/ACCEPT loc:172.16.0.20 net
Trcrt/ACCEPT loc:172.16.0.20 net
Si deseamos podemos permitir a toda la red local hacer Ping y Traceroute hacia la zona
de Internet:
Ping/ACCEPT loc net
Trcrt/ACCEPT loc net
Si queremos permitir la consulta de Ping desde el Internet tenemos que permitir el
servicio:
Ping/ACCEPT net fw
Ejemplos de algunas reglas útiles:
En este ejemplo se hace DNAT desde la zona de la Internet para los servicios de HTTP
(puerto 80), SMTP (puerto 25), POP3 (puerto 110) y DNS (puerto 53) hacia diversos
servidores localizados en Loc:
#ACTION SOURCE DEST PROTO DEST
# PORT
DNAT net loc:172.16.0.3 tcp 80
DNAT net loc:172.16.0.3 tcp 25,110
DNAT net loc:172.16.0.2 tcp 53
DNAT net loc:172.16.0.2 udp 53
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT
REMOVE
En el siguiente ejemplo se hace DNAT desde la zona de Internet para los servicios de
HTTP (puerto 80), SMTP (puerto 25), POP3 (puerto 110) y DNS (puerto 53) hacia diversos
servidores localizados en Loc y limitar la taza de conexiones a diez por segundo con
ráfagas de hasta cinco conexiones para cada servicio:
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL
RATE
# PORT PORT(S) DEST
LIMIT
DNAT net loc:10.10.10.1 tcp 80 - -
10/sec:5
DNAT net loc:10.10.10.2 tcp 25,110 - -
10/sec:5
DNAT net loc:10.10.10.3 tcp 53 - -
10/sec:5
DNAT net dmz:10.10.10.3 udp 53 - -
10/sec:5
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
Nota: Por opciones de seguridad se podría poner en rules que ciertas ips peligrosas no
tengan ningún tipo de acceso a nuestro servidor con:
DROP net:192.168.0.0/16 fw
DROP net:10.0.0.0/8 fw
DROP net:172.16.0.0/12 fw
DROP net:224.0.0.0/4 fw
DROP net:240.0.0.0/5 fw
DROP net:127.0.0.0/8 fw
DROP net:0.0.0.0/8 fw
DROP net:169.254.0.0/16 fw
DROP net:255.255.255.255 fw
Con esto bloqueamos totalmente a estas ips, sin permitirles ningún tipo de acción en
nuestro equipo.
Otros Ejemplos:
FTP/ACCEPT net fw
MySQL/ACCEPT loc fw
MySQL/ACCEPT loc net
SSH/ACCEPT loc:172.16.0.5 fw
HTTP/ACCEPT net fw
Edonkey/DNAT net loc:172.16.0.3
Si queremos permitir paquetes icmp con limitaciones para evitar ataques DoS, lo
podemos hacer del siguiente modo:
#Permitimos paquetes ICMP (ping,pong,...)
#con limites para evitar ataques de DoS.
##Aceptamos ping
ACCEPT net fw icmp echo-request - - 2/sec:3
#Aceptamos pong
ACCEPT net fw icmp echo-reply - - 2/sec:3
#Aceptamos redirecciones
ACCEPT net fw icmp redirect - - 2/sec:3
#Aceptamos tiempo excedido
ACCEPT net fw icmp time-exceeded - - 2/sec:3
#Aceptamos destino inalcanzable
ACCEPT net fw icmp destination-unreachable - - 2/sec:3
Revisamos posibles errores en la configuración con "shorewall check" antes de iniciarlo.
Iniciar Shorewall y añadirlo a los servicios de arranque del sistema en CentOS.
Si Shorewall va a ser ejecutado por primera vez, utilice:
shorewall start
Si actualizo a la versión mencionada en este Tutorial, o instalo
directamente la versión utilizada aquí, utilice:
shorewall restart
Añadimos a Shorewall al arranque del sistema:
chkconfig shorewall on
En Debian una vez concluido esto solo debemos iniciarlo
“shorewall start” o reiniciar “shorewall restart” y para poner en los
procesos del inicio simplemente instalamos el "rcconf".
Y con “iptables -L -n” y también “iptables -t nat -L” se podrá ver las reglas
generadas por Shorewall.

Más contenido relacionado

La actualidad más candente

Taller enrutamiento dinámico RIP
Taller enrutamiento dinámico RIPTaller enrutamiento dinámico RIP
Taller enrutamiento dinámico RIPcyberleon95
 
Guia de instalación de dhcp en centos 6.4
Guia de instalación de dhcp en centos 6.4Guia de instalación de dhcp en centos 6.4
Guia de instalación de dhcp en centos 6.4Michelle Gutierrez
 
Comandos utilizados en redes anderson alvarado 6to computacion
Comandos utilizados en redes anderson alvarado 6to computacionComandos utilizados en redes anderson alvarado 6to computacion
Comandos utilizados en redes anderson alvarado 6to computacionAnder Alvarado
 
Servidor FTP Red Hat 6.2
Servidor FTP Red Hat 6.2Servidor FTP Red Hat 6.2
Servidor FTP Red Hat 6.2cyberleon95
 
Nat (network address translation) qué es y cómo funciona
Nat (network address translation) qué es y cómo funcionaNat (network address translation) qué es y cómo funciona
Nat (network address translation) qué es y cómo funcionaqueches
 
Herramientas Administrativas de Red
Herramientas Administrativas de RedHerramientas Administrativas de Red
Herramientas Administrativas de Redcyberleon95
 
Presentacion de seguridad de la redes
Presentacion de seguridad de la redesPresentacion de seguridad de la redes
Presentacion de seguridad de la redeselvisprieto2
 
Ucv sesion 13 router2
Ucv sesion 13 router2Ucv sesion 13 router2
Ucv sesion 13 router2Taringa!
 
Guia de aprendizage 5 introduccion a ios de cisco
Guia de aprendizage 5 introduccion a ios de ciscoGuia de aprendizage 5 introduccion a ios de cisco
Guia de aprendizage 5 introduccion a ios de ciscoyoes1053
 
Autodiagnostico 5 Trimestre
Autodiagnostico 5 TrimestreAutodiagnostico 5 Trimestre
Autodiagnostico 5 Trimestrecyberleon95
 
La capa de aplicación
La capa de aplicaciónLa capa de aplicación
La capa de aplicaciónJuan Alvarez
 
Instalación DHCP en CentOS 6.2
Instalación DHCP en CentOS 6.2Instalación DHCP en CentOS 6.2
Instalación DHCP en CentOS 6.2camilaml
 
Configuración Firewall - CISCO ASA 5510
Configuración Firewall - CISCO ASA 5510Configuración Firewall - CISCO ASA 5510
Configuración Firewall - CISCO ASA 5510Vanesa Rodríguez Percy
 
Seguridad pfsense
Seguridad pfsenseSeguridad pfsense
Seguridad pfsenseJOSE Flores
 
PfSense VLAN sobre una sola interfaz de red.
PfSense VLAN sobre una sola interfaz de red.PfSense VLAN sobre una sola interfaz de red.
PfSense VLAN sobre una sola interfaz de red.gabo_rojo
 
Router os basicsv0 3espanol-mikrotik
Router os basicsv0 3espanol-mikrotikRouter os basicsv0 3espanol-mikrotik
Router os basicsv0 3espanol-mikrotikJulians Crystal
 

La actualidad más candente (20)

Taller enrutamiento dinámico RIP
Taller enrutamiento dinámico RIPTaller enrutamiento dinámico RIP
Taller enrutamiento dinámico RIP
 
Guia de instalación de dhcp en centos 6.4
Guia de instalación de dhcp en centos 6.4Guia de instalación de dhcp en centos 6.4
Guia de instalación de dhcp en centos 6.4
 
Comandos utilizados en redes anderson alvarado 6to computacion
Comandos utilizados en redes anderson alvarado 6to computacionComandos utilizados en redes anderson alvarado 6to computacion
Comandos utilizados en redes anderson alvarado 6to computacion
 
Servidor FTP Red Hat 6.2
Servidor FTP Red Hat 6.2Servidor FTP Red Hat 6.2
Servidor FTP Red Hat 6.2
 
Nat (network address translation) qué es y cómo funciona
Nat (network address translation) qué es y cómo funcionaNat (network address translation) qué es y cómo funciona
Nat (network address translation) qué es y cómo funciona
 
Cap 07 dhcp y nat
Cap 07 dhcp y natCap 07 dhcp y nat
Cap 07 dhcp y nat
 
Herramientas Administrativas de Red
Herramientas Administrativas de RedHerramientas Administrativas de Red
Herramientas Administrativas de Red
 
Presentacion de seguridad de la redes
Presentacion de seguridad de la redesPresentacion de seguridad de la redes
Presentacion de seguridad de la redes
 
Ucv sesion 13 router2
Ucv sesion 13 router2Ucv sesion 13 router2
Ucv sesion 13 router2
 
Linux Redes
Linux RedesLinux Redes
Linux Redes
 
Guia de aprendizage 5 introduccion a ios de cisco
Guia de aprendizage 5 introduccion a ios de ciscoGuia de aprendizage 5 introduccion a ios de cisco
Guia de aprendizage 5 introduccion a ios de cisco
 
Autodiagnostico 5 Trimestre
Autodiagnostico 5 TrimestreAutodiagnostico 5 Trimestre
Autodiagnostico 5 Trimestre
 
La capa de aplicación
La capa de aplicaciónLa capa de aplicación
La capa de aplicación
 
Natpat
NatpatNatpat
Natpat
 
Instalación DHCP en CentOS 6.2
Instalación DHCP en CentOS 6.2Instalación DHCP en CentOS 6.2
Instalación DHCP en CentOS 6.2
 
Configuración Firewall - CISCO ASA 5510
Configuración Firewall - CISCO ASA 5510Configuración Firewall - CISCO ASA 5510
Configuración Firewall - CISCO ASA 5510
 
Seguridad pfsense
Seguridad pfsenseSeguridad pfsense
Seguridad pfsense
 
PfSense VLAN sobre una sola interfaz de red.
PfSense VLAN sobre una sola interfaz de red.PfSense VLAN sobre una sola interfaz de red.
PfSense VLAN sobre una sola interfaz de red.
 
Router os basicsv0 3espanol-mikrotik
Router os basicsv0 3espanol-mikrotikRouter os basicsv0 3espanol-mikrotik
Router os basicsv0 3espanol-mikrotik
 
Firewall
FirewallFirewall
Firewall
 

Similar a Comoconfigurarun firewallconshorewallendosinterfacesderedconpoliticasdro pencentosydebian

Unidad III: Seguridad de las Redes
Unidad III: Seguridad de las RedesUnidad III: Seguridad de las Redes
Unidad III: Seguridad de las RedesOswaldoPolanco3
 
Actividad 3 de redes del computador
Actividad 3 de redes del computadorActividad 3 de redes del computador
Actividad 3 de redes del computadorEdgarHernandez433
 
Unidad iii seguridad de las redes
Unidad iii seguridad de las redesUnidad iii seguridad de las redes
Unidad iii seguridad de las redeschristianchanagrote
 
Unidad iii redes presentacion
Unidad iii redes presentacionUnidad iii redes presentacion
Unidad iii redes presentacionJessRangel13
 
Protocolos de la comunicación.diogenes dora
Protocolos de la comunicación.diogenes  doraProtocolos de la comunicación.diogenes  dora
Protocolos de la comunicación.diogenes doradianalores
 
Instalación de servidor DHCP en Ubuntu Server 12.04
Instalación de servidor DHCP en Ubuntu Server 12.04Instalación de servidor DHCP en Ubuntu Server 12.04
Instalación de servidor DHCP en Ubuntu Server 12.04Totus Muertos
 
IPTABLES y SQUID‏
IPTABLES y SQUID‏IPTABLES y SQUID‏
IPTABLES y SQUID‏ingpuma
 
Configuracion de Firewalls e Pasarelas
Configuracion de Firewalls e PasarelasConfiguracion de Firewalls e Pasarelas
Configuracion de Firewalls e PasarelasMiguel Morales
 
Manual intalación DHCP en Centos 6
Manual intalación DHCP en Centos 6Manual intalación DHCP en Centos 6
Manual intalación DHCP en Centos 6K-milo Rivera
 

Similar a Comoconfigurarun firewallconshorewallendosinterfacesderedconpoliticasdro pencentosydebian (20)

Seguridades de redes
Seguridades de redesSeguridades de redes
Seguridades de redes
 
Apuntes iptables gerardo
Apuntes iptables gerardoApuntes iptables gerardo
Apuntes iptables gerardo
 
TCP/IP
TCP/IPTCP/IP
TCP/IP
 
Seguridad de las redes
Seguridad de las redesSeguridad de las redes
Seguridad de las redes
 
Unidad III: Seguridad de las Redes
Unidad III: Seguridad de las RedesUnidad III: Seguridad de las Redes
Unidad III: Seguridad de las Redes
 
Actividad 3 de redes del computador
Actividad 3 de redes del computadorActividad 3 de redes del computador
Actividad 3 de redes del computador
 
Pfsense
Pfsense Pfsense
Pfsense
 
Unidad iii seguridad de las redes
Unidad iii seguridad de las redesUnidad iii seguridad de las redes
Unidad iii seguridad de las redes
 
Firewall hw
Firewall hwFirewall hw
Firewall hw
 
Unidad iii redes presentacion
Unidad iii redes presentacionUnidad iii redes presentacion
Unidad iii redes presentacion
 
Redes Informaticas
Redes InformaticasRedes Informaticas
Redes Informaticas
 
RedLAN
RedLANRedLAN
RedLAN
 
Protocolos de la comunicación.diogenes dora
Protocolos de la comunicación.diogenes  doraProtocolos de la comunicación.diogenes  dora
Protocolos de la comunicación.diogenes dora
 
Instalación de servidor DHCP en Ubuntu Server 12.04
Instalación de servidor DHCP en Ubuntu Server 12.04Instalación de servidor DHCP en Ubuntu Server 12.04
Instalación de servidor DHCP en Ubuntu Server 12.04
 
IPTABLES y SQUID‏
IPTABLES y SQUID‏IPTABLES y SQUID‏
IPTABLES y SQUID‏
 
Capitulo1 luis
Capitulo1 luisCapitulo1 luis
Capitulo1 luis
 
Practica 5 OSPF
Practica 5 OSPFPractica 5 OSPF
Practica 5 OSPF
 
Configuracion de Firewalls e Pasarelas
Configuracion de Firewalls e PasarelasConfiguracion de Firewalls e Pasarelas
Configuracion de Firewalls e Pasarelas
 
Protocolo TCP/IP en Linux
Protocolo TCP/IP en Linux Protocolo TCP/IP en Linux
Protocolo TCP/IP en Linux
 
Manual intalación DHCP en Centos 6
Manual intalación DHCP en Centos 6Manual intalación DHCP en Centos 6
Manual intalación DHCP en Centos 6
 

Último

IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdfIMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdfJonathanFernandoRodr
 
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptxtema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptxDianaSG6
 
Mecanismo de cuatro barras articuladas!!
Mecanismo de cuatro barras articuladas!!Mecanismo de cuatro barras articuladas!!
Mecanismo de cuatro barras articuladas!!shotter2005
 
PresentaciónReto_Equipo6 Explicacion del reto de freno electromagnetico
PresentaciónReto_Equipo6 Explicacion del reto de freno electromagneticoPresentaciónReto_Equipo6 Explicacion del reto de freno electromagnetico
PresentaciónReto_Equipo6 Explicacion del reto de freno electromagneticoa00834109
 
Mecánica de fluidos 1 universidad continental
Mecánica de fluidos 1 universidad continentalMecánica de fluidos 1 universidad continental
Mecánica de fluidos 1 universidad continentalJOSHUASILVA36
 
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuariaBOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuariamesiassalazarpresent
 
GUIA DE SEGURIDAD PARA MAQUINAS Y HERRAMIENTAS
GUIA DE SEGURIDAD PARA MAQUINAS Y HERRAMIENTASGUIA DE SEGURIDAD PARA MAQUINAS Y HERRAMIENTAS
GUIA DE SEGURIDAD PARA MAQUINAS Y HERRAMIENTASClaudiaRamirez765933
 
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOSAnálisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOSppame8010
 
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALESLA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALESLuisLobatoingaruca
 
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de IloPlan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de IloAlbertoRiveraPrado
 
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptxTEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptxmaitecuba2006
 
699423025-ANALISIS-DE-TRABAJO-SEGURO-ATS-PPT.ppt
699423025-ANALISIS-DE-TRABAJO-SEGURO-ATS-PPT.ppt699423025-ANALISIS-DE-TRABAJO-SEGURO-ATS-PPT.ppt
699423025-ANALISIS-DE-TRABAJO-SEGURO-ATS-PPT.ppteduardosanchezyauri1
 
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdfDavidHunucoAlbornoz
 
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA  PPTCONTROL DE MOTORES DE CORRIENTE ALTERNA  PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPTLuisLobatoingaruca
 
&PLC Ladder.pdf automatización industrial
&PLC Ladder.pdf automatización industrial&PLC Ladder.pdf automatización industrial
&PLC Ladder.pdf automatización industrialjulianmayta1
 
ACT MECANISMO DE 4 BARRAS ARTICULADAS.PDF
ACT MECANISMO DE 4 BARRAS ARTICULADAS.PDFACT MECANISMO DE 4 BARRAS ARTICULADAS.PDF
ACT MECANISMO DE 4 BARRAS ARTICULADAS.PDFDavidMorales257484
 
DISEÑO DE LOSAS EN UNA DIRECCION (CONCRETO ARMADO II )
DISEÑO DE LOSAS EN UNA DIRECCION  (CONCRETO ARMADO II )DISEÑO DE LOSAS EN UNA DIRECCION  (CONCRETO ARMADO II )
DISEÑO DE LOSAS EN UNA DIRECCION (CONCRETO ARMADO II )FELIXGUMERCINDOFLORE
 

Último (20)

IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdfIMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
IMPORTANCIA DE LOS LIPIDOS EN FARMACIA.pdf
 
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptxtema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
 
Mecanismo de cuatro barras articuladas!!
Mecanismo de cuatro barras articuladas!!Mecanismo de cuatro barras articuladas!!
Mecanismo de cuatro barras articuladas!!
 
PresentaciónReto_Equipo6 Explicacion del reto de freno electromagnetico
PresentaciónReto_Equipo6 Explicacion del reto de freno electromagneticoPresentaciónReto_Equipo6 Explicacion del reto de freno electromagnetico
PresentaciónReto_Equipo6 Explicacion del reto de freno electromagnetico
 
Mecánica de fluidos 1 universidad continental
Mecánica de fluidos 1 universidad continentalMecánica de fluidos 1 universidad continental
Mecánica de fluidos 1 universidad continental
 
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuariaBOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
 
GUIA DE SEGURIDAD PARA MAQUINAS Y HERRAMIENTAS
GUIA DE SEGURIDAD PARA MAQUINAS Y HERRAMIENTASGUIA DE SEGURIDAD PARA MAQUINAS Y HERRAMIENTAS
GUIA DE SEGURIDAD PARA MAQUINAS Y HERRAMIENTAS
 
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOSAnálisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
 
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALESLA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
 
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de IloPlan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
 
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptxTEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
 
699423025-ANALISIS-DE-TRABAJO-SEGURO-ATS-PPT.ppt
699423025-ANALISIS-DE-TRABAJO-SEGURO-ATS-PPT.ppt699423025-ANALISIS-DE-TRABAJO-SEGURO-ATS-PPT.ppt
699423025-ANALISIS-DE-TRABAJO-SEGURO-ATS-PPT.ppt
 
Sistemas de posicionamiento global (G.P.S.).pdf
Sistemas de posicionamiento global (G.P.S.).pdfSistemas de posicionamiento global (G.P.S.).pdf
Sistemas de posicionamiento global (G.P.S.).pdf
 
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
 
Tasaciones Ñuñoa - La Reina - Las Condes
Tasaciones Ñuñoa - La Reina - Las CondesTasaciones Ñuñoa - La Reina - Las Condes
Tasaciones Ñuñoa - La Reina - Las Condes
 
Becas de UOC _ Caja Ingenieros 2024-25.pdf
Becas de UOC _ Caja Ingenieros 2024-25.pdfBecas de UOC _ Caja Ingenieros 2024-25.pdf
Becas de UOC _ Caja Ingenieros 2024-25.pdf
 
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA  PPTCONTROL DE MOTORES DE CORRIENTE ALTERNA  PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
 
&PLC Ladder.pdf automatización industrial
&PLC Ladder.pdf automatización industrial&PLC Ladder.pdf automatización industrial
&PLC Ladder.pdf automatización industrial
 
ACT MECANISMO DE 4 BARRAS ARTICULADAS.PDF
ACT MECANISMO DE 4 BARRAS ARTICULADAS.PDFACT MECANISMO DE 4 BARRAS ARTICULADAS.PDF
ACT MECANISMO DE 4 BARRAS ARTICULADAS.PDF
 
DISEÑO DE LOSAS EN UNA DIRECCION (CONCRETO ARMADO II )
DISEÑO DE LOSAS EN UNA DIRECCION  (CONCRETO ARMADO II )DISEÑO DE LOSAS EN UNA DIRECCION  (CONCRETO ARMADO II )
DISEÑO DE LOSAS EN UNA DIRECCION (CONCRETO ARMADO II )
 

Comoconfigurarun firewallconshorewallendosinterfacesderedconpoliticasdro pencentosydebian

  • 1. Comoconfigurar un Firewall con Shorewall en dos Interfaces de Red con políticas DROP en CentOS y Debian. Autor: David Rosado Correo electrónico: bleycklinx@gmail.com En este tutorial indicare como se configura un Firewall con Shorewall con políticas DROP en dos interfaces de red para CentOS y para Debian. Shorewall Shorewall (Shoreline Firewall) es una robusta y extensible herramienta de alto nivel para la configuración de muros cortafuego. Shorewall solo necesita se le proporcionen algunos datos en algunos ficheros de texto simple y éste creará las reglas de cortafuegos correspondientes a través de iptables. Shorewall puede permitir utilizar un sistema como muro cortafuegos dedicado, sistema de múltiples funciones como puerta de enlace, dispositivo de encaminamiento y servidor. Shorewall no solo le permite configurar un firewall seguro, poderoso y robusto, también se puede lograr con este el control del AB (Ancho de Banda) ya que maneja el “Traffic Shaping/QOS”, También podemos configurar en Shorewall algunas cosas como “Dom0, Xen - Shorewall in Routed Xen, Xen - Shorewall in a Bridged Xen DomU, VNP, IPP2P, Macros, MAC Verification, Múltiples conexiones de Intener o MultiISP” y más. A pesar de ser tan potente y flexible, Shorewall puede llegar a ser una herramienta demasiado complicada para el uso cotidiano del usuario principiante y que no tenga conocimientos sobre este, además para muchos usuarios, Shorewall puede parecer una herramienta muy fácil de configurar, pero cabe recalcar que una ves dominada se puede lograr tener un firewall muy potente y seguro para servidores en producción. Hay muchas herramientas para crear un Firewall básico, y algunas de estas son para el entorno gráfico o X, no se recomienda utilizar estas ya que consumen muchos recursos y lo que a muchos nos interesa es evitar esto. ¿Qué es un NAT? NAT (acrónimo de Network Address Translation o Traducción de Dirección de Red), también conocido como enmascaramiento de IP, es una técnica mediante la cual las direcciones de origen y/o destino de paquetes IP son reescritas mientras pasan a través de un dispositivo de encaminamiento (router) o muro cortafuegos. El NAT es un sistema que se utiliza para asignar una red completa (o varias redes) a una sola dirección IP.
  • 2. Cómo Funciona el NAT Cuando un cliente en la red interna contacta con una máquina en Internet, envía paquetes IP destinados a esa máquina. Estos paquetes contienen toda la información de direccionamiento necesaria para que puedan ser llevados a su destino. NAT se encarga de estas piezas de información: • Dirección IP de origen (por ejemplo, 192.168.1.35) • Puerto TCP o UDP de origen (por ejemplo, 2132) Cuando los paquetes pasan a través de la pasarela de NAT, son modificados para que parezca que se han originado y provienen de la misma pasarela de NAT. La pasarela de NAT registra los cambios que realiza en su tabla de estado, para así poder: a) invertir los cambios en los paquetes devueltos, y b) asegurarse de que los paquetes devueltos pasen a través del cortafuegos y no sean bloqueados. Por ejemplo, podrían ocurrir los siguientes cambios: • IP de origen: sustituida con la dirección externa de la pasarela (por ejemplo, 24.5.0.5) • Puerto de origen: sustituido con un puerto no en uso de la pasarela, escogido aleatoriamente (por ejemplo, 2945) Ni la máquina interna ni el anfitrión de Internet se dan cuenta de estos pasos de traducción. Para la máquina interna, el sistema NAT es simplemente una pasarela a Internet. Para el anfitrión de Internet, los paquetes parecen venir directamente del sistema NAT; ni siquiera se da cuenta de que existe la estación interna. Cuando el anfitrión de Internet responde a los paquetes internos de la máquina, los direcciona a la IP externa de la pasarela de NAT (24.5.0.5) y a su puerto de traducción (53136). La pasarela de NAT busca entonces en la tabla de estado para determinar si los paquetes de respuesta concuerdan con alguna conexión establecida. Entonces encontrará una única concordancia basada en la combinación de la dirección IP y el puerto, y esto indica a PF que los paquetes pertenecen a una conexión iniciada por la máquina interna 192.168.1.35. Acto seguido PF realiza los cambios opuestos a los que realizó para los paquetes salientes, y reenvía los paquetes de respuesta a la máquina interna. ¿Que es DNAT? DNAT son las siglas de Destination Network Address Translation o Traducción de dirección de red de destino, el DNAT nos permite redirigir puertos hacia máquinas que se encuentran en una red interna o Red Privada. Procedemos a descargar Shorewall 3.4.6-2.noarch.rpm en formato RPM para CentOS 5 desde la página oficial desde la sección de descargas en http://www.shorewall.net también directamente en http://www.invoca.ch Una vez descargado el shorewall antes mencionado pasamos a instalarlo: rpm -Uvh shorewall-3.4.6-2.noarch.rpm Para Debian simplemente lo podemos instalar con “aptitude install shorewall” el cual se instalará la versión 3.2.6-2. Una vez instalado, copiamos los archivos de configuración desde /usr/share/doc/shorewall/default-config a /etc/shorewall. cp /usr/share/doc/shorewall/default-config /etc/shorewall Para activar Shorewall en Debian debemos editar /etc/default/shorewall, aquí encontraremos startup=0, solo hay que cambiar el “0” por “1” y lo dejamos así: startup=1
  • 3. Hay que tener en cuenta que los ficheros que vamos a configurar se encuentran en el directorio "/etc/shorewall", los ficheros que vamos a configurar a continuación son: zones, interfaces, policy, rules, routestopped En CentOS configuramos "shorewall.conf" en "/etc/shorewall/shorewall.conf Definimos principalmente en CentOS el parámetro STARTUP_ENABLED, este parámetro sirve para activar Shorewall, en el vamos a encontrar "NO" ya que de modo predefinido está desactivado, y para activar Shorewall debemos cambiar el No por Yes, y debemos dejarlo así: STARTUP_ENABLED=Yes De esta manera cuando queramos iniciar Shorewall con "shorewall start" o reiniciar con "shorewall restart", no nos dará problemas. Otro parámetro que hay que tener en cuenta CLAMPMSS, ya que si contamos con un enlace tipo PPP debemos cambiar el No por Yes, se utiliza en conexiones tipo PPP (PPTP o PPPoE) y sirve para limitar el MSS (acrónimo de Maximum Segment Size que significa Máximo Tamaño de Segmento). CLAMPMSS=Yes En Debian ya no es necesario editar “shorewall.conf” ya que por defecto esta en Yes (STARTUP_ENABLED=Yes). Seguimos con la configuración del resto de ficheros. zones En el fichero zones se definen las zonas que se administraran del firewall. La zona fw está definida en zones, por lo tanto ya no tendremos que ponerla ni borrarla, ahora procedemos a registrar las zonas de Internet (net) y Red Local (loc): #ZONE DISPLAY OPTIONS fw firewall net ipv4 loc ipv4 #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE interfaces En este fichero se establecen las interfaces de las zonas a ser tomadas en cuenta por el firewall. Se establecen las interfaces que corresponden a la de Internet y Red Local. En el siguiente ejemplo, se cuenta con una interfaz eth1 para acceder hacia Internet, y una interfaz eth0 para acceder hacia la LAN y en todas se solicita se calcule automáticamente la dirección de transmisión (Broadcast), además se identifican ciertas propiedades respecto de la interpretación de los paquetes que ingresan o salen por esa interfaz: #ZONE INTERFACE BROADCAST OPTIONS GATEWAY net eth1 detect tcpflags,blacklist,norfc1918,routefilter,nosmurfs,logmartians loc eth0 detect dhcp #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE Nótese que en la interfaz de Internet (net) "eth1" se adhiere "blacklist", con esto tendremos la opción de que si en algún momento observamos en los registros de nuestros logs del sistema que alguna ip está intentando ingresar sin nuestro permiso a nuestro servidor lo podemos bloquear por completo editando en el fichero "/etc/shorewall/blacklist" la ip correspondiente de dicho intruso, también si acaso hubiera un servicio de DHCP, sea como cliente, como servidor o como intermediario, en alguna de las interfaces, se debe añadir la opción dhcp para permitir la comunicación requerida para este servicio, en el ejemplo dado opera un servidor DHCP, el cual es utilizado en la red de área local para asignar direcciones IP a los equipos de la LAN, en lo anterior se debe activar la opción DHCP para la interfaz eth0, que corresponde a
  • 4. la zona utilizada por el área local, en caso de que el anfitrión donde opera el muro cortafuegos obtiene su dirección IP, para la interfaz eth1, a través del servicio DHCP del ISP, será necesario interpretarlo como el caso de la Red Local. En muchos casos “norfc1918” da un error al momento de iniciar shorewall, si fuese este el caso solo lo borramos de interfaces, así shorewall iniciará normalmente. policy En este fichero se establecen las políticas por defecto para paquetes que viajan entre una zona hacia otra: #SOURCE DEST POLICY LOG LIMIT:BURST # LEVEL net all DROP info all all REJECT info #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE Lo anterior bloquea todo el tráfico desde donde sea a donde sea. Si desean permitir al propio cortafuegos acceder hacia la zona de Internet lo pueden hacer añadiendo la respectiva regla: fw net ACCEPT Si se desea dar una salida a los equipos de la LAN sin restriccón de puertos hacia el mundo o Internet simplemente ponemos esta regla: loc net ACCEPT De tal modo que el fichero policy quede del siguiente modo: loc net ACCEPT net all DROP info all all REJECT info De este modo no especificamos ningún puerto, simplemente los equipos navegaran y podran salir a cualquier lado, caso contrario que no se desee esta política se podrá configurar como está en el ejemplo dado más abajo en el fichero "rules". Según los requerimientos del usuario también podrían utilizar otras como: * ACCEPT: Se acepta la conexión. * DROP: Se ignora la conexión. * REJECT: Se rechaza explícitamente la conexión. * QUEUE: Envia el pedido a una aplicación con la target QUEUE. * CONTINUE: Dejar que el pedido de conexión continúe para ser procesado por otras reglas. * NONE: Se asume que esta conexión no puede darse y no se generan reglas al respecto. masq Este fichero se lo utiliza para definir enmascaramiento (masquerading) o NAT, esto es útil cuando tenemos una red privada con la cual queremos navegar a través de un Proxy. En el siguiente ejemplo aplicaremos enmascaramiento para la interfaz eth0 (Red Lan) la cual sale por medio de la interfaz eth1 que es nuestra IP Pública: #INTERFACE SUBNET ADDRESS PROTO PORT(S) IPSEC eth1 eth0 #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
  • 5. Otro caso es si tenemos varias redes y queremos enmascarar a través de una sola interfaz, no olviden en configurar correctamente su Proxy: #INTERFACE SUBNET ADDRESS PROTO PORT(S) IPSEC eth1 172.16.0.0/16 eth1 172.16.1.0/24 #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE También podemos hacer NAT a una sola IP y para solo un protocolo: #INTERFACE SUBNET ADDRESS PROTO PORT(S) IPSEC eth1 eth0 172.16.0.3 tcp 25,110 #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE routestopped En este fichero podemos definir que direcciones IP o redes podrán continuar accediendo cuando el cortafuegos es detenido o cuando este se encuentra en proceso de reinicio. Será necesario definir nuestras interfaces de red o IP que deseamos que continúe la comunicación, podemos definir en formato separado por comas indicando la red o ip: #INTERFACE HOST(S) OPTIONS eth0 eth1 #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE Otro ejemplo: #INTERFACE HOST(S) OPTIONS eth0 172.16.0.0/24 eth0 172.16.3.16,172.16.1.12 #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE rules Este es el fichero de configuración más importante de Shorewall, ya que aquí se definen las reglas que permitirán o denegarán el acceso a servicios y puertos desde y hacia zonas o el firewall. También se puede definir las reglas DNAT y registro de ciertos paquetes. Antes de configurarlo hay que tener en cuenta que las políticas por defecto son DROP, por lo tanto nada pasa a ningún lugar, no se podrá navegar ni siquiera el mismo fw, por lo tanto tenemos que ir a abriendo y permitiendo el acceso a varios puertos según como sean los requerimientos. En Shorewall no solo se puede configurar con las numeraciones de los puertos, Shorewall nos permite también configurar los puertos según sea su nombre o servicio que ofrece (DNS, FTP, POP3, MySQL, SSH, VNC, Whois, Emule, BitTorrent, etc), dada esta facilidad en Shorewall podemos incluir y agregar de esta forma: DNS/ACCEPT loc fw Lo que se estaría haciendo con esta regla, es permitiendo que la red local haga consultas de DNS al fw, nótese que se a incluido “DNS” en ves de los puertos por su numeración “53”, con esta regla se abrirá tanto en tcp como en udp por que con esta simple regla nos bastaría para que se abra el puerto DNS. Si quisiéramos permitir las consultas de DNS desde el Internet (net) hacia el Firewall (fw), lo tendríamos que hacer así: DNS/ACCEPT net fw Hay algunos ejemplos en el mismo sitio de Shorewall.
  • 6. ACCEPT Lo primero que aremos es permitir o aceptar que el mismo Firewall (fw) pueda navegar, sin restricciones, esto es indispensable ya que si contamos con un servidor que pertenece a un Caber café o parecido, se necesitara que el servidor pueda navegar sin límites, de esa forma ninguna página que sea tipo Chat no será bloqueada, porque necesita de ciertos puertos para la autenticación, lo mismo para algunos servicios necesarios, a los cuales necesitaremos ingresar y navegar con tranquilidad, abriremos los puertos del 1024 hasta el 65535: #ACTION SOURCE DEST PROTO DEST # PORT ACCEPT fw net tcp 20,21,22,43,53,80,443,1024:65535 ACCEPT fw net tcp 43,53,123,443,1024:65535 #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE También podemos definir una regla para que no tenga límites de puertos: ACCEPT fw net all Con esta regla lo que hemos hecho es que el Firewall (fw) tenga acceso hacia el Internet (net) sin restricción alguna. Ahora aceptamos que nuestra red local (loc) se pueda conectar al Internet (net), aquí podemos definir si queremos los mismos puertos que el fw, ya que para mayor seguridad no le ponemos que todas puedan salir a puertos como el 22, 5800, 5900, 1-1023, ya que son puertos de riesgos, y para evitarnos problemas con los usuarios a que estén haciendo cosas sin control en la red preferible descomentamos estos: ACCEPT loc net tcp 20,21,22,43,53,80,443,1024:65535 ACCEPT loc net udp 43,53,123,443,1024:65535 Nótese que de igual manera a la red local (loc) le permito hacer peticiones al Puerto 53 hacia el Internet, recuerden que es recomendable configurar un DNS cache para nuestra red local en nuestro servidor, pero al mismo tiempo los ISP nos dan otros DNS de gran ayuda para que podamos navegar, estos DNS hay que ponerlos en nuestro servidor y uno de los DNS del ISP en los equipos clientes, de esta forma si nuestro DNS local no puede resolver un dominio pasará a utilizar el DNS secundario que le hemos asignado. Procedemos a permitir la conexión de los equipos de la red local a limitados puertos del fw, si hemos configurado un DNS cache para nuestra red local (loc) y un Proxy para navegación por medio de este procedemos a abrir solo los puertos necesarios, ya que no permitiremos a todos los equipos la conexión por medio de VNC al servidor, ni por SSH a menos que quieran los administradores de red permitir estos u otros accesos al servidor: ACCEPT loc fw tcp 53,3128 ACCEPT loc fw udp 53 Permitimos que una sola máquina ingrese a nuestro servidor sin límite alguno, esta máquina o ip sería la del administrador de la red: ACCEPT loc:172.16.0.20 fw all Con este ejemplo también lo podemos definir desde la zona de Internet (net) al Firewall (fw) para permitir el acceso a una ip fuera de nuestra red, la cual puede ser de algún amigo, administrador, etc. ACCEPT net:202.15.19.18 fw all También podemos definir que solo se conecte desde el exterior a limitado números de puertos: ACCEPT net:202.15.19.18 fw 21,22,80
  • 7. También podemos definir la mac de dicho equipo, lo recomendable es definir la mac desde la red local, ya que desde el exterior puede haber la posibilidad de falsear dicha mac y de esa forma tener acceso al servidor: ACCEPT loc:~00-10-8D-27-03-76 fw all REDIRECT El REDIRECT permite redirigir peticiones hacia un puerto en particular. Muy útil cuando se quieren redirigir peticiones para HTTP (puerto 80) y se quiere que estas pasen a través de un Servidor Intermediario (Proxy) como Squid. Las peticiones hechas desde la red local serán redirigidas hacia el puerto 8080 del cortafuegos, en donde hay un Servidor Intermediario (Proxy) configurado en modo transparente: #ACTION SOURCE DEST PROTO DEST # PORT REDIRECT loc 8080 tcp 80 #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE Podemos también limitar las peticiones hechas desde la red local (LAN) al puerto 3128 del Proxy, limitando la taza de conexiones a veinte por segundo con ráfagas de hasta cinco conexiones. Esto es muy útil para evitar ataques de DoS (acrónimo de Denial of Service que se traduce como Denegación de Servicio) desde la red local (LAN). #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE # PORT PORT(S) DEST LIMIT REDIRECT loc 3128 tcp 80 - - 20/sec:5 #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE DNAT El DNAT se utiliza para reenviar peticiones desde un puerto del cortafuegos hacia una IP y puerto en particular tanto en la red local como en la DMZ. Cabe destacar que para que el DNAT funcioné se necesita que: • Esté habilitado el reenvío de paquetes en /etc/sysctl.cfg en la opción “net.ipv4.ip_forward = 1” • Los equipos hacia los que se esté haciendo DNAT utilicen como puerta de enlace al cortafuegos. Si tenemos un servidor DNS (53), HTTP (80) dentro de nuestra red local y queremos permitir accesos a este, reenviamos con el DNAT editando las siguientes reglas: #ACTION SOURCE DEST PROTO DEST # PORT DNAT net loc:172.16.0.3 tcp 53,80 DNAT net loc:172.16.0.3 udp 53 #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE Si tenemos dos servidores de correo, uno que recibe la mensajería (como pasarela) y otro que envía y este necesita conectarse al servidor principal (pasarela) para poder enviar los correos, para poder permitir esto solo tenemos que abrir los puertos necesarios: ACCEPT loc fw tcp 25
  • 8. Si hemos puesto que se permita la conexión a ciertos servicios o puertos es recomendable permitir tanto el Ping como el Traceroute al servidor, para realizar pruebas de diagnóstico desde el cortafuegos hacia Internet y red local para probar conectividad y acceso hacia diversos protocolos, se puede utilizar lo siguiente: Ping/ACCEPT fw loc Ping/ACCEPT fw net Trcrt/ACCEPT fw net En el siguiente ejemplo permitimos a una máquina de la red local hacer Ping y Traceroute hacia la zona de Internet: Ping/ACCEPT loc:172.16.0.20 net Trcrt/ACCEPT loc:172.16.0.20 net Si deseamos podemos permitir a toda la red local hacer Ping y Traceroute hacia la zona de Internet: Ping/ACCEPT loc net Trcrt/ACCEPT loc net Si queremos permitir la consulta de Ping desde el Internet tenemos que permitir el servicio: Ping/ACCEPT net fw Ejemplos de algunas reglas útiles: En este ejemplo se hace DNAT desde la zona de la Internet para los servicios de HTTP (puerto 80), SMTP (puerto 25), POP3 (puerto 110) y DNS (puerto 53) hacia diversos servidores localizados en Loc: #ACTION SOURCE DEST PROTO DEST # PORT DNAT net loc:172.16.0.3 tcp 80 DNAT net loc:172.16.0.3 tcp 25,110 DNAT net loc:172.16.0.2 tcp 53 DNAT net loc:172.16.0.2 udp 53 #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE En el siguiente ejemplo se hace DNAT desde la zona de Internet para los servicios de HTTP (puerto 80), SMTP (puerto 25), POP3 (puerto 110) y DNS (puerto 53) hacia diversos servidores localizados en Loc y limitar la taza de conexiones a diez por segundo con ráfagas de hasta cinco conexiones para cada servicio: #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE # PORT PORT(S) DEST LIMIT DNAT net loc:10.10.10.1 tcp 80 - - 10/sec:5 DNAT net loc:10.10.10.2 tcp 25,110 - - 10/sec:5 DNAT net loc:10.10.10.3 tcp 53 - - 10/sec:5 DNAT net dmz:10.10.10.3 udp 53 - - 10/sec:5 #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
  • 9. Nota: Por opciones de seguridad se podría poner en rules que ciertas ips peligrosas no tengan ningún tipo de acceso a nuestro servidor con: DROP net:192.168.0.0/16 fw DROP net:10.0.0.0/8 fw DROP net:172.16.0.0/12 fw DROP net:224.0.0.0/4 fw DROP net:240.0.0.0/5 fw DROP net:127.0.0.0/8 fw DROP net:0.0.0.0/8 fw DROP net:169.254.0.0/16 fw DROP net:255.255.255.255 fw Con esto bloqueamos totalmente a estas ips, sin permitirles ningún tipo de acción en nuestro equipo. Otros Ejemplos: FTP/ACCEPT net fw MySQL/ACCEPT loc fw MySQL/ACCEPT loc net SSH/ACCEPT loc:172.16.0.5 fw HTTP/ACCEPT net fw Edonkey/DNAT net loc:172.16.0.3 Si queremos permitir paquetes icmp con limitaciones para evitar ataques DoS, lo podemos hacer del siguiente modo: #Permitimos paquetes ICMP (ping,pong,...) #con limites para evitar ataques de DoS. ##Aceptamos ping ACCEPT net fw icmp echo-request - - 2/sec:3 #Aceptamos pong ACCEPT net fw icmp echo-reply - - 2/sec:3 #Aceptamos redirecciones ACCEPT net fw icmp redirect - - 2/sec:3 #Aceptamos tiempo excedido ACCEPT net fw icmp time-exceeded - - 2/sec:3 #Aceptamos destino inalcanzable ACCEPT net fw icmp destination-unreachable - - 2/sec:3 Revisamos posibles errores en la configuración con "shorewall check" antes de iniciarlo. Iniciar Shorewall y añadirlo a los servicios de arranque del sistema en CentOS. Si Shorewall va a ser ejecutado por primera vez, utilice: shorewall start Si actualizo a la versión mencionada en este Tutorial, o instalo directamente la versión utilizada aquí, utilice: shorewall restart Añadimos a Shorewall al arranque del sistema: chkconfig shorewall on En Debian una vez concluido esto solo debemos iniciarlo “shorewall start” o reiniciar “shorewall restart” y para poner en los procesos del inicio simplemente instalamos el "rcconf". Y con “iptables -L -n” y también “iptables -t nat -L” se podrá ver las reglas generadas por Shorewall.