TP sur le filtrage avec iptables

Slides:



Advertisements
Présentations similaires
Module Architectures et Administration des réseaux
Advertisements

TD (issu de l’Exonet 23 – Site du CERTA)
Liste de contrôle d’accès
Routage Statique AfNOG 2003 PLAN Quest ce que le routage ? Pourquoi faire du routage sur un réseau ? PRINCIPES DU ROUTAGE IP PROTOCOLES DE ROUTAGE IP Définition.
M2: Les parefeux Université Paris II & LRI Michel de Rougemont 1.Quest ce quun parefeu ? 2.Architecture des parefeux.
Le mode transport IPSec face à netfilter un autre cheval de Troie? Yoann ALLAIN Stagiaire au Security Lab Encadrants : Olivier Courtay et Nicolas Prigent.
– NAT et PAT.
Firewall sous Linux Netfilter / iptables.
interface graphique permettant de faciliter la conception de topologies réseaux complexes Logiciel permettant de créer des machines virtuelles sur une.
DUDIN Aymeric MARINO Andrès
Vue d'ensemble Présentation multimédia : Rôle du routage dans l'infrastructure réseau Activation et configuration du service Routage et accès distant Configuration.
Firewalling et NAT sous LINUX
Cours Présenté par …………..
PARcours Individualisé de Formation (PAR.I.F.) présentation de la messagerie ICASSO.
TP de mise en oeuvre d’une PKI avec Openssl
Introduction à RRDTool
Cours n°1 Présenté par : Aurélien Baillard Aboubacar Camara Sébastien Simon Jeremy Landre Brown Ebiémi.
Projet Combien? Ma première machine : la machine Construction Ensemble G. Tisseau, J. Duma, H. Giroire, F. Le Calvez, M. Urtasun.
Représentation: Couche 7: Application Couche 6: Présentation Couche 5: Session Couche 4: Transport Couche 3: Réseau Couche 2: Liaison de données Couche.
Windows XP Professionnel
Windows XP Professionnel
1 La mesure MESURE & QUALITE De la mesure …. La mesure 2 Sommaire 1. Problématique 2. Démarche 3. Zéro défaut 4. Résolution des non-conformités.
Lexplorer de Windows XP. Lexploreur de Windows Mes disques = Tiroirs ? Lexplorer de Windows Mais, où ai-je rangé ce (fichu) fichier ? Mais quand ai-je.
Le Blog du Club ou Où trouver tout ce que vous vous demandez !
Dieu dans sa vie.
Demandes de certificats en ligne Procédure de saisie en ligne simplifiée.
Technologie Voix sur IP - Avril 2004 Présentation : Serge LAWSON.
Comprendre la construction d’un arbre phylogénétique
Système de gestion des demandes Création et consultation des billets
My VMware Gestion simplifiée des licences produits et du support
TRAQUE SUR INTERNET. Recherche classique Ne pas perdre le fil de ses recherches Gérer les favoris Sites étrangers Recherche et enregistrement dimages.
Contrôle daccès et qualité de service dans les réseaux basés sur ATM Olivier Paul.
Géo 6: Se repérer sur Terre
INF4420: Éléments de Sécurité Informatique
PLAN Qu’est ce que le routage ?
PPE : La Porte Intelligente
Pare-feu.
Chapitre 4.
PPE : La Porte Intelligente Emmanuel Cabri Thomas Meyers Charles Moreau Antoine Beck Session 2011/2012 Lycée Raynouard Académie de Nice.
CERN IT Department CH-1211 Genève 23 Switzerland t Get the most of Office 2007! Bruno Lenski, IT/OIS.
Netfilter/Iptables Introduction.
Digi_TransportWR44 Mise en Route Mode Opératoire.
Ipchains TP 1 TP 2 TP 3 Installer un serveur web sur votre poste,
Les 10 fonctions principales de votre Espace Membre Comment accéder rapidement aux fonctions importantes de votre compte ?
Progression Sécurité & réseaux TCP/IP - Cours1 : Révision réseaux
 Administration - Système windows, linux..Passerelle Internet sous linux Présenter par : Mounir GRARI 2012/2013.
