P. 1
Firewall

Firewall

|Views: 413|Likes:
Published by tarekhachicha
good
good

More info:

Published by: tarekhachicha on Dec 11, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

12/02/2010

pdf

text

original

Administration Réseaux

- Parfeux-

Pourquoi un pare-feu? pare• Définition: Programme, ou un matériel, chargé de protéger du monde extérieur en contrôlant tout ce qui se passe, et surtout tout ce qui ne doit pas circuler entre internet et le réseau local privé privé.

Université de Paris 5 Master 1 - Informatique

© Ahmed Mehaoua - 2

Analogie avec une ville fortifiée

• •

Ville – Population et biens à protéger de l’attaque de bandes de brigands Protection – Enceinte (cloison) avec un nombre limité des points de passage dont on contrôle l’accès

Université de Paris 5 Master 1 - Informatique

© Ahmed Mehaoua - 3

Pourquoi un pare-feu? pare• • Définition: Programme, ou un matériel, chargé de protéger du monde extérieur en contrôlant tout ce qui se passe, et surtout tout ce qui ne doit pas circuler entre internet et le réseau local privé privé. Pourquoi un pare-feu:
– Contrôle: gérer les connexions sortantes à partir du réseau local – Sécurité: protéger les réseaux internes des intrusions venant de l’extérieur – Vigilance: surveiller et tracer le trafic entre le réseau local et internet

Rôle principale: séparation et protection du réseau privé et INTERNET
– Limiter les accès: filtrage, masquage et le relais – Empêcher les attaques, tout en laissant passer le trafic utile – Permet de bloquer les backdoors, les spyware et certains vers

Université de Paris 5 Master 1 - Informatique

© Ahmed Mehaoua - 4

Relations intérieur <-> extérieur <Besoin de contrôler l’accès Empêcher que n importe quel utilisateur puisse accéder à n’importe n’importe quelle donnée

Politique d’autorisation

4 Stratégies: 1. 1 Tout autoriser 2. Tout interdire 3. Tout autoriser et interdire ce qui est dangereux • Déconseillé 4. Tout couper et autoriser ce qui est utile • L b La bonne solution l ti Université de Paris 5 © Ahmed Mehaoua - 5 Master 1 - Informatique • Ce qui n’est pas explicitement permis est interdit

Filtrage par le pare-feu pare• Tous les trafics (entrants et sortants) doivent passer par le pare-feu
– – Analyse chaque paquet (@IP, ports, protocoles, etc.) Résultat de l analyse: Accepter ou rejeter selon certaines conditions l’analyse:

• • • • • •

Seul le trafic autorisé par les politiques de sécurité pourra traverser le parefeu Masquage d adresses: substitution d IP src par soit sa propre IP soit M des d b tit ti des it IP, it une @IP d’un ensemble d’@IP libre Le Firewall est un des outils de réalisation de la politique de sécurité Il ne suffit pas à bien protéger le réseau tout seul
– Aucune efficacité pour les délits perpétrés à l’intérieur de l’entreprise

Un Firewall n’est pas un antivirus (il faut le protéger contre les infections virales) Il est sujet à des menaces (intrusion, modification des configs et des traces de journalisation) j )
– – – Il doit être accompagné d’outils, de mesures et de procédures de sécurité Connaissance des technologies de réseau et leur faiblesses Connaissance des menaces: apprendre, analyser, prévenir et corriger les vulnérabilités
© Ahmed Mehaoua - 6

Université de Paris 5 Master 1 - Informatique

Filtrage par paquet
• • • Le filtrage est constitué d’une liste de règles
– basées sur les entêtes des paquets

S’il y a une correspondance, l règle est appliquée ( d la è l t li é (accepter/rejeter) t / j t ) Sinon, la politique par défaut est appliquée:
– – Rejet: ce que l’on ne permet pas expressément est interdit Transmission: on permet ce qui n’est pas expressément i T i i i ’ é interdit. di Action transmission rejet transmission By default: rejet Src 192.168.0.0/24 * * * Port * * * * Dest 10.10.10.148 10.10.10.148 10.10.10.148 * port 25 23, 21 22 *

• • •

Le filtrage est constitué d’une li t d règles L filt t tit é d’ liste de è l
– basées sur les entêtes des paquets

S’il y a une correspondance, la règle est appliquée (accepter/rejeter) Sinon, la politique par défaut est appliquée:
– – Rejet: ce que l’on ne permet pas expressément est interdit Transmission: on permet ce qui n’est pas expressément interdit.
© Ahmed Mehaoua - 7

Université de Paris 5 Master 1 - Informatique

DMZ
• • Définition DMZ: une zone démilitarisée (DMZ) est un sous-réseau se trouvant entre le réseau local et le réseau extérieur Propriétés:
– Les connexions à la DMZ sont autorisées de n’importe où. – Les connexions à partir de la DMZ ne sont autorisées que vers l’exterieur.

