TP4 : Firewall IPTABLES



Documents pareils
Sécurité des réseaux Firewalls

Administration réseau Firewall

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

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?

Le filtrage de niveau IP

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

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

Formation Iptables : Correction TP

MISE EN PLACE DU FIREWALL SHOREWALL

Administration Réseaux

FILTRAGE de PAQUETS NetFilter

Sécurité GNU/Linux. Iptables : passerelle

Les firewalls libres : netfilter, IP Filter et Packet Filter

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

Sécurité et Firewall

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

TP 3 Réseaux : Subnetting IP et Firewall

Iptables. Table of Contents

ATELIER NETFILTER : LE FIREWALL LINUX EN ACTION

avec Netfilter et GNU/Linux

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

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

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

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

Exemples de commandes avec iptables.

Linux Firewalling - IPTABLES

Environnements informatiques

Conférence Starinux Introduction à IPTABLES

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

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

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

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

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

Architecture réseau et filtrage des flux

Sécurité GNU/Linux. FTP sécurisé

TP SECU NAT ARS IRT ( CORRECTION )

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

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

Firewall d'infrastructure centralisé. et load-balancing. Adrien Urban Responsable R&D

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

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

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

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

GENERALITES. COURS TCP/IP Niveau 1

acpro SEN TR firewall IPTABLES

Rapport du projet Qualité de Service

Live box et Nas Synology

TAGREROUT Seyf Allah TMRIM

Proxy et reverse proxy. Serveurs mandataires et relais inverses

TCP/IP, NAT/PAT et Firewall

Architectures sécurisées

Linux sécurité des réseaux

ACTION PROFESSIONNELLE N 4. Fabien SALAMONE BTS INFORMATIQUE DE GESTION. Option Administrateur de Réseaux. Session Sécurité du réseau

Firewall. Souvent les routeurs incluent une fonction firewall qui permet une première sécurité pour le réseau.

Programme formation pfsense Mars 2011 Cript Bretagne

SQUID Configuration et administration d un proxy

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

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.

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

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

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

PACK SKeeper Multi = 1 SKeeper et des SKubes

Serveur FTP. 20 décembre. Windows Server 2008R2

Date : NOM Prénom : TP n /5 ET ADMINISTRATION D'UN

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

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

TP réseaux Translation d adresse, firewalls, zonage

Configuration d un firewall pour sécuriser un serveur WEB

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

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

Cisco Certified Network Associate

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

FACILITER LES COMMUNICATIONS. Le gestionnaire de réseau VPN global de Saima Sistemas

INSTALLATION DEBIAN 7 (NETINSTALL) SUR VM

GUIDE D INSTALLATION DE FIREWALL OPEN SOURCE

Les systèmes pare-feu (firewall)

Résolution des problèmes de connexion XDMCP aux hôtes UNIX et Linux

Live box et Nas Synology

M2-RADIS Rezo TP13 : VPN

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

Ubuntu Linux Création, configuration et gestion d'un réseau local d'entreprise (3ième édition)

Migration vers l'open-source de l infrastructure de pare-feu du campus CNRS d Orléans

Plan. Programmation Internet Cours 3. Organismes de standardisation

DUT Informatique Module Système S4 C Département Informatique 2009 / Travaux Pratiques n o 5 : Sockets Stream

Surveillance et corrélation de flux réseaux via sondes applicatives embarquées

QoS Réseaux haut débit et Qualité de service

Le Tunneling DNS. P.Bienaimé X.Delot P.Mazon K.Tagourti A.Yahi A.Zerrouki. Université de Rouen - M2SSI. 24 février 2011

pfsense Manuel d Installation et d Utilisation du Logiciel

NuFW Howto. Eric Leblond Vincent Deffontaines Jean Baptiste Favre

CONFIGURATION FIREWALL

1/ Introduction. 2/ Schéma du réseau

Présentation du Serveur SME 6000

Rappels réseaux TCP/IP

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

Projet Système & Réseau

Ici se présente un petit récapitulatif de ce qu il se passe sur le réseau : les connexions bloquées, le matériel du boitier, les mises à jour, etc.

Firewall Net Integrator Vue d ensemble

SUJET DES FINALES NATIONALES Sujet jour 1 version 1

Transcription:

