Iptables Especificación de objetivos en Linux

Para la tabla de filtros, los objetivos más utilizada para las reglas del firewall son: DROP y ACCEPT. Si una regla coincide con las especificaciones de filtrado y tiene un objetivo DROP, el paquete, simplemente serán descartadas. Si un paquete coincide con una regla con un objetivo DROP, el kernel de Linux caer el paquete sin consultar a otras reglas en el firewall. Si el destino es aceptar, entonces el paquete es aceptado sin más consultas de las reglas del firewall de otros.
Una alternativa a DROP es el objetivo REJECT, que deja caer el paquete, pero envía un paquete ICMP a la IP de origen del paquete. Por defecto, el objetivo REJECT enviará un puerto ICMP 'inalcanzable' mensaje al remitente, pero que se puede sobrescribir con el "- reject-with" interruptor.
El objetivo en una regla de iptables también puede ser usado para pasar un paquete a una cadena definida por usuario. Por ejemplo, si creamos una nueva cadena como "SSH iptables-N", tenemos que decirle al kernel a buscar esta cadena para todas las conexiones TCP entrantes en el puerto 22 como este:

  

iptables-A INPUT-p tcp - dport 22-j SSH

Otro objetivo útil es de registro, que puede ser utilizado para registrar los paquetes que coincidan con un pliego de condiciones de filtrado en el registro del núcleo, que se puede leer con dmesg o syslogd. LOG opciones de destino son:

 

  • - a nivel de registro de nivel: El nivel de registro puede ser un nombre o un número. Los nombres válidos son de depuración, información, aviso, advertencia, err, crit, alerta, y emergentes con los números correspondientes 7 a 0.
  • - log-prefix PREFIX: prefijo de registro es seguido por una cadena de hasta 29 caracteres, se coloca al comienzo del mensaje de registro.
  • - log-tcp-sequence: Registra los números de secuencia TCP.
  • - log-tcp-options: Registra el campo de opción de la cabecera del paquete TCP.
  • - log-ip-options: Registra el campo de opción de la cabecera del paquete IP.
  • - log-uid: Registra el identificador de usuario del proceso que generó el paquete.

 

El destino LOG no es una meta de terminación, como ACCEPT, DROP, y rechazar. Esto significa que si un paquete coincide con una norma que tiene el objetivo LOG, el núcleo mira las normas que siguen también coinciden con este paquete. Un partido de límite para las normas con los objetivos LOG sería una buena idea para evitar las inundaciones de los archivos de registro.

Como ejemplo, hemos creado a principios de la cadena de SSH y paquetes pasó entrando en el puerto 22/tcp. Ahora, queremos aceptar conexiones entrantes SSH desde 192.168.0.0/27 y 10.10.15.0/24, por ejemplo, y registrar todos los otros intentos, pero se limita el registro a 5 / s, porque en el caso de una inundación SYN en puerto 22/tcp, los registros se llenan rápidamente.

En primer lugar, vamos a añadir las reglas a la cadena de SSH que permite conexiones de los hosts de confianza:

iptables-A SSH-s 192.168.0.0/27-j ACCEPT
iptables-A SSH-s 10.10.15.0/24-j ACCEPT

A continuación, vamos a agregar la regla de registro:

iptables-A SSH-m limit - limit 5 / s-j LOG

Y después bajar el resto de conexiones:

iptables-A SSH-j DROP

Tenemos que verificar la configuración, y vamos a usar iptables-L-n para ello. Vamos a ver en la cadena INPUT:


root @ Router: ~ / lucix # iptables-L-n

Y vamos a ver la cadena de SSH:

Cadena de SSH (1 referencias)
Prot objetivo de optar por el destino de origen
ACCEPT all - 192.168.0.0/27 0.0.0.0 / 0
ACCEPT todos - 10.10.15.0/24 0.0.0.0 / 0
LOG all - 0.0.0.0 / 0 0.0.0.0 / 0 límite: AVG estallido 5/sec 5 banderas LOG 0 el nivel 4
Descartar todos - 0.0.0.0 / 0 0.0.0.0 / 0

Para probar la cadena de SSH vamos a tratar de telnet puerto 22 de un huésped no autorizado. Uso de iptables-L-n-v, veremos que el paquete emparejado en el registro y las reglas de DROP:


Cadena de SSH (1 referencias)
PKTS octetos objetivo prot opt in out source destination
0 0 ACCEPT all - * * 192.168.0.0/27 0.0.0.0 / 0
0 0 ACCEPT all - * * 10.10.15.0/24 0.0.0.0 / 0
Registre todos los 1 48 - * * 0.0.0.0 / 0 0.0.0.0 / 0
límite: Promedio estallido 5/sec 5 banderas LOG 0 el nivel 4
1 48 de DROP all - * * 0.0.0.0 / 0 0.0.0.0 / 0

Ahora bien, si nos fijamos en los registros utilizando el comando dmesg, podrás ver:

IN = eth0 OUT = MAC = 00: D0: B7: A7: 6f: 74:00:04:23: cf: 14: e6: 08:00 SRC = 192.168.168.168 DST = 192.168.0.1 LEN = 48 TOS = 0x00 PREC = 0x00 TTL = 109 ID = 54250 DF PROTO = TCP SPT = 27276 DPT = 22 Window = 16384 RES = 0x00 SYN URGP = 0

el que nos dice que 192.168.168.168 tratado de conectar en el puerto 22 TCP.

un artículo presentado por Philip A Clara


Descargo de responsabilidad:Nuestro sitio web no es responsable por el contenido de este artículo. Webarticles es un recurso de información gratuito.
Importante: Este artículo "Iptables Especificación de objetivos en Linux" fue traducido por un software automático. Sentimos pena por los errores de ortografía que pueda haber ocurrido. Gracias por su comprensión.


Online: 268 users browsing the articles directory