+ All Categories
Home > Documents > itables.docx

itables.docx

Date post: 21-Nov-2015
Category:
Upload: daniel-cristobal-andrade-giron
View: 5 times
Download: 0 times
Share this document with a friend
18
Los firewalls juegan un rol fundamental dentro de la seguridad de una organización. De esta manera, es necesario aclarar algunos conceptos referentes a como configurar un firewall en un sistema basado en Unix, utilizando iptables . Esta herramienta provee funcionalidades muy eficientes para el filtrado de protocolos y actividades de la misma naturaleza. ¿Qué es iptables? Iptables es un sistema de firewall vinculado al kernel de Linux. La ventaja es que se encuentra integrado con el sistema operativo por lo que, en general, es muy utilizado por los profesionales de seguridad. Al igual que otros tipos de firewalls, iptables funciona a través de reglas. De esta manera, es posible definir a que tipos de paquetes se les permite el paso, sobre que puerto, protocolos, etc. Iptables es una herramienta compleja que posee un alto índice de granularidad. En esta ocasión analizaremos algunas de las funcionalidades de las que dispone y en futuras publicaciones, profundizaremos su comportamiento. ¿Cuándo utilizar iptables? En entornos corporativos, suelen exponerse equipos a Internet con determinado fin. En estos casos, es importante contar con una configuración adecuada a nivel de red ya que este puede ser el punto de entrada para un potencial atacante. En ciertos casos, también se suelen combinar firewalls físicos con iptables para lograr una configuración más segura. ¿Qué tipo de reglas existen en iptables? Iptables posee tres grandes grupos de reglas: Reglas de filtrado: Esto se logra a partir de las reglas INPUT, OUTPUT y FORWARD. Permite determinar que tipos de paquetes pueden ingresar a la red y redireccionarlos al destino de interés. NAT: Son el grupo de reglas que permiten aplicarse a partir de la dirección ip desource (origen) y destination (destino), y realizar la traslación al puerto adecuado. Mangle: Este tipo de reglas aplica sobre los flags de los paquetes. La sintaxis para utilizar iptables es la siguiente: iptables <opciones><criterio><dirección del objetivo> Primera aproximación Para poder visualizar las reglas existentes solo hace falta ejecutar el comando iptables -L. Esto permite comprobar que tipos de reglas están vigentes sobre el firewall en el sistema. Es conocido como una buena medida de seguridad deshabilitar la respuesta al ping en caso de no ser estrictamente necesario. Esto permite dificultar la etapa de descubrimiento de un determinado sistema en caso de un potencial atacante fije el interés sobre este objetivo. Esta tarea es muy sencilla de realizar con iptables. Solo basta con fijar una regla para realizar undrop (eliminar) sobre los paquetes específicos. En el caso del ping estándar, el paquete es de tipo ICMP 8. Por lo tanto, se debe filtrar el paquete con la siguiente regla: iptables -A INPUT -p icmp –d [direccion ip] –icmp-type 8 -j DROP Para comprobar que la regla realmente funciona, realizamos un ping al sistema objetivo antes y después de aplicar la regla. Resumen: Iptables es la aplicación estándar de Linux® para crear un firewall. Es fácil de configurar y mantener al mismo tiempo que es lo suficientemente potente como para proporcionar el control de un aparato de gama alta. Aprenda cómo empezar con iptables, recuperarse de los problemas comunes, y simular un escenario de uso de pequeña oficina. Introducción
Transcript

Losfirewallsjuegan un rol fundamental dentro de la seguridad de una organizacin. De esta manera, es necesario aclarar algunos conceptos referentes a comoconfigurar unfirewallen un sistema basado en Unix, utilizandoiptables.Esta herramienta provee funcionalidades muy eficientes para el filtrado de protocolos y actividades de la misma naturaleza.Qu esiptables?Iptableses un sistema defirewallvinculado alkerneldeLinux. La ventaja es que se encuentra integrado con el sistema operativo por lo que, en general, es muy utilizado por los profesionales de seguridad.Al igual que otros tipos defirewalls,iptablesfunciona a travs de reglas. De esta manera, es posible definir a que tipos de paquetes se les permite el paso, sobre que puerto, protocolos,etc.Iptableses una herramienta compleja que posee un alto ndice de granularidad. En esta ocasin analizaremos algunas de las funcionalidades de las que dispone y en futuras publicaciones, profundizaremos su comportamiento.Cundo utilizariptables?En entornos corporativos, suelen exponerse equipos a Internet con determinado fin. En estos casos, es importante contar con unaconfiguracin adecuada a nivel de redya que este puede ser el punto de entrada para un potencial atacante.En ciertos casos, tambin se suelencombinarfirewallsfsicos coniptablespara lograr una configuracin ms segura.Qu tipo de reglas existen eniptables?Iptablesposee tres grandes grupos de reglas: Reglas de filtrado:Esto se logra a partir de las reglas INPUT, OUTPUT y FORWARD. Permite determinar que tipos de paquetes pueden ingresar a la red y redireccionarlos al destino de inters. NAT:Son el grupo de reglas que permiten aplicarse a partir de la direccin ip desource(origen) ydestination(destino), y realizar la traslacin al puerto adecuado. Mangle:Este tipo de reglas aplica sobre losflagsde los paquetes.La sintaxis para utilizariptableses la siguiente:iptables Primera aproximacinPara poder visualizar las reglas existentes solo hace falta ejecutar el comandoiptables -L.

