• 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
- 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
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
|