• Intérêts:
– Rendre des machines accessible à partir de l’extérieur – Serveur Web, EMAIL, DNS, etc.

Université de Paris 5 Master 1 - Informatique

© Ahmed Mehaoua - 8

Historique sous Linux
• 3 générations du parefeu: 1. Ipfw (IP Firewall) : filtrage basique, peu flexible et inefficace pour les configurations complexes (jusqu’à la version 2.1.102 du noyau) 2. IP chains: amélioration d’ipfw tjrs en utilisation (2.2.0 < version < 2.4) 3. 3 Netfilter (commande iptables): améliorations de filtrage et de translation d’adresses par rapport à ipchains (à partir des noyaux 2.4)
– Iptables: c’est un parefeux qui permet de contrôler les paquets avec le système Linux. – Rejeter les paquets non autorisés par les règles – Router les paquets d’un réseau envers un autre – Gestion du NAT/PAT, modification des entêtes – Traçage (audit/log) – Filtrage par @IP source ou destination, port source ou destination – Filtrage par protocole (TCP, UDP) (TCP – Filtrage basé sur les couches réseau et transport (L3 & L4) – Filtrage basé sur les @ MAC (possible dans le noyau 2.6)
Université de Paris 5 Master 1 - Informatique
© Ahmed Mehaoua - 9

Fonctionnalités
Trois Fonctionnalités: 1. 1 Filtrage de paquets: tableau FILTER 2. NAT (Network Address Translation): tableau NAT 3. 3 Marquage de paquets: tableau MANGLE • Architectures: 3 tables de chaînes (FILTER, NAT et MANGLE)
FILTER (filtrage des paquets) INPUT Paquets entrant sur le routeur OUTPUT Paquets é i par le P t émis l routeur FORWARD Paquets traversant le routeur NAT (translation d’adresses) PREROUTING NAT de destination POSTROUTING OUTPUT NAT d source de NAT sur les paquets émis localement

• •

La table MANGLE sert au marquage des paquets (TOS, TTL, etc.) La table NAT sert au changement des @IP/Ports
Université de Paris 5 Master 1 - Informatique
© Ahmed Mehaoua - 10

Principe de fonctionnement

– Chaîne: une liste des règles s’appliquant aux paquets g pp q p q – Filtrage basé sur 3 chaînes: INPUT, OUTPUT, FORWARD – INPUT: s’applique aux paquets reçus et destinés au système local – OUTPUT: s’applique aux paquets transmis par le système local pp q p q p y – FORWARD: s’applique aux paquets routés d’une interface réseau envers une autre par le système local.
Université de Paris 5 Master 1 - Informatique

© Ahmed Mehaoua - 11

Principe de fonctionnement

A l’arrivée d’un paquet (après décision de routage):
– Si le paquet est destiné au système alors il traverse la chaîne INPUT – S’il n’est rejeté alors il est transmis au processus (application) – Sinon (c.à.d si le paquet est destiné à un autre réseau) il traverse la chaîne FORWARD – S’il n’est pas rejeté alors il poursuit sa route

Tous les paquets transmis par le système local traversent la chaîne OUTPUT
Université de Paris 5 Master 1 - Informatique
© Ahmed Mehaoua - 12

Filtrage
• • • • Filtrage des paquets IP, ICMP, TCP, UDP p g pour le rejet ou l’acceptation des p q j p paquets Spécification des règles p Utilisation de la table FILTER et des chaînes INPUT, OUTPUT, FORWARD Traitement séquentielle des règles séq entielle
– First FIT: dès qu’il rencontre une règle qui satisfait les conditions, il l’applique.

• Exemples: p
– Accepter tous les paquets TCP provenant de 192.168.100.0/24 Iptables –A input –s 192.168.100.0/24 –p tcp –j ACCEPT – Permit SSH & deny TELNET Iptables –A INPUT –p tcp --dport 22 –j ACCEPT Iptables –A INPUT –p tcp --dport telnet –j DROP – Supprimer une règle (D: Delete) Iptables –D INPUT 2 ou Iptables –D INPUT -p tcp --dport telnet –j DROP
Université de Paris 5 Master 1 - Informatique
© Ahmed Mehaoua - 13

Filtrage: Exemples (1) ( )
– – – – – – – – – Effacer de toutes les règles: Iptables –F Listage des régles: iptables –L –t FILTER, iptables –L –t MANGLE, iptables –L –t nat Blocage basé sur l’interface: iptables –A INPUT –i eth0 –s 10.10.10.0/24 –j DROP Filtrage basé sur le protocole: iptables –A INPUT –p udp –dport 514 –j ACCEPT Effacer toutes les règles d’une chaîne: iptables –Z –t NAT (Z: zero) d une Z t Création d’une nouvelle chaîne: iptables –N nom (ex: iptables –N INTRANET) Renommer une chaîne: iptables –E ancien nouveau Redirection vers la nouvelle chaîne: iptables –A INPUT –s 10.10.10.0/24 –j INTRANET ICMP: iptables –A OUTPUT–p icmp --icmp-type echo-reply –j DROP • I t bl –p i Iptables icmp –help : pour plus d dét il sur i h l l de détails icmp – – – – Plusieurs ports: iptables –A INPUT –p tcp –m multiport --dport 23,80 –j DROP @ MAC: iptables –A INPUT –p tcp –m mac --mac-source 00:bb:aa:cc:ed:08 –j DROP p p p j @ MAC: iptables –A INPUT –p tcp –m mac --mac-destination 00:bb:aa:cc:ed:08 –j DROP Port redirection: iptables –t nat –A PREROUTING –p tcp –dport 2323 –j REDIRECT –to-ports 23
© Ahmed Mehaoua - 14

Université de Paris 5 Master 1 - Informatique

Filtrage: Exemples (2) ( )
• • Changement de la politique par défaut: iptables –P FORWARD DROP Limitations du trafic: accepter un paquet ICMP (echo-request ou ping) par seconde
Iptables –A INPUT –p icmp –icmp-type echo-request –m limit --limit 1/s –i eth0 –j ACCEPT

Pour éviter l’attaque « SYN flooding », accepter 5 segments TCP ayant le bit SYN positionné par seconde
iptables –A INPUT –p tcp –syn –m limit --limit 5/s –j ACCEPT

Routage des paquets entrant sur eth0:
iptables –A FORWARD –i eth0 –d 192.168.0.250 –p tcp -o eth1 –m multiport --dport 80,443 –j ACCEPT

• •

On parle de système Linux, et non pas d’un routeur ? Pour activer le routage sous le système Linux:
1. 2. 3. echo1 > /proc/sys/net/ipv4/ip_forward route add –net 10.0.0.0/24 netmask 255.255.255.0 gw 192.168.1.20 && route –nr nano /etc/sysctl.conf et modifier la valeur du net.ipv4.ip_forward de 0 à 1 y p p_
© Ahmed Mehaoua - 15

Université de Paris 5 Master 1 - Informatique

DoS, DDoS: SYN Flooding
• SYN FLOOD: inondation SYN • Un attaquant harcèle le serveur avec TCP SYN (demande d’ouverture d’une connexion) • Mais il ne répond pas au message final • TCP instaure une connexion semi-ouverte pour q q p quelques minutes ( (~75s) ) • Les messages SYN peuvent engorger le module TCP

SYN SYN+ACK ACK

N CK SY +A N K SY AC A
N SY ACK N+ SY K AC

victime i ti 182.108.0.7
SY S N YN AC + A K CK

DoS
Université de Paris 5 Master 1 - Informatique

DDoS

© Ahmed Mehaoua - 16

Protection contre SYN Flooding
• • SIMPLE: • Limitation de nb de SYN envers un serveur Avancé • Le Pare-Feu temporise les paquets SYN et génère lui-même un SYN-ACK • C’est seulement s’il reçoit un ACK qu il envoie au serveur le SYN original C est s il qu’il

Université de Paris 5 Master 1 - Informatique

© Ahmed Mehaoua - 17

Information sur les vulnérabilités
• Vulnérabilités associées aux protocoles
• Usurpation d’adresse pour déjouer le contrôle d’accès
• • • @ MAC, @IP (IP spoofing), N° d port MAC fi ) de t IP Address Spoofing : on change la source IP d’un paquet • L’attaquant ne voit pas les réponses Solution: ne pas acheminer hors d’un réseau de paquets avec une @ source n’appartenant d un n appartenant pas à ce réseau

