New Immissions/Updates:
boundless - educate - edutalab - empatico - es-ebooks - es16 - fr16 - fsfiles - hesperian - solidaria - wikipediaforschools
- wikipediaforschoolses - wikipediaforschoolsfr - wikipediaforschoolspt - worldmap -

See also: Liber Liber - Libro Parlato - Liber Musica  - Manuzio -  Liber Liber ISO Files - Alphabetical Order - Multivolume ZIP Complete Archive - PDF Files - OGG Music Files -

PROJECT GUTENBERG HTML: Volume I - Volume II - Volume III - Volume IV - Volume V - Volume VI - Volume VII - Volume VIII - Volume IX

Ascolta ""Volevo solo fare un audiolibro"" su Spreaker.
CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Netfilter - Wikipédia

Netfilter

Un article de Wikipédia, l'encyclopédie libre.

Image:netfilter-logo.png
Développeur L'equipe Netfilter[1]
Environnement Linux
Type Pare-feu
Licence GPL[2]
Site Web www.netfilter.org

Netfilter est le module qui fournit à Linux les fonctions de pare-feu, de partage de connexions internet (NAT) et d'historisation du trafic réseau. Netfilter fonctionne en mode noyau. Il intercepte et manipule les paquets IP avant et après le routage.

iptables est la commande qui permet à un administrateur de configurer Netfilter en mode utilisateur. iptables-restore et iptables-save sont deux commandes associées qui permettent de sauvegarder/restaurer la configuration Netfilter.

Sommaire

[modifier] Historique et dénomination

Netfilter a été intégré à Linux à partir de la version 2.4. Il est issu de la réécriture d'ipchains qui fonctionnait dans la série des noyaux 2.2. Pour faciliter la transition, les paramètres d'iptables ressemblent à ceux de son prédécesseur.

Le nom iptables est souvent utilisé pour parler de toute l'infrastructure Netfilter mais il n'est que l'outil permettant de le configurer à partir d'un interpréteur de commandes.

[modifier] Fonctionnement général

Netfilter permet à un administrateur de définir comment Linux doit traiter les paquets réseau entrants et sortants. Chaque paquet passe systématiquement par une ou plusieurs tables. À l'intérieur de ces tables, les paquets parcourent des chaînes qui contiennent les règles de traitement.

Chaque règle spécifie des critères de sélection (adresse source, protocole, etc.) et ce qui doit advenir des paquets correspondants (rejet, autorisation, archivage, etc.). Les critères disponibles et les actions possibles ne sont pas toujours les mêmes suivant la chaîne dans laquelle on ajoute la règle. Suivant l'action choisie, le paquet parcourt ou non les règles suivantes de la chaîne. Si aucune règle ne correspond au paquet, c'est la politique par défaut de la chaîne qui décide du sort du paquet.

[modifier] Tables

Netfilter est fourni avec trois tables principales, mais des modules d'extension peuvent en créer de nouvelles. Chaque table contient des chaînes prédéfinies à travers lesquelles les paquets vont passer. L'administrateur peut ajouter et retirer des chaînes personnelles dans n'importe quelle table. Au départ, toutes les chaînes sont vides et leur politique par défaut est d'accepter les paquets.

[modifier] Table filter

Cheminement des paquets à travers netfilter
Cheminement des paquets à travers netfilter

