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 16/03/2019, 01:13] 51.75.71.123 [Script iptables] beaver |
iptables [Le 10/05/2019, 17:39] 199.249.230.69 modif précédente, suite |
||
---|---|---|---|
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 233: | Ligne 235: | ||
iptables-restore < /etc/iptables.test.rules | iptables-restore < /etc/iptables.test.rules | ||
- | ### Script iptables by BeAvEr. | + | ## Script iptables by BeAvEr. |
## Règles iptables. | ## Règles iptables. | ||
- | # Flush iptables. | + | ## On flush iptables. |
- | + | ||
iptables -F | iptables -F | ||
iptables -X | iptables -X | ||
Ligne 245: | Ligne 247: | ||
iptables -t mangle -F | iptables -t mangle -F | ||
iptables -t mangle -X | iptables -t mangle -X | ||
- | |||
- | # On drop tout le trafic entrant. | ||
- | |||
- | iptables -P INPUT DROP | ||
- | |||
- | # On drop tout le trafic sortant. | ||
- | |||
- | iptables -P OUTPUT DROP | ||
- | |||
- | # On drop le forward | ||
- | |||
- | iptables -P FORWARD DROP | ||
- | # On drop les requêtes ICMP (votre machine ne répondra plus aux requêtes ping sur votre réseau local) | + | ## 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 accepte le Multicast | + | ## On récupère notre adresse internet. À utiliser seulement si vous êtes derrière un réseau local. |
- | iptables -A INPUT -m pkttype --pkt-type multicast -j ACCEPT | + | export ip=$(/sbin/ip addr | grep 'state UP' -A2 | tail -n1 | awk '{print $2}' | cut -f1 -d'/') |
+ | |||
+ | ## Allow Samba. | ||
- | # Trafic Samba (Découverte du réseau...) | ||
- | |||
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 | ||
- | # On drop les scans XMAS et NULL. | + | ## Allow Avahi-daemon (seulement notre LAN. Si vous n'avez pas de LAN, supprimer la partie --source $ip/24). |
+ | |||
+ | iptables -A INPUT -p udp -m udp --source $ip/24 --dport 5353 -j ACCEPT | ||
+ | |||
+ | iptables -A INPUT -p udp -m udp --source $ip/24 --dport 427 -j ACCEPT | ||
+ | |||
+ | ## On accepte le Multicast. | ||
+ | |||
+ | iptables -A INPUT -m pkttype --pkt-type multicast -j ACCEPT | ||
+ | |||
+ | ## On drop tout le trafic entrant. | ||
+ | |||
+ | iptables -P INPUT DROP | ||
+ | |||
+ | ## On drop tout le trafic sortant. | ||
+ | |||
+ | iptables -P OUTPUT DROP | ||
+ | |||
+ | ## On drop le forward. | ||
+ | |||
+ | iptables -P FORWARD DROP | ||
+ | |||
+ | ## On drop les scans XMAS et NULL. | ||
iptables -A INPUT -p tcp --tcp-flags FIN,URG,PSH FIN,URG,PSH -j DROP | iptables -A INPUT -p tcp --tcp-flags FIN,URG,PSH FIN,URG,PSH -j DROP | ||
Ligne 281: | Ligne 293: | ||
iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP | iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP | ||
- | # Dropper silencieusement tous les paquets broadcastés. | + | ## Dropper silencieusement tous les paquets broadcastés. |
iptables -A INPUT -m pkttype --pkt-type broadcast -j DROP | iptables -A INPUT -m pkttype --pkt-type broadcast -j DROP | ||
| | ||
- | # 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 -j ACCEPT | ||
- | # Permettre à une connexion ouverte de recevoir du trafic en sortie. | + | ## Permettre à une connexion ouverte de recevoir du trafic en sortie. |
iptables -A OUTPUT -m conntrack ! --ctstate INVALID -j ACCEPT | iptables -A OUTPUT -m conntrack ! --ctstate INVALID -j ACCEPT | ||
- | # On accepte la boucle locale en entrée. | + | ## On accepte la boucle locale en entrée. |
iptables -I INPUT -i lo -j ACCEPT | iptables -I INPUT -i lo -j ACCEPT | ||
- | # On log les paquets en entrée. | + | ## On log les paquets en entrée. |
iptables -A INPUT -j LOG | iptables -A INPUT -j LOG | ||
- | # On log les paquets forward. | + | ## On log les paquets forward. |
iptables -A FORWARD -j LOG | iptables -A FORWARD -j LOG |