Recherche de site Web

Collection des règles iptables de base du pare-feu Linux


Le but de ce guide est de montrer certaines des commandes iptables les plus courantes pour les systèmes Linux. iptables est le pare-feu intégré à toutes les distributions Linux. Même les distributions comme Ubuntu, qui utilise ufw (pare-feu simple), et Red Hat, qui utilise firewalld, transmettent toujours leurs commandes à iptables et l’utilisent en arrière-plan.

Maîtriser iptables, ou au moins se familiariser avec certaines des commandes les plus basiques, est essentiel pour les administrateurs Linux. Même les utilisateurs occasionnels de Linux peuvent bénéficier de la compréhension des bases du pare-feu iptables, car ils peuvent être amenés à y appliquer quelques configurations mineures à un moment donné. Utilisez certains des exemples ci-dessous pour vous familiariser avec la syntaxe iptables et avoir une idée de la façon dont elle fonctionne pour protéger votre système.

ATTENTION
Vous ne devez pas appliquer les règles iptables à un système de production tant que vous n’êtes pas un peu familiarisé avec leur fonctionnement. Soyez également prudent lorsque vous appliquez des règles à des systèmes distants (un ordinateur avec lequel vous avez établi une session SSH) car vous pouvez vous verrouiller accidentellement si vous entrez la mauvaise règle.

Dans ce tutoriel, vous allez apprendre :

  • Collection des règles de base du pare-feu Linux iptables

Affichage des règles iptables configurées sur notre système Linux

Exemples de commandes iptables

