Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parFernande Lesage Modifié depuis plus de 6 années
1
Progression Sécurité & réseaux TCP/IP - Cours1 : Révision réseaux
Firewalls 13/12/2002 Ciefa Poly-informatique 20/06/ Ciefa Poly-informatique
2
Ciefa Poly-informatique
Plan du cours Présentation générale Firewall avec IPChains Firewall avec IPTables (NetFilter) 13/12/2002 Ciefa Poly-informatique
3
Ciefa Poly-informatique
Partie 1 Présentation générale Firewall avec IPChains Firewall avec IPTables (NetFilter) 13/12/2002 Ciefa Poly-informatique
4
Ciefa Poly-informatique
Définition théorique Firewall Logiciel de contrôle d’accès au niveau du réseau Divers niveaux de filtrage Liaison (adresse MAC, …) Réseau (en têtes IP, IPX, … et type/code ICMP) Transport (ports TCP/UDP) Filtrage adaptatif (« statefull inspection ») ou dynamique Session (« circuit level gateway », SOCKS) Application (relais applicatifs – « application proxys ») Combinaison…. 13/12/2002 Ciefa Poly-informatique
5
Ciefa Poly-informatique
Définition pratique Mais pratiquement : Fonctionnalité principale : filtrage IP Fonctionnalité supplémentaire svt présente : traduction d’adresses et de ports Filtrage IP Idée : contrôler les paquets IP autorisés à atteindre un hôte Intérêt : sécuriser un hôte de façon globale (au niveau réseau) Traduction d’adresses et de ports Idée : réécrire les en-têtes des paquets Intérêt : faire face à la pénurie d’adresses routables sur l’Internet. 13/12/2002 Ciefa Poly-informatique
6
Avantages des firewalls
Gestion de la sécurité concentrée Configuration peu sensible à l’échelle du périmètre de sécurité Capacité d’audit du trafic réseau Traces supplémentaires pour certains incidents Concentrer la maintenance à quelques heures/jours sur une ou plusieurs machines plutôt qu’un parc 13/12/2002 Ciefa Poly-informatique
7
Inconvénients des firewalls
Goulet d’étranglement réseau Point névralgique de l’architecture de sécurité Complexe : Connaissance nécessaire des protocoles filtrés (TCP/IP, HTTP, … mais aussi FTP, SQL, …) Compréhension du fonctionnement du pare-feu (interface entre les divers niveaux de filtrage, traduction d’adresse…) 13/12/2002 Ciefa Poly-informatique
8
Ciefa Poly-informatique
Firewalls libres Netfilter Filtre de paquets du noyau Linux 2.4 Successeur d’IPChains (Linux 2.2) Développé par Paul Russell IP Filter Filtre de paquets fonctionnant sous Unix libres et propriétaires Intégré dans FreeBSD et NetBSD Conçu et développé par Darren Reed Packet Filter Filtre de paquets dans OpenBSD (à partir de la version 3.0) Conçu par Daniel Hartmeier 13/12/2002 Ciefa Poly-informatique
9
Ciefa Poly-informatique
Filtrage IP standard Critères Interface réseau : entrée ou sortie Adresses IP (source et destination) : hôte ou sous-réseau Champs de l’en-tête IP : Fragmentation TOS et TTL Options IP Protocoles de niveau 4 : TCP, UDP et ICMP Ports source et destination (TCP et UDP) Drapeaux (TCP) Types et codes (ICMP) Actions Laisser passer (ACCEPT) Bloquer (DENY ou DROP) Rejeter (REJECT) => message ICMP ou segment TCP avec drapeau RST 13/12/2002 Ciefa Poly-informatique
10
Filtrage à états (statefull)
Principe : Filtrage dynamique, en conservant des états pour les connexions en cours Seuls des paquets correspondants à un état pré-existant sont acceptés Intérêt : Simplifie l’écriture des règles de filtrage Améliore la sécurité, en n’autorisant que le trafic effectivement licite Protocoles : TCP Segments appartenant à une connexion TCP en cours UDP Datagrammes en réponse à un datagramme UDP émis Messages ICMP d’erreur ICMP Messages ICMP en réponse à un message ICMP émis 13/12/2002 Ciefa Poly-informatique
11
Filtrage à états : mise en oeuvre
Mise en œuvre : Création d’un état lors de la traversée du premier paquet Mémorisation de paramètres identifiant de façon unique une connexion Validation des paquets par comparaison des états courants Expiration des états après un temps paramétrable Paramètres conservés : Adresses source et destination Ports source et destination Type, code, identifiant et numéro de séquence (ICMP) TCP : S’assurer que des segments TCP font partie d’une connexion en cours est complexe Real Stateful TCP Packet Filtering in IPFilter => 13/12/2002 Ciefa Poly-informatique
12
Traduction d’adresses et de ports (NAT)
Uni-directionnelle Traduction en sortie d’adresses (typiquement) privées en adresse(s) publique(s) Possibilité de changer le port source Bi-directionnelle Traduction d’une adresse (typiquement) publique en une phrase (typiquement) privée et réciproquement Redirection de ports Redirection d’un port en entrée vers un autre, en modifiant l’adresse de destination ou non Mise en oeuvre : Fonctionnalités présentes dans Netfilter, IPFilter, Packet Filter Ne sont pas détaillées ici 13/12/2002 Ciefa Poly-informatique
13
Zone démilitarisée (DMZ)
Internet ppp0 – Firewall DMZ eth0 – eth1 – Apache DNS Lotus LAN – /16 13/12/2002 Ciefa Poly-informatique
14
Zone démilitarisée (DMZ) : règles
On ne peut pas initier de connexion depuis Internet vers le LAN directement. Le contraire est possible, souvent en camouflant les adresses du réseau interne (masquerade sous Linux, ou NAT, …) LAN : stratégie de sécurisation par réseau (sécurisation du point d’accès). Le firewall est alors un élément de cloisonnement. DMZ : stratégie de sécurisation par hôte : chaque serveur est configuré et sécurisé en fonction des services qu’il supporte. 13/12/2002 Ciefa Poly-informatique
15
Ciefa Poly-informatique
Partie 2 Présentation générale Firewall avec IPChains Firewall avec IPTables (NetFilter) 13/12/2002 Ciefa Poly-informatique
16
FireWall avec IP-Chains
Possibilités Principe de base Options Mise en service 13/12/2002 Ciefa Poly-informatique
17
IPChains : possibilités (1/2)
ipchains est l'un des systèmes de filtrage utilisable sur les noyaux 2.2 Il est dérivé de ipfw un système présent sur d'autres Unix Il est très puissant : Comptage de traffic Blocage de traffic non souhaité Masquage d'adresses (n : 1) Détournement vers un service local 13/12/2002 Ciefa Poly-informatique
18
IPChains : possibilités (2/2)
Chaque règle sélectionne les paquets sur les critères : Adresse IP source du paquet Adresse IP destination du paquet Type de protocole (TCP, UDP, ICMP) Port de protocle adressé (source, destination) Interface IP traversée Type de paquet (connexion, transfert) Chaque règle permet les actions suivantes : Autorisation du paquet Destruction du paquet Rejet du paquet avec message d'erreur Détournement du paquet sur un serveur local 13/12/2002 Ciefa Poly-informatique
19
IPChains : principe de base
ipchains s'organise par chaînes Une chaîne est un ensemble de règles, qui déterminent ce qui devrait arriver à un certain type de paquet réseau. Il existe 3 chaînes fixes : Input : pour les paquets arrivant Forward : pour les paquets redirigés vers un autre hôte Output : pour les paquets transmis par la filtre Les règles de chaque chaîne dépendent de leur ordre. Quand un paquet arrive, il est comparé aux règles de la chaîne pertinente, depuis la première jusqu’à la dernière. Ipchains CMD [chain] [rule-spec|num] [options] =>Ex : ipchains –A input –i eth0 -s –p TCP –j DENY 13/12/2002 Ciefa Poly-informatique
20
Ciefa Poly-informatique
IPChains : options Cibles (option –j => paquet envoyé sur cible) : ACCEPT DENY REJECT (=> icmp) MASQ (option CONFIG_IP_MASQUERADE nécessaire) Commandes : -A (= ajouter) -D (= supprimer) -R (= remplacer) -C (= vérifier) Options : -p [!] protocol =>icmp, tcp, udp, all -s [!] addr ([!] port) => adresse source (-d pour destination) -i [!] interface -j target => s’il y a correspondance, paquet envoyé vers cette cible 13/12/2002 Ciefa Poly-informatique
21
IPChains : mise en service
Un support noyau est obligatoire (présent de base maintenant) Il faut insérer des options : "Network firewalls" ( CONFIG_FIREWALL=y ) "IP: firewalling" ( CONFIG_IP_FIREWALL=y ) En standard sur noyaux 2.1.x et 2.2.x Les règles peuvent être éditées dynamiquement Il faut sauvegarder une version de filtrage Il faut installer la version sauvegardée au boot Ne pas oublier : De mettre les filtres avant d'activer les interfaces réseau De mettre les filtres avant d'activer le routage de paquets IP 13/12/2002 Ciefa Poly-informatique
22
Ciefa Poly-informatique
Partie 3 Présentation générale Firewall avec IPChains Firewall avec IPTables (NetFilter) 13/12/2002 Ciefa Poly-informatique
23
FireWall avec IP-Tables
IPChains vs IPTables Principe de base Options Nouveauté Exemple 13/12/2002 Ciefa Poly-informatique
24
Ciefa Poly-informatique
IPTables vs IPChains iptables est l'un des systèmes de filtrage utilisable sur les noyaux 2.4 (et les dernières versions du noyau 2.3) Il est une évolution de la commande ipchains afin de clarifier certains points (comme le forwarding entre interfaces). Il incorpore les fonctionnalités de différentes commandes issues de ipchains et ipfwadm => regroupe toutes les fonctionnalités Linux relatives au filtrage de paquets. 13/12/2002 Ciefa Poly-informatique
25
IPTables : principe de base
iptables s'organise par tables Chaque table contient une série de chaînes de règles. Il existe 3 tables principales : Filtre : contient les chaînes INPUT, FORWARD et OUTPUT (table par défaut) NAT : s’occupe de la conversion d’adresse de réseau. Contient les chaînes PREROUTING, OUTPUT et POSTROUTING. Mangle : permet une modification des paquets à la volée. Contient les chaînes PREROUTING et OUTPUT. Les règles de chaque chaîne dépendent de leur ordre. Quand un paquet arrive, il est comparé aux règles de la chaîne pertinente appartenant à la table pertinente, depuis la première jusqu’à la dernière. iptables [-t table] CMD [chain] [rule-spec|num] [options] =>Ex : iptables –t filter –A input –i eth0 -s –p TCP –j DENY 13/12/2002 Ciefa Poly-informatique
26
Ciefa Poly-informatique
IPTables : options Cibles (option –j => paquet envoyé sur cible) : Cibles de ipchains… SNAT (=> adresse source convertie => dans chaîne POSTROUTING de table NAT) DNAT (=> adresse dest. Convertie => dans chaîne PREROUTING de table NAT) LOG (nécessité d’avoir chargé le module concerné dans le noyau) Commandes : Commandes de ipchains… -N (--new-chain), -X (--delete-chain) -F (--flush) => supprime toutes les règles de la chaîne et de la table concernée Options : Options de ipchains… -i [!] interface =>spécifie l’interface de réception => chaînes INPUT, FORWARD et PREROUTING -o [!] interface =>spécifie l’interface d’expédition => chaînes OUTPUT, FORWARD et POSTROUTING [!] –syn =>spécifie que cette règle ne devrait satisfaire que des paquets TCP que s’ils initient la connexion 13/12/2002 Ciefa Poly-informatique
27
Ciefa Poly-informatique
IPTables : nouveauté Capacité de créer des règles de comparaison fondées sur les états des paquets => due au module state Syntaxe : iptables –m state –state [!] [state, state,…] Etats possibles : NEW : compare les paquets n’appartenant à aucune connexion en cours ESTABLISHED : compare les paquets appartenant à une connexion déjà ouverte RELATED : compare les paquets qui appartiennent à une autre connexion, par exemple les messages ICMP d’erreur, ou le trafic lié au fonctionnement d’un protocole applicatif (ftp data => modes passif ou actif)… INVALID : compare les paquets qui n’ont aucun sens dans le contexte de la connexion existante, ou ceux qui n’ont pu être reçus pour une raison quelconque. 13/12/2002 Ciefa Poly-informatique
28
Ciefa Poly-informatique
IPTables : exemple Le firewall et le réseau interne peuvent tout faire, pas Internet. Les adresses du réseau interne sont masquées pour sortir vers Internet. IFACE=eth0 # Masque en sortie l’interface eth0 iptables -t nat -A POSTROUTING -o $IFACE -j MASQUERADE # Crée une chaîne qui bloque tout tentative de connexion de l’extérieur iptables -N block iptables -A block -m state --state INVALID -j DROP iptables -A block -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A block -m state --state NEW -i ! $IFACE -p icmp --icmp-type echo-request -j ACCEPT iptables -A block -m state --state NEW -i ! $IFACE -p udp -j ACCEPT iptables -A block -m state --state NEW -i ! $IFACE -p tcp --syn -j ACCEPT iptables -A block -i $IFACE -m limit --limit 3/s -j LOG --log-prefix "Bad packet from $IFACE:" iptables -A block -i ! $IFACE -m limit --limit 3/s -j LOG --log-prefix "Bad packet not from $IFACE: " iptables -A block -j DROP # Fais correspondre les chaînes INPUT et FORWARD avec cette chaîne iptables -A INPUT -j block iptables -A FORWARD -j block # Active le forwarding IP : echo 1 > /proc/sys/net/ipv4/ip_forward 13/12/2002 Ciefa Poly-informatique
29
IPChains, IPTables vs FW-1
Argument pour comparer et critiquer les firewall propriétaires (ex Fw-1 de Cisco) et les firewall libres : le caractère « statefull » Entre un firewall type kernel 2.2 (ipchain) et un firewall type kernel 2.4 (iptable), il n'y a pas de comparaison. Ce que l'on appelle communément désormais "statefull", qui consiste a traiter les flux en fonction de leur état (state), connecté, en relation ... FAIT TOUTE LA DIFFERENCE. On ne peut pas comparer FW-1 et linux-2.2 pour cette raison. Un firewall qui ne se souvient pas des états des connexions est obligé de laisser entrer tous les ports hauts ( ) pour laisser passer les réponses aux requêtes émises par les clients du réseau interne, ce qui représente beaucoup de tracas en terme de sécurité. => linux-2.2 est comparable aux routeurs avec acl de cisco. cisco ne les vends pas en temps que "firewall". => linux-2.4 est concurrent de FW-1 (checkpoint) et des pix (cisco). Il est sans doute même meilleur car plus configurable. => donc attention, "statefull" n'est pas juste un argument marketing 13/12/2002 Ciefa Poly-informatique
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.