GNU/Linux >> Tutoriales Linux >  >> Linux

Gestión básica del cortafuegos de iptables

Este artículo proporciona información básica sobre cómo usar sus iptables cortafuegos de software Este firewall es la solución de firewall predeterminada para las distribuciones basadas en Red Hat® Enterprise Linux® (RHEL®) 6 y CentOS® 6.

Nota Nota:Los pasos de este artículo no están destinados para su uso en servidores RackConnect®. Si necesita realizar cambios en su firewall en un servidor de RackConnect, debe usar su administrador de firewall dedicado.

Requisitos

Debe tener los siguientes requisitos previos:

  • Comprensión básica de SecureShell® (SSH)
  • Sudo o acceso administrativo a su servidor
  • Un servidor en la nube que no sea RackConnect que ejecute RHEL 6 o CentOS 6.

¿Qué es “iptables” y cómo funciona?

iptables es la solución de firewall de software de Linux predeterminada. Mediante el uso del módulo del núcleo netfilter, iptables puede manejar el tráfico de red entrante y saliente. iptables utiliza las cadenas de reglas configuradas como parte de una tabla en el servidor. Una tabla agrupa cadenas similares que realizan una tarea específica.

Tablas, cadenas y reglas

Cada tabla tiene un conjunto de cadenas predeterminadas. Este artículo se refiere al filtro tabla, que contiene la INPUT , ADELANTE y SALIDA cadenas Las reglas de estas cadenas se leen y procesan de arriba a abajo.

  • ENTRADA :Esta cadena maneja el tráfico entrante destinado al servidor.

  • ADELANTE :Esta cadena maneja el tráfico que llega al servidor pero está destinado a otro dispositivo.

  • SALIDA :esta cadena se utiliza para los paquetes salientes que se originan en el servidor.

Objetivos, acciones y filtros

La siguiente tabla muestra algunos objetivos y acciones básicos en iptables cuando el tráfico se envía al servidor:

Nombre Descripción
ACEPTAR Se acepta el tráfico y no se procesan más reglas.
SOLTAR El paquete está bloqueado y no se procesan más reglas. No se envió respuesta al remitente.
REGISTRO La información del paquete se registra en el servidor e iptables continúa procesando las reglas.
RECHAZAR Similar al paquete DROP, pero envía una respuesta al remitente.
Filtro Qué hace
-p (protocol) El protocolo del paquete. El protocolo especificado puede ser uno de tcp , udp , icmp , o la palabra clave especial all .
-s, --source La dirección IP de origen del paquete.
-d --destination El destino del paquete.
-sport El puerto de origen para hacer coincidir.
-dport El puerto de destino para hacer coincidir.
-i La interfaz en la que se recibe el paquete.

La anatomía de una regla

La siguiente regla es un ejemplo de un iptables regla:

   iptables -I INPUT -i eth0 -s 192.168.1.1 -p tcp --dport 22 -j ACCEPT

En este ejemplo, el tráfico que proviene de la dirección IP de origen, 192.168.1.1 , sobre el tcp el protocolo se acepta en el eth0 interfaz en el puerto de destino 22 . Esta regla se agrega en la parte superior de la INPUT cadena.

¿Cómo funcionan las reglas de “iptables”?

Una forma de limitar el tráfico de red entrante y saliente en el servidor es implementar reglas de firewall. En un servidor RHEL o CentOS 6, la solución de firewall de software predeterminada es iptables . iptables le permite configurar una configuración similar a la de un firewall dedicado que se ejecuta en su servidor. Estas reglas se configuran en una CHAIN dependiendo de la regla. Este artículo trata sobre la INPUT cadena, que es la cadena predeterminada para aceptar tráfico a través de iptables .

Habilitar y verificar el estado de “iptables”

Antes de agregar nuevas reglas en iptables , debe verificar que el servicio se esté ejecutando y enumerar las reglas actuales.

Para comprobar el estado de iptables , ejecute el siguiente comando:

  service iptables status

