Vous êtes ici : Accueil Glossaire / les ports du protocole IP et la sécurité

Bienvenue au port 

Numéro de port et de protocole IP

Il existe des milliers de ports (Codés sur16 bits, il y a donc 65536 possibilités), pour cela une assignation standard a été mise au point, afin d'aider à la configuration des réseaux.
La combinaison adresse IP + n° de port s'appelle socket.

Le document RFC1700 (Request For Comments) traite de la désignation des numéros de port.

  • Les ports de 0 à1023, contrôlés et assignés par l'IANA, sont dénommés Well Known Ports.
  • Les ports 1024 à 49151 sont appelés ports enregistrés (Registered Ports)
  • Les ports 49152 à 65535 sont les ports dynamiques ou privés.

Un serveur (ordinateur que l'on contacte pour des services tels que FTP, Telnet, ...) possède des numéros de port fixes auxquels l'administrateur réseau a associé des services. Les ports d'un serveur sont généralement compris entre 0 et 1023.

Côté du client, le port est choisi aléatoirement parmi ceux disponibles par le système d'exploitation. Les ports du client ne seront jamais compris entre 0 et 1023. Cet intervalle de valeurs représentant des ports connus.

Le tableau ci-dessous, est un condensé des numéros de protocole et des numéros de port les plus utilisés.

  • Le numéro de protocole identifie le protocole de la couche au-dessus de IP à laquelle les données doivent être passées.

exemple TCP protocole 6

Ethernet
IP
TCP (6)
  • Après que IP a passé les données au protocole de transport (TCP ou UDP), ce dernier les transmet aux processus d'application appropriés qui sont eux identifiés par des numéros de port.

exemple Telnet port 23

Ethernet
IP
TCP (6)
TELNET (23)

 

N° couche ISO Protocole  N° de protocole
ou
N° de port
3

IP

4

4 (transport) UDP 17
4 (transport) TCP 6
3 ICMP 1
3 IGMP 2
3 RSVP 46
3 ESP 50
3 AH 51
3 GRE

47

3 EGP 8
3 IGP 9
3 IGRP 88
3 OSPF

89

3 BGP 179
3 BOOTP

67 / 68

4 XOT

1998

5 LDAP

389

5 DNS

53

7 (application) SNMP

161 / 162

7 (application) TACACS

65

7 (application) TFTP

69

7 (application) NTP

123

7 (application) HTTPS

443

7 (application) SSH

22

7 (application) FTP

20 / 21

7 (application) Telnet

23

7 (application) SMTP

25

7 (application) IMAP4

143

7 (application) POP3

110

7 (application) HTTP

80

7 (application) TACACS

65

7 (application) RTSP 554
7 (application) Printer 515
7 (application) IRC 194
7 (application) LotusNotes 1352
7 (application) pcanywhere 5361 / 5362
7 (application) AOL 5190
7 (application) H323 1720

  • CERTA        
    Centre d'Expertise gouvernemental de Réponse et de Traitement des Attaques  informatiques

  • La sécurité et les protocoles

IP V4
Le problème le plus connu concerne l'espace d'adressage. Les adresses IP sont actuellement stockées sur 32 bits ce qui permet environ plus de quatre milliards d'adresses, ce qui était suffisant lors de sa mise en place. Ce n’est plus le cas maintenant.
Un autre problème est celui posé par l'explosion de la taille des tables de routage dans l'Internet. Le routage, dans un très grand réseau, doit être hiérarchique avec une profondeur d'autant plus importante que le réseau est grand. Le routage IP n'est hiérarchique qu'à trois niveaux : réseau, sous-réseau et machine.
IPv4 ne permet pas d'indiquer de façon pratique le type de données transportées (TOS ou Type Of Service dans IPv4).
Enfin, IPv4 ne fournit pas de mécanismes de sécurité comme l'authentification des paquets, leur intégrité ou leur confidentialité. Il a toujours été considéré que ces techniques étaient de la responsabilité des applications elles-mêmes.

IP V6
Il existe deux mécanismes de sécurité dans IPv6. Le premier est le mécanisme de l'en-tête d'authentification; le second, une technique d'encapsulation affectée à la sécurité appelée ESP (Encapsulating Security Payload) permettant l'intégrité, l'authentification et la confidentialité.
L'en-tête d'authentification IPv6 cherche à rendre possible l'intégrité et l'authentification des datagrammes IPv6. ESP (ou l'en-tête de confidentialité) pour IPv6 permet d'apporter l'intégrité, l'authentification et la confidentialité dans les datagrammes IPv6.
Il est possible de combiner à la fois ces deux mécanismes d’IPv6 afin d'obtenir un meilleur niveau de sécurité.

ICMP
Protocole utilisé pour gérer les informations contrôlant le trafic IP, qui permet notamment aux routeurs d'envoyer des messages de contrôle ou d'erreur vers d'autres ordinateurs ou routeurs connectés.
Le protocole ICMP supporte les paquets IP contenant des messages d'erreur, de contrôle et d'information. Il ne permet pas de corriger ces erreurs, mais fait part de celles-ci aux protocoles des couches voisines. Utilisé par tous les routeurs, il a pour but de fournir à une autre couche IP, ou à une couche supérieure de protocole (TCP ou UDP), le compte-rendu d'une erreur détectée dans un routeur. Les principaux types de messages d'erreur ICMP sont : destination inconnue (le datagramme ne peut pas être acheminé), temps expiré (la durée de vie est à zéro) et reroutage (indication de changement de route).

IGMP

RSVP

DHCP

BOOTP

TDP

ESP
Le protocole ESP peut assurer, au choix, un ou plusieurs des services suivants :

  • confidentialité des données et protection partielle contre l'analyse du trafic si l'on utilise le mode tunnel ;
  • intégrité des données en mode non connecté et authentification de l'origine des données, protection partielle contre le rejeu.

Contrairement au protocole AH, où l'on se contentait d'ajouter un en-tête supplémentaire au paquet IP, le protocole ESP fonctionne suivant le principe de l'encapsulation : les données originales sont chiffrées puis encapsulées.

AH
Le protocole AH est conçu pour assurer l'intégrité en mode non connecté et l'authentification de l'origine des datagrammes IP sans chiffrement des données (pas de confidentialité).
Son principe est d'adjoindre au datagramme IP classique un champ supplémentaire permettant à la réception de vérifier l'authenticité des données incluses dans le datagramme. Ce bloc de données est appelé « valeur de vérification d'intégrité » (Intégrity Check Value, ICV). La protection contre le rejeu se fait grâce à un numéro de séquence.
Il est à noter que l’utilisation du protocole AH interdit l’utilisation des mécanismes de translation d’adresses. En effet, le contenu de la trame n’étant pas chiffré, le protocole AH ajoute une signature numérique au paquet IP sortant : un mécanisme de translation d’adresses réécrivant l’adresse source fausse systématiquement le calcul de vérification de la signature numérique effectuée à l’autre bout du tunnel VPN.

BGP
Protocole de routage externe, utilisé pour la connectivité entre systèmes autonomes, qui permet d'échanger des informations entre des réseaux ayant des politiques de routage différentes, et notamment d'assurer, par l'utilisation de vecteurs de chemin, une protection contre les boucles de routage.
Internet fut d'abord administré comme un réseau unifié, mais en raison de sa forte croissance, il fut nécessaire d'adopter une structure hiérarchique (arborescence) et il fut découpé en plusieurs systèmes autonomes. L'ensemble des réseaux (et des routeurs) partageant la même politique de routage, utilisant un protocole de routage interne, forme un système autonome. Les informations de routage entre systèmes autonomes (AS) sont échangées par un protocole de routage externe, tel le protocole BGP. Le protocole BGP, qui doit remplacer le protocole EGP (External Gateway Protocol), fait partie des protocoles à vecteurs de chemin, qui gèrent le problème des boucles entre systèmes autonomes, en les enlevant automatiquement des tables de routage.

RIP

GRE

EIGRP

HSRP
Le protocole HSRP (Hot Standby Routing Protocol) est un protocole de routage implémenté dans les routeurs CISCO pour la gestion des liens de secours. HSRP sert à augmenter la tolérance de panne sur le réseau.
D'après CISCO, HSRP n'est pas un protocole sécurisé. Il n'est pas activé par défaut.
Dans ce protocole, la clé d'authentification des communications entre routeurs est diffusée en clair sur le réseau, et permet à une machine falsifiant l'adresse IP d'un des routeurs d'entraîner un mauvais routage des paquets et des conflits de priorité entre les routeurs.
Cette vulnérabilité permet entre autre chose d'effectuer un déni de service, ou une « tempête » sur le réseau. Des outils exploitants de cette vulnérabilité ont été diffusés sur l'Internet.

EGP

IGRP

OSPF
Compte tenu de l’explosion du nombre de réseaux et de la difficulté à maintenir de grandes tables de routage IP, des mécanismes de routage dynamiques ont été mis au point. Le premier protocole de routage IP dynamique RIP a été rapidement abandonné car souffrant de nombreuses limitations. L’IETF a proposé le protocole OSPF qui tend à s’étendre dans tous les grands réseaux d’entreprise
OSPF est un protocole de routage dynamique présentant deux caractéristiques essentielles :

  • il s’agit d’un protocole ouvert, son fonctionnement peut être connu de tous ;
  • il utilise l’algorithme SPF (Shortest Path First) afin d’élire la meilleure route vers une destination donnée.

UDP

RTCP

RAS

RTP

SNMP
Le protocole SNMP (Simple Network Management Protocol) est un protocol utilisé pour surveiller et gérer les ordinateurs sur un réseau. Plusieurs failles de sécurité liées à ce protocole ont été découverts et annoncées par des organismes de sécurité. Un certain nombre d’outils utilisent ces failles sous la forme d'attaques par déni de service, en vue de causer un redémarrage de l'équipement ou même de gagner l'accès privilégié.

TACACS+
Le protocole TACACS+ est la dernière version du protocole TACACS mis au point par la société CISCO. Ce protocole utilise la couche de transport TCP et gère séparément les trois fonctions AAA (les implémentations du protocole TACACS+ ne mettent pas toutes en œuvre les trois mécanismes)
Le protocole TACACS+ utilise la notion de session pour ses communications entre le client et le serveur. Une session ne contient qu’un échange qui peut être un échange d’authentification, d’autorisation, ou de rapports. Les échanges TACACS+ peuvent éventuellement être chiffrés (l’identifiant des sessions est alors utilisé pour chiffrer l’intégralité des paquets)

TFTP
Le protocole TFTP est typiquement utilisé pour démarrer des stations de travail sans disque ou des dispositifs de réseau comme des routeurs. TFTP est un protocole de type UDP qui ne fournit qu’une sécurité très limitée. Un serveur TFTP mal configuré peut permettre :

  • le remplacement de fichiers de configuration (ex : fichier « /etc/passwd » : le fichier des noms d’utilisateurs) sur le serveur TFTP,
  • le remplacement de fichiers de configuration de routeurs (souvent de la forme nom_du_routeur.cfg)

NTP

HTTPS

SSH
SSH est un équivalent sécurisé par chiffrement des protocoles standard Telnet, rlogin, rsh et des commandes rcp. Le client et le serveur SSH chiffrent tous deux les sessions au moyen d’un système cryptographique à clé publique.
Les techniques mises en œuvre dans SSH font que ce mécanisme d’accès interactif et sécurisé à un système distant doit impérativement remplacer l’ensemble des protocoles standard sur tout système dont on cherche à protéger les ressources.
Il est à noter que si ce produit est aujourd’hui commercialisé, ses spécifications publiques ont permis le développement de nombreux logiciels client/serveur compatibles avec SSH ainsi qu’une version OpenSSH développée dans le cadre du projet de système d’exploitation OpenBSD totalement compatible SSH.

RADIUS
Le standard RADIUS est basé sur un ensemble d’attributs relatifs aux utilisateurs. Ils sont tous stockés dans la base RADIUS d’un serveur d’authentification. Au cours d’une connexion, un échange d’informations a lieu entre le serveur et le client. Le standard RADIUS propose un certain nombre d’attributs devant être mis en œuvre, mais beaucoup d’implémentations spécifiques du protocole apportent leur propre jeu d’attributs.
Le protocole RADIUS permet une authentification utilisateur/mot de passe ou utilisateur/challenge/réponse ou les deux, qui peut être configurée spécifiquement pour chaque utilisateur. La vérification est réalisée par le serveur RADIUS, qui retourne alors un “authentication reply” au client qui a émis la requête. L’autorisation, elle, est réalisée par l’équipement coté client, en utilisant les informations sur l’utilisateur retournées par le serveur.
Le protocole RADIUS est basé sur un échange de paquets utilisant le protocole UDP. Il existe 4 types de paquets UDP différents :

  • « Access-Request » ;
  • « Access-Accept » ;
  • « Access-Reject » ;
  • « Access-Challenge ».

Il est important de noter que contrairement au protocole TACACS +, il n’est pas possible de chiffrer l’intégralité des paquets RADIUS (chiffrement du mot de passe uniquement).

ISAKMP

RTSP

TCP

XOT

LDAP
Le protocole LDAP est un protocole d'annuaire standard et extensible. Il fournit :

  • le protocole permettant d'accéder à l'information contenue dans l'annuaire ;
  • un modèle d'information définissant le type de données contenues dans l'annuaire ;
  • un modèle de nommage définissant comment l'information est organisée et référencée ;
  • un modèle fonctionnel qui définit comment on accède à l’information ;
  • un modèle de sécurité qui définit comment données et accès sont protégés ;
  • un modèle de duplication qui définit comment la base est répartie entre serveurs ;
  • des APIs pour développer des applications clientes ;
  • LDIF, un format d'échange de données.

Le protocole définit comment s'établit la communication client-serveur. Il fournit à l'utilisateur des commandes pour se connecter ou se déconnecter, pour rechercher, comparer, créer, modifier ou effacer des entrées. Des mécanismes de chiffrement (SSL ou TLS) et d'authentification (SASL (Simple Authentification and Security Layer)), couplés à des mécanismes de règles d'accès (ACL) permettent de protéger les transactions et l'accès aux données.
La plupart des logiciels serveurs LDAP proposent également un protocole de communication serveur-serveur permettant à plusieurs serveurs d'échanger leur contenu et de le synchroniser (replication service) ou de créer entre eux des liens permettant ainsi de relier des annuaires les uns aux autres (referral service).

LDAP propose plusieurs choix d'authentification :

  • anonymous authentification - correspond à un accès au serveur sans authentification, qui permet uniquement de consulter les données accessibles en lecture pour tous ;
  • root DN Authentication - c'est l'utilisateur privilégié. Il a accès en modification à toutes les données ;
  • mot de passe en clair - c'est la méthode classique où le mot de passe transite en clair sur le réseau ;
  • mot de passe + SSL ou TLS - la session entre le serveur et le client est chiffrée et le mot de passe ne transite plus en clair ;
  • certificats + SSL ;
  • Simple Authentification and Security Layer (SASL) - permet de faire appel des mécanismes d'authentification plus élaborés à base de clés (OTP (One Time Password), Kerberos...).

Le protocole LDAP fournit également la possibilité de définir les droits d’accès des utilisateurs sur les ressources de l’annuaire.

DNS

FTP
Le protocole FTP est l’un des protocoles les plus usités en matière de transfert de fichiers. De nombreuses vulnérabilités sont découvertes régulièrement sur les serveurs FTP (ex : vulnérabilité sur le serveur FTP Bison découverte le 17 février 2003) permettant l’utilisation des accès anonymes présents sur de nombreux systèmes pour modifier la configuration du serveur ou l’utilisation de techniques de débordement de tampon.

Telnet
Une vulnérabilité a été découverte dans la gestion des paquets TCP des services telnet et reverse telnet par le système d'exploitation Cisco IOS.
Le service telnet (port 23/tcp) est utilisé pour l'administration des équipements sous Cisco IOS.
Le service reverse telnet est utilisé pour se connecter à un équipement tiers via une connexion telnet vers un équipement Cisco. Ce service utilise les ports suivants :

  • 2001/tcp à 2999/tcp ;
  • 3001/tcp à 3099/tcp ;
  • 6001/tcp à 6999 /tcp ;
  • 7001/tcp à 7099/tcp.

La vulnérabilité peut être exploitée par l'envoi d'un paquet TCP malicieusement construit à destination du port 23 ou de l'un des ports du service reverse telnet.
Un utilisateur distant mal intentionné peut utiliser cette vulnérabilité pour provoquer un déni de service des services d'administration telnet, reverse telnet, RSH (port 514/tcp), SSH (port 22/tcp), SCP (port 22/tcp) et dans certains cas HTTP (port 80/tcp).
Les autres services (routage des paquets, protocoles de routage, ...) ne sont pas affectés. De plus, les connexions des services d'administration établies avant une attaque restent actives après celle-ci

SMTP
Les échanges de courrier entre serveurs sont en général gérés par le protocole Simple Mail Transfert Protocol. Le serveur SMTP examine l’adresse de destination du courrier et va le relayer vers un autre serveur ou va le délivrer en local, dans les deux cas après avoir modifié les entêtes.

IMAP4

POP3
( Post Office Protocol) est un protocole client-serveur, qui permet à un utilisateur d’accéder à son courrier électronique à partir d’une machine cliente, alors que le courrier est sur un serveur distant.
Les problèmes de sécurité du protocole POP se posent sur le manque de confidentialité lors des échanges de données, telles que le mot de passe utilisé pour se connecter, ou bien le texte du courrier qui est consulté.
On tolère les connexions POP sortantes, mais pas celles entrantes. C’est le cas lorsqu’un utilisateur consulte sa messagerie (sur le serveur) depuis l’extérieur. Ici aussi se pose le problème de la confidentialité des échanges. S’il est nécessaire d’utiliser des connexions POP entrantes, on va chercher à limiter ces connexions sur un seul serveur tournant sur un seul hôte, afin de limiter la quantité d’informations qui passe, mais également le nombre de comptes clients vulnérables.

SSL
Le protocole SSL (Secured Socket Layer) a été conçu pour assurer une communication confidentielle et fiable entre deux applications et pour identifier le serveur et parfois le client. Ce protocole a été repris et légèrement modifié par l’IETF (RFC 2246) sous le nom de TLS (Transport Layer Security). Le terme SSL désigne communément les protocoles SSL version 3 ou TLS. Le protocole SSL nécessite un protocole de transport sûr (par exemple TCP) pour la transmission et la réception de données.
Le protocole est composé de deux couches. Au niveau le plus bas, juste au dessus d’un protocole de transport sûr, se trouve le SSL Record Protocol. Celui-ci est utilisé pour encapsuler d’autres protocoles de plus haut niveau tel le SSL Handshake Protocol qui permet au serveur et au client de s’authentifier et de négocier un algorithme de chiffrement et des clés cryptographiques communes avant que le protocole d’application ne reçoive son premier octet d’information.
Un protocole d’application de « niveau supérieur » peut ainsi se placer au dessus du protocole SSL de manière transparente (par exemple HTTP, FTP, TELNET,...). Le protocole SSL assure un « canal de sécurité » dont les trois propriétés principales sont :

  • d’être un canal privé : tous les messages sont chiffrés ;
  • d’être un canal authentifié : l’identité de « l’autre » peut être authentifiée en utilisant la cryptographie asymétrique ou à clé publique ;
  • d’être un canal réputé sûr : le transport du message inclut un message de vérification d’intégrité (Message Authentication Code, MAC).

HTTP