Cette table est responsable du filtrage (bloquer ou autoriser le passage d'un paquet). Tous les paquets passent à travers cette table, dans l'une des chaînes suivantes :

  • Chaîne INPUT — Tous les paquets destinés à cet ordinateur passent dans cette chaîne.
  • Chaîne OUTPUT — Tous les paquets créés par cet ordinateur passent dans cette chaîne.
  • Chaîne FORWARD — Tous les paquets traversant cet ordinateur passent dans cette chaîne (dans le cas d'un routeur, par exemple).

[modifier] Table nat

Cette table est responsable de la translation d'adresses et de ports. Seul le premier paquet de chaque connexion passe à travers cette table. Les règles vont alors déterminer comment seront modifiés tous les paquets relatifs à cette connexion.

  • Chaîne PREROUTING — Les paquets arrivant de l'exterieur passent dans cette chaîne avant d'être routés. Elle permet de modifier la destination de la connexion pour, par exemple, rediriger une connexion.
  • Chaîne POSTROUTING — Les paquets passent dans cette chaîne après la décision de routage, juste avant que le paquet soit expedié. Elle permet la modification de la source de la connexion. On peut ainsi camoufler la véritable origine d'une connexion.
  • Chaîne OUTPUT — Elle fonctionne comme la chaîne PREROUTING mais pour les connexions issues d'un processus de l'ordinateur.

[modifier] Table mangle

Cette table est responsable de la transformation des options des paquets, comme la qualité de service. Tous les paquets passent à travers cette table, dans une ou plusieurs des chaînes suivantes :

  • Chaîne PREROUTING — Tous les paquets entrant cet ordinateur passent dans cette chaîne, avant le routage.
  • Chaîne INPUT — Tous les paquets destinés à cet ordinateur passent dans cette chaîne.
  • Chaîne OUTPUT — Tous les paquets créés par cet ordinateur passent dans cette chaîne.
  • Chaîne FORWARD — Tous les paquets traversant cet ordinateur passent dans cette chaîne.
  • Chaîne POSTROUTING — Tous les paquets quittant cet ordinateur passent dans cette chaîne, après le routage.

[modifier] Qualités

  • Étant le pare-feu officiel de Linux, Netfilter est très répandu et bien documenté. Il est facile d'obtenir de l'aide sur les forums.
  • Des interfaces graphiques existent pour simplifier sa configuration.
  • La translation d'adresse (NAT) est très flexible. On peut faire chaque type de NAT avec des restrictions de source, de destination et de service.
  • L'architecture modulaire permet une grande évolution et l'adaptation à des besoins spécifiques[3]

[modifier] Défauts

  • Chaque appel à la commande iptables accède à la configuration de Netfilter dans le noyau. Pour créer une grosse configuration, il faut souvent des milliers d'appels à iptables. Chaque appel prenant un verrou sur Netfilter, le fonctionnement de Netfilter peut-être altéré pendant la phase de configuration.
  • Comme beaucoup d'autres pare-feux, netfilter permet l'inspection de service (appelé conntrack). Cela permet la translation d'adresses sur des protocoles particuliers comme FTP, H323, SNMP ou TFTP mais c'est une pratique risquée. L'inspection de service étant complexe, tout bug pourrait permettre la prise de contrôle de la machine. Mais cette inspection est facultative, en chargeant ou non les modules conntrack associés.
  • Netfilter ne fait pas de règles de NAT statiques pour des plages d'adresses. Pour faire une NAT statique de plage, il faut écrire une règle iptables par adresse. Par contre il peut faire de la translation dynamique de plages d'adresses[4] ou utiliser l'extension NETMAP qui permet la translation statique d'un réseau[3].
  • Netfilter ne gère pas certaines technologies comme les proxys, les IDS ou les serveurs d'authentification. Pour faire cela sous Linux il faut utiliser d'autres logiciels qui se configurent à part.

[modifier] Exemples d'utilisation

Vide les chaînes de la table filter (la table par défaut) :

iptables --flush INPUT
iptables -F FORWARD
iptables -F OUTPUT

Vide la chaîne POSTROUTING de la table nat :

iptables --table nat --flush POSTROUTING

La politique par défaut est d'accepter tous les paquets (généralement un mauvais choix pour la sécurité) :

iptables --policy INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

Autorise paquets sur le port telnet qui viennent du réseau local :

iptables --append INPUT --protocol tcp --dport telnet --source 192.168.13.0/24 --jump ACCEPT

Ignore les autres paquets entrants sur le port telnet :

iptables -A INPUT -p tcp --dport telnet -j DROP

Rejette les paquets entrants sur un port souvent utilisé par les proxies :

iptables -A INPUT -p tcp --dport 3128 -j REJECT --reject-with tcp-reset

Translation d'adresse automatique pour tous les paquets partant par la connexion internet :

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

[modifier] Voir aussi

[modifier] Interfaces graphiques

Ces programmes permettent de configurer Netfilter graphiquement :

[modifier] Les autres pare-feux libres

[modifier] Article connexe

[modifier] Liens externes

[modifier] Notes

  1. The netfilter core team
  2. Plus d'informations sur la page officielle
  3. 3,0 3,1 Netfilter Extensions HowTo
  4. Voir dans le NAT HowTo section 6.3, Mappings Multiples, Dépassements et Clashs


Portail de la sécurité informatique – Accédez aux articles de Wikipédia concernant la sécurité informatique.
Portail des logiciels libres – Accédez aux articles de Wikipédia concernant les logiciels libres.

Static Wikipedia (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu