Architectures sécurisées



Documents pareils
Sécurité des réseaux Firewalls

Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A. TP réseau firewall

Réseaux. Moyens de sécurisation. Plan. Evolutions topologiques des réseaux locaux

TP Linux : Firewall. Conditions de réalisation : travail en binôme. Fonctionnement du parefeu Netfilter. I Qu est ce qu'un firewall?

Formation Iptables : Correction TP

Licence 3 Systèmes et Réseaux II. Chapitre V : Filtrage

Linux Firewalling - IPTABLES

FILTRAGE de PAQUETS NetFilter

Administration réseau Firewall

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

Administration Réseaux

TP4 : Firewall IPTABLES

pare - feu généralités et iptables

Netfilter & Iptables. Théorie Firewall. Autoriser le trafic entrant d'une connexion déjà établie. Permettre le trafic entrant sur un port spécifique

laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007

EPREUVE PRATIQUE DES TECHNIQUES INFORMATIQUES ACTIVITE N 1. Thème de l activité : Configuration d un firewall

Le filtrage de niveau IP

Sécurité et Firewall

Firewall IDS Architecture. Assurer le contrôle des connexions au. Sécurité 1

Internet - Outils. Nicolas Delestre. À partir des cours Outils réseaux de Paul Tavernier et Nicolas Prunier

avec Netfilter et GNU/Linux

TP 3 Réseaux : Subnetting IP et Firewall

Filtrage IP MacOS X, Windows NT/2000/XP et Unix

Exemples de commandes avec iptables.

Figure 1a. Réseau intranet avec pare feu et NAT.

TP SECU NAT ARS IRT ( CORRECTION )

Devoir Surveillé de Sécurité des Réseaux

Sécurité GNU/Linux. Iptables : passerelle

MISE EN PLACE DU FIREWALL SHOREWALL

Fonctionnement de Iptables. Exercices sécurité. Exercice 1

Introduction. Adresses

Master 1 ère année. UE Réseaux Avancés I. Corrections décembre Durée : 2h Documents autorisés

Iptables. Table of Contents

Sécuriser son réseau. Sécuriser son réseau Philippe Weill (IPSL/LATMOS) Frédéric Bongat (SSI/GOUV/FR)

LINUX - Sécurité. Déroulé de l'action. - 3 jours - Contenu de formation

Intérêt du NAT (Network Address Translation) Administration Réseau Niveau routage. Exemple d Intranet. Principe NAT

TER Réseau : Routeur Linux 2 Responsable : Anthony Busson

Proxy et reverse proxy. Serveurs mandataires et relais inverses

DIFF AVANCÉE. Samy.

Internet Protocol. «La couche IP du réseau Internet»

Cours de sécurité. Pare-feux ( Firewalls ) Gérard Florin -CNAM - - Laboratoire CEDRIC -

Rappels réseaux TCP/IP

Alexis Lechervy Université de Caen. M1 Informatique. Réseaux. Filtrage. Bureau S3-203

ATELIER NETFILTER : LE FIREWALL LINUX EN ACTION

Rappel: Le routage dans Internet. Contraintes. Environnement et contraintes. La décision dans IP du routage: - Table de routage:

Linux. Sécuriser un réseau. 3 e édition. l Admin. Cahiers. Bernard Boutherin Benoit Delaunay. Collection dirigée par Nat Makarévitch

But de cette présentation. Proxy filtrant avec Squid et SquidGuard. Serveur proxy. Serveur proxy. Hainaut P

Les firewalls libres : netfilter, IP Filter et Packet Filter

Environnements informatiques

TR2 : Technologies de l'internet. Chapitre VI. NAT statique et dynamique Overloading (PAT) Overlapping, port Forwarding Serveur Proxy, DMZ

Les systèmes pare-feu (firewall)

Plan. Programmation Internet Cours 3. Organismes de standardisation

Spécialiste Systèmes et Réseaux

Capture, Filtrage et Analyse de trames ETHERNET avec le logiciel Wireshark. Etape 1 : Lancement des machines virtuelles VMWARE et de Wireshark

ASR4 Réseaux Département Informatique, IUT Bordeaux 1. DHCP Prénom : Nom : Groupe :

Présentation du modèle OSI(Open Systems Interconnection)

L3 informatique Réseaux : Configuration d une interface réseau

DHCP et NAT. Cyril Rabat Master 2 ASR - Info Architecture des réseaux d entreprise

Conférence Starinux Introduction à IPTABLES

Sécurité des réseaux Les attaques

Réalisation d un portail captif d accès authentifié à Internet

Linux sécurité des réseaux

Serveur DHCP et Relais DHCP (sous Linux)

