Iptables cibles Spécifications sous Linux

Pour la table de filtrage, les cibles les plus utilisé pour les règles de pare-feu sont DROP et ACCEPT. Si une règle correspond bien aux spécifications de filtrage et a une cible de dépôt, le paquet sera simplement jeté. Si un paquet correspond à une règle avec une cible de dépôt, le noyau Linux va ignorer le paquet sans avoir consulté d'autres règles dans le pare-feu. Si la cible est de l'accepter, alors le paquet est accepté sans autre consultation des règles de pare-feu autre.
Une alternative à DROP est la cible REJECT, qui laisse tomber le paquet, mais envoie un paquet ICMP à l'adresse IP source du paquet. Par défaut, la cible REJECT enverra un message ICMP port 'inaccessible' message à l'expéditeur, mais qui peuvent être écrasés en utilisant le "- reject-with" switch.
L'objectif de la règle iptables peut aussi être utilisé pour passer un paquet à une chaîne définie par l'utilisateur. Par exemple, si nous créons une nouvelle chaîne comme "iptables-N SSH", nous devons dire au noyau de recherche de cette chaîne pour toutes les connexions TCP entrantes sur le port 22 comme ceci:

  

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

Une autre cible LOG est utile, qui peut être utilisé pour ouvrir les paquets correspondant à une spécification de filtrage dans le journal du noyau, qui peut être lu avec dmesg ou syslogd. LOG options cibles sont:

 

  • - log-level niveau: le niveau de journalisation peut être un nom ou un numéro. Les noms valides sont debug, info, notice, warning, err, crit, alerte et Emerg avec chiffres correspondants de 7 à 0.
  • - log-prefix préfixe: préfixe de journal est suivi d'une chaîne pouvant contenir jusqu'à 29 caractères, placé au début du message de log.
  • - log-tcp-sequence: Activité des numéros de séquence TCP.
  • - log-tcp-options: Enregistre le champ d'option d'en-têtes de paquets TCP.
  • - log-ip-options: Enregistre le champ d'option en-têtes de paquets IP.
  • - log-uid: Enregistre l'ID utilisateur du processus qui a généré le paquet.

 

La cible LOG n'est pas une cible comme clôturant ACCEPT, DROP, et Rejeter. Cela signifie que si un paquet correspond à une règle qui a pour cible LOG, le noyau examine les règles qui suivent correspondent aussi à ce paquet. Un match de limite pour les règles avec des cibles LOG serait une bonne idée pour prévenir les inondations les fichiers journaux.

À titre d'exemple, plus tôt nous avons créé la chaîne de SSH et de paquets passés à venir sur le port 22/tcp. Maintenant, nous voulons d'accepter les connexions entrantes SSH de 192.168.0.0/27 et 10.10.15.0/24, par exemple, et notez toutes les autres tentatives, mais nous allons limiter la notation à 5 / s, car dans le cas d'une inondation SYN port 22/tcp, les journaux seraient rapidement combler.

Premièrement, nous allons ajouter les règles à la chaîne de SSH pour autoriser les connexions depuis les hôtes ont fait confiance:

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

Ensuite, nous allons ajouter la règle de l'exploitation forestière:

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

Et puis déposez toutes les autres connexions:

iptables-A SSH-j DROP

Nous avons besoin de vérifier la configuration, et nous utiliserons iptables-L-n pour cela. Nous verrons dans la chaîne INPUT:


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

Et nous verrons la chaîne SSH:

Chaîne SSH (1 références)
Prot cible opt source destination
ACCEPT all - 192.168.0.0/27 0.0.0.0 / 0
ACCEPT all - 10.10.15.0/24 0.0.0.0 / 0
LOG all - 0.0.0.0 / 0 0.0.0.0 / 0 limit: avg éclatement 5/sec 5 LOG flags 0 level 4
DROP all - 0.0.0.0 / 0 0.0.0.0 / 0

Pour tester la chaîne de SSH nous allons essayer de telnet port 22 sur un hôte non autorisé. Aide de iptables-L-n-v, nous allons voir que le paquet qui correspond le journal et DROP règles:


Chaîne SSH (1 références)
pkts bytes cible 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
1 48 LOG all - * * 0.0.0.0 / 0 0.0.0.0 / 0
limit: avg éclatement 5/sec 5 LOG flags 0 level 4
1 48 DROP all - * * 0.0.0.0 / 0 0.0.0.0 / 0

Maintenant, si vous regardez les logs en utilisant la commande dmesg, vous verrez:

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 DTC = 22 WINDOW = 16384 RES = 0x00 SYN URGP = 0

qui nous dit que 192.168.168.168 essayé de se connecter sur le port 22 TCP.

un article présenté par Philip A Clare


Disclaimer:Notre site n'est pas responsable du contenu de cet article. Webarticles est une ressource d'information gratuite.
Important: Cet article "iptables spécifications cibles sous Linux» a été traduit par un logiciel automatique. Nous nous sentons désolés pour les fautes d'orthographe que mai ont eu lieu. Nous vous remercions de votre compréhension.


Online: 334 users browsing the articles directory