Module Sécurité TP4 : Firewall IPTABLES Ala Rezmerita François Lesueur Le TP donnera lieu à la rédaction d un petit fichier texte contenant votre nom, les réponses aux questions ainsi que d éventuels résultats de commandes. Le fichier portera votre nom suivi du numéro de TP et sera envoyé par mail en fin de TP. 1 Présentation de Netfilter/Iptables 1.1 Étude générale Depuis la version 2.4, le module destiné au filtrage réseau dans Linux est Netfilter. Il se configure au moyen de l outil iptables. Le filtrage réseau consiste à examiner les paquets réseaux et à prendre des décisions sur le traitement à leur appliquer. Le système de filtrage permet notamment d interdire des connexions sur certains ports d un ordinateur, de limiter le nombre de connexions, de limiter les bandes passantes, etc. Netfilter a de très nombreuses fonctionnalités. Durant ce TP, nous n étudierons que les parties essentielles (filtrage de paquets, suivi de connexions, NAT). Le principe de fonctionnement est le suivant : lorsque la carte réseau reçoit un paquet, il est transmis à la partie Netfilter du noyau ; Netfilter étudie ce paquet (en-têtes et contenu) en se basant sur des règles définies par l administrateur du système ; Netfilter choisit de laisser passer le paquet intact, de modifier ce paquet, de le transmettre à une autre machine ou encore d interdire le passage. Netfilter fonctionne en utilisant 3 tables : la table filter correspond aux notions de filtrage réseau (accepter ou refuser un paquet) ; la table nat correspond aux fonctions de routage par translation d adresse (partage d accès internet par exemple) ; la table mangle permet de modifier les paquets à la volée. Vous devrez travailler en root pendant tout le TP (seul root est habilité à manipuler le pare-feu). 1

1.2 Filtrage (table filter) Netfilter se base sur 3 listes de règles pour définir son comportement vis-à-vis d un paquet (au niveau de la table filter). Le schéma suivant récapitule le trajet d un paquet au travers ces 3 chaînes : Les trois chaînes ont les rôles suivants : quand un paquet est reçu et est destiné à la machine locale, ce paquet passe dans la chaîne INPUT. S il est accepté par cette chaîne, les processus qui attendent le paquet le recevront ; quand un paquet est reçu et est destiné à une autre machine (la machine locale doit le router vers une autre machine), ce paquet passe dans la chaîne FORWARD. S il est accepté, il est retransmis vers sa destination ; quand un paquet est émis par la machine locale, ce paquet passe dans la chaîne OUTPUT. S il est accepté, il sera envoyé vers sa destination. Pour chaque paquet qui passe dans ces chaînes, l action peut être : ACCEPT, auquel cas le paquet est accepté ; DROP, auquel cas le paquet est refusé silencieusement (l expéditeur ne reçoit d erreur) ; REJECT, auquel cas le paquet est refusé et l expéditeur reçoit une erreur. Chaque chaîne possède enfin une règle par défaut (policy) qui définit l action par défaut, initialement ACCEPT. 2 Protection de la machine locale Nous allons maintenant mettre en place un firewall sur la machine locale. En utilisant la page de manuel d iptables, affichez l ensemble des règles actives. Vous devriez voir quelque chose qui ressemble à : Chain INPUT (policy ACCEPT 819K packets, 170M bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 728K packets, 188M bytes) pkts bytes target prot opt in out source destination 2

Vous voyez donc pour chaque chaîne : la policy (comportement par défaut) ; le nombre de paquets qui a traversé les règles de la chaîne ; le nombre d octets correspondants. Pour le moment, aucune règle supplémentaire n est définie ; par la suite, cette commande vous permettra de lister l ensemble des règles actives dans la table filter. Ici, Netfilter accepte donc tous les paquets. 2.1 Première règle iptables Nous allons maintenant interdire les connexions sur le port 22 (SSH). Pour cela, il faut interdire les paquets dans la chaîne INPUT sur le port 22 : # iptables -A INPUT -p tcp --dport 22 -j DROP Demandez maintenant à votre voisin d essayer de se connecter en SSH sur votre machine. Question 1 Nous avons ici utilisé l action DROP. Vous pouvez constater que la connexion est bien refusée mais que le client SSH met un certain temps à s en apercevoir. Pourquoi? Comment changer ce comportement? 2.2 Priorité des règles Un même paquet peut correspondre à plusieurs règles de filtrage, éventuellement contradictoires : Netfilter applique les règles dans l ordre et choisit systématiquement la première règle correspondant au paquet. Afin de tester ce comportement, rajoutons quelques paramètres de filtrage disponibles : --source IP[/netmask] correspond à l adresse source du paquet (soit de la forme 192.168.0.3 pour une machine unique, soit de la forme 192.168.0.0/24 pour tout le sous-réseau correspondant) ; --destination IP[/netmask] correspond à l adresse destination du paquet ; --sport PORT correspond au port source du paquet ; --dport PORT correspond au port destination du paquet. Question 2 Montrez sur un exemple que l ordre des règles compte. Pour modifier le filtrage, vous aurez besoin de supprimer des règles et d en ajouter à des endroits spécifique : référez-vous au manuel d iptables. Question 3 Mettez en place un jeu de règles autorisant le SSH uniquement depuis la machine de votre voisin. 2.3 Modules iptables Iptables est extensible par un système de modules. Par exemple, le module multiport permet de créer des règles correspondant à plusieurs ports : 3