Esto permitecomprobar que tipos de reglas estn vigentessobre elfirewallen el sistema.Es conocido como una buena medida de seguridaddeshabilitar la respuesta alpingen caso de no ser estrictamente necesario. Esto permite dificultar la etapa de descubrimiento de un determinado sistema en caso de un potencial atacante fije el inters sobre este objetivo.Esta tarea es muy sencilla de realizar coniptables. Solo basta con fijar una regla para realizar undrop(eliminar) sobre los paquetes especficos. En el caso delpingestndar, el paquete es de tipo ICMP 8. Por lo tanto, se debe filtrar el paquete con la siguiente regla:iptables -A INPUT -p icmp d [direccion ip] icmp-type 8 -j DROPPara comprobar que la regla realmente funciona, realizamos unpingal sistema objetivoantes y despus de aplicar la regla.Resumen:Iptables es la aplicacin estndar de Linux para crear un firewall.Es fcil de configurar y mantener al mismo tiempo que es lo suficientemente potente como para proporcionar el control de un aparato de gama alta.Aprenda cmo empezar con iptables, recuperarse de los problemas comunes, y simular un escenario de uso de pequea oficina.IntroduccinIptables es una aplicacin que permite la administracin de las tablas en el servidor de seguridad del kernel de Linux.No es necesario conocimientos previos sobre el ncleo, o sobre las tablas del mismo, ni tampoco sobre las modificaciones del cortafuegos y tareas comunes de administracin del sistema.En algunas distribuciones de Linux, iptables viene activado por defecto.Es comn que los usuarios sin experiencia utilicen aplicaciones que definen las reglas para evitar problemas de red.Este artculo le ayudar a empezar rpidamente y manipular iptables segn sus necesidades.A veces,iptablesse utiliza para referirse a la del kernel de Linux a nivel de componente.En este artculo, todo lo relacionado coniptablesse referir especficamente a la aplicacin que controla los protocolos en una distribucin de Linux, como IPv4, IPv6, y las tablas ARP.Al igual que otras aplicaciones de Linux, se puede configurar iptables en la interfaz de lnea de comandos o en un archivo de texto plano, lo que permite la edicin con cualquier editor de texto.Aunque es fcil de modificar, podra sentirse incmodo desde el dispositivo de cortafuegos, donde la mayor parte de la interaccin con los ajustes y configuraciones que se hace en una interfaz grfica.Hay aplicaciones que utilizan iptables para gestionar un servidor de seguridad a travs de interfaces grficas, pero este artculo cubrir la interaccin con iptables en su ambiente natural: la terminal de Linux.El tener un buen nivel usando un terminal de Linux (tambin referido como un emulador de la consola o terminal) ayudar a los desarrolladores tomar ventaja de los ejemplos y configuraciones que siguen.La interfaz desde la lnea de comandos es la principal forma de interactuar con iptables, y una terminal de Linux es la aplicacin que permite el acceso a esta interfaz.Las reglas que se aplican son en su mayora muy legibles y fcilmente portables a otros servidores.Esta funcin ahorra mucho tiempo cuando se trata de hardware.Requisitos de las solicitudesA pesar de que iptables es el tema principal de este artculo, es probablemente que ya tengo instalado y que tambin vamos a utilizarnmap,que es otra aplicacin de gran alcance.Compruebe que est instaladonmapantes de continuar.Puede instalar este escner de red efectiva en una distribucin Debian / Ubuntu Linux.

Listado 1A.Instalacin de nmap en Debian / Ubuntu sudo apt-get install nmap

Listado 1B.Instalacin de nmap en Fedra/RedHat/CentOS sudo yum -y install nmap

Primeros pasosCasi todas las distribuciones de Linux vienen con iptables instalado y listo para usar.Asegrese de que tiene eliptables disponible en su shellpreferida.Este artculo utiliza las convenciones de Debian / Ubuntu para configurar iptables.Debido a que vamos a hacer modificaciones en el nivel del ncleo, asegrese de que tiene privilegios de root.Listado 2muestra las reglas que actualmente se aplican en el servidor.Listado 2 se repetir durante el artculo para comprobar cules son las normas que estn actualmente en uso y verificar los cambios con xito.

Listado 2.Normas que se aplican actualmente root@desktop:~# iptables -LChain INPUT (policy ACCEPT)target prot opt source destination

Chain FORWARD (policy ACCEPT)target prot opt source destination

Chain OUTPUT (policy ACCEPT)target prot opt source destination

En el Listado 2 , instruimos a iptables para una lista de todas las reglas que se aplican actualmente en el firewall.Esto se logra medianteel flag -LLa salida tambin mencionaChain.Piense en las cadenas de IPTables como secciones en el servidor de seguridad que permite un cierto tipo de trfico.Por ejemplo, para bloquear todo el trfico de la red privada a Internet, esta norma se establece en la seccin de salida.Del mismo modo, cualquier norma que afecta el trfico entrante se enumeran en la cadena INPUT.Las tres cadenas que se aplican a cada uno un tipo de actividad en el firewall.En este punto, no hay nada establecido todava.Esto significa que no hay restricciones y todo el trfico de red se le permite entrar y salir. Chain INPUT Chain FORWARD, y Chain OUTPUTAntes de continuar, es necesario verificar qu puertos estn abiertos en el servidor para la comparacin despus de que se bloquee.Como se mencion antes,Nmapes una herramienta de lnea de comandos que proporciona informacin de seguridad de red.Listado 3muestra la salida denmapen un servidor remoto en la red.

Listado 3.El escaneo en red con nmap ~ $ nmap 10.0.0.120

