Collection de règles de base du pare-feu Linux de base
- 1337
- 156
- Jade Muller
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.
AVERTISSEMENTVous 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
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.
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
- « Comment prendre des captures d'écran en utilisant MAIM sur Linux
- Comment configurer et utiliser le serveur FTP dans Ubuntu Linux »