Université de Paris 5 Master 1 - Informatique

© Ahmed Mehaoua - 18

Information sur les vulnérabilités
• Vulnérabilités liées à ICMP
• • • 32 types de messages ICMP. Qui les connaît tous ? Echo request (ping) – echo reply (pong), etc. Très utilisé pour des attaques par déni de service • 8 ping simultanés de taille 1000octets saturent une linge à 64 kb/s • Attaque SMURF: envoi de messages ping vers une adresse de diffusion et renvoi des réponses vers une victime (yahoo en 2000) • Pilotage d’attaque DDoS (Distributed Denial of Service) dépuis l’extérieur d’un site avec des messages (echo/reply)

ICMP request @IP dst: 193.108.117.255 @IP src:141.115.64.20

Université de Paris 5 Master 1 - Informatique

IC M P

R

ep ly

Source 192.168.0.7

© Victime Ahmed Mehaoua - 19 141.115.64.20

Linux comme routeur
1. 2. – – echo 1 > /proc/sys/net/ipv4/ip_forward Supposons que le réseau privé est connecté à l’interface eth1, et le réseau publique à eth0 /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE (NAT pour l’usage de l’adresse publique) t A o j l usage l adresse /sbin/iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT (laisser l’extérieur répondre à nos requêtes) – /sbin/iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT A i o j