Debería obtener un resultado que indique que el servicio está Active en el servidor Si no, puede iniciar el servicio con service iptables start comando.

Una vez que se inicia el servicio, puede enumerar las reglas mediante el siguiente comando:

   iptables -L

Si aún no ha configurado ninguna regla, el resultado se parece al siguiente ejemplo:

Chain 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

Ejemplos de “iptables”

Los siguientes ejemplos muestran algunas reglas en iptables y su funcionalidad dentro de iptables .

INSERTAR versus ADJUNTAR

Con iptables , el -I marca inserta la regla en la parte superior de la cadena seleccionada, y el -A flag agrega la nueva regla al final de la cadena seleccionada. Esto es importante porque las reglas se leen de arriba abajo. Por lo tanto, si hay una regla en la parte superior que bloquea todo el tráfico entrante y usa -A para agregar una regla que acepta tráfico de una IP, la regla que agregó está bloqueada por la primera regla. Debe considerar la configuración para determinar si -A o -I es la mejor opción para el cambio que se está realizando en el servidor. Siempre revise las reglas actuales antes de hacer cambios.

Una buena regla es agregar todas las reglas que terminan en una gota e insertar todas las reglas que aceptan un paquete.

Comando de ejemplo Qué hace
iptables -L Este comando lista todas las iptables reglas.
iptables -L --line-numbers Este comando lista todas las iptables reglas y proporciona un número de línea por cada regla.
iptables -D INPUT 2 Cuando se usa junto con iptables -L --line-numbers , este comando elimina la segunda regla en INPUT cadena. Este es el mejor método para garantizar que se elimine la regla correcta.
iptables -A INPUT -m tcp -p tcp -s 12.345.67.89 --dport=22 -j DROP Esta regla descarta el tráfico en el puerto 22 desde la IP de origen a través de la cadena INPUT a través de TCP. Esta regla se agrega al principio de la cadena INPUT.
iptables -A INPUT -s 12.345.67.89 -j DROP Esta regla descarta todas las conexiones entrantes desde la IP de origen. Este ejemplo se adjunta en la parte superior de la INPUT cadena.
iptables -D INPUT -m tcp -p tcp -s 12.345.67.89 --dport=22 -j ACCEPT Este comando elimina la regla especificada de INPUT mesa. Puedes usar -D marcar con cualquier cadena o regla, pero recomendamos eliminar por número de línea como se muestra arriba.
iptables -I INPUT -m tcp -p tcp -s 12.345.67.89 --dport=22 -j ACCEPT Esta regla acepta tráfico en el puerto 22 desde la IP de origen a través de INPUT cadena a través de TCP. Esta regla se inserta en INPUT cadena.
iptables -I INPUT -s 12.345.67.89 -j ACCEPT Esta regla acepta todas las conexiones entrantes desde la IP de origen a través de cualquier protocolo en cualquier puerto. Esta regla se inserta en INPUT cadena.
service iptables save Por defecto, iptables no proporciona persistencia. Este comando le permite guardar las reglas.
service iptables reload Este comando recarga el servicio iptables para permitir el procesamiento de nuevas reglas.

Lecturas adicionales

Este artículo trata solo los conceptos básicos de iptables . Hay varias otras tareas y reglas que puede configurar para limitar el acceso a su servidor. Para más información sobre iptables , puede revisar el man página para iptables en iptables - página man de Linux.


Linux
  1. Las 10 mejores soluciones de software de parcheo de servidor

  2. Permitir el tráfico web en el firewall del software iptables

  3. Gestión básica de cortafuegos y cortafuegos

  4. Gestión básica de usuarios de Linux

  5. Mejores prácticas de seguridad del servidor de Windows

Cómo configurar el firewall de Iptables en CentOS

Cómo:Solución de problemas básicos de IPTables

Cómo:Configuración básica de archivos de IPTables

Los 5 mejores cortafuegos de Linux

Cómo configurar un cortafuegos en su servidor Linux

¿Depuración de iptables y trampas comunes de firewall?