Réseaux Locaux. Objectif du module. Plan du Cours #3. Réseaux Informatiques. Acquérir un... Réseaux Informatiques. Savoir.

Architecture réseau et filtrage des flux

Sécurité d IPv6. Sécurité d IPv6. Stéphane Bortzmeyer AFNIC bortzmeyer@nic.fr. Stéphane Bortzmeyer AFNIC bortzmeyer@nic.fr

Debian Lenny - Virtualisation avec Libvirt/KVM Debian GNU/Linux

Plan. École Supérieure d Économie Électronique. Plan. Chap 9: Composants et systèmes de sécurité. Rhouma Rhouma. 21 Juillet 2014

II/ Le modèle OSI II.1/ Présentation du modèle OSI(Open Systems Interconnection)

Procédure d utilisation et de paramétrage (filtrage) avec IPFIRE

INTRUSION SUR INTERNET

TCP/IP, NAT/PAT et Firewall

Ingénieurs 2000 Informatique et Réseaux 3ème année. Les Firewalls. Masquelier Mottier Pronzato 1/23 Nouvelles Technologies Réseaux

SQUID Configuration et administration d un proxy

INSTALLATION DEBIAN 7 (NETINSTALL) SUR VM

CASE-LINUX CRÉATION DMZ

Serveur de messagerie sous Debian 5.0

Les formations. Administrateur Systèmes et Réseaux. ENI Ecole Informatique

M2-RADIS Rezo TP13 : VPN

LAB : Schéma. Compagnie C / /24 NETASQ

Documentation technique OpenVPN

IP & Co. 1. Service DHCP. L'objectif de ce TP est de voir l'ensemble des services élémentaires mis en oeuvre dans les réseaux IP.

Présentation et portée du cours : CCNA Exploration v4.0

Contrôleur de communications réseau. Guide de configuration rapide DN

GENERALITES. COURS TCP/IP Niveau 1

1 PfSense 1. Qu est-ce que c est

Charte d installation des réseaux sans-fils à l INSA de Lyon

Programme formation pfsense Mars 2011 Cript Bretagne

Introduction. Conclusion. Sommaire. 1. Installation de votre routeur Coyote Linux Configuration requise et installation du matériel.

TD 2 Chapitre 4 : Support des Services et Serveurs. Objectifs : Maîtriser l'exploitation des tables de routage dynamique.

Réseau - VirtualBox. Sommaire

Routeurs de Services Unifiés DSR-1000N DSR-500N DSR-250N

LINUX REDHAT, SERVICES RÉSEAUX/INTERNET

Sécurité des réseaux sans fil

Virtual Private Network WAFA GHARBI (RT4) CYRINE MAATOUG (RT4) BOCHRA DARGHOUTH (RT4) SALAH KHEMIRI (RT4) MARWA CHAIEB (RT3) WIEM BADREDDINE (RT3)

Chapitre I. La couche réseau. 1. Couche réseau 1. Historique de l Internet

Présentation et portée du cours : CCNA Exploration v4.0

Transcription:

Architectures sécurisées Hanteville Nicolas CFBS 02/11/2009 Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 1 / 57

Introduction aux réseaux : modèles Modèle OSI 1 : Modèle internet : 7 Application 6 Présentation 5 Session 4 Transport 3 Réseau Application Transport Internet 2 Liaison 1 Physique Accès réseau 1. OSI : Open Systems Interconnection Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 2 / 57

Introduction aux réseaux : les couches réseau 1 - Physique : Technique de transmission d impulsions électriques (bits) sur un médium. 2 - Liaison : Transmission d information entre deux ordinateurs connectés à un même support de transmission. 3 - Réseau : Mettre en communication deux ordinateurs au travers d un ou plusieurs réseaux élémentaires pouvant être reliés entre eux par des éléments de routage. Cette couche permet la gestion de sous-réseaux, routage des paquets, interconnexion. 4 - Transport : Établir un canal de communication entre deux applications distantes et gestion de la qualité de service. Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 3 / 57

Introduction aux réseaux : les couches réseau 5 - Session : Permet l organisation, la synchronisation des échanges (par jetons...), les points de reprise d envoi des données. 6 - Présentation : Permet la conversion, le formatage, le chiffrement, la compression des données. 7 - Application : C est le point de contact entre l utilisateur et le réseau. C est donc elle qui va apporter à l utilisateur les services de base offerts par le réseau, comme par exemple le transfert de fichiers, la messagerie... Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 4 / 57

