Éléments de Sécurité sous Linux - NicoXnoise

Transcription

Éléments de Sécurité sous Linux - NicoXnoise
Éléments de Sécurité sous Linux
●
Objectif:
–
●
Pare-feu sous GNU/Linux
Contenu:
–
–
Principes de base
●
fonctionnement de Netfilter
●
architecture: DMZ
configuration
●
par iptables
●
par Shorewall
Thierry­R Salomon – GNU Free Documentation Licence Principe du pare-feu
●
un pare-feu sert à filtrer les paquets réseau, en entrée ET en sortie
●
les critères de filtrage sont divers, dont:
●
–
protocole (TCP, UDP, ICMP) et type de paquet dans le protocole
–
adresse IP source et/ou destination
–
port source et/ou destination
–
interface réseau entrante/sortante
–
état (nouveau, établit, relatif ou invalide): pare-feu « stateful »
–
différents éléments de qualité de service (QoS)
les traitements sont divers:
–
accepté, rejeté, abandonné, transmis en espace utilisateur
–
redirection, masquerade (NAT)
–
logué
Thierry­R Salomon – GNU Free Documentation Licence Mise-en-oeuvre sous GNU/Linux
●
●
●
●
le pare-feu sous GNU/Linux s'appelle Netfilter
Les 4 premières couches du modèle OSI jusqu'à la pile TCP/IP sont
implémentées dans le noyau Linux. Le filtrage des paquets est donc
réalisé par le noyau Linux. Les fonctionnalités associées sont à
compiler en statique ou en modules:
–
network paquet filter
–
packet socket
la commande iptables permet de définir les règles de filtrage une par
une que l'on peut ensuite enregistrer dans un fichier ou un script
le logiciel Shorewall fournit une configuration plus symbolique:
–
par interfaces, zones, politique et règles
–
répertoire de configuration /etc/shorewall
–
guide: http://www.shorewall.net/shorewall_quickstart_guide.htm
Thierry­R Salomon – GNU Free Documentation Licence Schéma d'architecture
●
les règles de filtrage sont organisées en 3 tables de chaînes:
–
filter: table par défaut, spécifie les critères de filtrage des paquets
–
nat: configure la translation d'adresse (masquerading, redirection de ports)
–
mangle: utilisée pour l'altération spécialisée des paquets
Thierry­R Salomon – GNU Free Documentation Licence exemple d'architecture
Thierry­R Salomon – GNU Free Documentation Licence exemple de configuration
●
chaque paquet est évalué par rapport à chaque règle dans l'ordre
–
iptables -t nat -A PREROUTING -i ppp0 -p tcp –dport 80
-j DNAT –to 192.168.0.1
–
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
–
il faut aussi activer le paquet forwarding dans le noyau en écrivant
net.ipv4.conf.default.forwarding=1 dans /etc/sysctl.conf
–
iptables -N firewall
–
iptables -A firewall –m state –-state ESTABLISHED,
RELATED, -j ACCEPT
–
iptables -A firewall –m state -–state NEW -i ! ppp0 -j
ACCEPT
–
iptables -A firewall -p tcp –dport 80 -j ACCEPT
–
iptables -A firewal -j DROP
–
iptables -A INPUT -j firewall
–
iptables -A FORWARD -j firewall
Thierry­R Salomon – GNU Free Documentation Licence configuration par Shorewall
●
Le fichier /etc/shorewall/zones définit les zones:
–
–
–
–
●
–
–
–
–
IN_OPTIONS
OUT_OPTIONS
#SOURCE
loc
$FW
net
all
DEST
net
net
all
all
POLICY
ACCEPT
ACCEPT
DROP
REJECT
LOG LEVEL
LIMIT:BURST
info
info
Le fichier /etc/shorewall/masq définit la translation d'adresse:
–
–
●
TYPE
OPTIONS
firewall
ipv4
ipv4
Le fichier /etc/shorewall/policy définit les politiques d'accès:
–
●
#ZONE
fw
net
loc
#INTERFACE
ppp0
SUBNET
eth0
ADDRESS
PROTO
PORT(S) IPSEC
Le fichier /etc/shorewall/rules définit les règles particulières:
–
–
–
#ACTION
DNAT
ACCEPT
SOURCE
net
loc
DEST
loc:192.168.0.1:80
$FW
PROTO
tcp
all
PORT(S)
www
domain
Thierry­R Salomon – GNU Free Documentation Licence DMZ
●
●
●
une DMZ est une zone accessible
de l'extérieur mais isolée du réseau
local par un routeur pare-feu
netfilter peut être utilisé pour
configurer une DMZ:
–
il redirige les requêtes externes
vers le sous-réseau de la DMZ
–
il bloque les accès direct de
l'extérieur vers le réseau local
–
il bloque les accès de la DMZ vers
le réseau local
la DMZ n'est pas une zone ultraprotégée mais au contraire une
zone ultra-vulnérable. On l'isole
pour y confiner les intrusions.
Thierry­R Salomon – GNU Free Documentation Licence