Starting Nmap 5.35DC1 ( http://nmap.org ) at 2010-11-21 20:44 ESTNmap scan report for 10.0.0.120Host is up (0.012s latency).Not shown: 991 closed portsPORT STATE SERVICE22/tcp open ssh25/tcp open smtp53/tcp open domain80/tcp open http631/tcp open ipp3306/tcp open mysql4001/tcp open unknown5900/tcp open vnc8080/tcp open http-proxy

Nmap done: 1 IP address (1 host up) scanned in 6.57 seconds

Esos son un montn de puertos abiertos!En tan slo unos pocos pasos, usted aprender cmo hacer los cambios mencionados, a partir de iptables.

Virtual no siempre es mejorA medida que aprendes iptables puede ser mejor que siga los ejemplos de este artculo en un ordenador con Linux instalado y no en una mquina virtual (VM).Las polticas de la red entre un anfitrin y un invitado podran hacer que la depuracin fuera ms difcil, y algunos ejemplos, no funcionarn.Comience con un entorno fsico

Las reglas de firewall pueden ser aplicadas y aadidas o editadas de forma manual en un archivo de texto plano original.Yo prefiero usar un archivo de texto para aplicar los cambios.La mayora de los errores de tiempo de la sintaxis son ms fciles de alcanzar cuando se escriben en un archivo de texto.Otro problema surge con la edicin de las reglas por las reglas adjuntas directamente, es decir, estas normas no se guardarn cuando un servidor se reinicia.Antes de editar el archivo, vamos a indicarle a iptables como exportar las reglas actuales para que el archivo se convierte en nuestra plantilla inicial.Ver el listado 4 .

istado 4.Reglas de guardar en un archivo root@desktop:~# iptables-save > /etc/iptables.rulesroot@desktop:~# cat /etc/iptables.rules # Generated by iptables-save v1.4.4 on Sun Nov 21 14:48:48 2010*filter:INPUT ACCEPT [732:83443]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [656:51642]COMMIT# Completed on Sun Nov 21 14:48:48 2010

He utilizado el comandoiptables-savey he redirigido la salida a un archivo de texto en el directorio "/etc".el archivo para que puedas ver lo que el archivo se ve en mi mquina.Uno de los primeros requisitos es para permitir las conexiones establecidas para recibir el trfico.Usted necesita cuando quiere nada detrs del firewall (en una red privada) para poder enviar y recibir datos de la red sin restricciones.En el listado 5 se emitir un gobierno directo de iptables y verificar el estado del firewall despus.

Listado 5.Establecido sesiones de la regla root@desktop:~# iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPTroot@desktop:~# iptables -LChain INPUT (policy ACCEPT)target prot opt source destination ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED

Chain FORWARD (policy ACCEPT)target prot opt source destination

Chain OUTPUT (policy ACCEPT)target prot opt source destination

Para tener una mejor idea de lo que sali, vamos a separar el comando y explicar cada uno de ellos:-A INPUT: Aadir esta regla a laINPUTde la cadena.-m conntrack: Comprueba las conexiones para el siguiente curso de paquetes / conexin.-ctstate ESTABLISHED, RELATED: Establece la conexin que se va a aplicar a la regla de.En este caso, una conexinESTABLISHED (establecida) significa una conexin que ha visto paquetes en ambas direcciones y un tipoRELATED (relacionado) significa que el paquete est comenzando una nueva conexin, pero est asociada con una conexin existente.-j ACCEPT: le dice al firewall para que acepte las conexiones descritas antes.Otra opcin vlida para el flag-jseraDROPTambin estoy conectando a travs del protocolo SSH a ese servidor, as que antes de bloquear el servidor de seguridad, una regla en el Listado 6 va a permitir que todas las llamadas entrantes de trfico SSH.Que especificar el tipo de protocolo de red (TCP) y el puerto que est relacionado con el servicio SSH.Se puede especificar el nmero de puerto directamente si es necesario.

Listado 6.Aceptar las conexiones entrantes SSH root@desktop:~# iptables -A INPUT -p tcp --dport ssh -j ACCEPTroot@desktop:~# iptables -LChain INPUT (policy ACCEPT)target prot opt source destination ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED ACCEPT tcp -- anywhere anywhere tcp dpt:ssh

Chain FORWARD (policy ACCEPT)target prot opt source destination

Chain OUTPUT (policy ACCEPT)target prot opt source destination

Por ltimo, vamos a configurar el firewall para bloquear todo lo dems.Tenga especial cuidado al emitir el comando siguiente.Si se coloca delante de todas las otras reglas, se bloquear el trfico de todas y cada una con el servidor.Iptables lee las reglas en forma de procedimiento (de arriba a abajo) y despus de una regla es igual, nada se evaluar.

Listado 7.El bloqueo de todo el trfico entrante root@desktop:~# iptables -A INPUT -j DROProot@desktop:~# iptables -LChain INPUT (policy ACCEPT)target prot opt source destination ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED ACCEPT tcp -- anywhere anywhere tcp dpt:ssh DROP all -- anywhere anywhere

Chain FORWARD (policy ACCEPT)target prot opt source destination

Chain OUTPUT (policy ACCEPT)target prot opt source destination

Listado 7 muestra que las reglas estn en el orden correcto, pero para poder hacer cambios especficos, vamos a guardar las reglas en un archivo y se concatenan para comprobar el contenido como en el Listado 8 .

Listado 8.Verificacin de la configuracin del firewall root@desktop:~# iptables-save > /etc/iptables.rules root@desktop:~# cat /etc/iptables.rules # Generated by iptables-save v1.4.4 on Sun Nov 21 15:10:42 2010*filter:INPUT ACCEPT [1234:120406]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [1522:124750]-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -j DROP COMMIT# Completed on Sun Nov 21 15:10:42 2010

El comandoiptables-saveguarda nuestros cambios en un archivo de texto plano.Se tiene un aspecto un poco diferente simplemente hacer una lista de las normas en la lnea de comandos, pero es exactamente lo mismo.Al igual que antes, tenemos tres secciones: INPUT, FORWARD y OUTPUT.Las normas que se refieren a las conexiones previstas inicialmente OUTPUT, por lo que esta es la seccin donde las reglas que hemos aadido se colocan.En este punto, el servidor se bloquea y la configuracin se ha guardado en un archivo.Pero, qu va a pasar cuando se realiza un anlisis de la red?Vamos a ejecutarnmapotra vez contra ese servidor y comprobar los resultados como se muestran en el Listado 9 .

Listado 9.Escaneo en red con el servidor bloqueado ~ $ nmap 10.0.0.120

Starting Nmap 5.35DC1 ( http://nmap.org ) at 2010-11-21 20:56 ESTNote: Host seems down. If it is really up, but blocking our ping probes, try -PnNmap done: 1 IP address (0 hosts up) scanned in 3.04 seconds

~ $ nmap -Pn 10.0.0.120

Starting Nmap 5.35DC1 ( http://nmap.org ) at 2010-11-21 20:56 ESTNmap scan report for 10.0.0.120Host is up (0.017s latency).Not shown: 999 filtered portsPORT STATE SERVICE22/tcp open ssh

Nmap done: 1 IP address (1 host up) scanned in 12.19 seconds

Tenga en cuenta que el anlisis se intent contra la IP donde se encuentra el servidor, Y esta veznmapno incluy otros puertos abiertos.Esto sucede debido a que el firewall est configurado de tal manera que est bloqueando todo, excepto para el puerto SSH que tenemos abierta.Dado queNmaputiliza un protocolo de red especfico para verificar si el sistema est vivo, volvi con las manos vacas.El segundo intento fue un xito y nos est diciendo que slo SSH est abierto y nada ms.Con slo tres reglas, nos las arreglamos para conseguir un bloqueo eficaz de nuestro servidor.Guardado y restablecimiento de las normasEn la seccin anterior, guardamos las reglas en un archivo de texto.Sin embargo, eso no es efectivo para decirle al servidor que necesita para cargar las reglas.Adems, cuando se reinicia el servidor, se pierde toda la configuracin del hecho.Si va a agregar las normas sobre la lnea de comandos, usted debe estar familiarizado con el esos cambios en un archivo de texto.Ver Listado 10 para guardar las reglas del firewall.

Listado 10.Guardar las reglas de firewall iptables-save > /etc/iptables.rules

Dependiendo del sistema operativo en uso, hay varias maneras de conseguir esas reglas para cargar en el arranque.Un mtodo fcil es ir a la interfaz y decirle que debe cargar las reglas antes de poner la interfaz en lnea.Vea el Listado 11 .

Listado 11.De redes pblicas las reglas de la interfaz de carga

auto eth0iface eth0 inet static address 99.99.99.0 netmask 255.255.255.0 pre-up iptables-restore < /etc/iptables.rules]]>

Aqu tenemos la interfazeth0y se declara una regla para cargar las reglas para el dispositivo de red.Como habrs adivinado, puede usar estos comandos para actualizar manualmente las reglas del firewall desde y hacia el archivo.

Recuperacin de desastresNo hace mucho, estuve en una situacin donde he sido responsable de un dispositivo de firewall.Aunque estaba haciendo copias de seguridad peridicas que las reglas y configuraciones se hicieron, no me di cuenta de que esas copias estaban en un formato propietario y slo puede ser ledo por el modelo de aparato que

tena.No es un problema, por supuesto, cuando tiene dos dispositivos de la misma marca, modelo y versin de firmware, pero, como es comn en pequeas empresas, el presupuesto no permiti nada de eso.Un da, ese aparato no decidi correr ms y tuve que implementar algo rpido que podra ser tan fiable (o mejor).Aprend que la manera ms difcil que tener configuraciones legibles y la capacidad de volver a ponerlos rpidamente activos son muy importantes.Con algo de suerte, he encontrado un servidor antiguo en buen estado con un par de interfaces de red y fui capaz de reemplazar el aparato muerto.Hasta ahora, hemos pasado por los escenarios de la obtencin de una copia de las normas que podran aplicarse fcilmente a cualquier servidor en caso de fallo.Ahora vamos a activar el firewall de ser el principal punto de entrada para una red domstica o empresarial.

Iptables como principal puerta de entradaHasta el momento todo lo que hemos cubierto es grande si usted est ejecutando iptables en un ordenador personal, pero no tiene mucho sentido si una oficina entera tiene que compartir una conexin a Internet.Con unos pocos ajustes de configuracin, podemos poner esto en marcha correctamente.Un servidor depuerta de enlacenecesita al menos dos interfaces de red para poder servir como una puerta de entrada adecuada.Una interfaz "hablara" con la conexin del pblico frente y la otra a la interna, protegida.Vamos a suponer que el servidor tiene dos interfaces de red fsicas:eth0(pblico) yeth1(privada).Necesito un NAT juntos para que el trfico fluya sin interrupciones de la red de una interfaz a otra.La subred de la red privada es 192.168.0.0/255.255.0.0, as que vamos a ver cmo una regla NAT con la expedicin se podra ver en el Listado 12 .

Listado 12.NAT y las reglas de reenvo iptables -A FORWARD -s 192.168.0.0/255.255.0.0 -i eth0 -o eth1 -m\conntrack --ctstate NEW -j ACCEPTiptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPTiptables -A POSTROUTING -t nat -j MASQUERADE

Listado 13 muestra cmo modificar algunos parmetros deprocpara permitir el reenvo en el servidor.

Listado 13.Activando el reenvo en el servidor sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

Tenga en cuenta que los cambios en elprocson voltiles, por lo que los cambios realizados no se han perdido despus de un reinicio.Hay varias maneras para asegurarse de que las modificaciones se adhieren despus de un reinicio.En Debian / Ubuntu agregue las lneas que se quieran realizar en/etc/rc.d/rc.local.Por ltimo, como se muestra en el Listado 14 , hay un cambio que modifica los parmetros del kernel en tiempo de ejecucin (sysctl).Estas configuraciones son por lo general ya en elsysctl.conf,pero estn comentados.Elimine el comentario de ellos (o aadalos si no estn incluidas en la distribucin).

Listado 14.Sysctl / kernel reenvo net.ipv4.conf.default.forwarding=1net.ipv4.conf.all.forwarding=1

ARP umbral de cachEjecutando un servidor Linux como una pasarela har que tenga ciertos problemas con el DNS.El ncleo est diseado para mantener una asignacin de direcciones IP, pero viene con un nivel mximo de entradas que no son adecuados para trfico pesado.Cuando se alcanza este nivel,las consultas DNS no son atendidas.Si bien dicho umbral raramente se alcanza con unos pocos clientes,ms de treinta clientes pasando por este firewall causar un problema.El entorno puede necesitar algn ajuste, pero los valores mostrados en la lista 15 debe proporcionar el sitio antes de ver a estas cuestiones.

Listado 15.El aumento del tamao de la cach ARP echo 1024 > /proc/sys/net/ipv4/neigh/default/gc_thresh1echo 2048 > /proc/sys/net/ipv4/neigh/default/gc_thresh2echo 4096 > /proc/sys/net/ipv4/neigh/default/gc_thresh3

Est atento a los mensajes similares a los de venta 16 , que proporcionar un aviso si es necesario aumentar el nmero acaba de proporcionar.

Listado 16.Sistema de registro de las advertencias del desbordamiento de la cach ARP Nov 22 11:36:16 firewall kernel: [92374.325689] Neighbour table overflow.Nov 22 11:36:20 firewall kernel: [92379.089870] printk: 37 messages suppressed.Nov 22 11:36:20 firewall kernel: [92379.089876] Neighbour table overflow.Nov 22 11:36:26 firewall kernel: [92384.333161] printk: 51 messages suppressed.Nov 22 11:36:26 firewall kernel: [92384.333166] Neighbour table overflow.Nov 22 11:36:30 firewall kernel: [92389.084373] printk: 200 messages suppressed.s.

ConclusinHemos pasado a travs de algunos pasos sencillos para conseguir iptables para funcionar correctamente y para bloquear de forma segura por un servidor Linux.Las reglas aplicadas deberan proporcionar una buena idea de lo que est sucediendo en un servidor usando iptables como cortafuegos.Os animo a darle una oportunidad a iptables, especialmente si dependen de un aparato y desea tener ms control y fcilmente replicar configuraciones legibles.Mientras que las reglas utilizadas que hemos utilizado aqu son simples, la flexibilidad y complejidad de iptables est fuera del alcance de este artculo.Hay muchas reglas complejas que se pueden combinar para crear un ambiente de firewall seguro y controlable.Un ejemplo de una caracterstica interesante avanzada en iptables es el equilibrio de carga.La mayor parte del tiempo, la hora de explorar los servicios web de alta disponibilidad, que estn buscando soluciones de balanceo de carga.Con iptables, este puede ser definido y configurado con las banderasal azaroensimo.Tambin puede hacer a tiempo las reglas de base.En un entorno de oficina pequea, podra ser til para restringir ciertos servicios de lunes a viernes, pero dejar que el servidor de seguridad se comportan de manera diferente los sbados y domingos.Las banderas que podran funcionar en este caso son los siguientes:- timestart, - TimeStopy losdas.Un problema que experiment fue no tener dos servidores de seguridad, al mismo tiempo con algn tipo de conmutacin por error.Creacin de una cosa no es tarea fcil, y puede ser abordado de varias maneras.La solucin ms fcil sera que el router hacer el trabajo y el equilibrio de carga de dos servidores idnticos Firewall.Yo recomiendo buscar en esta opcin si el entorno de red es un activo esencial como una oficina o pequeo negocio.Iptables me salv una vez, y espero que haga lo mismo para ti!El cortafuegos utilizado para gestionar las conexiones en Linux es iptables. Las posibilidades de iptables son prcticamente infinitas y un administrador que quiera sacarle el mximo provecho, puede realizar configuraciones extremadamente complejas. Para simplificar, diremos que bsicamente, iptables permite crear reglas que analizarn los paquetes de datos que entran, salen o pasan por nuestra mquina, y en funcin de las condiciones que establezcamos, tomaremos una decisin que normalmente ser permitir o denegar que dicho paquete siga su curso.

El cortafuegos controla las comunicaciones entre la red y el exteriorPara crear las reglas, podemos analizar muchos aspectos de los paquetes de datos. Podemos filtrar paquetes en funcin de:

Tipo de paquete de datos: Tipo INPUT: paquetes que llegan a nuestra mquina Tipo OUTPUT: paquetes que salen de nuestra mquina Tipo FORWARD: paquetes que pasan por nuestra mquinaInterfaz por la que entran (-i = input) o salen (-o = output) los paquetes eth0, eth1, wlan0, ppp0, ...IP origen de los paquetes (-s = source) IP concreta, ej: 10.0.1.3 Rango de red, ej: 10.0.1.0/8IP destino de los paquetes (-d = destination) IP concreta, ej: 10.0.1.3 Rango de red, ej: 10.0.1.0/8Protocolo de los paquetes (-p = protocol) Tcp, udp, icmp...Hacer NAT (modificar IP origen y destino para conectar nuestra red a otra red o a Internet) y... Filtrar antes de enrutar: PREROUTING Filtrar despus de enrutar: POSTROUTING

Los paquetes pueden entrar, salir o pasarUna forma sencilla de trabajar con iptables es permitir las comunicaciones que nos interesen y luego denegar el resto de las comunicaciones. Lo que se suele hacer es definir la poltica por defecto aceptar (ACCEPT), despus crear reglas concretas para permitir las comunicaciones que nos interesen y finalmente, denegar el resto de comunicaciones. Lo mejor ser crear un script en el que dispondremos la secuencia de reglas que queremos aplicar en nuestro sistema. Un ejemplo tpico podra ser el siguiente:#!/bin/sh# Script cortafuegos.sh para la configuracin de iptables## Primero borramos todas las reglas previas que puedan existiriptables -Fiptables -Xiptables -Ziptables -t nat -F

# Despus definimos que la politica por defecto sea ACEPTARiptables -P INPUT ACCEPTiptables -P OUTPUT ACCEPTiptables -P FORWARD ACCEPTiptables -t nat -P PREROUTING ACCEPTiptables -t nat -P POSTROUTING ACCEPT

# Para evitar errores en el sistema, debemos aceptar# todas las comunicaciones por la interfaz lo (localhost)iptables -A INPUT -i lo -j ACCEPT

# Aceptamos las comunicaciones que nos interesan y luego denegamos el resto.

# Ejemplo: Denegamos acceso al aula 1iptables -A FORWARD -s 10.0.1.0/24 -j DROP

# Aceptamos SMTP, POP3 y FTP (correo electrnico y ftp)iptables -A FORWARD -s 10.0.0.0/8 -p tcp --dport 25 -j ACCEPTiptables -A FORWARD -s 10.0.0.0/8 -p tcp --dport 110 -j ACCEPTiptables -A FORWARD -s 10.0.0.0/8 -p tcp --dport 20 -j ACCEPTiptables -A FORWARD -s 10.0.0.0/8 -p tcp --dport 21 -j ACCEPT

# HTTP y HTTPS no es necesario porque nuestro servidor ser servidor proxy# Dejamos comentadas las lneas, por si algn da las necesitamos#iptables -A FORWARD -s 10.0.0.0/8 -p tcp --dport 80 -j ACCEPT#iptables -A FORWARD -s 10.0.0.0/8 -p tcp --dport 443 -j ACCEPT

# DNS no es necesario porque nuestro servidor ser servidor DNS# Dejamos comentadas las lneas (tcp y udp), por si algn da las necesitamos#iptables -A FORWARD -s 10.0.0.0/8 -p tcp --dport 53 -j ACCEPT#iptables -A FORWARD -s 10.0.0.0/8 -p udp --dport 53 -j ACCEPT

# Al PC del Director le damos acceso a todo (cliente VIP)iptables -A FORWARD -s 10.0.0.7 -j ACCEPT

# Denegamos resto de comunicaciones (no funcionar el p2p)iptables -A FORWARD -s 10.0.0.0/8 -j DROP

# Hacemos NAT si IP origen 10.0.0.0/8 y salen por eth0iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -o eth0 -j MASQUERADE

# Activamos el enrutamientoecho 1 > /proc/sys/net/ipv4/ip_forward

# Comprobamos cmo quedan las reglasiptables -L -nEn el script anterior vemos una serie de reglas que se van a ir ejecutando secuencialmente conformando la configuracin del cortafuegos iptables. Cuando indicamos "-A FORWARD" nos referimos a paquetes que van a pasar por nuestro servidor. Otras opciones son "-A INPUT" y "-A OUTPUT". Acto seguido ponemos las condiciones. Si ponemos "-s 10.0.0.0/8" nos referimos a paquetes cuya IP origen est en el rango 10.0.0.0/8. Cuando ponemos "-p tcp" nos referimos a paquetes que utilizan el protocolo tcp. Cuando indicamos "--dport 25" nos referimos a paquetes cuyo puerto de destino es el 25, es decir, protocolo SMTP (correo saliente). Si en una regla no ponemos la condicin -p ni la condicin --dport, significa que no nos importa el protocolo (cualquier protocolo) ni nos importa el puerto destino (cualquier puerto destino). Por ejemplo, en la regla donde damos acceso al PC del Director, no hemos indicado ni protocolo ni puerto, por lo que dejar pasar todos los protocolos y todos los puertos.

CortafuegosUno de los mecanismos ms extendidos para proteger una red de equipos que estn conectados a otra red (el caso ms habitual es Internet), es colocar un dispositivo conectado a ambas redes que analiza el trfico entre una y otra que, de acuerdo a una serie de criterios, permite o no pasar paquetes de un lado a otro. Este dispositivo conocido como cortafuegos ofirewallpuede implementar esta funcionalidad de forma nativa o mediante software sobre un sistema operativo genrico, en el primer caso el dispositivo se conoce como hardware firewall (cortafuegos por hardware) y en el segundo como software firewall (cortafuegos por software).Hay una enorme variedad de cortafuegos por hardware:Juniper,Ciscoy casi cualquier marca de componentes de redes ofrecen estos equipos, adems este tipo de cortafuegos suele incluir otras funcionalidades como VPN, QoS, proxies, etc. En el caso de los cortafuegos por software destacan iptables del krnel linux e ipfw de freebsd, en nuestro caso nos centramos en la configuracin de un cortafuegos software con iptables.Tipos de cortafuegosUna clasificacin clsica de los cortafuegos distingue entre tres tipos o generaciones: Cortafuegos de filtrado de paquetes: Este tipo de cortafuegos analiza y filtra los paquetes que lo atraviesan en funcin de algunos parmetros a nivel de red, transporte o incluso enlace (por ejemplo direcciones IP origen o destino, puertos, direcciones MAC, etc.). Cortafuegos de estado: Consideran el estado del paquete en la comunicacin, distinguiendo una nueva conexin de otra establecida por ejemplo. Cortafuegos de capa de aplicacin: Analizan el contenido del paquete a nivel de aplicacin, pudiendo hacer un filtrado ms exhaustivoEstos tipos de cortafuegos no son excluyentes, las siguientes generaciones o caractersticas se van aadiendo sobre una configuracin bsica de un dispositivo para el filtrado de paquetes, que ser lo que veamos aqu. Dejamos para otras entradas la explicacin de las caracterscticas ms avanzadas.Esquemas de redEn primer lugar hay que decidir la ubicacin en la red del cortafuegos, lo ms frecuente es que el cortafuegos separe la red local de la otra red a la que queremos conectarnos (Internet por ejemplo), bien integrado en el mismo router que interconecta las dos redes o conectado en serie con ste.

El esquema anterior se corresponde con la configuracin ms sencilla, en la que no tenemos en nuestra red ningn servidor que tenga que ser accesible desde el exterior (servidor web por ejemplo), por lo que el cortafuegos se limita a permitir a los equipos de la red local acceso a determinados puertos. Esta configuracin se puede complicar un poco si tenemos que incluir un servidor que ofrezca algn servicio al exterior:

Sin embargo, por motivos de seguridad, nunca debe ubicarse un servidor que sea accesible desde el exterior en nuestra red local, ya que al tratarse de un servidor expuesto, puede ser objetivo de ataques y conviene tenerlo separado del resto de equipos de nuestra red y obviamente de los dems servidores si los hubiera. Un esquema de red ms adecuado sera ubicar el servidor o servidores accesibles desde Internet en un segmento de red especfico, que se conoce como Zona Desmilitarizada o DMZ por analoga a lazona desmilitarizada militar, bien duplicando el nmero de cortafuegos o con un cortafuegos conectado a tres redes, lo que se conoce como cortafuegos de 3 patas:

Nota:Los esquemas se han realizado con la aplicacin de grficos vectorialesinkscapey con imgenes libres disponibles enhttp://focaclipart.net23.net/hardware/yhttp://www.openclipart.org/.Las configuraciones reales pueden ser ms complicadas todava, fundamentalmente porque pueden incluir varios cortafuegos y varias redes, pero un equilibrio razonable entre un caso ms o menos real y suficientemente sencillo para empezar con iptables puede ser un cortafuegos de 3 patas, que ser el que utilicemos en esta entrada.La tabla filter de iptablesiptables incluye tres cuatro tablas inicialmente: filter, nat, mangle y raw, la tabla filter es la encargada del filtrado de paquetes y es la tabla por defecto, por lo que ser igual poneriptables -t filterqueiptables. Esta tabla contiene a su vez tres cadenas: INPUT, OUTPUT y FORWARD, las dos primeras se utilizan para paquetes que tienen como destino (INPUT) o como origen (OUTPUT) el propio cortafuegos, mientras que FORWARD es para paquetes que atraviesan el mismo, como por ejemplo cualquier paquete de la red local con destino un equipo de Internet o la respuesta del mismo.Poltica asumida o por defectoHay dos formas bsicas de configurar un cortafuegos, la primera es permitir todo y restringir uno a uno los paquetes que queramos, es lo que se conoce como poltica por defectoACCEPT. De forma opuesta, se prohibe todo y se va abriendo el cortafuegos a los paquetes que sea necesario, lo que se conoce como poltica por defectoDROP. Desde el punto de vista del control del tipo de conexiones que se van a permitir, parece mucho ms razonable utilizar un cortafuegos con poltica por defecto DROP, y es lo que haremos aqu, por lo que ya podemos escribir nuestra primera regla de iptables en el cortafuegos:1iptables -P FORWARD DROP

Tenemos el cortafuegos perfecto! no se permite el paso de NINGN paquete :-)Cuando se utiliza un cortafuegos con poltica por defecto DROP, las reglas de iptables de la tabla filter suelen ir por parejas, ya que cada proceso que se permite incluye dos tipos de paquetes: las solicitudes y las respuestas. Estas parejas son de reglas de INPUT/OUTPUT para procesos que tienen como origen o destino el propio cortafuegos y FORWARD/FORWARD para procesos que tiene como origen y destino otros equipos.Para que un cortafuegos sea efectivo, sobretodo si se trata de uno con poltica por defecto DROP, las reglas de los paquetes que se permiten debe ser lo ms concretas posibles, es mucho mejor una regla como:1iptables -A FORWARD -i eth1 -s 10.0.0.1 -o eth0 -d 8.8.8.8 -p udp --dport 53 -j ACCEPT