Interconnexion de réseaux par des routeurs sous GNU/Linux
Les listes de contrôle d’accès
Institut Supérieur d’Informatique
Advisor Advanced IP Présentation Télémaintenance Télésurveillance.
Répartition des adresses IP
Département de physique/Infotronique
Introduction à la sécurité des interconnexions Internet
Exemples de paramètrage ACL VLAN niveau 3
Le protocole DHCP.
Mise en place de translation d’adresses NAT/PAT
JeanDo Lénard – Fondamentaux de l'Internet – Hetic –30 Janvier 2007 page 1 Fondamentaux de l'Internet (FDI) JeanDo Lénard
-7- Notions de Routage.
Ingénierie des réseaux
Olivier Allard-Jacquin version juillet 2003 GUILDE:Groupement des utilisateurs Linux du Dauphiné 1 / 37 Introduction I Rappels sur les réseaux.
Comment envoyer un en gardant les adresses de ses correspondants confidentielles !!! Diaporama manuel.
Architecture Client/Serveur
CentralWeb F. Playe1 Principes de base du routage IP Ce cours est la propriété de la société CentralWeb. Il peut être utilisé et diffusé librement.
1 1 Rappel séances précédentes Les adresses la pile protocolaire l'encapsulation hub/switch/routeur.
Gérald Masquelier Antoine Mottier Cédric Pronzato Les Firewalls.
INSIA SRT 2 IPTABLES. Netfilter ● Netfilter : module qui fournit à Linux les fonctions de – pare-feu – de traduction d'adresse – et d'historisation du.
show ip nat translations
Wireshark Capture et analyse de trames IP
Progression Sécurité & réseaux TCP/IP - Cours1 : Révision réseaux
Packet Filtering: iptables
Transcription de la présentation:

TP sur le filtrage avec iptables

Objectifs Mettre en oeuvre un ensemble de règles de filtrage sous iptables Comprendre la syntaxe iptables Organiser l’ordre des règles

Réalisation du script Mettre la politique de filtrage à DROP pour toute la table filter iptables -t filter -P INPUT DROP -t filter -P INPUT DROP iptables -t filter -P OUTPUT DROP Ici, on ne crée pas une simple règle, mais on ajoute une “politique” par défaut pour la chaîne INPUT (INPUT= le trafic à destination du firewall) En réalité, cela revient à ajouter une règle qui DROP tous les paquets après toutes les autres règles. iptables -t filter -P FORWARD DROP On indique que la règle sera ajoutée dans la table filter, mais on peut l'omettre étant donné que la table filter est choisie par défaut Et on fait pareil pour les chaines OUTPUT et FORWARD

Réalisation du script (2) Autoriser tous les flux en sortie de votre machine Deux façons de faire: 1- iptables -t filter -P OUTPUT ACCEPT = On change la politique par défaut pour OUTPUT Ou 2- iptables -A OUTPUT -j ACCEPT = On laisse tous les flux sortir en OUTPUT Exercice: Y a-t-il une différence entre les deux ? et si oui laquelle ?

MAIS !!!!! Il faut aussi accepter les paquets de réponse à nos requêtes, sinon les connexions ne pourront pas être établies -m state --state ESTABLISHED,RELATED iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT On accepte en INPUT les paquets appartenant à une connexion établie (ceux qui ont été autorisés en OUTPUT)

Réalisation du script (3) Autoriser les flux web et DNS vers votre machine iptables -A INPUT -m state --state NEW -p tcp -- dport 80 iptables -A INPUT -m state --state NEW -p tcp --dport 80 --syn -j ACCEPT --syn iptables -A INPUT -m state --state NEW -p udp -- dport 53 -j ACCEPT On fait pareil pour le DNS, sans le --syn étant donné qu’il n’y a pas de flags en UDP On vérifie aussi que seul le flag SYN est positionné (pour éviter les scans bizarres) On autorise les flux entrants pour les nouvelles connexions tcp sur le port 80