Université de Paris 5 Master 1 - Informatique

© Ahmed Mehaoua - 20

NAT
• • • Network Address Translation (RFC 3022) Les @IP publiques disponible sont rare Partage d’une seule @ IP entre plusieurs machines d P t d’ l t l i hi dans un LAN • Ex: réseau domestique avec N ordinateurs et une seule adresse • Pour 100 postes, une seule adresse publique NAT est une solution à court terme au problème du manque d’adresses

Université de Paris 5 Master 1 - Informatique

© Ahmed Mehaoua - 21

NAT
• • • À l’intérieur du LAN, chaque machine a une adresse IP À l’extérieur, une adresse IP publique est utilisée LAN <== B îti NAT ==> Boîtier INTERNET – Boîtier NAT: conversion des adresses dans les paquets entrant/sortant de l’internet – Sens LAN ==> INTERNET: correspondance non ambiguë – Sens INTERNET ==> INTRANET: unicité ? – Paquet contenant l’@ IP source l@ – Pour enlever l’ambiguité: changement du numéro de port src du protocole de transport (changement des: @IP + N° de port)

Université de Paris 5 Master 1 - Informatique

© Ahmed Mehaoua - 22

NAT

Université de Paris 5 Master 1 - Informatique

© Ahmed Mehaoua - 23

Fonctionnalités NAT

Modification de la destination du paquet avant le routage (reçu de l’extérieur)
iptables –t nat –A PREROUTING –d 82.140.102.18 –j DNAT –-to-destination 192.168.0.2 192 168 0 2

• Modification de la source du paquet après le routage (émis à partir du réseau privé)
iptables –t nat –A POSTROUTING –s 192.168.0.2 –j SNAT –-to-source 82.140.102.18

Université de Paris 5 Master 1 - Informatique

© Ahmed Mehaoua - 24

MASQUERADE

• • •

Masquerade: remplacement de l’@ IP source par l’@IP de l’interface du firewall. Association entres toutes les @IP privées 192.168.0.0/24 avec l’interface eth1
iptables –t nat –A POSTROUTING –o eth1 –s 192.168.0.0/24 –j MASQUERADE p j

Association entres toutes les @IP privées 192.168.1.0/24 avec l’interface eth2
iptables –t nat –A POSTROUTING –o eth2 –s 192.168.1.0/24 –j MASQUERADE

Université de Paris 5 Master 1 - Informatique

© Ahmed Mehaoua - 25

Transfert de ports

Transférer les connexions sur le port 80 de 80.15.82.16 (eth1) sur la machine privée 192.168.0.101 sur le port 8080:
iptables –t nat –A PREROUTING –p tcp –d 80.15.82.16 --dport 80 –j DNAT --to 192.168.0.101:8080

Université de Paris 5 Master 1 - Informatique

© Ahmed Mehaoua - 26

Suivi des connexions
• Suivi des connexions disponible (conntrack)
– Quatre états possibles pour une connexion :
1. NEW: nouvelle connexion établie 2. ESTABLISHED: la connexion analysée est déjà établie 3. RELATED: La connexion est en relation avec une connexion déjà établie 4. INVALID: le paquet reçu n’appartient à aucune des trois catégories précédents.

• Exemples:
– – Autoriser tous paquets émis concernant des connexions déjà établies Relayer tous paquets concernant des nouvelles connexions sur le port 22
iptables –A OUTPUT –m state --state ESTABLIDED, RELATED –j ACCEPT iptables –A FORWARD –p tcp --dport 22 –m state --state NEW –j ACCEPT
Université de Paris 5 Master 1 - Informatique

© Ahmed Mehaoua - 27

Journalisation et Diagnostic
• • • Traces iptables : possibilité de tracer certaines actions iptables Les logs p g permettent de retrouver les tentatives d’attaque q Exemple:
– – – iptables –A OUTPUT –j LOG ( j (nano /etc/syslog.conf) y g ) iptables –A INPUT –j LOG iptables –A FORWARD –j LOG

• Rajouter une régle pour traces les paquets rejetés
– Iptables –N LOG_DROP – I t bl –A LOG_DROP –j LOG –log-prefix `ssh access attempt Iptables A LOG DROP j l fi h tt t`
iptables –A LOG_DROP –p tcp –dport 22 –j DROP

Université de Paris 5 Master 1 - Informatique

© Ahmed Mehaoua - 28

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->