130
Science de la sécurité du système d’information
Deuxième partie
##! /bin/sh
##
## Ce script est à lancer juste avant la mise à disposition de l’ interface
## réseau . Le premier test ci - après n’a de sens que dans un environnement
## Linux Debian lorsque le script est placé dans le répertoire
## /etc/network /if -pre -up.d (ici il s’ agit d’ activer les règles pour eth0
## et de ne rien faire dans tous les autres cas ).
test "${IFACE }" = "eth0" || exit 0
## Charger les modules (si cela n’a pas déjà été fait au
## démarrage du système ).
modprobe iptables ip_conntrack ip_conntrack_ftp
## Effacer toutes les règles actuellement présentes sur la machine .
iptables -F; iptables -X
## La première règle vise à interdire tout le trafic dans les principales
## chaînes du module Netfilter . La chaîne INPUT prend en charge les
## paquets à destination de la machine , la chaîne OUTPUT traite les
## paquets émis par la machine et enfin la chaîne FORWARD n’est utilisée
## que si le système assure une fontion de routeur et dispose de plusieurs
## cartes réseau , ce qui n’est pas le cas de notre exemple . Les ordres
## ci - après ont donc pour effet de "fermer " le système : tout le trafic
## réseau est interdit .
iptables -P INPUT
DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
## Nous allons maintenant définir un certain nombre de chaînes de contrôle
## qui seront utilisées ultérieurement. Ceci contribue à la lisibilité de
## la politique de sécurité .
## listenoire : il s’agit des réseaux IP desquels aucun trafic provenant
## de l’ Internet n’est légitime . Cela comprend les adresses privées , mais
## aussi l’ adresse IP de la machine et de certains réseaux spécifiques.
iptables -N listenoire
iptables -A listenoire -s 127.0.0.0/8
-j DROP ## Loopback
iptables -A listenoire -s 10.0.0.0/8
-j DROP ## RFC -1918
iptables -A listenoire -s 172.16.0.0/12 -j DROP ## RFC -1918
iptables -A listenoire -s 192.168.0.0/16 -j DROP ## RFC -1918
iptables -A listenoire -s x.x.x.x
-j DROP ## Mon adresse IP
iptables -A listenoire -s x.x.x.x/yy
-j DROP ## Réseau indésirable
## serveurs : les règles à appliquer au trafic en entrée vers les
## quelques services accessibles de l’ extérieur (SMTP , HTTP , HTTPS
## & SSH depuis certains réseaux seulement ).
iptables -N serveurs
## Autoriser le courrier électronique (port 25, SMTP)
iptables -A serveurs -p TCP --dport smtp \
-m state --state NEW , ESTABLISHED -j ACCEPT
Science de la sécurité du système d’information
Deuxième partie
##! /bin/sh
##
## Ce script est à lancer juste avant la mise à disposition de l’ interface
## réseau . Le premier test ci - après n’a de sens que dans un environnement
## Linux Debian lorsque le script est placé dans le répertoire
## /etc/network /if -pre -up.d (ici il s’ agit d’ activer les règles pour eth0
## et de ne rien faire dans tous les autres cas ).
test "${IFACE }" = "eth0" || exit 0
## Charger les modules (si cela n’a pas déjà été fait au
## démarrage du système ).
modprobe iptables ip_conntrack ip_conntrack_ftp
## Effacer toutes les règles actuellement présentes sur la machine .
iptables -F; iptables -X
## La première règle vise à interdire tout le trafic dans les principales
## chaînes du module Netfilter . La chaîne INPUT prend en charge les
## paquets à destination de la machine , la chaîne OUTPUT traite les
## paquets émis par la machine et enfin la chaîne FORWARD n’est utilisée
## que si le système assure une fontion de routeur et dispose de plusieurs
## cartes réseau , ce qui n’est pas le cas de notre exemple . Les ordres
## ci - après ont donc pour effet de "fermer " le système : tout le trafic
## réseau est interdit .
iptables -P INPUT
DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
## Nous allons maintenant définir un certain nombre de chaînes de contrôle
## qui seront utilisées ultérieurement. Ceci contribue à la lisibilité de
## la politique de sécurité .
## listenoire : il s’agit des réseaux IP desquels aucun trafic provenant
## de l’ Internet n’est légitime . Cela comprend les adresses privées , mais
## aussi l’ adresse IP de la machine et de certains réseaux spécifiques.
iptables -N listenoire
iptables -A listenoire -s 127.0.0.0/8
-j DROP ## Loopback
iptables -A listenoire -s 10.0.0.0/8
-j DROP ## RFC -1918
iptables -A listenoire -s 172.16.0.0/12 -j DROP ## RFC -1918
iptables -A listenoire -s 192.168.0.0/16 -j DROP ## RFC -1918
iptables -A listenoire -s x.x.x.x
-j DROP ## Mon adresse IP
iptables -A listenoire -s x.x.x.x/yy
-j DROP ## Réseau indésirable
## serveurs : les règles à appliquer au trafic en entrée vers les
## quelques services accessibles de l’ extérieur (SMTP , HTTP , HTTPS
## & SSH depuis certains réseaux seulement ).
iptables -N serveurs
## Autoriser le courrier électronique (port 25, SMTP)
iptables -A serveurs -p TCP --dport smtp \
-m state --state NEW , ESTABLISHED -j ACCEPT