que una regla como:1iptables -A FORWARD -p udp --dport 53 -j ACCEPT

Las dos consiguen lo mismo, pero la primera concreta mucho ms el tipo de paquete que se permite y por tanto consigue mucho mayor control sobre lo que atraviesa el cortafuegos.Problema tipoVamos a plantear una situacin concreta, sencilla pero con suficientes detalles como para comprender la configuracin de un caso real. Vamos a configurar un cortafuegos de 3 patas con los siguientes condicionantes:Cortafuegos Se conecta a Internet mediante una direccin IP esttica Tiene tres interfaces de red eth0 (IP 40.12.1.14), que da acceso a Internet, eth1 (IP 192.168.1.1), que es la puerta de enlace de la red local y eth2 (IP 192.168.2.1), que es la puerta de enlace de la DMZ. Es servidor DHCP de la red local No debe ser accesible desde Internet Acta como dispositivo NAT Se puede acceder a l por ssh desde la red local Puede hacer consultas DNS al servidor de la red local Responde a ping hecho desde la red local o la DMZDMZ Direccionamiento IP 192.168.2.0/24 Conectada a la interfaz eth2 del cortafuegos Tiene un servidor web (http y https) y un servidor de correo (smtp, pop3s e imaps) en el mismo equipo (IP 192.168.2.2)Red local Direccionamiento IP 192.168.1.0/24 Conectada a la interfaz eth1 del cortafuegos Hay un servidor DNS (IP 192.168.1.2) que puede realizar consultas DNS al exterior. Los equipos de la red local deben tener acceso a todos los servicios ofrecidos por los equipos de la DMZ Los equipos de la red local pueden utilizar los servicios web (http y https) de cualquier servidor de InternetResolucin del problemaEstablecemos la poltica por defecto:123iptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROP

