1 1 Rappel séances précédentes Les adresses la pile protocolaire l'encapsulation hub/switch/routeur
2 Rappel À l'origine: la notion des classes d'adresses Classes d'adresse IP Classe 1er octet de 0 à 127 de 128 à 191 de 192 à 223 de 224 à 239 E le reste Exemple adresse masque par défaut adresses particulières : adresse IP de loopback (localhost) adresse de diffusion (limitée)
3 Rappel Exemple d'adresses pour 1 station adresse du réseau / à-254 adresses des hôtes sur le réseau adresse de diffusion (dirigée) sur le réseau Mask Mask DNS FAI
4 Rappel Adresses IP privées (10/8 prefix) (172.16/12 prefix) ( /16 prefix) Wikipedia RFC sur les adresses Address Allocation for Private Internets Special-Use Ipv4 Addresses Variable Length Subnet Table For Ipv4
5 TCP Ethernet TP, coax, FO IP ARP ICMP UDP FTPSSHTelnetSMTPPOPHTTPHTTPSDNS Syslogetc... Rappel Pile Protocolaire n° de Frame Type (type de trame) de port n° n° /etc/services de protocole n° /etc/protocols
6 Rappel Protocoles dialogue assuré entre 2 machines directement connectés si utilisation des mêmes protocoles par sous-système câble 1 Protocole niveau 1 Protocole niveau 2 (ex: ethernet) Protocole niveau 3 (ex: IP) Protocoles niveau 4 (ex: TCP, UDP) Protocoles niveau 7 (ex: FTP,HTTP,POP,SMTP,SSH,DNS,etc) Système BSystème A
7 ETH IP TCP Rappel Encapsulation connexion directe = câble croisé HTTP TCP HTTP IP TCP HTTP Transfert TCP: PortS ex:1030 PortD=80 proto=06 (TCP) MACD FT=0800 (IP)
8 TCP Rappel connexion directe = câble croisé Désencapsulation HTTP TCP: PortS ex:1030 PortD=80 @ MACD ETH HTTP IP FT=0800 (IP) IP proto=06 (TCP) TCP
9 Rappel Équipement réseau: Câble connexion directe = câble croisé Câble: attention longueur max + qualité sinon atténuation affaiblissement = déformation du signal = erreur d'interprétation
10 Rappel Équipement réseau: HUB (niveau bit) Si distance trop longue HUB = Répéteur Remet en forme le signal sur tous les ports Si A émet à B, C et D reçoivent
11 Rappel Équipement réseau: SWITCH (niveau trame) 1 Trop de machines sur un réseau = un réseau encombré Switch = Commutateur Relaye les trames uniquement vers les destinataires concernés Si A émet à B, C et D ne reçoivent rien 2 (MAC)
12 Rappel Équipement réseau: Routeur (niveau paquet) Pour sortir du réseau Routeur Route les paquets vers les réseaux destinataires. switch (IP)
13 4ème atelier réseau Les pare-feux
14 Les pare-feux sont conçus pour isoler votre réseau privé de l'Internet. Privé Internet
15 Le pare-feu a pour objectif de bloquer tout le trafic sauf celui désiré. Privé Internet
16 Où trouve-t-on les pare-feux ?... dans les routeurs ➢ firewall du réseau privé... dans les stations de travail ➢ firewall personnel
17 Fontionnalités dans un pare-feu: 1- le routage mon réseau autres réseaux interface réseau 1 interface réseau 2 Routage
18 Fontionnalités dans un pare-feu: 1- le routage = Couche 3 mon réseau autres réseaux interface réseau 1 interface réseau 2 Routage Liaison: différents types selon l'accès (Ethenet, PPP, etc ) station ou serveur routeur 2 MAC/Eth 1 Physique 3 Réseau (IP) 4 Transport TCP/UDP 7 Application (http,ftp,etc) 2 MAC/Eth 1 Physique 2 Liaison 3 Réseau (IP) routeur
19 Fontionnalités dans un pare-feu: 2- le filtrage mon réseau autres réseaux filtre les paquets en entrée ou en sortie, également en interne Filtrage
20 Fontionnalités dans un pare-feu: 3- la translation d'adresse(s) mon réseau autres officielle(s) NAT Table de translation privées = RFC 1918
21 Sous GNU/Linux NETFILTER Le Pare-Feu iptables Les commandes firestarter fwbuilder guarddog shorewall gnome-lokkit Les logiciels
22 NetFilter dispose de 4 tables Chaque table contient des chaînes FILTER INPUT OUTPUT FORWARD NETFILTER PREROUTING POSTROUTING OUTPUT NAT PREROUTING OUTPUT INPUT FORWARD POSTROUTING MANGLERAW PREROUTIN G OUTPUT
23 Principe de NetFilter Processus locaux PREROUTING POSTROUTIN G FORWARD INPUTOUTPUT NetFilter, depuis noyau 2.4
24 Table FILTER Rôle des chaînes FILTER INPUT OUTPUT FORWARD Chaîne INPUT décide du sort entrant localement dans l'hôte Chaîne OUPUT filtrage des paquets émis par l'hôte Chaîne FORWARD concerne les paquets traversant l'hôte Processus locaux PRE ROUTING POST ROUTING FORWAR D INPUTOUTPUT table par défaut (si non précisée dans une commande iptables)
25 Table NAT Rôle des chaînes NAT PREROUTING POSTROUTING OUTPUT Chaîne PREROUTING assure le DNAT Chaîne POSTROUTING assure le SNAT Chaîne OUTPUT modifie la destination de paquets générés localement (par la machine elle même) Processus locaux PRE ROUTING POST ROUTING FORWAR D INPUTOUTPUT
26 Table MANGLE Rôle des chaînes MANGLE PREROUTING OUTPUT INPUT FORWARD POSTROUTIN G Chaîne PREROUTING marquage des paquets entrants Chaîne OUPUT marquage des paquets générés localement Processus locaux PRE ROUTING POST ROUTING FORWAR D INPUTOUTPUT kernel kernel >
27 Les chaînes sont des ensembles de règles qui permettent d'identifier les paquets. Les paquets doivent correspondre à des critères pour être identifiés. les adresses IP sources / destinataires adresse d'hôte ou de réseau les ports sources / destinataires les protocoles Transport TCP/UDP Applicatifs FTP,HTTP,SSH, etc.. Gestion d'IP: ICMP
28 Les cibles sont des «aiguillages» pour diriger les paquets qui correspondent aux critères. ACCEPT DROP LOG Les paquets correspondants aux critères sont acceptés Les paquets correspondants aux critères sont rejetés (dans un trou noir). Aucune réponse n'est donnée. Les paquets correspondants aux critères sont tracés (syslog) Cibles préconstruites:
29 Les autres cibles dépendent de leur contexte REJECT RETURN REDIRECT SNAT DNAT MASQUERADE..... Les paquets correspondants aux critères sont rejetés et envoi d'un message ICMP..... Autres Cibles: Ch. de l'adresse destination modification du paquet (masquage d' adresse) Changement de l'adresse source
30 IPTABLES L'outil iptables est l'interface utilisateur de NetFilter. man iptables
31 Les tables iptables : Sélectionner une table: iptables [-t table] -[AD] chain rule-specification [options] iptables [-t table] -I chain [rulenum] rule-specification [options] iptables [-t table] -R chain rulenum rule-specification [options] iptables [-t table] -D chain rulenum [options] iptables [-t table] -[LFZ] [chain] [options] iptables [-t table] -N chain iptables [-t table] -X [chain] iptables [-t table] -P chain target [options] iptables [-t table] -E old-chain-name new-chain-name Exemple: iptables -t nom_table -Commande iptables -t nat -F Table Filter par défaut (si non précisée dans une commande iptables)
32 Les commandes iptables : Ajouter Insérer Supprimer Modifier Afficher.... Les commandes -A, --append chain rule-specification -D, --delete chain rule-specification -D, --delete chain rulenum -I, --insert chain [rulenum] rule-specification -R, --replace chain rulenum rule-specification -L, --list [chain] -F, --flush [chain] -N, --new-chain chain -X, --delete-chain [chain] -P, --policy chain target -E, --rename-chain old-chain new-chain -h Help. Exemple: iptables -t nom_table -Commande iptables -A INPUT -i lo -j ACCEPT
33 Les paramètres iptables définissent les critères pour identifier un paquet : Les paramètres -p, --protocol [!] protocol -s, --source [!] address[/mask] -d, --destination [!] address[/mask] -j, --jump target -g, --goto chain -i, --in-interface [!] name -o, --out-interface [!] name [!] -f, --fragment -c, --set-counters PKTS BYTES Exemple: iptables -t nom_table -Commande -paramètres iptables -A INPUT -i lo -j ACCEPT
34 # Vider les chaînes : iptables -F # Supprimer d'éventuelles chaînes personnelles : iptables -X # Pointer par défaut sur DROP iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP # Nous faisons de même avec toutes les autres tables, Un bon tuto:
# Nous faisons de même avec toutes les autres tables, # à savoir "nat" et "mangle", mais en les faisant pointer # par défaut sur ACCEPT. Cela ne pose pas de problèmes # puisque tout est bloqué au niveau "filter" iptables -t nat -F iptables -t nat -X iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT iptables -t nat -P OUTPUT ACCEPT iptables -t mangle -F iptables -t mangle -X iptables -t mangle -P PREROUTING ACCEPT iptables -t mangle -P INPUT ACCEPT iptables -t mangle -P OUTPUT ACCEPT iptables -t mangle -P FORWARD ACCEPT iptables -t mangle -P POSTROUTING ACCEPT
36 Exemple de logiciel graphique pour un Firewall personnel Firestarter
37 Firestarter préférences
38 Exemple de pare-feu, la distribution IPCop
39 FI N