GNU/Linux >> Tutoriels Linux >  >> Cent OS

18 exemples pour apprendre les règles Iptable sur CentOS

Iptable est l'outil d'administration pour le filtrage de paquets IPv4 et NAT. Iptables est utilisé pour configurer, maintenir et inspecter les tables de règles de filtrage de paquets IPv4 dans le noyau Linux. Plusieurs tables différentes peuvent être définies. Chaque table contient un certain nombre de chaînes intégrées et peut également contenir des chaînes définies par l'utilisateur. Chaque chaîne est une liste de règles qui peuvent correspondre à un ensemble de paquets. Chaque règle spécifie ce qu'il faut faire avec un paquet qui correspond. C'est ce qu'on appelle une "cible", qui peut être un saut vers une chaîne définie par l'utilisateur dans la même table.

Une règle de pare-feu spécifie des critères pour un paquet et une cible. Si le paquet ne correspond pas, la règle suivante dans la chaîne est examinée ; si elle correspond, la règle suivante est spécifiée par la valeur de la cible, qui peut être le nom d'une chaîne définie par l'utilisateur ou l'une des valeurs spéciales ACCEPT, DROP, QUEUE ou RETURN.

  • ACCEPTER signifie laisser passer le paquet.
  • DROP signifie déposer le paquet sur le sol
  • FILE D'ATTENTE signifie transmettre le paquet à l'espace utilisateur
  • RETOUR signifie arrêter de parcourir cette chaîne et reprendre à la règle suivante de la chaîne précédente.

Il y a au total 4 chaînes :

  • ENTRÉE - La chaîne par défaut est utilisée pour les paquets adressés au système. Utilisez ceci pour ouvrir ou fermer les ports entrants et les adresses IP/sous-réseau
  • SORTIE - La chaîne par défaut est utilisée lorsque des paquets sont générés à partir du système. Utilisez ceci pour ouvrir ou fermer les ports sortants et les adresses IP/sous-réseaux
  • AVANCER - Les chaînes par défaut sont utilisées lorsque les paquets sont envoyés via une autre interface. Généralement utilisé lorsque vous configurez Linux en tant que routeur
  • RH-Firewall-1-INPUT - Il s'agit d'une chaîne personnalisée définie par l'utilisateur. Il est utilisé par les chaînes INPUT, OUTPUT et FORWARD.

Installation d'Iptables

Nous pouvons installer iptables via la commande suivante.

[root@vpn ~]# yum install iptables -y

Vérifier la version d'iptable :

[root@vpn ~]# iptables --version
iptables v1.3.5

Vérifier l'état d'iptables :

[root@vpn ~]# service iptables status

Démarrer iptables :

[root@vpn ~]# service iptables start
Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: filter [ OK ]
Unloading iptables modules: [ OK ]

Pour définir le démarrage d'iptables au démarrage :

[root@vpn ~]# chkconfig iptables on

Le fichier de configuration par défaut de CentOS est /etc/sysconfig/iptables. Ce sont les scripts système qui activent le pare-feu en lisant ce fichier

Règles iptables

1) Réinitialiser toutes les règles (F) et les chaînes (X), nécessaire si vous avez déjà défini des règles iptables

#iptables -t filter -F
#iptables -t filter -X

2) Afficher l'état du pare-feu

#iptables -L -n -v

3) Bloquer les paquets nuls

#iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP

4) Rejeter l'attaque SYN -FLOOD

#iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP

5) Rejeter un paquet de reconnaissance

#iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP

6) Ajout de l'interface localhost au filtre de pare-feu

#iptables -A INPUT -i lo -j ACCEPT

7) Autoriser le trafic du serveur Web

#iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
#iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT

8) Autoriser les utilisateurs à utiliser les serveurs SMTP

#iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
#iptables -A INPUT -p tcp -m tcp --dport 465 -j ACCEPT

9) Autoriser les utilisateurs à lire les e-mails sur leur serveur

autoriser le trafic POP3

#iptables -A INPUT -p tcp -m tcp --dport 110 -j ACCEPT
#iptables -A INPUT -p tcp -m tcp --dport 995 -j ACCEPT

autoriser le trafic POP3

#iptables -A INPUT -p tcp -m tcp --dport 143 -j ACCEPT
#iptables -A INPUT -p tcp -m tcp --dport 993 -j ACCEPT

10) Autoriser le trafic SSH

#iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT

autoriser le trafic vers le port SSH s'il provient d'une seule source

#iptables -A INPUT -p tcp -s YOUR_IP_ADDRESS -m tcp --dport 22 -j ACCEPT

11) Autoriser toutes les connexions sortantes établies à recevoir des réponses du serveur

#iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

12) Bloquer une adresse IP

#iptables -A INPUT -s IP_ADDRESS -j DROP

13) Bloquer un port pour une adresse IP spécifique

#iptables -A INPUT -p tcp -s IP_ADDRESS --dport PORT -j DROP

14) Ouvrir un port pour une adresse IP spécifique

#iptables -A INPUT -p tcp -s IP_ADDRESS --dport PORT -j ACCEPT

15) Autoriser l'imprimante pour une adresse IP spécifique

#iptables -A INPUT -s IP_ADDRESS -p udp -m udp --dport 631 -j ACCEPT

16) Ouvrez le DNS

#iptables -A INPUT -m state --state NEW -p tcp --dport 53 -j ACCEPT

17) Ouvrir le port MYSQL

#iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

18) Ouvrir une plage de ports (par exemple :7000-7100)

#iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 7000:7100 -j ACCEPT

Après avoir défini toutes les règles, vous devez enregistrer les règles et redémarrer iptables

#service iptables save

#service iptables restart

Cent OS
  1. Comment migrer les règles Iptables existantes vers Nftables dans CentOS/RHEL 8

  2. Comment utiliser les règles Udev pour créer des disques oracleasm dans CentOS/RHEL 8

  3. Comment stocker les règles iptables pour survivre aux redémarrages dans CentOS/RHEL

  4. CentOS / RHEL :Comment configurer les règles iptable pour autoriser les ports FTP 20/21

  5. CentOS / RHEL :Comment faire persister les règles iptable à travers les redémarrages

26 exemples de commandes DNF dans Fedora / CentOS / RHEL

5 exemples de la commande Netcat (nc) sous Linux

Comment supprimer les règles en double dans la base de données de stratégie de routage dans CentOS/RHEL

Comment migrer les règles iptables CentOS/RHEL 6 vers le pare-feu CentOS/RHEL 7

Exemples de commandes KVM Virsh sur CentOS et RHEL

CentOS / RHEL 6 :Comment enregistrer les règles iptables