Como ya se explic NAT en la entrada anterior, aqu simplemente pondremos las reglas de NAT necesarias:123456789# Source NAT de la red local y la DMZ:iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j SNAT --to 40.12.1.14iptables -t nat -A POSTROUTING -o eth0 -s 192.168.2.0/24 -j SNAT --to 40.12.1.14# DNAT de los servicios http,https,smtp,pop3s e imaps al servidor de la DMZ:iptables -t nat -A PREROUTING -i eth0 -d 40.12.1.14 -p tcp --dport 80 -j DNAT --to 192.168.2.2iptables -t nat -A PREROUTING -i eth0 -d 40.12.1.14 -p tcp --dport 443 -j DNAT --to 192.168.2.2iptables -t nat -A PREROUTING -i eth0 -d 40.12.1.14 -p tcp --dport 25 -j DNAT --to 192.168.2.2iptables -t nat -A PREROUTING -i eth0 -d 40.12.1.14 -p tcp --dport 993 -j DNAT --to 192.168.2.2iptables -t nat -A PREROUTING -i eth0 -d 40.12.1.14 -p tcp --dport 995 -j DNAT --to 192.168.2.2

Con esto seguiramos sin tener ningn tipo de conexin, ya que la poltica por defecto DROP seguira descartando todos los paquetes que llegaran al cortafuegos. Vamos a incluir las reglas para que los equipos de la DMZ sean accesibles desde Internet:1234567891011121314151617181920# Cuando pasan por FORWARD los paquetes ya tienen como direccin IP destino la del # servidor de la DMZ porque la ha cambiado DNAT:# Aceptamos las peticiones al servidor web (http) y las respuestas de ste:iptables -A FORWARD -i eth0 -s 0.0.0.0/0 -o eth2 -d 192.168.2.2 -p tcp --dport 80 -j ACCEPTiptables -A FORWARD -o eth0 -d 0.0.0.0/0 -i eth2 -s 192.168.2.2 -p tcp --sport 80 -j ACCEPT# Aceptamos las peticiones al servidor web (https) y las respuestas de ste:iptables -A FORWARD -i eth0 -s 0.0.0.0/0 -o eth2 -d 192.168.2.2 -p tcp --dport 443 -j ACCEPTiptables -A FORWARD -o eth0 -d 0.0.0.0/0 -i eth2 -s 192.168.2.2 -p tcp --sport 443 -j ACCEPT# Aceptamos las peticiones al servidor smtp y las respuestas de ste:iptables -A FORWARD -i eth0 -s 0.0.0.0/0 -o eth2 -d 192.168.2.2 -p tcp --dport 25 -j ACCEPTiptables -A FORWARD -o eth0 -d 0.0.0.0/0 -i eth2 -s 192.168.2.2 -p tcp --sport 25 -j ACCEPT# El servidor smtp tambin enva correo, por lo que se comporta como cliente:iptables -A FORWARD -o eth0 -d 0.0.0.0/0 -i eth2 -s 192.168.2.2 -p tcp --dport 25 -j ACCEPTiptables -A FORWARD -i eth0 -s 0.0.0.0/0 -o eth2 -d 192.168.2.2 -p tcp --sport 25 -j ACCEPT# Aceptamos las peticiones al servidor pop3s y las respuestas de ste:iptables -A FORWARD -i eth0 -s 0.0.0.0/0 -o eth2 -d 192.168.2.2 -p tcp --dport 995 -j ACCEPTiptables -A FORWARD -o eth0 -d 0.0.0.0/0 -i eth2 -s 192.168.2.2 -p tcp --sport 995 -j ACCEPT# Aceptamos las peticiones al servidor imaps y las respuestas de ste:iptables -A FORWARD -i eth0 -s 0.0.0.0/0 -o eth2 -d 192.168.2.2 -p tcp --dport 993 -j ACCEPTiptables -A FORWARD -o eth0 -d 0.0.0.0/0 -i eth2 -s 192.168.2.2 -p tcp --sport 993 -j ACCEPT