iptables -A INPUT -m multiport -p tcp --dports port1,port2,port3 -j... Vous trouverez une description des modules existant dans le manuel d iptables, dans la section MATCH EXTENSIONS Question 4 Créez une règle avec multiport autorisant à la fois SSH et Telnet. 3 Suivi de connexion (conntrack) 3.1 Principe Netfilter permet le suivi des connexions via le module state (firewall stateful). Ce module permet d identifier les nouveaux flux, les flux établis et les flux liés à un autre flux. Ce suivi de connexion permet d affiner le filtrage de certains protocoles. Le module state définit plusieurs états possibles pour les flux réseaux : NEW : c est une nouvelle connexion ESTABLISHED : on connaît déjà cette connexion (elle est passée par l état NEW il y a peu de temps) RELATED : plus subtil, cela permet d identifier une connexion qui serait liée ou dépendante d une connexion déjà ESTABLISHED INVALID : tout ce qui n est pas correctement identifiable (paquets corrompus etc...) Voici un exemple, le protocole FTP en mode actif. Le protocole FTP utilise 2 connexions TCP pour communiquer : l une sert à envoyer les commandes du client vers le serveur (connexion de commandes) l autre sert à envoyer les données du serveur vers le client (connexion de données). Dans son fonctionnement standard, un client FTP se connecte sur le port 21 du serveur FTP. Le client indique ensuite au serveur sur quel port il (le client) recevra les données. Le serveur FTP va alors établir une connexion depuis son port 20 vers le port ( 1023) indiqué par le client. Si le client est protégé par un firewall stateless, l administrateur devrait donc autoriser toutes les connexions venant de l extérieur vers tous les ports supérieurs à 1023 du client, ce qui perdrait tout l intérêt du firewall. Le suivi de connexion permet alors de détecter qu une connexion FTP est établie (au moment où le client se connecte sur le port 21 du serveur) et ouvrir de manière dynamique le filtrage pour cette connexion spécifique vers le port que le client aura choisi. 3.2 Mise en pratique Effacez toutes les règles précédentes. Chargez ensuite le module noyau qui permet de gérer le suivi de connexion FTP : # modprobe ip_conntrack_ftp 4

Commencez par tout interdire : # iptables -A INPUT -j DROP Vérifiez que les connexions FTP depuis votre machine en mode FTP actif ne fonctionnent pas (utilisez une adresse IP et non un nom DNS dans la ligne de commande, le DNS n est pas résolu puisque tous les paquets sont bloqués) : # ftp?.?.?.? Ça ne marche pas car on DROP tous les paquets entrants pour le moment. Acceptons maintenant les paquets provenant d un serveur FTP dans le cas d une connexion préalablement établie avec notre client FTP : # iptables -I INPUT 1 -p tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT # ftp?.?.?.? Cette fois, la connexion fonctionne. La connexion de commandes sur le port 21 est bien fonctionnelle. Une fois connecté, essayez de faire ls. La connexion se bloque. En effet, la commande ls en FTP utilise la connexion de données pour transmettre son résultat. Hors pour le moment, notre firewall bloque ces connexions. Question 5 Autorisez les transferts de données en FTP depuis le serveur vers votre machine. Pour cela, il faudra autoriser les connexions provenant du port 20 du serveur FTP et qui sont liées à la connexion de commandes qui a été initiée juste avant par notre machine. Pour tester, vérifiez que la commande ls fonctionne bien maintenant (il faut relancer la session FTP entièrement pour être sur que le suivi de connexions est bien à jour). 4 Bonus : Shorewall 4.1 Présentation Vous avez pu vous rendre compte de la complexité du réglage manuel du pare-feu. En particulier, la lecture des règles existantes ou la vérification de leur cohérence peut présenter des problèmes. La maintenance d une telle solution est donc complexe dans un environnement de production : les règles changent souvent et demandent une inspection régulière. De nombreuses solutions ont été développées pour faciliter la gestion des règles iptables. Nous allons ici utiliser shorewall. Shorewall n est pas un démon et repose entièrement sur iptables. Il consiste en une série de scripts permettant de simplifier la configuration. Installez shorewall avec la commande yum install shorewall 4.2 Configuration Vous pouvez inspecter les fichiers de configuration dans le répertoire /etc/shorewall. Les fichiers de configuration sont tous documentés, comme vous pourrez le remarquer : zones : définit des zones (pour donner des noms logiques aux interfaces utilisées, par exemple Internet, dmz...) interfaces : correspondance interface / zone 5

rules : contient la liste des exceptions policy : politiques par défaut pour certaines interfaces masq : traduction d adresses pour un réseau entier nat : translation d adresses pour un hôte particulier blacklist : pour bloquer spécifiquement certains trafics Question 6 Refaites le travail de la partie précédente, mais en utilisant cette fois-ci shorewall. De nouvelles possibilités pourront êtres explorées. Vous verrez que la configuration est beaucoup plus rapide... 6