Introduction aux réseaux : les classes d adresses Adresses Nb réseaux Nb adresses/r Min Max A 0.0.0.1 127.255.255.254 128 16646144 B 128.0.0.1 191.255.255.254 16384 65024 C 192.0.0.1 223.255.255.254 2097152 254 D 224.0.0.1 239.255.255.254 Adresses de Multicast E À partir de 240.0.0.1 Réservé Loopback Broadcast 127.x.x.x x.x.x.255 / ou lié au masque Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 5 / 57

Introduction aux réseaux : les masques réseau Classes Masques A 255.0.0.0 B 255.255.0.0 C 255.255.255.0 Nous avons un besoin de 4096 adresses (dont l adresse du réseau et celle du broadcast), les bits à 0 sont les bits qui peuvent changer. Représentation / valeur d un octet: 255 255 255 255 11111111 11111111 11111111 11111111 11111111 (2) = 2 7 +2 6 +2 5 +2 4 +2 3 +2 2 +2 1 +2 0 11111111 (2) = 128+64+32+16+8+4+2+1 1 octet peut prendre 256 valeurs (de 0 à 255). 4096 = 2 12 donc le masque que l on choisira contiendra 12 zéro : 11111111 11111111 11110000 00000000 255 255 240 0 Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 6 / 57

Introduction aux réseaux : TCP/IP TCP (Transmission Control Protocol) est un protocole en mode connecté permettant le transfert de données avec un contrôle d intégrité, IP (Internet Protocol) est un protocole d adressage, il permet le routage des paquets de données. Client ACK Serveur OPEN SYN LISTEN CLOSE FIN SYN-RECEIVED ACK ACK Connexion SYN Déconnexion FIN ESTABLISHED CLOSE OPENED TIME-WAIT ESTABLISHED OPENED Client ACK Serveur ESTABLISHED FIN CLOSE Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 7 / 57

Introduction aux réseaux : TCP/IP LISTEN : En attente de connexion externe. SYN-SENT : En attente d une requête de connexion, après l envoi d une requête. SYN-RECEIVED : Connexion en attente de confirmation (les 2 requêtes de connexion se sont croisées). ESTABLISHED : Connexion établie transfert de données possible (état stable). FIN-WAIT1 : En attente d une requête de déconnexion par l application (demande de confirmation). FIN-WAIT2 : En attente d une requête de déconnexion du distant (demande de confirmation). CLOSE-WAIT : En attente d une requête de déconnexion émise par l application. CLOSING : En attente de confirmation de la requête de déconnexion du distant qui a déjà émis sa requête de déconnexion. LAST-ACK : En attente de confirmation de la requête de déconnexion provenant du distant. TIME-WAIT : Temps avant fermeture complète du canal. CLOSED : Connexion fermée. Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 8 / 57

Introduction aux réseaux : UDP/IP UDP (User Datagram Protocol) est un protocole très simple, en mode non connecté permettant le transfert de données sans contrôle d intégrité, il permet ainsi sur un réseau fiable un envoi de données UNICAST, BROADCAST et MULTICAST, il est aussi plus rapide que TCP. Client Envoi de données Dialogue OK Serveur En écoute Réponse (si besoin) Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 9 / 57

Contournement de la sécurité : écoute réseau L écoute réseau consiste à capturer les paquets en transit sur le réseau, n étant pas destinés à la machine en écoute, afin d obtenir des informations. 1 Si le réseau utilise des concentrateurs (hub), tous les paquets sont envoyés à toutes les machines. Solution : utiliser des commutateurs (switches). 2 Il est possible aussi d usurper l adresse MAC d une autre machine afin de récupérer son trafic réseau (Man In The Middle, modification de son adresse MAC...) Solution : mettre en place du MAC-LOCKING sur les ports des éléments actifs, mettre des VLAN pour cloisonner le réseau. 3 Même sans aucune usurpation il est possible de capturer un certain nombre d informations (mode promiscuous) par exemple d effectuer des scans de ports, d usurper les VLAN (by pass). Solution : effectuer du filtrage par TAG de trame, mettre en place des IDS/IPS pour détecter l activation du mode promiscuous sur les cartes du réseau. Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 10 / 57

Contournement de la sécurité : services verbeux Un grand nombre de protocoles sont très verbeux et permettent une identification du fonctionnement et de l adressage du réseau : ARP : (Address Resolution Protocol) à la base de toutes les communication IP, ne peut être désactivé. CDP : (Cisco Discovery Protocol) ; HSRP : ( Hot Standby Router Protocol) ; STP : (Spanning Tree Protocol) ; VRRP : (Virtual Router Redundancy Protocol) permettent l identification et la gestion d un cœur de réseau (Qualité de service, reprise en cas de rupture de lien...)... S ils ne sont pas utilisés il faut les désactiver! Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 11 / 57

