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

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

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 transfèrent toujours leurs commandes aux iptables et l'utilise en arrière-plan.

La maîtrise des iptables, ou du moins se familiariser avec certaines des commandes les plus fondamentales, est essentielle 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 tenus de lui appliquer des 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 cela fonctionne pour protéger votre système.

AVERTISSEMENT
Vous ne devez pas appliquer les règles iptables à un système de production jusqu'à ce que vous soyez un peu familier avec la façon dont ils fonctionnent. 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 accidentellement vous verrouiller si vous entrez la mauvaise règle.

Dans ce tutoriel, vous apprendrez:

  • Collection de règles de base du pare-feu Linux de base
Affichage des règles iptables configurées sur notre système Linux Exigences logicielles et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version logicielle utilisée
Système Toute distribution Linux
Logiciel iptables
Autre Accès privilégié à votre système Linux en tant que racine ou via le Sudo commande.
Conventions # - Exige que les commandes Linux soient exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
$ - Exige que les commandes Linux soient exécutées en tant qu'utilisateur non privilégié régulier

Exemples de commande iptables



SAVIEZ-VOUS?
Sachez que l'ordre de vos règles iptables est importante. Lorsque votre système reçoit un paquet de trafic réseau, les iptables l'adapteront à la première règle qu'il peut. Par conséquent, si vous avez une règle pour accepter le trafic SSH, suivie d'une règle pour refuser le trafic SSH, les iptables accepteront toujours le trafic parce que cette règle s'appelle 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 rejeter toutes les connexions réseau sortantes

    La deuxième ligne des règles n'autorise que les connexions sortantes et établies. Ceci est très utile lorsque vous êtes connecté au serveur via SSH ou Telnet.

    # iptables -f sortie # iptables -a sortie -m état --state établi -j accepter # iptables -a sortie -j rejet 
  2. Règle: iptables pour rejeter toutes les connexions réseau entrantes

    # iptables -f entrée # iptables -a entrée -m état --state établi -j accepter # iptables -a entrée -j rejet 
  3. Règle: iptables pour rejeter toutes les connexions réseau

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

    # iptables -f # iptables -a entrée -j rejet # iptables -a sortie -j rejet # iptables -a avant -j rejet 
  4. Règle: iptables pour supprimer les demandes de ping entrantes

    Cette règle iptables abandonnera toutes les demandes de ping entrantes. Notez qu'il est possible d'utiliser Reject au lieu de tomber. La différence entre la chute vs rejeter est que la chute rejette silencieusement le package entrant, tandis que le rejet entraînera une erreur ICMP.



    # iptables -a entrée -p icmp --icmp-type echo-request -j drop 
  5. Règle: iptables pour abandonner les connexions Telnet sortantes

    Cette règle iptables bloquera tout trafic sortant vers n'importe quel hôte où le port de destination est 23 (Telnet).

    # iptables -a sortie -p tcp --dport telnet -j rejet 
  6. Règle: iptables pour rejeter les connexions Telnet entrantes

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

    # iptables -a entrée -p tcp --dport telnet -j rejet 
  7. Règle: iptables pour rejeter 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 rejet 
  8. Règle: iptables pour rejeter les connexions SSH entrantes

    Refuser toutes les connexions entrantes à un port local 22 (SSH).

    # iptables -a entrée -p tcp --dport ssh -j rejet 


  9. Règle: iptables pour rejeter tout le trafic entrant sauf SSH et les connexions locales

    Ces règles rejetteront toutes les connexions entrantes au serveur à l'exception de celles du port 22 (SSH). Il acceptera également les connexions sur l'interface de boucle.

    # iptables -a entrée -i lo -j accepter # iptables -a entrée -p tcp --dport ssh -j accepter # iptables -a entrée -j rejet 
  10. Règle: iptables pour accepter les connexions SSH entrantes à partir d'adresse IP spécifique

    En utilisant cette règle iptables, nous bloquerons toutes les connexions entrantes au port 22 (SSH) sauf l'hôte avec l'adresse IP 77.66.55.44. Ce que cela signifie, c'est que le seul hôte avec IP 77.66.55.44 pourra SSH.

    # iptables -a entrée -p tcp -s 77.66.55.44 --dport ssh -j accepter # iptables -a entrée -p tcp --dport ssh -j rejet 
  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) sauf 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 entrée -m mac - mac-source 00: e0: 4c: f1: 41: 6b -p tcp --dport ssh -j accepter # iptables -a entrée -p tcp --dport ssh -j rejet 
  12. Règle: iptables pour rejeter 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 entrée -p tcp --dport 3333 -j rejet 


  13. Règle: iptables pour supprimer toutes les connexions entrantes sur une interface réseau spécifique

    La règle suivante supprimera 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 de réseau externe, aucun trafic entrant provenant du réseau interne ne devrait frapper l'interface réseau Eth0.

    # iptables -a entrée -i eth0 -s 192.168.0.0/16 -J Drop 
  14. Règle: iptables pour créer une simple IP masquée

    La règle suivante créera une simple passerelle IP masquée pour permettre à tous les hôtes du même sous-réseau d'accéder à Internet. L'ETH0 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 sauf l'adresse IP spécifiée

    La règle iptables suivante rejetera tout le trafic Telnet entrant, sauf la demande de connexion à partir de l'IP 222.111.111.222

    # iptables -a entrée -t filtre ! -S 222.111.111.222 -P TCP --DPORT 23 -J Rejet 
  16. Règle: rejeter tout le trafic SSH entrant sauf la plage d'adresses IP spécifiée

    La règle iptables suivante rejetera tout le trafic SSH entrant, sauf la demande de connexion de la plage d'adresses IP 10.1.1.90 - 10.1.1.1.100.

    Retirer le négateur "!«De la règle ci-dessous, rejetez tout le trafic SSH provenant de la plage d'adresses IP 10.1.1.90 - 10.1.1.100.



    # iptables -a entrée -t filtre -m iprange ! --src-range 10.1.1.90-10.1.1.100 -P TCP --DPORT 22 -J Rejet 
  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 sortie -d 222.111.111.222 -J rejeter 
  18. Règle: iptables pour bloquer un accès à un site Web spécifique

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

    # iptables -a entrée -s Facebook.com -p tcp - sport www -j drop 

    Notez que la règle iptables ci-dessus bloquera l'accès à Facebook.com ainsi que www.Facebook.com.

Réflexions de clôture

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

Tutoriels Linux connexes:

  • Choses à installer sur Ubuntu 20.04
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Téléchargement Linux
  • Meilleure distribution Linux pour les développeurs
  • Installez Firewalld sur Centos Linux System
  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Ubuntu 20.04 astuces et choses que vous ne savez peut-être pas
  • Choses à faire après l'installation d'Ubuntu 22.04 Jammy Jellyfish…
  • Commandes Linux: les 20 meilleures commandes les plus importantes que vous devez…
  • Fichiers de configuration Linux: 30 premiers