LE SAVIEZ-VOUS ?
Sachez que l’ordre de vos règles iptables compte. Lorsque votre système reçoit un paquet de trafic réseau, iptables le fera correspondre à la première règle possible. Par conséquent, si vous avez une règle pour accepter le trafic SSH, suivie d’une règle pour refuser le trafic SSH, iptables acceptera toujours le trafic car cette règle vient avant la règle de refus dans la chaîne. Vous pouvez toujours modifier l’ordre des règles en spécifiant un numéro de règle dans votre commande.

  1. Règle : iptables pour refuser toutes les connexions réseau sortantes

    La deuxième ligne de règles n’autorise que les liaisons sortantes et établies actuelles. Ceci est très utile lorsque vous êtes connecté au serveur via ssh ou telnet.

    
    iptables -F OUTPUT
    iptables -A OUTPUT -m state --state ESTABLISHED -j ACCEPT
    iptables -A OUTPUT -j REJECT
    
  2. Règle : iptables pour rejeter toutes les connexions réseau entrantes

    
    iptables -F INPUT
    iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
    iptables -A INPUT -j REJECT
    
  3. Règle : iptables pour refuser toutes les connexions réseau

    Cette règle abandonnera et bloquera toute connexion réseau, qu’elle soit entrante ou sortante. Plus important encore, cela inclura également les connexions actuelles, en cours, établies.

    
    iptables -F
    iptables -A INPUT -j REJECT
    iptables -A OUTPUT -j REJECT
    iptables -A FORWARD -j REJECT
    
  4. Règle : iptables pour supprimer les requêtes ping entrantes

    Cette règle iptables abandonnera toutes les requêtes ping entrantes. Notez qu’il est possible d’utiliser REJECT au lieu de DROP. La différence entre DROP et REJECT est que DROP rejette silencieusement le paquet entrant, tandis que REJECT entraînera le renvoi d’une erreur ICMP.

    
    iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
    


  5. Règle : iptables pour supprimer les connexions telnet sortantes

    Cette règle iptables bloquera tout trafic sortant vers n’importe quel hôte dont le port de destination est 23 (telnet).

    
    iptables -A OUTPUT -p tcp --dport telnet -j REJECT
    
  6. Règle : iptables pour refuser les connexions telnet entrantes

    Cette règle iptables refusera toutes les demandes de connexion entrantes vers un port local 23.

    
    iptables -A INPUT -p tcp --dport telnet -j REJECT
    
  7. Règle : iptables pour refuser les connexions ssh sortantes

    Cette règle iptables refusera toutes les connexions sortantes provenant d’un port local 22 (ssh).

    
    iptables -A OUTPUT -p tcp --dport ssh -j REJECT
    
  8. Règle : iptables pour refuser les connexions ssh entrantes

    Refuser toutes les connexions entrantes vers un port local 22 (ssh).

    
    iptables -A INPUT -p tcp --dport ssh -j REJECT
    
  9. Règle : iptables pour rejeter tout le trafic entrant sauf ssh et les connexions locales

    Ces règles rejettent toutes les connexions entrantes au serveur, à l’exception de celles sur le port 22 (SSH). Il acceptera également les connexions sur l’interface de bouclage.

    
    iptables -A INPUT -i lo -j ACCEPT
    iptables -A INPUT -p tcp --dport ssh -j ACCEPT
    iptables -A INPUT -j REJECT
    
  10. Règle : iptables pour accepter les connexions ssh entrantes à partir d’une adresse IP spécifique

    En utilisant cette règle iptables, nous bloquerons toutes les connexions entrantes au port 22 (ssh) à l’exception de l’hôte avec l’adresse IP 77.66.55.44. Cela signifie que seul l’hôte avec l’IP 77.66.55.44 pourra utiliser ssh.

    
    iptables -A INPUT -p tcp -s 77.66.55.44 --dport ssh -j ACCEPT
    iptables -A INPUT -p tcp --dport ssh -j REJECT
    
  11. Règle : iptables pour accepter les connexions ssh entrantes à partir d’une adresse MAC spécifique

    En utilisant cette règle iptables, nous bloquerons toutes les connexions entrantes au port 22 (ssh) à l’exception de l’hôte avec l’adresse MAC 00 :e0:4c :f1:41:6b. En d’autres termes, toutes les connexions ssh seront limitées à un seul hôte avec une adresse MAC 00 :e0:4c :f1:41:6b.

    
    iptables -A INPUT -m mac --mac-source 00:e0:4c:f1:41:6b -p tcp --dport ssh -j ACCEPT
    iptables -A INPUT -p tcp --dport ssh -j REJECT
    
  12. Règle : iptables pour refuser les connexions entrantes sur un port TCP spécifique

    La règle iptables suivante supprimera tout le trafic entrant sur le port TCP 3333.

    
    iptables -A INPUT -p tcp --dport 3333 -j REJECT
    
  13. Règle : iptables pour supprimer toutes les connexions entrantes sur une interface réseau spécifique

    La règle suivante abandonnera le trafic entrant sur une interface réseau spécifique provenant du sous-réseau 192.168.0.0/16. Le est très utile pour tenter de supprimer toutes les adresses IP usurpées. Si eth0 est une interface réseau externe, aucun trafic entrant provenant du réseau interne ne doit atteindre l’interface réseau eth0.

    
    iptables -A INPUT -i eth0 -s 192.168.0.0/16 -j DROP
    
  14. Règle : iptables pour créer un masquage d’IP simple

    La règle suivante crée une passerelle simple de masquage d’adresse IP pour permettre à tous les hôtes du même sous-réseau d’accéder à Internet. Le eth0 spécifié ci-dessous est une interface externe connectée à Internet.

    
    echo "1" > /proc/sys/net/ipv4/ip_forward
    iptables -t nat -A POSTROUTING -o $EXT_IFACE -j MASQUERADE
    
  15. Règle : Rejeter tout le trafic telnet entrant, à l’exception de l’adresse IP spécifiée

    La règle iptables suivante rejettera tout le trafic telnet entrant, à l’exception de la demande de connexion de l’adresse IP 222.111.111.222

    
    iptables -A INPUT -t filter ! -s 222.111.111.222 -p tcp --dport 23 -j REJECT
    
  16. Règle : Rejeter tout le trafic ssh entrant, à l’exception de la plage d’adresses IP spécifiée

    La règle iptables suivante rejettera tout le trafic ssh entrant, à l’exception des demandes de connexion provenant de la plage d’adresses IP 10.1.1.90 - 10.1.1.1.100.

    La suppression du négateur « ! » de la règle ci-dessous rejette tout le trafic ssh provenant de la plage d’adresses IP 10.1.1.90 - 10.1.1.100.

    
    iptables -A INPUT -t filter -m iprange ! --src-range 10.1.1.90-10.1.1.100  -p tcp --dport 22 -j REJECT
    


  17. Règle : iptables pour rejeter tout le trafic sortant vers un hôte distant spécifique

    La règle iptables suivante rejettera tout le trafic sortant vers un hôte distant avec une adresse IP 222.111.111.222

    
    iptables -A OUTPUT -d 222.111.111.222 -j REJECT
    
  18. Règle : iptables pour bloquer l’accès à un site web spécifique

    La règle iptables suivante bloquera tout le trafic entrant en provenance de facebook.com où le port source est le port 80/www.

    
    iptables -A INPUT -s facebook.com -p tcp --sport www -j DROP
    

    Notez que la règle iptables ci-dessus bloquera l’accès à facebook.com ainsi qu’à www.facebook.com.

Réflexions finales

Dans ce guide, nous avons vu une collection de règles iptables de base pour Linux. Cela incluait certaines des règles les plus courantes qui sont généralement appliquées aux systèmes, telles que le blocage des connexions SSH autres que celles provenant d’une adresse IP particulière. L’utilisation de ces règles vous aidera à renforcer votre serveur contre les attaques et à augmenter la sécurité globale. N’hésitez pas à adapter ces exemples à vos propres scénarios.

Articles connexes: