Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
iptables [Le 02/04/2019, 18:04] 199.249.230.85 [Script iptables] màj beaver |
iptables [Le 14/05/2019, 19:57] 87.120.36.157 [Script iptables] beaver |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
{{tag>pare-feu sécurité réseau}} | {{tag>pare-feu sécurité réseau}} | ||
+ | {{ /iptables.jpg?340nolink| Iptables}} | ||
---- | ---- | ||
+ | |||
=====Iptables===== | =====Iptables===== | ||
+ | |||
Iptables est une interface en ligne de commande permettant de configurer Netfilter. En plus de Iptables, depuis la version 8.04, Ubuntu est installé avec la surcouche [[:ufw|UFW]] qui permet de contrôler simplement Netfilter, [[:ufw|UFW]] est toutefois moins complet que iptables. | Iptables est une interface en ligne de commande permettant de configurer Netfilter. En plus de Iptables, depuis la version 8.04, Ubuntu est installé avec la surcouche [[:ufw|UFW]] qui permet de contrôler simplement Netfilter, [[:ufw|UFW]] est toutefois moins complet que iptables. | ||
Ligne 74: | Ligne 76: | ||
Chain INPUT (policy ACCEPT) | Chain INPUT (policy ACCEPT) | ||
target prot opt source destination | target prot opt source destination | ||
- | ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED | + | ACCEPT all -- anywhere anywhere ctstate ESTABLISHED |
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh | ACCEPT tcp -- anywhere anywhere tcp dpt:ssh | ||
</code> | </code> | ||
Ligne 88: | Ligne 90: | ||
Chain INPUT (policy ACCEPT) | Chain INPUT (policy ACCEPT) | ||
target prot opt source destination | target prot opt source destination | ||
- | ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED | + | ACCEPT all -- anywhere anywhere ctstate ESTABLISHED |
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh | ACCEPT tcp -- anywhere anywhere tcp dpt:ssh | ||
ACCEPT tcp -- anywhere anywhere tcp dpt:www | ACCEPT tcp -- anywhere anywhere tcp dpt:www | ||
Ligne 105: | Ligne 107: | ||
Chain INPUT (policy DROP) | Chain INPUT (policy DROP) | ||
target prot opt source destination | target prot opt source destination | ||
- | ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED | + | ACCEPT all -- anywhere anywhere ctstate ESTABLISHED |
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh | ACCEPT tcp -- anywhere anywhere tcp dpt:ssh | ||
ACCEPT tcp -- anywhere anywhere tcp dpt:www | ACCEPT tcp -- anywhere anywhere tcp dpt:www | ||
Ligne 230: | Ligne 232: | ||
#!/bin/bash | #!/bin/bash | ||
+ | |||
+ | iptables-restore < /etc/iptables.test.rules | ||
## Script iptables by BeAvEr. | ## Script iptables by BeAvEr. | ||
## Règles iptables. | ## Règles iptables. | ||
- | |||
- | iptables-restore < /etc/iptables.test.rules | ||
## On flush iptables. | ## On flush iptables. | ||
Ligne 246: | Ligne 248: | ||
iptables -t mangle -X | iptables -t mangle -X | ||
- | ## Spoof protection. | + | ## On drop les requêtes ICMP (votre machine ne répondra plus aux requêtes ping sur votre réseau local). |
- | # DROP RFC1918 PACKETS. | + | |
- | + | ||
- | iptables -t filter -A INPUT -s 10.0.0.0/8 -j DROP | + | |
- | iptables -t filter -A INPUT -s 172.16.0.0/12 -j DROP | + | |
- | iptables -t filter -A INPUT -s 192.168.0.0/16 -j DROP | + | |
- | + | ||
- | # DROP SPOOFED PACKETS. | + | |
- | iptables -t filter -A INPUT -s 169.254.0.0/16 -j DROP | + | |
- | iptables -t filter -A INPUT -s 127.0.0.0/8 -j DROP | + | |
- | iptables -t filter -A INPUT -s 224.0.0.0/4 -j DROP | + | |
- | iptables -t filter -A INPUT -d 224.0.0.0/4 -j DROP | + | |
- | iptables -t filter -A INPUT -s 240.0.0.0/5 -j DROP | + | |
- | iptables -t filter -A INPUT -d 240.0.0.0/5 -j DROP | + | |
- | iptables -t filter -A INPUT -s 0.0.0.0/8 -j DROP | + | |
- | iptables -t filter -A INPUT -d 0.0.0.0/8 -j DROP | + | |
- | iptables -t filter -A INPUT -d 239.255.255.0/24 -j DROP | + | |
- | iptables -t filter -A INPUT -d 255.255.255.255 -j DROP | + | |
- | + | ||
- | + | ||
- | ## On drop les requêtes ICMP (votre machine ne répondra plus aux requêtes ping sur votre réseau local) | + | |
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP | iptables -A INPUT -p icmp --icmp-type echo-request -j DROP | ||
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j DROP | iptables -A OUTPUT -p icmp --icmp-type echo-reply -j DROP | ||
- | ## On récupère notre adresse internet. | + | ## On récupère notre adresse internet. À utiliser seulement si vous êtes derrière un réseau local. |
export ip=$(/sbin/ip addr | grep 'state UP' -A2 | tail -n1 | awk '{print $2}' | cut -f1 -d'/') | export ip=$(/sbin/ip addr | grep 'state UP' -A2 | tail -n1 | awk '{print $2}' | cut -f1 -d'/') | ||
Ligne 279: | Ligne 261: | ||
iptables -t raw -A OUTPUT -p udp -m udp --dport 137 -j CT --helper netbios-ns | iptables -t raw -A OUTPUT -p udp -m udp --dport 137 -j CT --helper netbios-ns | ||
+ | ## Allow Avahi-daemon (seulement notre LAN. Si vous n'avez pas de LAN, supprimer la partie --source $ip/24). | ||
- | ## Allow Avahi-daemon. | + | iptables -A INPUT -p udp -m udp --source $ip/24 --dport 5353 -j ACCEPT |
- | + | ||
- | iptables -A INPUT -p udp -m udp --source $ip --dport 5353 -j ACCEPT | + | |
- | iptables -A INPUT -p udp -m udp --source $ip --dport 427 -j ACCEPT | + | iptables -A INPUT -p udp -m udp --source $ip/24 --dport 427 -j ACCEPT |
## On accepte le Multicast. | ## On accepte le Multicast. | ||
Ligne 318: | Ligne 299: | ||
## Permettre à une connexion ouverte de recevoir du trafic en entrée. | ## Permettre à une connexion ouverte de recevoir du trafic en entrée. | ||
- | iptables -A INPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT | + | iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT |
## Permettre à une connexion ouverte de recevoir du trafic en sortie. | ## Permettre à une connexion ouverte de recevoir du trafic en sortie. |