Contournement de la sécurité : MitM Le MITM ou Man in the Middle (l homme au milieu), est une attaque qui consiste à s insérer entre deux éléments du réseau qui communiquent. La manière de faire la plus simple est l ARP poisoning (empoisonnement de cache ARP), il permet la récupération de toutes les informations envoyées sur le réseau par les cibles (mots de passe, mails...). Il existe d autre manière d empoisonnement, DNS cache poisonning... Note : on peut s en protéger en figeant la table ARP ou en configurant des sondes IDS/IPS. Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 12 / 57

Contournement de la sécurité : MitM Principe du Man in the Middle par de l ARP poisonning : fonctionnement standard (Bob et Alice communiquent). Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 13 / 57

Contournement de la sécurité : MitM Principe du Man in the Middle par de l ARP poisonning : le pirate envoie un grand nombre de trames pour effectuer un empoisonnement du cache ARP de Alice et Bob. Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 14 / 57

Contournement de la sécurité : MitM Principe du Man in the Middle par de l ARP poisonning : le pirate peut maintenant intercepter toute communication (même chiffré avec les bon outils). Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 15 / 57

Contournement de la sécurité : DoS/DDoS Le Deny of Service ou Distributed Denial of Service est le principe d attaque par saturation, c est une attaque sur un serveur informatique qui résulte en l incapacité pour le serveur de répondre aux requêtes de ses clients. Note : c est le type d attaque le plus difficile à contrer, il faut avoir plusieurs points d entrée et sortie du système. En cas d attaque prendre contact avec un CERT (Computer Emergency Response Team). Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 16 / 57

Contournement de la sécurité : vulnérabilité Definition Wikipédia : Dans le domaine de la sécurité informatique, une vulnérabilité est une faiblesse dans un système informatique permettant à un attaquant de porter atteinte à l intégrité de ce système, c est-à-dire à son fonctionnement normal, à la confidentialité et l intégrité des données qu il contient. On parle aussi de faille de sécurité informatique. Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 17 / 57

Contournement de la sécurité : vulnérabilité Un exemple de failles de logiciels : Buffer Over Flow, Denial of Service, by-pass de l authentification : Faille Cisco de 2001 : http:// IP/ level/ <NUMLEVEL>/exec/ show/ run Faille Cisco de 2004 : http:// IP//level/ <NUMLEVEL>/configure/-/ enable/ secret/ mdp Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 18 / 57

Moyens de protection : IDS/IPS Afin de protéger un système, une application, un réseau un grand nombre d éléments de sécurité existent : IDS : (Intrusion Detection System) système de détection d intrusion (fonctionnement : capture, signature, alerte) il en existe trois sortes : NIDS (Network Based Intrusion Detection System), qui surveillent l état de la sécurité au niveau du réseau. HIDS (HostBased Intrusion Detection System), qui surveillent l état de la sécurité au niveau des hôtes. IDS hybrides, qui utilisent les NIDS et HIDS pour avoir des alertes plus pertinentes. IPS : (Intrusion Prevention System) système de prévention d intrusion, similaire aux IDS, sauf que ce système peut prendre des mesures afin de diminuer les risques d impact d une attaque. C est un IDS/Firewall actif, il peut bloquer des ports automatiquement. IDS/IPS Open source : http://www.snort.org/ Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 19 / 57

Moyens de protection : proxy/reverse-proxy Proxy : (serveur mandataire) a pour fonction de relayer des requêtes entre un poste client et un serveur. Serveur proxy open source : http://www.squid-cache.org/ et http://www.squidguard.org/ Les serveurs mandataires sont notamment utilisés pour assurer les fonctions suivantes : cache réseau (et optimisation de la bande passante) ; la journalisation des requêtes ; la sécurité du réseau local ; le filtrage et l anonymat ; identification et authentification. Reverse proxy : habituellement placé en frontal de serveurs web, il permet de protéger les serveurs web des attaques provenant de l extérieur, il est possible d y appliquer des règles de filtrage des requêtes : http://www.apache.org/ avec le mode mandatory. Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 20 / 57

Moyens de protection : firewall Firewall : un firewall (mur de feu/pare-feu) est un système permettant d effectuer un contrôle des flux entrants et sortants sur un réseau ou une machine. Netfilter est un firewall open source sous linux, intégré au noyau et dont les règles de configuration sont écrites en iptable : http://www.netfilter.org/. Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 21 / 57

Firewall : fonctionnement Que sait faire un pare-feu? filtrer le trafic entrant & sortant (par port, protocole/service et application) ; rediriger le trafic ; enregistrer l activité du réseau ; protection du réseau interne contre les flux externes. Que ne sait pas faire un pare-feu? il ne protège pas le réseau de toutes les menaces existantes (DoS, MitM...) ; il ne protège pas du social engineering ; il ne protège pas s il est mal configuré ou mal utilisé ; il ne protège pas des menaces internes au réseau. Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 22 / 57

