IPTables es el nombre de un sistema de firewall que funciona a través de la línea de comandos en Linux. Este programa está principalmente disponible como una utilidad predeterminada en Ubuntu. Los administradores a menudo usan el firewall de IPTables para permitir o bloquear el tráfico en sus redes. Si es nuevo en IPTables, una de las primeras cosas que debe hacer es actualizarlo o instalarlo utilizando el siguiente comando:
$ sudo apt-get install iptables
Si bien los usuarios que son nuevos en las interfaces de línea de comando encuentran que hay una curva de aprendizaje asociada a las IPTables, la utilidad en sí misma es lo suficientemente simple de usar. Hay una gama de comandos básicos que actúan como su pan de cada día para controlar el tráfico. Dicho esto, debe tener mucho cuidado al realizar cambios en las reglas de IPTables. Ingresar el comando incorrecto puede bloquearlo por completo de IPTables hasta que resuelva el problema dentro de la máquina física.
En este artículo, le proporcionaremos una guía básica de IPTables y le presentaremos los fundamentos. Antes de llegar al corazón de las IPTables, debe asegurarse de tener VPA ejecutando Ubuntu 16.04 y a máquina local con un cliente SSH. Si ya tienes estos, entonces es hora de comenzar.
Tutorial de IPTables: cadenas
Uno de los conceptos fundamentales con los que debemos lidiar en IPTables es el de las cadenas. Una cadena es esencialmente una regla. Las tablas del filtro tienen tres cadenas que encontrará en IPTables; ENTRADA, ADELANTE y SALIDA.
- ENTRADA – La cadena INPUT es la regla que controla los paquetes entrantes. Aquí puede bloquear o permitir nuevas conexiones. Puede hacerlo según el puerto, el protocolo y la dirección IP de origen..
- ADELANTE – La cadena FORWARD filtra los paquetes entrantes que se reenvían a una ubicación final diferente. Es poco probable que use esta cadena a menos que esté enrutando o buscando reenvío específicamente.
- SALIDA – La cadena OUTPUT se usa para administrar paquetes y conexiones salientes. Es importante tener en cuenta que si hace ping a un host externo, la cadena de entrada se utilizará para devolverle los datos..
Comportamiento predeterminado de la cadena
Es posible que desee saltar directamente a la configuración de reglas particulares al comenzar, pero primero debe dar un paso atrás para definir el comportamiento predeterminado. Para identificar cuál es el comportamiento predeterminado de sus cadenas, deberá ejecutar el comando:
$ sudo iptables -L comando
Esto mostrará lo siguiente:
usuario @ ubuntu: ~ $ sudo iptables -L -v
ENTRADA de cadena (política ACEPTAR)
Cadena HACIA ADELANTE (política ACEPTAR)
Salida de cadena (política aceptada)
usuario @ ubuntu: ~ $
Esta información le dice exactamente para qué están configuradas sus cadenas. En el ejemplo, las cadenas de entrada, reenvío y salida se han configurado para aceptar tráfico. Esta configuración es un buen punto de partida, ya que no bloquea ninguna conexión que desee.
Sin embargo, si descubre que sus políticas no aceptan conexiones, puede ingresar cada uno de los siguientes comandos para aceptar todas las conexiones:
$ sudo iptables — POLÍTICA ACEPTACIÓN DE ENTRADA$ sudo iptables — ACEPTACIÓN DE SALIDA POLÍTICA$ sudo iptables: política ACEPTAR HACIA ADELANTE
Una vez que sus valores predeterminados estén alineados para aceptar todas las conexiones, puede controlar el acceso a las tablas IP bloqueando las direcciones IP y los números de puerto. Esto le permite especificar qué conexiones desea bloquear en lugar de bloquear todo de forma predeterminada.
Si está trabajando con información particularmente confidencial, puede configurar sus valores predeterminados para bloquear automáticamente todas las conexiones. De esta forma, puede usar IPTables para elegir las direcciones IP individuales que desea permitir. Para hacer esto, debe ingresar el siguiente comando:
$ sudo iptables — POLIC INPUT DROP$ sudo iptables — POLIC OUTPUT DROP$ sudo iptables: política GOTA HACIA ADELANTE
Será mejor que la mayoría de los usuarios acepten todas las conexiones, pero vale la pena recordar si está trabajando en un servidor de alta seguridad.
Configurar conexiones individuales
Una vez que haya configurado su comportamiento de cadena predeterminado, es hora de configurar conexiones individuales. Este es el punto donde configura lo que se conoce como una respuesta específica de conexión. Básicamente, esto le dice a IPTables cómo interactuar cuando se conecta a una dirección IP o puerto. Estas respuestas son las siguientes; ACEPTAR, SOLTAR, RECHAZAR.
Como puede ver en la imagen de arriba, el usuario ha definido reglas de cadena para permitir, desconectar o rechazar la conexión según los requisitos. A continuación se muestra una descripción de lo que implica cada respuesta:
- ACEPTAR – Esta configuración simplemente permite que la conexión tenga lugar.
- SOLTAR – Drop bloquea la conexión sin interactuar con la fuente de ninguna manera.
- RECHAZAR – Esto bloquea el intento de conexión pero también envía un mensaje de error. En general, esto es para notificar a la fuente que el firewall ha bloqueado el intento de conexión..
Cómo permitir o bloquear conexiones
Hay muchas formas diferentes de bloquear o permitir conexiones según su configuración. Los siguientes ejemplos están usando el método de bloqueo encubierto de usar soltar dejar caer conexiones sin ninguna interacción. iptables -A nos permite agregar advertencias adicionales a las reglas establecidas por nuestra configuración de cadena predeterminada. Verá cómo usar este comando para bloquear las conexiones a continuación:
Bloqueo de una sola dirección IP:
$ sudo iptables -A ENTRADA -S 10.10.10.10 -j DROP
En el ejemplo anterior, reemplazaría 10.10.10.10 con la dirección IP que desea bloquear.
Bloqueo de un rango de direcciones IP:
$ sudo iptables -A ENTRADA -s 10.10.10.10.0 / 24 -j DROP
o
$ sudo iptables -A ENTRADA -s 10.10.10.0/255.255.255/.0 -j DROP
Bloqueo de un solo puerto:
$ sudo iptables -A INPUT -p tcp —dport ssh -s 10.10.10.10 -j DROP
Tenga en cuenta que ‘ssh se puede reemplazar por cualquier protocolo o número de puerto. También es importante tener en cuenta que el segmento -p tcp del código se usa para referirse a si el protocolo que desea bloquear está usando UDP o TCP.
Si el protocolo usa UDP, entonces ingresaría -p udp en lugar de -p tcp. También puede bloquear todas las conexiones de las direcciones IP ingresando el siguiente comando:
$ sudo iptables -A INPUT -p tcp —dport ssh -jDROP
Comunicación bidireccional: Tutorial de IPTables de estados de conexión
La mayoría de los protocolos que encuentra requieren comunicación para ir en ambos sentidos para que se realice una transferencia. Esto significa que las transferencias están formadas por una entrada y una salida. Lo que entra en su sistema es tan importante como lo que sale. Los estados de conexión le permiten mezclar y combinar entre conexiones bidireccionales y conexiones unidireccionales. En el siguiente ejemplo, el protocolo SSH ha bloqueado las conexiones SSH de la dirección IP, pero permite las conexiones a la dirección IP:
$ sudo iptables -A ENTRADA -p tcp —dport ssh -s 10.10.10.10 -m estado —estado NUEVO, ESTABLECIDO -j ACEPTAR
$ sudo iptables -A OUTPUT -p tcp —sport 22 -d 10.10.10.10. -m estado —estado ESTABLECIDO -J ACEPTAR
Una vez que haya ingresado un comando para cambiar los estados de conexión, debe guardar sus cambios. Si no lo hace, cuando cierre la utilidad se perderá su configuración. Dependiendo del sistema de distribución que esté utilizando, hay varios comandos diferentes que puede usar:
Ubuntu:
$ sudo / sbin / iptables-save
Red Hat / CentOS –
$ sudo / sbin / service iptables save
O
$ sudo /etc/init.d/iptables save
Recordar usar estos comandos es vital porque eliminará la molestia de tener que configurar cada vez que cargue la utilidad.
Eliminar una regla
Tan importante como poder guardar sus reglas es poder eliminarlas. Si comete un error o simplemente desea eliminar una regla anterior, puede usar la opción:re mando. Este comando debe combinarse con el número de la regla que ingrese. El número le dice a IPTables qué regla se va a eliminar. Por ejemplo, si tuviera que ingresar:
$ sudo iptables -D ENTRADA 10
Luego, la décima regla que configuró se eliminaría.
Si desea limpiar la casa y eliminar una serie de reglas, puede usar el -Comando F. Puede hacer esto ingresando lo siguiente:
$ sudo iptables -F
Esto borrará todo el conjunto de reglas y vaciará su IPTable.
IPTables: Aprenda las reglas de la cadena!
Con esto concluye nuestro tutorial de IPTables. Como puede ver, IPTables es una herramienta versátil para bloquear y permitir el tráfico en Linux distribuciones Usar la utilidad de manera efectiva implica configurar sus configuraciones predeterminadas de manera efectiva y construir reglas adicionales además de eso. Las configuraciones predeterminadas le permitirán describir sus amplias intenciones de tráfico para permitir o denegar el tráfico; las reglas le permitirán estructurar su enfoque con respecto a las direcciones IP, puertos y protocolos.
Solo hemos arañado la superficie con potencial de IPTables, y hay un montón de comandos diferentes que puede usar para decidir cómo experimenta el tráfico en su servidor. Sin embargo, le recomendamos que conozca los conceptos básicos antes de comenzar con otros comandos. Por ejemplo, querrás entender las reglas básicas de las cadenas antes de comprometerte con algo más especializado.
Una vez que se haya acostumbrado al funcionamiento de IPTables, puede comenzar a incorporar aún más reglas para personalizar su experiencia. Al hacerlo, podrá especificar exactamente qué tipo de conexiones permitirá con mucha más precisión que nunca..
IPTables er navnet på et firewall-system, der fungerer gennem kommandolinjen i Linux. Dette program er primært tilgængeligt som en standardværktøj i Ubuntu. Administratører bruger ofte IPTables-firewallen til at tillade eller blokere trafik i deres netværk. Hvis du er ny til IPTables, er en af de første ting, du skal gøre, at opdatere eller installere det ved hjælp af følgende kommando: $ sudo apt-get install iptables. Selvom brugere, der er nye til kommandolinje-grænseflader, finder, at der er en læringskurve forbundet med IPTables, er værktøjet selv enkelt nok at bruge. Der er en række grundlæggende kommandoer, der fungerer som din daglige rutine for at styre trafikken. Med det sagt skal du være meget forsigtig, når du foretager ændringer i IPTables-reglerne. Indtastning af den forkerte kommando kan blokere dig helt fra IPTables, indtil du løser problemet inden for den fysiske maskine. I denne artikel vil vi give dig en grundlæggende guide til IPTables og introducere dig til grundlæggende. Før du når hjertet af IPTables, skal du sørge for at have VPA kørende Ubuntu 16.04 og en lokal maskine med en SSH-klient. Hvis du allerede har disse, er det tid til at begynde.