Un réseau interconnecte différents systèmes
Le web est un réseau de réseau (amalgame Internet et internet)
Un réseau local est souvent appelé Intranet ou LAN (Local Aera Network)
d'autres topologies réseau existent encore
| "Couche 7" | Application | HTTP, FTP, DNS |
|---|---|---|
| Couche 4 | Transport | TCP, UDP, RTP, SCTP, "ICMP" |
| Couche 3 | Network | Pour TCP/IP il s'agit d'IP (Internet Protocol) NB : ARP ne nécessite pas IP |
| Couche 2 | Data Link | Ethernet, Token ring, etc. |
| Couche 1 | Physical | média physique "les câbles" |
Un paquet contient les informations suivantes
les adresses réservées aux LAN sont banies de l'Internet
faire provenir le paquet de l'adresse publique (celle donnée par l'ISP) et mapper au niveau du réseau local
192.168.0.2 veut contacter 192.168.0.1
Destination Passerelle Genmask Indic Metric Ref Use Iface
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
le masque indique que les adreses en 192.168.0.x sont sur le réseau local donc le paquet est envoyé sur le réseau local (IP ARP, cf Google)
192.168.0.2 veut contacter 195.238.2.21
Destination Passerelle Genmask Indic Metric Ref Use Iface
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
L'adresse 195.238.2.21 ne correspond par à 192.168.0.0 masque 255.255.255.0 mais 0.0.0.0 masque 0.0.0.0 oui, tout ce qui est différent de 192.168.0.x
Le paquet est donc envoyé vers le Gateway par défaut, 192.168.0.1, qui avec le NAT va s'occuper d'établir la communication entre les deux.
un abonné Skynet accède à www.google.fr
après requête DNS (le lien IP - nom) tcpdump affiche
IP 80.200.124.19.32915 > 216.239.59.104.www ##la requete
IP 216.239.59.104.www > 80.200.124.19.32915 ##la réponse
où www est le port 80
le client contacte donc le serveur et attend la réponse sur un port déterminé
aléatoirement (entre 1024 et 65535)
Le Three Way Handshake, SYN, ACK, RST etc ... consultez notre ami Google ;)
La petite pause pour les questions sur ce qui vient d'être dit
On ne fait pas de distinction entre un paquet faisant partie d'une connexion déjà établie ou non
Il ne peut dire qu'une seule chose,
Problème : Comment autoriser un retour de requête http par exemple ? Un client demande à voir un site web, la demande passe la réponse, elle non
Ainsi la réponse à notre requête sur un serveur http nous parvient, on voit la page demandée.
Problème : si on autorise tous les retours relatifs à une connexion établie on se retrouve avec une passoire car on fait totalement confiance aux users
Problème : quand une application est autorisée, elle peut faire et n'importe quoi, un service Windows indispensable à la connexion au web peut ainsi envoyer des infos de license, pareil pour un soft contenant un spyware
Il se trouve dans le noyau, donc si un paquet n'est pas autorisé, il n'ira jamais interférer avec le système (rappel, le noyau est entre le matériel et le système d'exploitation)
Chaque chaîne est parcourue séquentiellement
tant que le paquet ne match pas une règle, on continue les tests
Pour finir, si aucune règle ne match le paquet, on applique la
Default Policy dont l'action est DROP, ACCEPT, QUEUE ou RETURN
si la règle match, on jump
exemple :
iptables -P INPUT -j DROP
Policy (-P) pour la chaîne INPUT , action DROP
si aucune règle ne match on DROP le paquet entrant
tous les paquets, quel que soit leur chemin, peuvent être marqués et modifiés
Application :limitation du traffic, quota et encore bien d'autres choses
iptables -A [chaine] -P [police] ##Police par défaut pour [chaine]
iptables -A [chaine] -p [protocol] --dport [port] -j [police]
iptables -A INPUT -p tcp --dport 631 -j DROP
##empeche quiconque de se connecter au serveur d'impression si celui ci accepte tout
##mais ceci bloque le traffic local, on va donc DROP par défaut et autoriser le local
iptables -P INPUT -j DROP
iptables -P INPUT -p tcp --dport 631 --source 192.168.0.0/24 -j ACCEPT
##pour un serveur web d'adresse 192.168.0.4 derrière le firewall
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 192.168.0.4:80
iptables -A FORWARD -p tcp --dport 80 --destination 192.168.0.4 -j ACCEPT