Para que los equipos de la DMZ puedan hacer resolucin de nombres (imprescindible por ejemplo para enviar correo), les permitimos hacer consultas DNS:1234iptables -A FORWARD -i eth2 -s 192.168.2.0/24 -o eth0 -d 0.0.0.0/0 -p udp --dport 53 -j ACCEPTiptables -A FORWARD -o eth2 -d 192.168.2.0/24 -i eth0 -s 0.0.0.0/0 -p udp --sport 53 -j ACCEPTiptables -A FORWARD -i eth2 -s 192.168.2.0/24 -o eth0 -d 0.0.0.0/0 -p tcp --dport 53 -j ACCEPTiptables -A FORWARD -o eth2 -d 192.168.2.0/24 -i eth0 -s 0.0.0.0/0 -p tcp --sport 53 -j ACCEPT

Vamos a poner ahora las reglas necesarias para que los equipos de la red local puedan acceder a los servicios de la DMZ y a los servicios que se les permite de Internet:1234567891011121314151617181920212223242526272829# Aceptamos las peticiones al servidor web (http) y las respuestas de ste:iptables -A FORWARD -i eth1 -s 192.168.1.0/24 -o eth2 -d 192.168.2.2 -p tcp --dport 80 -j ACCEPTiptables -A FORWARD -o eth1 -d 192.168.1.0/24 -i eth2 -s 192.168.2.2 -p tcp --sport 80 -j ACCEPT# Aceptamos las peticiones al servidor web (https) y las respuestas de ste:iptables -A FORWARD -i eth1 -s 192.168.1.0/24 -o eth2 -d 192.168.2.2 -p tcp --dport 443 -j ACCEPTiptables -A FORWARD -o eth1 -d 192.168.1.0/24 -i eth2 -s 192.168.2.2 -p tcp --sport 443 -j ACCEPT# Aceptamos las peticiones al servidor smtp y las respuestas de ste:iptables -A FORWARD -i eth1 -s 192.168.1.0/24 -o eth2 -d 192.168.2.2 -p tcp --dport 25 -j ACCEPTiptables -A FORWARD -o eth1 -d 192.168.1.0/24 -i eth2 -s 192.168.2.2 -p tcp --sport 25 -j ACCEPT# El servidor smtp tambin enva correo, por lo que se comporta como cliente:iptables -A FORWARD -o eth1 -d 192.168.1.0/24 -i eth2 -s 192.168.2.2 -p tcp --dport 25 -j ACCEPTiptables -A FORWARD -i eth1 -s 192.168.1.0/24 -o eth2 -d 192.168.2.2 -p tcp --sport 25 -j ACCEPT# Aceptamos las peticiones al servidor pop3s y las respuestas de ste:iptables -A FORWARD -i eth1 -s 192.168.1.0/24 -o eth2 -d 192.168.2.2 -p tcp --dport 995 -j ACCEPTiptables -A FORWARD -o eth1 -d 192.168.1.0/24 -i eth2 -s 192.168.2.2 -p tcp --sport 995 -j ACCEPT# Aceptamos las peticiones al servidor imaps y las respuestas de ste:iptables -A FORWARD -i eth1 -s 192.168.1.0/24 -o eth2 -d 192.168.2.2 -p tcp --dport 993 -j ACCEPTiptables -A FORWARD -o eth1 -d 192.168.1.0/24 -i eth2 -s 192.168.2.2 -p tcp --sport 993 -j ACCEPT# Aceptamos las peticiones a los servidores web (http) de Internet y las respuetas:iptables -A FORWARD -i eth1 -s 192.168.1.0/24 -o eth0 -d 0.0.0.0/0 -p tcp --dport 80 -j ACCEPTiptables -A FORWARD -o eth1 -d 192.168.1.0/24 -i eth0 -s 0.0.0.0/0 -p tcp --sport 80 -j ACCEPT# Aceptamos las peticiones a los servidores web (https) de Internet y las respuetas:iptables -A FORWARD -i eth1 -s 192.168.1.0/24 -o eth0 -d 0.0.0.0/0 -p tcp --dport 443 -j ACCEPTiptables -A FORWARD -o eth1 -d 192.168.1.0/24 -i eth0 -s 0.0.0.0/0 -p tcp --sport 443 -j ACCEPT# Aceptamos las peticiones DNS del equipo 192.168.1.2:iptables -A FORWARD -i eth1 -s 192.168.1.2 -o eth0 -d 0.0.0.0/0 -p udp --dport 53 -j ACCEPTiptables -A FORWARD -o eth1 -d 192.168.1.2 -o eth0 -s 0.0.0.0/0 -p udp --sport 53 -j ACCEPTiptables -A FORWARD -i eth1 -s 192.168.1.2 -o eth0 -d 0.0.0.0/0 -p tcp --dport 53 -j ACCEPTiptables -A FORWARD -o eth1 -d 192.168.1.2 -i eth0 -s 0.0.0.0/0 -p tcp --sport 53 -j ACCEPT