Firewall : fonctionnalités avancées Authentification des connexions : Certains pare-feu permettent l authentification (via RADIUS...). Canal de communication sécurisé : Le tunneling permet un accès distant au site protégé via des protocoles de chiffrement. Chiffrement : Certains pare-feu permettent de chiffrer les données en transit sur un réseau peu sûr. Analyse des paquets : Principe même du pare-feu, pour filtrer les paquets mais aussi pour identifier les informations, notamment pour la journalisation ou l analyse par l administrateur en temps réel. Journalisation des flux : La gestion est effectuée à travers des alertes de sécurité (accepter/refuser une connexion). Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 23 / 57

Firewall : fonctionnement possible Entre deux réseaux internes : Pour protéger une DMZ par exemple. En coupure entre le réseau et l extérieur : Filtrage des flux, entrants/sortants, autorisation de l accès extérieur aux machines autorisées. Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 24 / 57

Firewall : DNS Dans le cas où l on veut isoler complètement les clients du reste du réseau, le routeur/firewall peut aussi simuler le DNS (on installe sur le routeur un serveur DNS). Exemple d installation : sudo apt-get install bind9 sudo gedit /etc/bind/named.conf.options options { directory /var/cache/bind ; forwarders{ 15.15.1.1; }; auth-nxdomain no; # conform to RFC1035 listen-on-v6 {any; }; }; sudo /etc/init.d/bind9 restart sudo gedit /etc/resolv.conf nameserver 127.0.0.1 nameserver 15.15.1.1 Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 25 / 57

Netfilter / Iptables Analyse au niveau TCP/IP (couches 1-3), permet du filtrage et de la gestion de translation d adresse NAT, modification et marquage de paquet (MANGLE). Par Netfilter on désigne l ensemble des fonctions internes du noyau qui réalisent les opérations de filtrage/firewall. Iptables sert d interface de configuration, il fonctionne en mode utilisateur. Dans les noyaux 2.2.x avec ipchains, le code du firewall est éparpillé à travers la couche applicative réseau, ce qui ne facilite pas la maintenance. Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 26 / 57

Netfilter / Iptables Le noyau 2.4 avec Netfilter a apporté aux couches réseau de niveau 3 (IPv4, IPv6, IPX, ARP...) une série de points d entrée spécifiques à chaque couche (hooks), et retour (callbacks), ce qui permet d exporter le code de filtrage en dehors de la couche réseau. (Avec en plus la gestion complète du NAT, une interface d altération des en-têtes : packet mangling...) Sans oublier l utilisation stateful (pare-feu à état), où c est le noyau qui enregistre les sessions (conntrack -E ou more /proc/net/ip conntrack). Historiques des firewall sous linux : noyau 2.4.x : iptables noyau 2.2.x : ipchains noyau 2.0.x : ipfwadm Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 27 / 57

Netfilter / Iptables : Objectif Objectif, de la partie firewall : mise en place d un firewall/routeur pour utilisation avec des clients qui ont un firewall de configuré : Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 28 / 57

Configuration réseau sudo gedit /etc/network/interfaces auto lo iface lo inet loopback auto eth0 allow-hotplug eth0 iface eth0 inet static address 192.168.0.[1-12] netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.180 dns-nameservers 15.15.1.1 dns-search unix.cfbs.dga.defense.gouv.fr Redémarrer le service : /etc/init.d/networking restart Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 29 / 57

Configuration réseau Modifier le nom de la machine : sudo gedit /etc/hostname Redémarrer le service : /etc/init.d/hostname restart Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 30 / 57

Configuration réseau Vérifier la configuration : ifconfig -a route -n Configuration de l IP forwarding : (sur le firewall/routeur) echo 1 >/proc/sys/net/ipv4/ip forward ou sysctl -w net.ipv4.ip forward=1 ou en modifiant directement le fichier /etc/sysctl.conf Protection contre le spoofing : (sur le firewall/routeur) sysctl -w net.ipv4.conf.default.rp filter=1 Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 31 / 57

Importation de l image du PC virtuel Énumération des fichiers disponibles : flamethrower --list Le nom de la distribution doit être indiqué. Téléchargement en simultané par tous après signal du formateur! flamethrower --verbose --directory /virtualbox/vdi --module Nom fichier --nosync Une fois l image récupérée, il faut créer un identifiant unique par machine virtuelle : VBoxManage internalcommands setvdiuuid Nom fichier.dvi Il ne reste plus qu à configurer le réseau! Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 32 / 57

Architecture Netfilter Voici les hooks (points d ancrage/intervention) de Netfilter : NF IP PRE ROUTING : paquets entrants sur l interface. NF IP LOCAL IN : paquets destinés à la machine locale. NF IP FORWARD : paquets à router. NF IP LOCAL OUT : paquets émis depuis la machine locale. NF IP POST ROUTING : paquets sortants de l interface. Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 33 / 57

Architecture Netfilter Résultat des hooks de Netfilter : NF ACCEPT : le paquet est accepté. NF DROP : le paquet est refusé. NF STOLEN : le paquet sera traité ailleurs (en attente). NF QUEUE : le paquet est en attente d envoi à l utilisateur. NF REPEAT : le paquet est rebouclé pour test. NF CONTINUE : le paquet passe à la règle suivante. Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 34 / 57

Architecture Netfilter : filter Il existe trois tables standard, elles constituent les règles de filtrage. FILTER : contient les règles de filtrage pour les paquets entrants et sortants localement sur la machine, c est la table par défaut si non spécifiée. INPUT : filtre les paquets entrants. OUTPUT : filtre les paquets sortants. FORWARD : filtre les paquets routés qui passent d une interface à l autre. Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 35 / 57

Architecture Netfilter : nat NAT : Gère la translation d adresse et ports. PREROUTING : translate les adresses de destination (externe). POSTROUTING : translate/masque les adresses de source (local). OUTPUT : permet de modifier les adresses de destination préroutage. Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 36 / 57

Architecture Netfilter : mangle MANGLE : marquage des paquets, contrôle de débit, priorité des flux. PREROUTING : marquage des paquets en entrée. INPUT : marquage des paquets avant leur envoi (vers l intérieur). FORWARD : les paquets passant d une interface à l autre sont marqués. POSTROUTING : marquage des paquets prêts à être envoyés. OUTPUT : marquage des paquets avant leur envoi (vers extérieur). Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 37 / 57

Architecture Netfilter : les fichiers /etc/init.d/iptables save (sauvegarde de la configuration actuelle dans /etc/sysconfig/iptables) /etc/init.d/iptables start ou restart (restaure la configuration à partir de /etc/sysconfig/iptables) /etc/init.d/iptables stop (efface toutes les règles : met tout à ACCEPT) /etc/init.d/iptables panic (bloque toutes les connexions) iptables -t filter -L -v -n --line(liste les règles et informations de la table filter.) Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 38 / 57

Architecture Netfilter : construction d une règle 1 iptables (appel de la commande) 2 iptables chaîne (chaîne de commande) exemple : iptables -P INPUT -j DROP 3 iptables chaîne motifs de reconnaissance exemple : iptables -A INPUT -s 192.168.0.1 -j DROP 4 iptables chaîne motifs de reconnaissance cibles exemple : iptables -A INPUT -s 192.168.0.1 -j DROP Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 39 / 57

Netfilter / Iptables : tableau des flux La première étape de la mise en place d un filtrage est l élaboration d un tableau des flux. Composants : service (DNS, HTTP...) ; protocole (TCP/UDP...) ; interface (eth0, eth1...) ; les adresses (source, destination) ; les ports (source, destination) ; Il faut maintenant créer un tableau des flux! Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 40 / 57

Netfilter / Iptables : règles par défaut Avant de commencer nous allons créer un fichier : gedit script iptable.sh qui contiendra l initialisation de la configuration et les règles de filtrage. Possibilité d ajouter des commentaires avec : # Les commandes de gestion des règles : iptables-save >fichier de sauvegarde ou iptables-restore <fichier de sauvegarde On refuse tout par défaut! /sbin/iptables -t filter -P INPUT DROP /sbin/iptables -t filter -P OUTPUT DROP /sbin/iptables -t filter -P FORWARD DROP Il est aussi possible d interdire une machine : /sbin/iptables -t filter -s 192.168.0.2 -P INPUT DROP Ou d interdire ce qui ne provient pas d une machine : /sbin/iptables -t filter -s!192.168.0.2 -P INPUT DROP Pour lancer le script : sh script iptable.sh Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 41 / 57

Netfilter / Iptables : aide Exemples de commandes iptables -h : aide iptables -I chain [numéro] [règle] : insérer une règle en position numéro. iptables -D chain [numéro] : effacer une règle. iptables -R chain [numéro] [règle] : remplacer une règle. Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 42 / 57

Netfilter / Iptables : initialisation des chaînes # suppression de toutes les chaînes /sbin/iptables -t filter -F /sbin/iptables -t nat -F /sbin/iptables -t mangle -F # suppression des chaînes utilisateur /sbin/iptables -t filter -X /sbin/iptables -t nat -X /sbin/iptables -t mangle -X # remise à zéro des compteurs /sbin/iptables -t filter -Z /sbin/iptables -t nat -Z /sbin/iptables -t mangle -Z Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 43 / 57

Netfilter / Iptables : filtrage simple (DNS, ICMP) # autoriser le loopback /sbin/iptables -A INPUT -i lo -j ACCEPT /sbin/iptables -A OUTPUT -o lo -j ACCEPT # autoriser le DNS pour la machine locale # (1ère utilisation de stateful : firewall à état) /sbin/iptables -A OUTPUT -o eth0 -s 192.168.0.1 -m state --state NEW,ESTABLISHED -p UDP --sport 1023: --dport 53 -j ACCEPT /sbin/iptables -A INPUT -i eth0 -d 192.168.0.1 -m state --state ESTABLISHED,RELATED -p UDP --sport 53 --dport 1023: -j ACCEPT # autoriser le PING (ICMP) pour la machine locale /sbin/iptables -A OUTPUT -o eth0 -s 192.168.0.1 -m state --state NEW,ESTABLISHED -p ICMP -j ACCEPT /sbin/iptables -A INPUT -i eth0 -d 192.168.0.1 -m state --state ESTABLISHED,RELATED -p ICMP -j ACCEPT Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 44 / 57

Netfilter / Iptables : filtrage simple (HTTP/HTTPS) # autoriser le HTTP/HTTPS pour la machine locale /sbin/iptables -A OUTPUT -o eth0 -s 192.168.0.1 -m state --state NEW,ESTABLISHED -p TCP --sport 1023: --dport 80 -j ACCEPT /sbin/iptables -A INPUT -i eth0 -d 192.168.0.1 -m state --state ESTABLISHED,RELATED -p TCP --sport 80 --dport 1023: -j ACCEPT /sbin/iptables -A OUTPUT -o eth0 -s 192.168.0.1 -m state --state NEW,ESTABLISHED -p TCP --sport 1023: --dport 443 -j ACCEPT /sbin/iptables -A INPUT -i eth0 -d 192.168.0.1 -m state --state ESTABLISHED,RELATED -p TCP --sport 443 --dport 1023: -j ACCEPT Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 45 / 57

Netfilter / Iptables : filtrage à deux cartes réseaux (routeur) # activer le routage des paquets (masquage d adresse) /sbin/iptables -t nat -A POSTROUTING -s 192.168.5.0/24 -o eth0 -j MASQUERADE # autoriser le HTTP/HTTPS pour le réseau /sbin/iptables -A FORWARD -p tcp -i eth1 -o eth0 -s 192.168.0.0/24 --sport 1023: --dport 80 -j ACCEPT /sbin/iptables -A FORWARD -p tcp -i eth0 -o eth1 -d 192.168.0.0/24 --sport 80 --dport 1023: -j ACCEPT /sbin/iptables -A FORWARD -p tcp -i eth1 -o eth0 -s 192.168.0.0/24 --sport 1023: --dport 443 -j ACCEPT /sbin/iptables -A FORWARD -p tcp -i eth0 -o eth1 -d 192.168.0.0/24 --sport 443 --dport 1023: -j ACCEPT Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 46 / 57

Netfilter / Iptables : filtrage FTP # FTP connexion vers toutes les machines (partie commandes) /sbin/iptables -A OUTPUT -m state --state NEW,ESTABLISHED -p TCP -s 192.168.0.1 --sport 1023: --dport 21 -j ACCEPT /sbin/iptables -A INPUT -m state --state ESTABLISHED -p TCP -d 192.168.0.1 --sport 21 --dport 1023: -j ACCEPT # FTP (partie transfert des données en mode actif) # pour tester le FTP lors de la connexion on passe en mode : # connexion active avec la commande passive /sbin/iptables -A INPUT -m state --state RELATED,ESTABLISHED -p TCP -d 192.168.0.1 --sport 20 --dport 1023: -j ACCEPT /sbin/iptables -A OUTPUT -m state --state ESTABLISHED -p TCP -s 192.168.0.1 --sport 1023: --dport 20 -j ACCEPT Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 47 / 57

Netfilter / Iptables : filtrage FTP Module complémentaire pour le FTP : Vérifier s il est actif : lsmod Activation : /sbin/modprobe ip tables /sbin/modprobe iptable filter /sbin/modprobe ip conntrack ftp ou aussi dans les fichiers /etc/sysconfig/iptables-config ou pour DEBIAN /etc/modules modifier la ligne IPTABLES MODULES= ip conntrack ftp... Redémarrage du filtrage : iptables restart # FTP (partie transfert des données en mode passif) /sbin/iptables -A INPUT -m state --state RELATED,ESTABLISHED -p TCP -s 192.168.0.12 --sport 1023: --dport 1023: -j ACCEPT /sbin/iptables -A OUTPUT -m state --state ESTABLISHED -p TCP -d 192.168.0.1 --sport 1023: --dport 1023: -j ACCEPT Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 48 / 57

Netfilter / Iptables : filtrage par adresse MAC /sbin/iptables - A INPUT -m MAC --mac-source 00:11:22:33:44:55 Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 49 / 57

Netfilter / Iptables : règles de sécurité # règles de protection : fragmentation, et scan réseau /sbin/iptables -A INPUT -m state --state INVALID -j DROP /sbin/iptables -A OUTPUT -m state --state INVALID -j DROP /sbin/iptables -A FORWARD -m state --state INVALID -j DROP # utilisation de l option limit, limit est pris en compte au bout de 5 trames # dans l exemple ci-dessous un scan syn est limité par seconde après # les 5 premiers. /sbin/iptables -A FORWARD -p tcp --syn -l limit 1/s -j ACCEPT Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 50 / 57

Netfilter / Iptables : NAT (redirection de flux) # redirection de toutes les connexions TELNET distantes # vers le TELNET de la machine locale /sbin/iptables -t NAT - A OUTPUT -p TCP --dport 23 -j DNAT --to-destination 192.168.0.1 Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 51 / 57

Netfilter / Iptables : journaux # journalisation /sbin/iptables -N LOG DROP /sbin/iptables -A INPUT -j LOG DROP /sbin/iptables -A OUTPUT -j LOG DROP /sbin/iptables -A FORWARD -j LOG DROP /sbin/iptables -A LOG DROP -j LOG --log-prefix [IPTABLES DROP] : --log-tcp-options --log-ip-options /sbin/iptables -A LOG DROP -j DROP Affichage interactif des journaux : tail -f /var/log/messages Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 52 / 57

Netfilter / Iptables : installation au démarrage Copier le fichier de script dans /etc/init.d/ : Ne pas oublier les paramétrages du FORWARD pour le routeur dans le fichier : # init : activation du forward des paquets sysctl -w net.ipv4.ip forward=1 # démarrage du service DNS /etc/init.d/bind9 start Installer le script : update-rc.d script iptable.sh defaults Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 53 / 57

Netfilter / Iptables : installation au démarrage (DEBIAN) Il existe des dossiers spécifiques pour les scripts liés aux interfaces réseaux : /etc/network/if-post-down.d sera lancé automatiquement après chaque arrêt d une interface réseau. /etc/network/if preup.d/ sera lancé automatiquement après chaque démarrage d une interface réseau. Pour que les scripts fonctionnent il faut respecter les points suivant : Il doivent être exécutables (chmod +x) En première ligne du script doit être indiqué l interpréteur #!/bin/sh Le nom ne doit contenir que des caractères, chiffres, et -, sans aucun point. Des variables sont accessibles au script (permet d agir en fonction) : ADDRFAM, IFACE, LOGICAL, METHOD, MODE, PHASE et VERBOSITY Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 54 / 57

Netfilter / Iptables : installation au démarrage (DEBIAN) Il existe des dossiers spécifiques pour les scripts liés aux interfaces réseaux : /etc/network/if-post-down.d sera lancé automatiquement après chaque arrêt d une interface réseau. /etc/network/if preup.d/ sera lancé automatiquement après chaque démarrage d une interface réseau. Pour que les scripts fonctionnent il faut respecter les points suivant : Il doivent être exécutables (chmod +x) En première ligne du script doit être indiqué l interpréteur #!/bin/sh Le nom ne doit contenir que des caractères, chiffres, et -, sans aucun point. Des variables sont accessibles au script (permet d agir en fonction) : ADDRFAM, IFACE, LOGICAL, METHOD, MODE, PHASE et VERBOSITY Attention, si vous avez plusieurs interfaces réseaux, évitez cette solution. Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 54 / 57

Netfilter / Iptables : installation au démarrage Il est aussi possible d exploiter les directives pre-up et post-down dans le fichier /etc/network/interfaces : auto eth0 iface eth0 inet dhcp pre-up /etc/firewall-start.sh post-down /etc/firewall-stop.sh Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 55 / 57

Liens http://www.lea-linux.org http://fr.wikipedia.org/wiki/linux http://www.linux-france.org http://www.linuxfr.org http://www.netfilter.org Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 56 / 57

Des questions? Contact : nicolas.hanteville@dirisi.gouv.fr Hanteville Nicolas (CFBS) Architectures sécurisées 02/11/2009 57 / 57