Colección de reglas básicas de firewall de linux iptables

Colección de reglas básicas de firewall de linux iptables

El propósito de esta guía es mostrar algunos de los comandos iptables más comunes para los sistemas Linux. iptable es el firewall integrado en todas las distribuciones de Linux. Incluso distribuciones como Ubuntu, que utiliza UFW (firewall sin complicaciones) y Red Hat, que utiliza Firewalld todavía pasa sus comandos a Iptables y usándolo en segundo plano.

Dominar iptables, o al menos familiarizarse con algunos de los comandos más básicos, es esencial para los administradores de Linux. Incluso los usuarios casuales de Linux pueden beneficiarse de comprender los conceptos básicos del firewall iptable, ya que se les puede requerir que le apliquen algunas configuraciones menores en algún momento. Use algunos de los ejemplos a continuación para familiarizarse con la sintaxis iptable y obtener una idea de cómo funciona para proteger su sistema.

ADVERTENCIA
No debe aplicar las reglas iptables a un sistema de producción hasta que esté un poco familiarizado con cómo funcionan. También tenga cuidado al aplicar reglas a sistemas remotos (una computadora con la que haya establecido una sesión SSH) porque puede bloquearse accidentalmente si ingresa la regla incorrecta.

En este tutorial aprenderás:

  • Colección de reglas básicas de firewall de linux iptables
Ver las reglas iptables configuradas en nuestro sistema Linux Requisitos de software y convenciones de línea de comandos de Linux
Categoría Requisitos, convenciones o versión de software utilizada
Sistema Cualquier distribución de Linux
Software iptables
Otro Acceso privilegiado a su sistema Linux como root o a través del sudo dominio.
Convenciones # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudo dominio
ps - Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado

Ejemplos de comando iptables



