Pare-feu. Responsables : Hugo ETIEVANT (côté routeur), Benoît MAYNARD (côté client) Objectifs :...
-
Upload
johanne-lienard -
Category
Documents
-
view
113 -
download
1
Transcript of Pare-feu. Responsables : Hugo ETIEVANT (côté routeur), Benoît MAYNARD (côté client) Objectifs :...
Pare-feu
Pare-feuPare-feu
Responsables : Hugo ETIEVANT (côté routeur), Benoît MAYNARD (côté client)
Objectifs : sécuriser la passerelle et protéger le réseau privé
Outil : ipchains
Pare-feuOutil ipchains
Utilisation de l’outil standard de firewalling : ipchains.
Permet d’établir des règles de filtrage selon une hiérarchie de chaînes arborescentes.
Rapide, souple, efficace et très bien documenté.
Pare-feuFonctionnement (I)
Les règles de filtrage déterminent le devenir des paquets grâce à une police qui peut être : ACCEPT, REJECT, DENY, MASQ ou encore une redirection vers une chaîne.
Les règles sont groupées en chaînes qui peuvent être celles de base : input, forward, output ou d’autres définies par l’utilisateur.
Pare-feuFonctionnement (II)
Les paquets entrants dans le pare-feu arrivent automatiquement dans la chaîne input. Ceux qui sont émis par le pare-feu, passent dans la chaîne output. Et ceux qui sont retransmis passent par la chaîne forward.
Un paquet qui entre dans une chaîne teste toutes les règles de la chaîne jusqu’à en trouver une qui lui corresponde. Et il obéit à la police spécifiée par la règle trouvée.
Pare-feuFonctionnement (III)
Si aucune règle s’appliquant au paquet n’a été trouvée, alors c’est la police par défaut de la chaîne qui est utilisée pour savoir que faire de ce paquet.
Il est donc important, avant de créer les règles, de définir la police par défaut d’une chaîne.
Par sécurité, on applique REJECT en entrée (input) et en sortie (output) et DENY en redirection (forward).
Pare-feuLes polices
Les polices de base : ACCEPT : le paquet est accepté REJECT : le paquet est rejeté avec envoi
d’un message d’explication ICMP DENY : le paquet est rejeté en mode
silencieux MASQ : le paquet est redirigé par
masquerading (translation d’adresses IP NAT)
Pare-feuLes critères de sélection
Les règles reposent sur des critères de sélection très variés : Machine source Port source Machine destination Port destination Interface TOS Protocole Drapeaux spéciaux du paquet TCP Types et codes spéciaux du paquet ICMP
Pare-feuActions sur les paquets
Les règles peuvent définir différentes actions sur un paquet : Mise en fichier de log Application d’une police Redirection vers une autre chaîne Marquage du paquet
Pare-feuMode de construction des règles
Chaînes création N vidage F suppression X affectation d’une police P affichage L
Règles ajout en fin de liste A, insertion ordonnée I suppression D remplacement R changement d’ordre test C
Pare-feuPolitique de sécurité
IP masquerading Prohiber le Ping Palier à l’IP Spoofing Restreindre Telnet Gérer l’accès aux sites web Limiter les autres services Garder trace du trafic sensible
Pare-feuIP masquerading
Pour un réseau local invisible de l’extérieur. Tout en lui permettant l’accès à l’extérieur incognito.
echo 1 > /proc/sys/net/ipv4/ip_forward
ipchains –P forward DENY
ifconfig eth0 up 192.168.0.1 netmask 255.255.255.0
ifconfig eth1 up 134.214.90.20 netmask 255.255.252.0
ipchains –b –A forward –s 192.168.0.0/24 –j MASQ
Pare-feuAccès aux sites web
Autoriser seulement les connexions HTTP vers l’extérieur.
ipchains –A forward –p tcp ! –y –s 0.0.0.0/0 80 –d 192.168.0.0/24 –j MASQ
ipchains –A forward –p tcp –s 192.168.0.0/24 –d 0.0.0.0/0 80 –j MASQ
Pare-feuIP Spoofing
Combattre l’usurpation d’identité, limité à la plage d’adresses de notre réseau privé et à l’adresse de notre passerelle.
ipchains –N ipspoof
ipchains –F ipspoof
ipchains –A ipspoof –l –j DENY
ipchains –A input –i eth1 –s 192.168.0.0/24 –j ipspoof
ipchains –A input –i eth1 –s 134.214.90.20 –j ipspoof
Pare-feuRestrictions Telnet (I)
Pour des besoins de maintenance à distance, autorisation est faite à la machine 134.214.90.14 de se connecter à la passerelle sur le port Telnet (port 23 selon /etc/services).
L’accès des autres machines via Telnet est interdit.
Pare-feuRestrictions Telnet (II) – en entrée
ipchains –N telinipchains –F telinipchains –A telin
–s 134.214.90.14 –d 134.214.90.20 –j ACCEPT
ipchains –A telin –l -j REJECT
ipchains –A input –i eth1 –p tcp –s 0.0.0.0/0 23 –j telin
Pare-feuRestrictions Telnet (III) – en sortie
ipchains –N teloutipchains –F teloutipchains –A telout
–s 134.214.90.20 –d 134.214.90.14 –j ACCEPT
ipchains –A telout –l –p tcp ! –y -j REJECT
ipchains –A output –i eth1 –p tcp –s 0.0.0.0/0 23 –j telout
Pare-feuTrafic ICMP (I)
Internet Control Message Protocol (RFC 950) : mécanisme de contrôle des erreurs au niveau IP.
Utilisé par les outils ping et traceroute afin de préparer les attaques par découverte des réseaux. Ping : teste l’existence d’une machine
sur le réseau. Traceroute : suivi du trajet des paquets.
Pare-feuTrafic ICMP (II) – objectifs
Pour éviter tout scan futur, la parade pour rester invisible aux outils de découverte du réseau est : Devenir invisible aux requêtes echo-request
Malgré tout, on va participer à la gestion normale des erreurs Gérer normalement les autres
messages ICMP
Pare-feuPing – avant
ping 134.214.90.20 -c 1
64 bytes from 134.214.90.20: icmp_seq=0 ttl=240 time=17.3 ms
134.214.90.20 134.214.88.12
Pare-feuPing – après
ping 134.214.90.20 -c 1
100% packet loss
134.214.90.20 134.214.88.12
Mise en fichier de
log.
???
Pare-feuTrafic ICMP (III) – en entrée
ipchains -N icmpinipchains -F icmpinipchains -A icmpin
-l -p icmp --icmp-type echo-request -j DENY
ipchains -A input -i eth1 -p icmp -j icmpin
Pare-feuTrafic ICMP (IV) – en sortie
ipchains -N icmpoutipchains -F icmpoutipchains -A icmpout
-l -p icmp --icmp-type echo-reply -j DENY
ipchains -A output -i eth1 -p icmp -j icmpout
Pare-feuFichier de log
Conserver les traces du trafic sensible (option -l)
/etc/log/messages Exemple de trace :
Nov 8 10:25:53 b710pbv kernel: Packet log:
input REJECT eth1 PROTO=17
134.214.90.16:138 134.214.91.255:138
L=236S=0x00
I=51490 F=0x0000
T=128 (#7)
date et heuremachine, systèmechaîne, police, interfaceprotocolemachine et port sourcemachine et port destinationtaille du paquetTOSid du paquet IPgrapeau et id de fragmentdurée de vie (TTL)index de la règle utilisée