Maison > Article > Opération et maintenance > Logiciel pare-feu iptables sous Linux - conception de pare-feu
Dans les articles précédents, j'ai présenté les tables et chaînes d'iptables, ainsi que comment ajouter des chaînes de règles, etc. Ici, je voudrais partager avec vous une règle de pare-feu simple. Cet article définit principalement les règles de la chaîne d'entrée du filtre. Cet article est équivalent à une règle iptables pratique pour vous aider à approfondir et à consolider les connaissances que vous avez acquises.
Les règles d'application sont les suivantes :
Effacer les règles existantes pour effacer toutes les règles originales.
Définissez la stratégie par défaut, définissez la stratégie par défaut de la chaîne d'entrée du filtre sur supprimer et définissez tout le reste sur accepter.
Faites confiance à cette machine et la carte réseau de bouclage lo doit être définie sur digne de confiance.
Paquets de données de réponse, les paquets de données que l'hôte demande activement de l'extérieur et répondent peuvent entrer dans la machine locale (établir/lié)
Rejeter les paquets de données invalides, les paquets de données invalides sont rejetés (INVALIDE)
Liste blanche, faire confiance à certaines IP ou adresses réseau, etc.
Liste noire, adresse IP ou réseau non fiable, etc.
Autoriser les paquets icmp, libérer les paquets icmp
Ouvrir certains ports, certains ports de service doit être ouvert sur le monde extérieur, comme 80, 443, 22 et autres ports
Nous allons créer 3 fichiers script shell : iptables.rule, iptables.allow (liste blanche) , fichier iptables .deny (liste noire). Pour ces trois fichiers, je crée généralement d'abord un répertoire /etc/iptables, et ces trois fichiers existent dans ce répertoire.
Ensuite, regardons le contenu du script de ce iptables.rule :
#!/bin/bash # iptables rule # 清楚默认规则 iptables -F iptables -X iptables -Z # 修改默认策略 iptables -P INPUT DROP iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT # 信任本机 iptables -A INPUT -i lo -j ACCEPT # 响应数据包 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # 拒绝无效数据包 iptables -A INPUT -m state --state INVALID -j DROP # 白名单 if [ -f "/etc/iptables/iptables.allow" ];then sh /etc/iptables/iptables.allow fi # 黑名单 if [ -f "/etc/iptables/iptables.deny" ];then sh /etc/iptables/iptables.deny fi # 允许icmp包 iptables -A INPUT -p icmp -j ACCEPT # 开放部分端口 iptables -A INPUT -p tcp --dport 22 -j ACCEPT # ssh服务 iptables -A INPUT -p tcp --dport 80 -j ACCEPT # www服务 iptables -A INPUT -p tcp --dport 443 -j ACCEPT # ssl # 保存规则 /usr/libexec/iptables/iptables.init save
Pour iptables.allow, nous écrivons généralement l'adresse IP ou l'adresse réseau de confiance dans ce fichier, par exemple l'emplacement de l'hôte. se trouve Le LAN est 192.168.1.0/24. Si vous souhaitez faire confiance aux hôtes de ce LAN, vous pouvez écrire
iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
dans le fichier iptables.deny est utilisé pour bloquer le trafic de certaines IP malveillantes. en entrant ce fichier. Par exemple, pour bloquer l'adresse IP 8.210.247.5, vous pouvez écrire
iptables -A INPUT -s 8.210.247.5/32 -j DROP
dans le fichier. À la fin de iptables.rule, nous utilisons la commande pour enregistrer les règles du pare-feu. si vous n'ajoutez pas cette commande, les règles ne prendront effet qu'à zéro. Au redémarrage d'iptables ou du redémarrage du système, les règles que nous avons définies auparavant deviendront invalides.
Recommandations associées : "cours Linux"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!