¿Cómo configurar IPTables en Linux? [Guía paso a paso 2021]

¿Cómo configurar IPTables en Linux? [Guía paso a paso 2021]

IPTables es el nombre de un sistema de firewall que se ejecuta en Linux a través de la línea de comandos.El programa se utiliza principalmente comoUbuntuLa utilidad predeterminada proporcionada en.Los administradores a menudo usan firewalls IPTables para permitir o evitar que el tráfico ingrese a sus redes.

Si es nuevo en IPTables, lo primero que debe hacer es actualizarlo o instalarlo usando el siguiente comando:

$ sudo apt-get instalar iptables

Aunque los usuarios que no están familiarizados con la interfaz de línea de comandos encuentran que IPTables tiene una curva de aprendizaje, la utilidad en sí es muy simple y fácil de usar.Hay una serie de comandos básicos que se pueden utilizar como base para controlar el tráfico.Dicho esto, debe tener mucho cuidado al cambiar las reglas de IPTables.Escribir el comando incorrecto puede bloquearlo completamente de IPTables hasta que resuelva el problema en la máquina física.

En este artículo, le proporcionaremos una guía básica de IPTables y le presentaremos los conceptos básicos.Antes de entrar en el núcleo de IPTables, debe asegurarse de tener unaEjecuta Ubuntu 16.04VPAy unCon cliente SSH的 Máquina local.Si ya los tiene, es hora de empezar.

Tutorial de IPTables: Cadena

Uno de los conceptos básicos a dominar en IPTables es el concepto de cadenas.La cadena es esencialmente una regla.La tabla de filtros tiene tres cadenas que encontrará en IPTables;輸入,Hacia adelante 和Salida.

    • ENTRADA  - La cadena INPUT es la regla que controla los paquetes de datos entrantes.Puede bloquear o permitir nuevas conexiones aquí.Puede hacer esto 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 diferentes ubicaciones de terminales.A menos que esté enrutando o buscando específicamente reenvío, es poco probable que use esta cadena.
  • SALIDA  - La cadena de SALIDA se utiliza para administrar los paquetes de datos salientes y las conexiones.Es importante tener en cuenta que si hace ping a un host externo, la cadena de entrada se utilizará para devolverle los datos.

Comportamiento de cadena predeterminado

Es posible que desee pasar directamente a la configuración de reglas específicas al principio, pero debe dar un paso atrás para definir el comportamiento predeterminado.Para determinar cuál es el comportamiento predeterminado de la cadena, debe ejecutar el siguiente comando:

$ sudo iptables -L comando

Esto mostrará lo siguiente:

usuario @ ubuntu: ~ $ sudo iptables -L -v 
ENTRADA de cadena (política ACEPTAR) 
Cadena ADELANTE (política ACEPTA) 
SALIDA de cadena (política ACEPTAR) 
usuario @ ubuntu: ~ $

Esta información le dice exactamente el propósito de la configuración de la cadena.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, porque no evitará las conexiones que desee.

pregunta relacionada  Comandos útiles de terminal de Linux [debe recordar en 2021]

Sin embargo, si encuentra que su política no acepta conexiones, puede ingresar cada uno de los siguientes comandos para aceptar todas las conexiones:

$ sudo iptables --policy ENTRADA ACEPTAR
$ sudo iptables - SALIDA DE POLÍTICA ACEPTAR
$ sudo iptables --policy ADELANTE ACEPTAR

Una vez que su configuración predeterminada acepta todas las conexiones, puede controlar el acceso a IPTables bloqueando las direcciones IP y los números de puerto.Esto le permite especificar qué conexiones bloquear en lugar de bloquear todas las conexiones por defecto.

Si se trata de información especialmente confidencial, puede configurar los ajustes predeterminados para bloquear automáticamente todas las conexiones.De esta manera, puede usar IPTables para seleccionar las direcciones IP individuales que desea permitir.Para hacer esto, debe ingresar el siguiente comando:

$ sudo iptables --policy INPUT DROP
$ sudo iptables —POLÍTICA DE SALIDA DE SALIDA
$ sudo iptables --policy FORWARD DROP

Es mejor para la mayoría de los usuarios aceptar todas las conexiones, pero si está trabajando en un servidor de alta seguridad, vale la pena recordarlo.

Configurar una sola conexión

Después de configurar el comportamiento de la cadena predeterminado, puede configurar una sola conexión.Aquí es donde se configura la llamada respuesta específica de la 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,rendirse,Rehusar.

Como puede ver en la imagen de arriba, el usuario ha definido reglas de cadena para permitir, descartar o denegar conexiones según los requisitos.La siguiente es una descripción de lo que contiene cada respuesta:

  • ACEPTAR - Esta configuración solo permite conexiones.
  • DROP  - Drop bloquea la conexión sin interactuar con la fuente de ninguna manera.
  • RECHAZAR  - Esto bloqueará el intento de conexión, pero también enviará un mensaje de error.Esto suele ser para notificar a la fuente que el firewall ha bloqueado el intento de conexión.

