Les protocoles réseaux
De PiX-Mania Wiki.
FTP (File Transfert Protocol)
Ce protocole est utilisé pour le transfert de fichier. Il utilise 2 canneaux :
- canal de controle (pour passer les commandes FTP)
- canal de données (pour transférer les données; 1 par téléchargement de fichier simultané ou par exploration du contenu)
Pour une connexion FTP simple, on utilise donc 2 connexions voir 3 :
- le controle (controle)
- l'exploration de fichier (données)
- le téléchargement d'un fichier (données)
Le protocole FTP peut fonctionner de deux manière (mode) :
- actif
- passif
... mais en fait, tout dépend de quel côté en regarde "la chose". En fait, généralement, on parle du serveur ... qui peut être "passif" ou "actif". Si l'on parle du client, alors tout est inversé !!! Dans un serveur FTP et conformément au protocole FTP, 2 canneaux sont utilisés. Le premier, le canal de controle, est initié par le client vers le serveur (le serveur doit donc avoir son port 21 ouvert). Le deuxième, le cannal de controle, peut être initié soit par le serveur, soit par le client; c'est cela qu'indique le mode de connexion "passif" ou "actif". Quand on parle du serveur (ce qui doit être le cas!) :
- actif : le serveur va initié la connexion vers le client (sur Internet, on n'utilise pas cela car le firewall du client pose beaucoup de problème)
- passif : le serveur envoie un numéro de port au client et ce dernier initie la connexion vers le serveur
Le plus intéressant est donc la connexion "passive" du serveur. Dans ce cas, il faut :
- ouvrir tout les port >=1024
- utiliser le module kernel "ip_conntrack_ftp"
Le premier choix est évidemment à oublier ... Ce n'est pas propre et pas sécurisé. Le deuxième choix est parfait. Grâce à ce module, le kernel va pouvoir laisser entrer (via une commande iptables) les connexions "related" (en relation avec une connexion ouverte). Comment ? Bo, en théorie, le serveur FTP fait de la magie et hop, le kernel ouvre le port sur lequel le client doit se connecter pour ouvrir le cannal de données.
ToIP
Le ToIP est une couche qui se situe au dessus de VoIP. C'est elle qui permet de joindre le réseau téléphonique publique qui n'est pas basé sur des adresses IP comme pour le VoIP.
Typiquement, voici les couches utilisées :
- téléphonie sur IP (ToIP)
- voix sur IP (VoIP)
- réseau (IP)
- liaison (MAC)
- physique
UDP (User Datagram Protocol)
Ce protocole est dit "stateless" et par défaut, on ne peut pas savoir si une connexion est ouverte (et si c'est la réponse qui remonte vers le client). Mais malgré cette lacune, iptables serait capable de "tracker" ces connexions et il serait possible de faire un lien entre connexion (new, established, ...).
http://www.kalamazoolinux.org/presentations/20010417/conntrack.html