SABÍAS?
Tenga en cuenta que el orden de sus reglas iptables es importante. Cuando su sistema recibe un paquete de tráfico de red, los IpTables lo coincidirán con la primera regla que puede. Por lo tanto, si tiene una regla para aceptar el tráfico SSH, seguido de una regla para negar el tráfico SSH, los Iptables siempre aceptarán el tráfico porque esa regla viene antes de la regla de negar en la cadena. Siempre puede cambiar el orden de reglas especificando un número de regla en su comando.
  1. Regla: iptables para rechazar todas las conexiones de red salientes

    La segunda línea de las reglas solo permite conexiones salientes y establecidas actuales. Esto es muy útil cuando ha iniciado sesión en el servidor a través de SSH o Telnet.

    # iptables -f salida # iptables -a salida -m estado -state establecido -j aceptar # iptables -a salida -j rechazado 
  2. Regla: iptables para rechazar todas las conexiones de red entrantes

    # iptables -f Entrada # iptables -a Entrada -m Estado -Estado establecido -j Aceptar # iptables -A Input -j Rechazado 
  3. Regla: iptables para rechazar todas las conexiones de red

    Esta regla eliminará y bloqueará toda la conexión de red, ya sea entrante o extrovertida. Más importante aún, esto también incluirá conexiones establecidas actuales en curso.

    # iptables -f # iptables -a entrada -j Rechazar # iptables -A Output -j Rechazo # iptables -A Forward -j Rechazos 
  4. Regla: iptables para eliminar las solicitudes de ping entrantes

    Esta regla de iptables dejará caer todas las solicitudes de ping entrantes. Tenga en cuenta que es posible usar rechazo en lugar de soltar. La diferencia entre Drop Vs RechEl es que la caída descarta en silencio el paquete entrante, mientras que el rechazo dará como resultado que se devuelva el error ICMP.



    # iptables -a input -p icmp --icmp -type echo -request -j drop 
  5. Regla: iptables para dejar caer las conexiones de Telnet

    Esta regla iptable bloqueará cualquier tráfico saliente a cualquier host donde el puerto de destino sea 23 (Telnet).

    # iptables -a output -p tcp --dport telnet -j rechazar 
  6. Regla: iptables para rechazar las conexiones de Telnet entrantes

    Esta regla de iptables rechazará todas las solicitudes de conexión entrantes a un puerto local 23.

    # iptables -a input -p tcp --dport telnet -j rechazar 
  7. Regla: iptables para rechazar las conexiones SSH salientes

    Esta regla iptable rechazará todas las conexiones salientes provenientes de un puerto local 22 (SSH).

    # iptables -a salida -p tcp --dport ssh -j rechazar 
  8. Regla: iptables para rechazar las conexiones SSH entrantes

    Rechace todas las conexiones entrantes a un puerto local 22 (SSH).

    # iptables -a entrada -p tcp --dport ssh -j rechazar 


  9. Regla: iptables para rechazar todo el tráfico entrante, excepto SSH y las conexiones locales

    Estas reglas rechazarán todas las conexiones entrantes al servidor, excepto las del puerto 22 (SSH). También aceptará conexiones en la interfaz de loopback.

    # iptables -a entrada -i lO -j Aceptar # iptables -a input -p tcp --dport ssh -j Aceptar # iptables -a input -j rechazos 
  10. Regla: iptables para aceptar conexiones SSH entrantes desde una dirección IP específica

    Usando esta regla iptable, bloquearemos todas las conexiones entrantes al puerto 22 (SSH) excepto el host con la dirección IP 77.66.55.44. Lo que esto significa es que solo el host con IP 77.66.55.44 podrá ssh.

    # iptables -a entrada -p tcp -s 77.66.55.44 --dport ssh -j Aceptar # iptables -a input -p tcp --dport ssh -j rechazar 
  11. Regla: iptables para aceptar conexiones SSH entrantes desde una dirección MAC específica

    Usando esta regla iptable, bloquearemos todas las conexiones entrantes al puerto 22 (SSH) excepto el host con la dirección MAC 00: E0: 4C: F1: 41: 6B. En otras palabras, todas las conexiones SSH se limitarán a un solo host con una dirección MAC 00: E0: 4C: F1: 41: 6B.

    # iptables -a entrada -m Mac - -Mac -Source 00: E0: 4C: F1: 41: 6B -P TCP - -DPort SSH -J Aceptar # iptables -A Input -p TCP - -DPort SSH -J Rechazo 
  12. Regla: iptables para rechazar las conexiones entrantes en un puerto TCP específico

    La siguiente regla iptable dejará caer todo el tráfico entrante en el puerto TCP 3333.

    # iptables -a entrada -p tcp --dport 3333 -j rechazar 


  13. Regla: iptables para soltar todas las conexiones entrantes en una interfaz de red específica

    La siguiente regla eliminará el tráfico entrante en una interfaz de red específica proveniente de la subred 192.168.0.16/01. El es muy útil en el intento de soltar todas las direcciones IP falsas. Si ETH0 es una interfaz de red externa, ningún tráfico entrante que se origina en la red interna debe presionar la interfaz de red ETH0.

    # iptables -A entrada -i eth0 -s 192.168.0.0/16 -J Drop 
  14. Regla: iptables para crear una IP simple estafadora

    La siguiente regla creará una puerta de enlace de disfrazamiento de IP simple para permitir que todo el host en la misma subred acceda a Internet. El siguiente ETH0 especificado es una interfaz externa conectada a Internet.

    # echo "1">/proc/sys/net/ipv4/ip_forward # iptables -t nat -a posterior a -o $ ext_iface -j masquerade 
  15. Regla: rechace todo el tráfico de Telnet entrante, excepto la dirección IP especificada

    La siguiente regla iptable rechazará todo el tráfico de Telnet entrante, excepto la solicitud de conexión de IP 222.111.111.222

    # iptables -Un FILTER -T ! -S 222.111.111.222 -p TCP - -DPORT 23 -J Rechazar 
  16. Regla: rechace todo el tráfico SSH entrante, excepto el rango de dirección IP especificado

    La siguiente regla iptable rechazará todo el tráfico SSH entrante, excepto la solicitud de conexión desde el rango de direcciones IP 10.1.1.90 - 10.1.1.1.100.

    Eliminar Negator "!"De la siguiente regla, rechace todo el tráfico SSH que se origina en el rango de direcciones IP 10.1.1.90 - 10.1.1.100.



    # iptables -a entrada -t filtro -m ipprange ! --SRC-Range 10.1.1.90-10.1.1.TCP de 100 -p --Dport 22 -J Rechazar 
  17. Regla: iptables para rechazar todo el tráfico saliente a un host remoto específico

    La siguiente regla iptable rechazará todo el tráfico saliente a un host remoto con una dirección IP 222.111.111.222

    # iptables -a salida -d 222.111.111.222 -J rechazado 
  18. Regla: iptables para bloquear un acceso a un sitio web específico

    La siguiente regla iptable bloqueará todo el tráfico entrante de Facebook.com donde el puerto fuente es el puerto 80 / www.

    # iptables -A entrada -s Facebook.com -p tcp --sport www -j drop 

    Tenga en cuenta que la regla iptable anterior bloqueará el acceso a Facebook.com y www.Facebook.comunicarse.

Pensamientos de cierre

En esta guía, vimos una colección de reglas básicas de iptables para Linux. Esto incluía algunas de las reglas más comunes que normalmente se aplican a los sistemas, como bloquear las conexiones SSH que no sean las de una dirección IP particular. El uso de estas reglas ayudará a endurecer su servidor de los ataques y aumentar la seguridad en general. Siéntase libre de adaptar estos ejemplos para adaptarse a sus propios escenarios.

Tutoriales de Linux relacionados:

  • Cosas para instalar en Ubuntu 20.04
  • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
  • Descarga de Linux
  • La mejor distribución de Linux para desarrolladores
  • Instale el firewalld en el sistema Centos Linux
  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Ubuntu 20.04 trucos y cosas que quizás no sepas
  • Cosas que hacer después de instalar Ubuntu 22.04 Jellyfish de Jammy ..
  • Comandos de Linux: los 20 comandos más importantes que necesitas ..
  • Archivos de configuración de Linux: los 30 principales más importantes