Cómo permitir o bloquear conexiones

Dependiendo de su configuración, hay muchas formas diferentes de bloquear o permitir conexiones.El siguiente ejemplo usa un método de bloqueo oculto, es decir, usandoSoltar Desconecta sin ninguna interacción. iptables-A Nos permite agregar advertencias adicionales a las reglas establecidas por la configuración predeterminada de la cadena.A continuación, verá cómo utilizar este comando para bloquear la conexión:

Bloquear una sola dirección IP:

$ sudo iptables -A ENTRADA -S 10.10.10.10 -j SOLTAR

En el ejemplo anterior, puede reemplazar 10.10.10.10 con la dirección IP que desea bloquear.

pregunta relacionada  Cómo deshabilitar ipv6 en Linux (una guía paso a paso para 2021)

Bloquear una serie de direcciones IP:

$ sudo iptables -A INPUT -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

Bloquear un solo puerto:

$ sudo iptables -A INPUT -p tcp --dport ssh -s 10.10.10.10 -j DROP 

Tenga en cuenta que thatsh se puede reemplazar con cualquier protocolo o número de puerto.También tenga en cuenta que el segmento -p tcp del código se usa para indicar si el protocolo que desea bloquear es UDP o TCP.

Si el protocolo usa UDP, entonces debe ingresar-p uppEn vez de-p TCP.También puede bloquear todas las conexiones de direcciones IP ingresando el siguiente comando:

$ sudo iptables -A INPUT -p tcp --dport ssh -jDROP

Comunicación bidireccional: estado de la conexión IPTables tutorial

La mayoría de los protocolos que encuentra requieren comunicación bidireccional para la transmisión.Esto significa que la transmisión consta de entrada y salida.Lo que entra en su sistema es tan importante como lo que sale.El estado de la conexión le permite mezclar y combinar entre conexiones bidireccionales y conexiones unidireccionales.En el siguiente ejemplo, el protocolo SSH bloquea las conexiones SSH de las direcciones IP, pero permite las conexiones a las direcciones IP:

$ sudo iptables -A INPUT -p tcp --dport ssh -s 10.10.10.10 -m state --state NUEVO, ESTABLECIDO -j ACEPTAR 

$ sudo iptables -A OUTPUT -p tcp —sport 22 -d 10.10.10.10.-m estado —estado ESTABLECIDO -J ACEPTAR

Después de ingresar el comando para cambiar el estado de la conexión, debe guardar los cambios.Si no lo hace, su configuración se perderá cuando cierre la utilidad.Dependiendo del sistema de distribución que use, puede usar muchos comandos diferentes:

pregunta relacionada  Cómo utilizar BackInTime para hacer una copia de seguridad de una PC con Linux

Ubuntu:

$ sudo / sbin / iptables-save

Red Hat / CentOS -

$ sudo / sbin / service iptables guardar

o

$ sudo /etc/init.d/iptables guardar

Recuerde que usar estos comandos es muy importante, porque puede eliminar la molestia de tener que configurar cada vez que se carga la utilidad.

Eliminar regla

Tan importante como poder guardar reglas es poder eliminarlas.Si cometió un error o simplemente desea eliminar las reglas anteriores, puede usar la opción - D 命令.Este comando debe usarse junto con el número de regla que ingresó.Este número le dice a IPTables qué regla eliminar.Por ejemplo, si ingresara:

$ sudo iptables -D ENTRADA 10

Luego, se eliminará la décima regla que configuró.

Si desea limpiar la casa y eliminar una serie de reglas, puede usar-F comando.Puede hacer esto ingresando lo siguiente:

$ sudo iptables -F

Esto borrará todo el conjunto de reglas y actualizará su IPTable.

IPTables: ¡Reglas de la cadena de aprendizaje!

Con esto concluye nuestro tutorial de IPTables.Como puede ver, IPTables es una forma de bloquear y permitirLinuxVersión de lanzamientoHerramienta multifunción en el flujo..El uso efectivo de esta utilidad implica establecer de manera efectiva la configuración predeterminada y construir otras reglas sobre ella.La configuración predeterminada le permitirá delinear la intención de tráfico amplio para permitir o denegar el tráfico;Estas reglas le permitirán estructurar sus métodos basados ​​en direcciones IP, puertos y protocolos.

Acabamos de arañar la superficie del potencial de IPTables, puede usar muchos comandos diferentes para decidir cómo experimentar el tráfico en el servidor.Sin embargo, le recomendamos que comprenda los conceptos básicos antes de comenzar a usar otros comandos.Por ejemplo, antes de comprometerse con algo más profesional, debe comprender las reglas básicas de la cadena.

Una vez que se acostumbre a cómo funciona IPTables, puede comenzar a integrar más reglas para personalizar su experiencia.Al hacer esto, podrá especificar con precisión los tipos de conexiones que permitirá con mayor precisión que nunca.

Oh hola 👋Un placer conocerte.

Suscríbete a nuestro boletín, Envía con mucha regularidadGran tecnologiaA tu publicacióncaja.

Enviar comentario