Réalisation du script (4) Créer une chaine qui log et qui drop les paquets iptables -N log_n_drop iptables -A log_n_drop -j LOG --log-prefix '[paquet rejeté] : ' iptables -A log_n_drop -j DROP On créé la chaîne log_n_drop Et on y créé deux règles, une pour logger et une pour filtrer

ATTENTION !!! Cette nouvelle chaîne créée ne sert a rien tant qu’elle n’est pas appelée depuis une autre règle avec l’action “-j log_n_drop” Pour l’instant la chaîne est créée mais pas utilisée. Comme si vous créiez une fonction en C mais que vous ne l’appeliez jamais.

Réalisation du script (5) Au lieu de droper dans le script, appelez la chaîne log_n_drop Nous n’avons aucune règle de DROP pour l’instant vu que nous dropons avec la politique par défaut. Si nous avions des règles finissant par “-j DROP” nous pourrions les remplacer par “-j log_n_drop”

Réalisation du script (6) Créer une chaîne qui interdit l’usage des adresses RFC 1918 et qui log iptables -N RFC iptables -A RFC -s 10.0.0.0/8 -j log_n_drop iptables -A RFC -s 192.168.0.0/16 -j log_n_drop iptables -A RFC -s 172.16.0.0/12 -j log_n_drop On créé la chaîne Et les règles pour chaque plage d’adresse

ATTENTION !!! Comme pour log_n_drop, cette nouvelle chaîne créée ne sert a rien tant qu’elle n’est pas appelée depuis une autre règle avec l’action “-j RFC” Pour l’instant la chaîne est créée mais pas utilisée.

Réalisation du script (6) Créer une règle qui redirige dans la chaine RFC si le paquet vient sur l’interface externe. iptables -A INPUT -i eth0 -j RFC Ainsi tout paquet venant de l’extérieur (interface eth0) avec une adresse anormale pour Internet (RFC1918) se verra rejeté.

Réalisation du script (7) Faire une règle qui nat toutes les requêtes venant de l’interne -j MASQUERADE iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE -t nat -A POSTROUTING On spécifie que l’on veut écrire dans la table nat, et non plus filter On veut nater sur l’interface externe, donc après le routage. On met en place de la nat dynamique avec la cible MASQUERADE qui transforme automatiquement l’adresse source du paquet en l’adresse de l’interface externe eth0.

Script complet #!/bin/bash iptables -X iptables -F iptables -N log_n_drop iptables -A log_n_drop -j LOG --log-prefix '[paquet rejeté] : ' iptables -A log_n_drop -j DROP iptables -N RFC iptables -A RFC -s 10.0.0.0/8 -j log_n_drop iptables -A RFC -s 192.168.0.0/16 -j log_n_drop iptables -A RFC -s 172.16.0.0/12 -j log_n_drop iptables -t filter -P INPUT DROP iptables -t filter -P OUTPUT ACCEPT iptables -t filter -P FORWARD DROP iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -i eth0 -j RFC iptables -A INPUT -m state --state NEW -p tcp --dport 80 --syn -j ACCEPT iptables -A INPUT -m state --state NEW -p udp --dport 53 -j ACCEPT iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

L’ordre des règles ? L’ordre des règles est-il important ? Oui, extrêmement. Pour deux raisons: 1- Etant donné que les règles sont parcourues une à une dans l’ordre d’écriture, il est important de vérifier qu’une règle ne “surpasse” pas une autre, par exemple 2- Vu que les règles sont passées en revue une à une dans l’ordre et qu’on s’arrête dès qu’une règle correspond, il est important de mettre en premier les règles les plus utilisées, comme ESTABLISHED et RELATED qui concerneront la majorité des paquets. iptables -A INPUT -p tcp -j ACCEPT iptables -A INPUT -p tcp --dport 80 -j DROP Ici la seconde règle ne sera jamais utilisée car la première correspondra à tout le traffic TCP et donc notamment au port 80 TCP.