pare-feu. responsables : hugo etievant (côté routeur), benoît maynard (côté client) objectifs :...

Post on 03-Apr-2015

113 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related