Y para terminar incluimos las reglas de INPUT/OUTPUT necesarias en este problema:12345678910111213141516# Se permiten las peticiones y respuestas DHCP:iptables -A INPUT -i eth1 -p udp -s 0.0.0.0/0 -d 255.255.255.255 --dport 67 --sport 68 -j ACCEPTiptables -A OUTPUT -o eth1 -s 192.168.1.1 -d 255.255.255.255 -p udp --sport 67 --dport 68 -j ACCEPT# Se permite entrar por ssh desde la red local:iptables -A INPUT -i eth1 -s 192.168.1.0/24 -d 192.168.1.1 -p tcp --dport 22 -j ACCEPTiptables -A OUTPUT -o eth1 -d 192.168.1.0/24 -s 192.168.1.1 -p tcp --sport 22 -j ACCEPT# Se permiten consultas DNS al servidor de la red local:iptables -A OUTPUT -o eth1 -s 192.168.1.1 -d 192.168.1.2 -p udp --dport 53 -j ACCEPTiptables -A INPUT -i eth1 -d 192.168.1.1 -s 192.168.1.2 -p udp --sport 53 -j ACCEPTiptables -A OUTPUT -o eth1 -s 192.168.1.1 -d 192.168.1.2 -p tcp --dport 53 -j ACCEPTiptables -A INPUT -i eth1 -d 192.168.1.1 -s 192.168.1.2 -p tcp --sport 53 -j ACCEPT# Se permite ping desde la red local y la DMZ: