Plan de reprise d'activité du Pare-feu🔗
Posted by Médéric Ribreux 🗓 In kb/ drp/ debianplug/
Introduction
Le pare-feu Netfilter permet de restreindre les entrées/sorties réseau suivant un ensemble de règles. Ces règles sont gérées par l'utilitaire iptables
. Ce service est critique car il est un composant essentiel de sécurité. Pour l'instant, les règles iptables ne concernent qu'IPv6.
Information | Caractéristiques |
---|---|
Site web origine | [http://www.netfilter.org/] |
Version installée | 1.4.14 |
Code | C |
Paquet | iptables |
Pré-requis
- Pour la réinstallation d'iptables, il est nécessaire d'avoir réinstallé le système.
- Iptables est destiné à être installé sur une distribution Debian Wheezy de base.
Installation du logiciel
Normalement, iptables est installé par défaut lors de l'installation du système. Au cas où, voici la commande à lancer:
# aptitude install iptables
Répertoires concernés
- L’exécutable d'iptables est stocké dans
/sbin/iptables
. - Les fichiers de configuration du pare-feu utilisent
iptables
pour fonctionner. - Les fichiers de configuration du pare-feu sont des fichiers de configuration de pare-feu qu'on peut activer en lançant
iptables-restore
. Ils sont stockés dans/etc/firewall
. - Il s'agit de
/etc/firewall/iptables.up.rules.ipv4
et de/etc/firewall/iptables.up.rules.ipv6
. - Pour être activés au démarrage, une option est inscrite dans
/etc/network/if-pre-up.d/iptables
.
Restaurations
Les éléments à restaurer sont les scripts shell ainsi que les options réseau. Se référer à la procédure de restauration générique pour y parvenir.
# restore netfilter /etc/firewall/ # chown -R root:root /etc/firewall/
Contenu du script iptables.up.rules.ipv4
Normalement, la restauration permet de récupérer ce fichier. En cas de problème avec la sauvegarde, on pourra utiliser le fichier suivant pour configurer le service:
# Fichier de configuration de pare-feu IPv4 *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT DROP [0:0] :LOG_DROP - [0:0] -A INPUT -i lo -j ACCEPT -A INPUT -s 192.168.0.0/24 -i eth0 -p tcp -m tcp --dport 22 -m state --state NEW -j ACCEPT -A INPUT -i eth0 -p icmp -j ACCEPT -A INPUT -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT -A INPUT -i eth0 -p tcp -m tcp --dport 443 -j ACCEPT -A INPUT -i eth0 -p tcp -m tcp --dport 25 -j ACCEPT -A INPUT -s 192.168.0.0/24 -i eth0 -p tcp -m tcp --dport 143 -j ACCEPT -A INPUT -s 192.168.0.0/24 -i eth0 -p tcp -m tcp --dport 53 -j ACCEPT -A INPUT -s 192.168.0.0/24 -i eth0 -p udp -m udp --dport 53 -j ACCEPT -A INPUT -i eth0 -p udp -m udp --dport 67 -j ACCEPT -A INPUT -i eth0 -p udp -m udp --dport 68 -j ACCEPT -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -j LOG_DROP -A FORWARD -j LOG_DROP -A OUTPUT -o lo -j ACCEPT # enable wakeonlan -A OUTPUT -o eth0 -p udp -m udp --dport 9 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --dport 80 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --dport 443 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --dport 22 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --dport 25 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --dport 113 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --dport 465 -j ACCEPT -A OUTPUT -o eth0 -p udp -m udp --dport 43 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --dport 43 -j ACCEPT -A OUTPUT -o eth0 -p udp -m udp --dport 53 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --dport 53 -j ACCEPT -A OUTPUT -o eth0 -p udp -m udp --dport 67 -j ACCEPT -A OUTPUT -o eth0 -p udp -m udp --dport 68 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --dport 995 -j ACCEPT -A OUTPUT -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT -A OUTPUT -o eth0 -p icmp -j ACCEPT -A OUTPUT -o eth0 -p udp -m udp --dport 123 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --dport 123 -j ACCEPT -A OUTPUT -j LOG_DROP -A LOG_DROP -j LOG --log-prefix "[ipv4 netfilter DROP]:" --log-level 1 -A LOG_DROP -j DROP COMMIT
Contenu du script iptables.up.rules.ipv6
Normalement, la restauration permet de récupérer ce fichier. En cas de problème avec la sauvegarde, on pourra utiliser le fichier suivant pour configurer le service:
# Fichier de configuration IPv6 *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT DROP [0:0] :LOG_DROP - [0:0] -A INPUT -i lo -j ACCEPT -A INPUT -s fe80::/10 -j ACCEPT -A INPUT -s 2a01:e35:8a57:24e0::/64 -i eth0 -p tcp -m tcp --dport 22 -m state --state NEW -j ACCEPT -A INPUT -i eth0 -p ipv6-icmp -j ACCEPT -A INPUT -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT -A INPUT -i eth0 -p tcp -m tcp --dport 443 -j ACCEPT -A INPUT -i eth0 -p tcp -m tcp --dport 25 -j ACCEPT -A INPUT -s 2a01:e35:8a57:24e0::/64 -i eth0 -p tcp -m tcp --dport 143 -j ACCEPT -A INPUT -s 2a01:e35:8a57:24e0::/64 -i eth0 -p tcp -m tcp --dport 53 -j ACCEPT -A INPUT -s 2a01:e35:8a57:24e0::/64 -i eth0 -p udp -m udp --dport 53 -j ACCEPT -A INPUT -s 2a01:e35:8a57:24e0::/64 -i eth0 -p udp -m udp --dport 67 -j ACCEPT -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -j LOG_DROP -A FORWARD -j LOG_DROP -A OUTPUT -o lo -j ACCEPT -A OUTPUT -s fe80::/10 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --dport 80 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --dport 443 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --dport 22 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --dport 25 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --dport 113 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --dport 465 -j ACCEPT -A OUTPUT -o eth0 -p udp -m udp --dport 43 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --dport 43 -j ACCEPT -A OUTPUT -o eth0 -p udp -m udp --dport 53 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --dport 53 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --dport 995 -j ACCEPT -A OUTPUT -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT -A OUTPUT -o eth0 -p ipv6-icmp -j ACCEPT -A OUTPUT -o eth0 -p udp -m udp --dport 123 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --dport 123 -j ACCEPT -A OUTPUT -j LOG_DROP -A LOG_DROP -j LOG --log-prefix "[ipv6 netfilter DROP]:" --log-level 1 -A LOG_DROP -j DROP COMMIT
Configuration réseau
Pour prendre en compte le contenu des fichiers situés dans /etc/firewall/
, il suffit de créer un fichier exécutable dans /etc/network/if-pre-up.d
. Sur cette machine, il est nommé iptables
:
#!/bin/sh /sbin/iptables-restore < /etc/firewall/iptables.up.rules.ipv4 /sbin/ip6tables-restore < /etc/firewall/iptables.up.rules.ipv6 exit 0