Etude de La Securite Dans La VOIP PDF
Etude de La Securite Dans La VOIP PDF
Etude de La Securite Dans La VOIP PDF
Thème
Réalisé par :
- BENCHIKH Aissa
- MECHERNENE Karima
Tout d’abord, nous remercions le Dieu, notre créateur de nous avoir donné la forces, la
Nous adressons le grand remerciement à notre encadreur Mr. Benaissa qui a proposé
le thème de ce mémoire, pour ses conseils et ses dirigés du début à la fin de ce travail.
Nous tenons également à remercier messieurs les membres de jury pour l’honneur
Finalement, nous tenons à exprimer notre profonde gratitude à nos familles qui nous
ont toujours soutenues et à tout ce qui participe de réaliser ce mémoire. Ainsi que l’ensemble
A mes très chers parents qui ont toujours été la pour moi et j’espère qu’ils trouveront
MECHERNENE Karima
TABLE DE MATIERE
INTRODUCTION ........................................................................................................................ 5
CHAPITRE I: GENERALITES SUR LA VOIP ................................................................................. 7
1. INTRODUCTION.......................................................................................................................... 8
2. DEFINITIONS ............................................................................................................................... 8
• IP (INTERNET PROTOCOL) .......................................................................................................... 8
• VOIP (VOICE OVER IP) .............................................................................................................. 8
• PABX ......................................................................................................................................... 9
3. PRINCIPE DE TRANSFORMATION DE LA VOIX EN IP ..................................................... 10
4. PROTOCOLES ............................................................................................................................ 11
1. INTRODUCTION.......................................................................................................................... 11
2. RTP (REAL-TIME TRANSFERT PROTOCOL) ................................................................................ 11
3. RTCP (REAL-TIME TRANSFERT CONTROL PROTOCOL) ............................................................. 12
4. ICMP (INTERNET CONTROL MESSAGE PROTOCOL) .................................................................. 12
5. UDP (USER DATAGRAM PROTOCOL) ........................................................................................ 12
6. PROTOCOLE DE SIGNALISATION................................................................................................. 12
• H.323 .................................................................................................................................... 14
• Famille de protocole H.323 .................................................................................................. 14
• SIP (Session Initiation Protocol) .......................................................................................... 15
• Les avantages SIP................................................................................................................. 18
• Les inconvénients SIP .......................................................................................................... 19
• IAX (Inter Asterisk eXchange) ............................................................................................ 19
7. LES CODECS .............................................................................................................................. 20
8. QUALITE DE LA VOIX ................................................................................................................. 20
• Compression du silence ........................................................................................................ 21
• Génération de bruits de confort ............................................................................................ 21
• Robustesse sur la perte de paquets ....................................................................................... 21
5. APPLICATION............................................................................................................................ 22
• CADRE DE L’APPLICATION ......................................................................................................... 22
- Identification de l’application .............................................................................................. 22
1
- Définition de l’application ................................................................................................... 22
- Caractéristiques .................................................................................................................... 22
- Contraintes ........................................................................................................................... 22
6. ASTERISK................................................................................................................................... 23
- Rôle ...................................................................................................................................... 23
- Caractéristiques .................................................................................................................... 23
- Architecture interne d'Asterisk ............................................................................................. 24
- Principales fonctions ............................................................................................................ 24
- Les APIs (Application Programming Interface) .................................................................. 24
7. CONCLUSION ............................................................................................................................ 26
CHAPITRE II: INSTALLATION ET CONFIGURATION D’ASTERISK POUR LA VOIP ......... 27
1. INTRODUCTION........................................................................................................................ 28
2. ARCHITECTURE DU RESEAU ................................................................................................ 28
3. MATERIEL REQUIS .................................................................................................................. 29
4. MISE EN PLACE D'UN PABX-IP AVEC ASTERISK .............................................................. 29
1. INSTALLATION DU SYSTEME ...................................................................................................... 29
2. INSTALLATION D’ASTERISK ...................................................................................................... 29
• Préparation à l’installation ................................................................................................... 29
• Téléchargement .................................................................................................................... 29
• Compilation et installation ................................................................................................... 30
• Démarrage du serveur Asterisk ............................................................................................ 32
• Commandes du serveur ........................................................................................................ 34
• Identification des fichiers de configuration .......................................................................... 34
3. CONFIGURATION D’ASTERISK ................................................................................................... 35
• Création des comptes utilisateurs ......................................................................................... 35
• Configuration de X-Lite ....................................................................................................... 36
4. FONCTIONNALITES .................................................................................................................... 39
a) Appel .................................................................................................................................... 39
• Configuration du Dialplan ................................................................................................ 39
b) Mise en place des boîtes vocales .......................................................................................... 41
5. CONCLUSION ............................................................................................................................ 43
2
CHAPITRE III: DIFFERENTS RISQUES ET METHODES DE SECURITE DE VOIP ............... 44
1. INTRODUCTION........................................................................................................................ 45
2. PRINCIPAUX RISQUES ............................................................................................................ 45
A. ATTAQUES SUR LE PROTOCOLE ................................................................................................. 45
1. Sniffing ................................................................................................................................. 45
2. Suivie des appels .................................................................................................................. 45
3. Injection de paquet RTP ....................................................................................................... 46
4. Le déni de service (DOS : Denial of service)....................................................................... 46
5. Détournement d’appel (Call Hijacking) ............................................................................... 48
6. L’écoute clandestine............................................................................................................. 48
B. LES VULNERABILITES DE L’INFRASTRUCTURE ........................................................................... 49
1. Faiblesses de configuration des dispositifs VoIP ................................................................. 49
2. Les téléphones IP ................................................................................................................. 50
3. Les serveurs .......................................................................................................................... 51
4. Vulnérabilités du système d’exploitation ............................................................................. 51
3. ELEMENTS DE SECURITE ...................................................................................................... 52
1. SECURISATION PROTOCOLAIRE .................................................................................................. 52
a. VoIP VPN ............................................................................................................................ 52
b. Protocole TLS ...................................................................................................................... 53
- Processus d'encapsulation ................................................................................................ 55
c. Secure RTP (SRTP) ............................................................................................................. 56
2. L’AUTHENTIFICATION ............................................................................................................... 58
3. SECURISATION DE L’APPLICATION ............................................................................................. 58
4. SECURISATION DU SYSTEME D’EXPLOITATION .......................................................................... 59
4. CONCLUSION ............................................................................................................................ 60
CHAPITRE IV: SECURISATION DE LA SOLUTION VOIP SUR ASTERISK ........................... 61
1. INTRODUCTION........................................................................................................................ 62
2. ATTAQUES SIMULEES ............................................................................................................ 62
A. ATTAQUE SUR LES MOTS DE PASSE ............................................................................................ 62
• Procédure .............................................................................................................................. 62
• Mécanismes pour sécuriser l’authentification ...................................................................... 62
- Création d’un mot de passe crypté ................................................................................... 62
3
- Outil « Fail 2 Ban » .......................................................................................................... 63
B. ATTAQUE MITM (MAN IN THE MIDDLE) (HOMME DU MILIEU)............................................... 66
• Procédure .............................................................................................................................. 66
C. ATTAQUE USURPATION D’IDENTITE........................................................................................... 71
• Procédure :............................................................................................................................ 71
- Mécanisme de sécurité ......................................................................................................... 72
D. ATTAQUE EAVEASDROPPING ..................................................................................................... 73
• Procédure .............................................................................................................................. 73
- Mécanisme de sécurité (Chiffrement des Appels) ............................................................... 75
• Chiffrement du trafic SIP avec TLS ................................................................................. 75
• Chiffrement du trafic RTP avec SRTP............................................................................. 80
E. ATTAQUE DENIS DE SERVICE (DOS) .......................................................................................... 84
• Procédure .............................................................................................................................. 84
- Autre aspect de Sécurité ....................................................................................................... 86
- Surveiller son système en lisant les logs .......................................................................... 86
- Configuration ................................................................................................................... 86
- Archivage ......................................................................................................................... 86
- Solution CDR (CALL Detail Record) dans Asterisk ....................................................... 87
- Contournement des ACLs ................................................................................................ 90
3. CONCLUSION ............................................................................................................................ 90
CONCLUSION GENERALE ................................................................................................... 91
REFERENCES ........................................................................................................................... 92
RESUME ..................................................................................................................................... 94
4
Introduction
A partir de 1995, Internet a été utilisé afin de diminuer les coûts des
communications téléphoniques longues distances nationales et internationales. Les
communications ainsi établies coûtent seulement le prix de deux communications
locales (une communication locale à chaque extrémité).
Toutefois, les enjeux de la voix sur IP sont aussi techniques et dépassent la simple idée
de la communication téléphonique à moindre coût. Du fait de la convergence voix,
données et images, il devient plus facile de gérer un support de transmission unique
pour l'ensemble des services (tout sur IP).
En effet les entreprises dépensent énormément en communication téléphonique, or
le prix des communications de la VoIP est dérisoire en comparaison. Il suffit
simplement de louer des hébergeurs pour transmettre les communications sans avoir à
payer tous les services. Cela offre donc une grande indépendance.
Le transport se faisant aussi par le biais du réseau informatique, il n’est donc pas
nécessaire de devoir mettre en place un réseau téléphonique à part. Le tout est alors
centralisé sur une même entité.
De plus, en positionnant la voix comme une application supplémentaire sur les
réseaux IP, l’entreprise ne va pas uniquement substituer un transport opérateur RTC à
un transport IP, mais simplifié la gestion de la voix, des données et vidéo par ce seul
transport.
Il est important de noter que certaines fonctions de liaison entre postes, nécessaires
dans certains cas au fonctionnement opérationnel des services utilisateurs, peuvent
présenter un risque potentiel de malveillance et de vulnérabilité.
Si la sécurité des systèmes d’information est souvent vue comme une contrainte, c’est
probablement parce que trop souvent, ses spécialistes oublient qu’après l’exposition des
vulnérabilités, leur rôle est de fournir des solutions, adaptées aux besoins des
utilisateurs, efficaces et économiques, ces solutions permettent d’encadrer de manière
sécurisée le déploiement et l’utilisation de nouvelles technologies. Cette sécurité-là est
force d’avancées, d’accompagnement, et non de blocage.
5
L’objectif principal de notre projet est basé sur le test et la simulation des
différentes attaques qui nous permet de découvrir les différentes failles de sécurité au
niveau du service de VoIP sous la plate-forme Astérisk.
Notre mémoire est structuré comme suit :
Chapitre 1 : C’est une introduction générale sur la technologie de la VOIP.
Chapitre 2 : Concerne la thématique de sécurité au niveau de la VOIP.
Chapitre 3 : Installation et configuration de la plate-forme Astérisk.
Chapitre 4 : Test et simulation des différentes attaques qui peuvent arriver sur le
système de communication par VOIP.
6
Chapitre I Généralités sur la VoIP
Chapitre I
7
Chapitre I Généralités sur la VoIP
1. Introduction
La voix sur IP (Internet Protocol) est un sujet vaste et très riche. Pour commencer il convient
de définir les concepts cachés derrière le terme générique « VoIP » (Voice Over IP).
La " VoIP " ou littéralement " voix sur IP " en Français désigne l’ensemble des technologies
permettant de communiquer oralement via un réseau utilisant le protocole IP. Le terme "VoIP" est en
général utilisé pour décrire des communications "Point à Point". Pour la diffusion de son sur IP en
multipoints, on parlera plutôt de streaming (comme les radios sur Internet, par exemple).
2. Définitions
IP (Internet Protocol)
Internet Protocol, généralement abrégé IP, est un protocole de communication de réseau
informatique, il correspond à un protocole de niveau 3 dans le modèle OSI et du modèle TCP/IP
(Figure I.1) permettant un service d'adressage unique pour l'ensemble des terminaux connectés.
Figure I.1: Modèle OSI (Open Systems Interconnection) & du modèle TCP/IP [1]
8
Chapitre I Généralités sur la VoIP
IP, les communications de PC à téléphone (PC to Phone). Dans les deux cas, le PC communicant est
appelé Softphone, terme qui insiste sur l'émulation du PC en téléphone grâce à un logiciel.
La ToIP s'inscrit dans la troisième catégorie de communications en voix sur IP, les échanges de
téléphone à téléphone. Les postes sont alors baptisés IP-Phone pour les distinguer de leurs
homologues standards. Un téléphone IP doit en effet être alimenté par courant au contraire des
téléphones classiques. Il est capable de numériser la voix pour la transmettre sur des réseaux IP et
peut, à l'inverse, rassembler les paquets entrants pour interpréter la voix reçue. La téléphonie sur IP
circule sur des réseaux privés LAN (Local Area Network), VPN (Virtual Private Network) ou
publics (Figure I.2).
Dans la littérature il arrive souvent de tomber sur le terme « ToIP » qui désigne les mêmes
technologies que la VoIP, ToIP signifie « Telephony Over IP » ou, plus prosaïquement les
techniques employées pour faire circuler la voix sur un réseau informatique dont la couche transport
est prise en charge par le protocole IP.
PABX
PABX (signifie : Private Automatic Branch eXchange) sert principalement à relier les postes
téléphoniques d'un établissement (lignes internes) avec le réseau téléphonique public (lignes
externes). Il permet en plus la mise en œuvre d'un certain nombre de fonctions, notamment :
1. Relier plus de lignes internes qu'il n'y a de lignes externes.
2. Permettre des appels entre postes internes sans passer par le réseau public.
3. Programmer des droits d'accès au réseau public pour chaque poste interne.
9
Chapitre I Généralités sur la VoIP
La bande voix (qui est un signal électrique analogique) est d'abord échantillonnée numériquement
par un convertisseur puis compressée selon une certaine norme de compression variable selon les
codecs utilisés, puis ensuite on peut éventuellement supprimer les pauses de silences observées lors
d'une conversation, pour être ensuite habillée RTP, UDP et enfin en IP. Une fois que la voix est
transformée en paquets IP, ces paquets IP identifiés et numérotés peuvent transiter sur n'importe quel
réseau IP (ADSL, Ethernet, Satellite, routeurs, switchs, PC, Wifi…etc.,) (Figure I.4)
10
Chapitre I Généralités sur la VoIP
4. Protocoles
1. Introduction
A chaque besoin son protocole, c'est en général la règle qui s'applique à tous les protocoles. Les
fournisseurs ADSL (Asymetric Digital Subscriber Line) utilisent en règle générale le protocole
MGCP (Media Gateway Control Protocol) qui est un protocole asymétrique (le serveur contrôle le
téléphone de l'abonné), alors que les logiciels de Voix sur IP utilisent en général SIP qui est un
protocole symétrique. Historiquement le protocole H.323 ayant été développé et adopté massivement
en premier lieu, il reste très présent mais sur le déclin. Ainsi on peut grossièrement identifier certains
acteurs historiques se lançant dans l'aventure VoIP au moyen de protocoles plus anciens (H323) et
les nouveaux arrivés utilisant les derniers protocoles (SIP par exemple).
11
Chapitre I Généralités sur la VoIP
peuvent être des entités en bout de liaison (terminaux) ou des entités intermédiaire de contrôle et de
gestion de communications. Leurs échanges permettent l'initiation, la négociation, l'établissement, le
maintien et la fermeture de la connexion.
Il convient de distinguer deux types de transferts pour comprendre à quoi correspond la signalisation:
- Le transfert de données brutes.
- Le transfert d'informations de contrôle.
Le transfert de données brutes concerne les échanges de données binaires d'un poste vers un autre.
L'objectif de ce transfert est de reproduire à l'identique des données en les faisant transiter par un
réseau. Par exemple, deux correspondants peuvent s'échanger un fichier audio MP3 ou des images
JPEG. De la même façon, si on considère une conversation téléphonique en cours, les intervenants
produisent des sons qui doivent être recomposés et diffusés chez leurs correspondants.
Dans tous les cas, seul l'envoi des données à de l'importance, ce qui relève d'un transport
d'informations.
Le transfert d'informations de contrôle concerne les échanges de type protocolaires exécutant une
action prédéfinie, et donc nécessairement limitée en possibilités. L'objectif de ce transfert est
d'assurer la maitrise et la gestion du flux.
Dans le cas typique d'une application de téléphonie, lorsqu'une personne en appelle une autre, elle n'a
initialement pas de "données" à lui transmettre, mais veut simplement être mise en relation avec son
correspondant. Cette mise en relation nécessite d'abord de localiser l'appelé, puis de faire sonner son
poste afin de lui signaler l'appel. Pour la localisation comme pour l'avertissement d'appel, on parle de
signalisation.
De la même manière, lorsque la sonnerie d'appel retentit dans le terminal appelé, l'appelant en est
immédiatement informé par une tonalité particulière sur son terminal téléphonique. Il s'agit là aussi
d'une information de signalisation.
Si un correspondant ne répond pas à un appel, il est probable que sa messagerie téléphonique va
s'enclencher. Cette redirection d'appel du poste appelé vers sa messagerie est également une
information de signalisation. Elle ne transporte aucune information de données brute, mais vise à
signaliser à l'appelant que l'appelé n'est pas disponible et que sa messagerie est opérationnelle.
Ces deux catégories de transfert sont liées : ce n'est que lorsque l'appelé a répondu à l'appel que
commence le transfert d'information brutes, c'est-à-dire le transport de la voix, qui doit être
13
Chapitre I Généralités sur la VoIP
fidèlement retransmise d'un correspondant à l'autre. La signalisation n'est que l'étape préalable qui a
mis en place la connexion entre les différents utilisateurs pour permettre la communication.
Dans le modèle OSI, la signalisation téléphonique correspond à une fonctionnalité de niveau 7
(applicatif). Elle n'est donc jamais assurée par des entités réseau de routage pur, comme les routeurs
ou switchs, qui fonctionnent à des couches inférieures. Des entités dédiées sont exploitées à ces fins :
il s'agit de serveurs au niveau du cœur du réseau et des terminaux (téléphone, ordinateur ou PDA par
exemple) en bordure de réseau, au niveau de l'utilisateur.
Pour être comprise et correctement interprétée de l'ensemble des entités participant aux mécanismes
de signalisation, celle-ci doit respecter une syntaxe particulière. C'est tout l'objet de la spécification
d'un protocole de signalisation.
H.323
Le protocole H.323 figure parmi les plus réputés des protocoles de signalisation pour la téléphonie
sur IP. H.323 n'est en réalité que la référence du protocole. Son nom complet est Packet-based
Multimedia Communications Systems. Comme son nom l'indique, il peut être utilisé pour tous les
réseaux à commutation de paquets, en particulier IP.
Ce protocole est spécifié pour le traitement de la signalisation des données multimédia avec de fortes
contraintes temporelles, comme la voix ou la vidéo.
Famille de protocole H.323
H.323 se dessine en 3 grandes parties (Figure I.6). En effet, pour établir une communication audio
ou vidéo sur IP, le signal doit être encodé en utilisant des codecs normalisés définis dans la norme
H.323, qui normalise aussi la signalisation à utiliser pour l’établissement d’une communication. La
voix ou la vidéo est transmise en utilisant le protocole UDP, associé aux protocoles RTP et RTCP
pour le transfert des données en temps réel.
- Parmi les codecs possibles figurent G.711, G.723 et G.729 pour les signaux audio, H.261 et
H.263 pour les signaux vidéo.
- La signalisation pour l’établissement des appels est mise en œuvre à l’aide de trois
protocoles:
H.225 RAS (Registration, Admission and Status) : La signalisation RAS est
utilisée entre les endpoints (Terminal) et le Gatekeeper qui les contrôle. RAS permet
donc au Gatekeeper de contrôler les endpoints présents dans sa zone. Autrement dis
la gestion du trafic entre le client et le serveur de communication.
14
Chapitre I Généralités sur la VoIP
15
Chapitre I Généralités sur la VoIP
16
Chapitre I Généralités sur la VoIP
Dans la négociation et l’établissement de session on trouve l’User Agent, il peut s'agir d'un téléphone
IP, d'un téléphone analogique (RTC) relié à un boîtier ATA (Analog Telephony Adapter) ou encore
d'un softphone. C'est l'équipement manipulé par l'usager. Un élément fondamental est le Registrar
Server. Il établit la correspondance entre une adresse à long terme (une URI ou un numéro de
téléphone) et une adresse à court terme, typiquement une adresse IP. [12]
Le dernier élément très important d'une architecture SIP est le serveur proxy. Il relaye les messages
des User Agent à leur destination. Sa raison d'être est que les User Agent ne peuvent pas toujours
joindre directement les autres périphériques, notamment les User Agent hors de leur réseau.
Les messages utilisés par SIP sont volontairement similaires à ceux utilisés par le HTTP. Ils sont
codés en ASCII et utilisent des codes proches de ceux du http (Figure I.8). Différents messages sont
utilisés par SIP, les plus importants étant les suivants :
· REGISTER : Le client envoie ce message à son registrar pour s'enregistrer, c'est-à-dire pour
donner son URI et son adresse IP au registrar.
· INVITE : Ce message permet à un client de demander l'établissement d'une nouvelle session. Il
peut être utilisé également en cours de communication pour modifier la session.
· ACK : Le message ACK confirme l'établissement d'une session SIP, suite à un message INVITE.
· CANCEL : Ce message annule une demande de session précédemment effectuée avec un INVITE.
· BYE : termine une session en cours. Contrairement au message CANCEL, la session SIP doit être
active pour pouvoir envoyer un message BYE. Même si son comportement peut sembler similaire à
CANCEL, une différence fondamentale existe : le message BYE représente un succès (la
communication a eu lieu et est désormais terminée) alors que CANCEL est, du point de vue de
l'usager, un échec : l'appelé n'a pas répondu à temps, l'appelant a donc raccroché, la session n'a donc
pas abouti.
· Des codes de réponse : Des codes à trois chiffres, similaires à ceux du HTTP, sont envoyés en
réponse à un précédent message. Le premier chiffre détermine le type de réponse, les deux suivants
donnent une indication plus précise.
- Classe 1xx - Réponse temporaire : la requête est en cours de traitement.
- Classe 2xx - Succès : l'action demandée a été reçue, comprise et acceptée.
- Classe 3xx - Redirection : une autre action auprès d'un autre équipement est nécessaire.
- Classe 4xx - Erreur du client : la requête est mal formée
- Classe 5xx - Erreur du serveur : le serveur n'a pas réussi à répondre correctement à la requête.
17
Chapitre I Généralités sur la VoIP
18
Chapitre I Généralités sur la VoIP
L’avantage principal d’IAX est qu’il permet à plusieurs appels d'être rassemblés dans un seul
ensemble de paquets IP, transportant des informations concernant plusieurs appels en cours. Et ça
réduit la consommation de bande passante pour un ensemble d'appels (par l'utilisation du
trunking).[8]
19
Chapitre I Généralités sur la VoIP
En bref, la simplicité, la rapidité et la légèreté d'utilisation, tout en étant très complet, du protocole
SIP sont autant d'arguments qui pourraient nous permettre d'opter pour son choix. De plus, ses
avancées en matière de sécurité des messages sont un atout important par rapport à ses concurrents.
7. Les Codecs
Codec est une abréviation pour Codeur/Décodeur. Un codec est basé sur un algorithme qui permet la
compression des données qu'on lui donne. Il s'agit d'un procédé permettant de compresser et de
décompresser un signal, de l'audio ou de la vidéo, le plus souvent en temps réel, permet une
réduction de la taille du fichier original. Le codec numérise et compresse la voix de l'émetteur, ainsi
les données numériques sont encapsulées dans des paquets IP et acheminées vers le destinataire. A
l'arrivés au destinataire, ce dernier grâce au même codec décompresse et restitue le son. Il On
distingue des codecs à pertes et codecs sans pertes. Un codec à pertes distingue les parties moins
importantes des informations et les supprime pour gagner en taille.
8. Qualité de la voix
Dans la téléphonie sur IP, les différents codecs retransmettent plus ou moins bien le signal original
(Figure I.10). Pour mesurer la qualité de la voix restituée, on parle de score MOS (Mean Opinion
Score). C'est une note comprise entre 1 et 5 et attribuée par des auditeurs jugeant de la qualité de ce
qu'ils entendent. Pour la VoIP, plusieurs codecs peuvent servir. Voici leurs détails :
G.711 : Ce codec est le premier à avoir été utilisé dans la VoIP. Même si il existe maintenant des
codecs nettement plus intéressants, celui-ci continue d'être implémenté dans les équipements à des
fins de compatibilité entre marques d'équipements différentes.
G.722 : A la différence du G.711, ce codec transforme le spectre jusqu'à 7kHz ce qui restitue encore
mieux la voix. Les débits que ce codec fournit sont 48,56 ou 64kbit/s. Une des particularités est de
pouvoir immédiatement changer de débit. Ceci est fortement appréciable lorsque la qualité du
support de transmission se dégrade.
G.722.1 : Dérivé du codec précédent, celui-ci propose des débits encore plus faibles (32 ou 24kbit/s).
Il existe même des versions propriétaires de ce codec fournissant un débit de 16kbit/s.
G.723.1 : C'est le codec par défaut lors des communications à faible débit. Deux modes sont
disponibles. Le premier propose un débit de 6,4kbit/s et le deuxième un débit de 5,3kbit/s. [13]
20
Chapitre I Généralités sur la VoIP
Compression du silence
Une des méthodes utilisées par les codecs pour réduire la quantité de données à transmettre et de
détecter les silences. Dans une conversation téléphonique, chaque locuteur ne parle que 1/3 du temps
en moyenne. Ce qui fait que 1/3 du temps d'une conversation est constitué de silence facilement
reproductible et donc non codé par le codec. Ce mécanisme s'appelle VAD (Voice Activity Détection
- DAV : Détection d'activité de la voix).
Génération de bruits de confort
Pendant une conversation où les silences sont effacés, l'absence de bruit chez le récepteur peut vite se
révéler inconfortable. Dans cette optique, les codecs disposent d'un générateur de bruits de confort
visant à simuler des bruits de fond pour améliorer le confort des utilisateurs.
Robustesse sur la perte de paquets
Si les conditions de circulations sur le réseau se dégradent, certains paquets contenant de
l'information peuvent se perdre ou arriver trop tard. Ce problème est en partie compensé par
l'utilisation des buffers, mais la gigue peut être telle que le codec soit obligé de retransmettre au
récepteur un paquet, alors qu'il n'est pas arrivé. Il existe plusieurs méthodes pour palier à ce
21
Chapitre I Généralités sur la VoIP
problème: Il est possible par exemple de simplement répéter le contenu du dernier paquet pour
combler le vide. On peut aussi répartir l'information sur plusieurs paquets de façon à introduire une
redondance des données. En cas de pertes de paquets, le codec dispose ainsi d'une copie du paquet à
retransmettre.
5. Application
Le but de ce type d’application est de fournir des services téléphoniques à des utilisateurs locaux ou
distants avec le principe de la VoIP, qui réduit considérablement les coûts téléphonique de
l’entreprise (réseau convergé, capacité liaisons WAN utilisées, équipe technique unique) ou de
l’utilisateur (utilisation d’Internet au lieu du réseau RTC ce qui réduit les coûts aussi).
Notre application va permettre, à travers l'étude du logiciel OpenSource Asterisk [15], de faire un
tour d'horizon de cette technologie et des possibilités offertes par cet outil. Par ailleurs cela nous aura
appris les notions de VoIP et d'utilisation d'Asterisk qui pourront être mise en avant et faire la
sécurisation de voix aux attaques de déni de services et autres vulnérabilités causées par des intrus.
Donc les objectifs de ce travail consistent à valider et assurer que les appels émis ou reçus, par la
société ou l’individu qui sont internes ou externes soient conformes et corrects aux différentes règles
compris y leurs sécurités.
Cadre de l’application
- Identification de l’application
Implémentation du serveur de téléphonie Asterisk dans le cadre de projet de création d’un centre
service client.
- Définition de l’application
Il est question dans ce projet de mettre en place dans un environnement précis (centre service
client), une architecture de communication reposant sur le F composée de plusieurs serveurs.
- Caractéristiques
Mise en place d’une solution VoIP basée sur un IPBX Open source Asterisk.
Proposer une solution technique à l'administrateur système et réseau d’admettre les appels
émis intra-site, inter-site et vers/de l’extérieur.
- Contraintes
La solution que nous proposons doit être sécurisée et doit être correctement dimensionnée pour éviter
toutes pertes d’appels ou intrusion.
22
Chapitre I Généralités sur la VoIP
6. Asterisk
Le nom Asterisk fait référence au symbole "*" qui signifie "wildcard" en ligne de commande Unix
et DOS. Ce choix a été fait car Asterisk est conçu dans le but d'offrir une très grande souplesse dans
des réseaux de voix.
Asterisk est un autocommutateur téléphonique privée (PABX) open source pour les systèmes
d’exploitation UNIX, il est publié sous licence GPL.
Le PBX open source Asterisk a vu le jour quand Mark Spencer, a voulu acquérir un PBX
traditionnel pour sa société. Le créateur d'Asterisk, trouvant que le prix d'acquisition d'un PBX
traditionnel était démesuré, initia un projet open source. Il a donc commencé à développer Asterisk.
- Rôle
Asterisk est un IP-PBX qui transforme un ordinateur en "central telephonique" ou
"PABX"(Private Automatic Branch eXchange), qui est un autocommutateur téléphonique privé »
[11]. Ce PBX est un commutateur qui relie dans une entreprise les appels d’un poste quelconque vers
un autre (appels internes) ou avec un réseau téléphonique public (appels externes).
Asterisk a le rôle d’un middleware entre les technologies de téléphonie VOIP (TDM, SIP …)
et les applications (conférence, messagerie vocale, …).
Ce PBX est base sur le protocole IP. Donc les communications et les paquets échanges sont
transportés sous forme plusieurs protocoles de la voix qu’on veut (SIP, IAX, H.323, ADSI, MGCP).
- Caractéristiques
Asterisk offre toutes les fonctions d'un PBX et ses services associent :
La conférence téléphonique.
Les répondeurs interactifs.
La mise en attente d'appels.
La distribution des appels.
Les mails vocaux.
La musique d'attente.
La génération d'enregistrement d'appels pour l'intégration avec des systèmes de facturation.
Asterisk fonctionne sur les principaux systèmes d’exploitation (Linux, BSD, Windows, Mac OS
X).[11]
23
Chapitre I Généralités sur la VoIP
- Principales fonctions
Les principales fonctions d’Asterisk sont :
La commutation de PBX (PBX Switching Core) : Système de commutation de central
téléphonique privé, reliant ensemble les appels entre divers utilisateurs et des tâches
automatisées. Le noyau de commutation relie d'une manière transparente des appels arrivant
sur divers interfaces de matériel et de logiciel.
24
Chapitre I Généralités sur la VoIP
Lanceur d'applications (Application Launcher) : Lance les applications qui assurent des
services pour des usagers, tels que la messagerie vocale, la lecture de messages et le listage de
répertoires (annuaires).
Traducteur de codec (Codec Translator) : Utilise des modules de codec pour le codage et le
décodage de divers formats de compression audio utilisés dans l'industrie de la téléphonie. Un
certain nombre de codecs sont disponibles pour pallier aux divers besoins et pour arriver au
meilleur équilibre entre la qualité audio et l'utilisation de la bande passante.
Planificateur Manager d'I/O (Scheduler & I/O Manager) : Ils traitent la planification des
tâches de bas niveau et la gestion du système pour une performance optimale dans toutes les
conditions de charge.
Dynamic Module Loader : charge les pilotes (lors de la 1ère exécution d'Asterisk, il
initialise les pilotes et fait le lien avec les APIs appropriés). Après que les pilotes soient
chargés (DML), les appels commencent à être acceptés (PBXSC) et redirigés en faisant
sonner les téléphones (AL).
25
Chapitre I Généralités sur la VoIP
7. Conclusion
La VoIP est une technologie révolutionnaire qui défie les règles édictées par la téléphonie
RTC. Elle est plus souple, conviviale, ne nécessite pas un investissement lourd, coûte moins chère,
propose de nouveaux services et beaucoup d'autres avantages, si bien que toute entreprise qui se veut
compétitive et moderne aujourd'hui, jette son dévolu sur la téléphonie sur IP pour gérer ses
communications tant internes qu'externes. Elle vise principalement à améliorer le cadre de travail des
employés de l'entreprise en libérant l'utilisateur du lieu d'implantation du poste téléphonique.
26
Chapitre II Installation et configuration D’Astérisk pour la VoIP
Chapitre II
27
Chapitre II Installation et configuration D’Astérisk pour la VoIP
1. Introduction
Dans ce chapitre nous proposons de réaliser une plateforme intégrant certains services
de voix sur IP (VoIP) offerts par Asterisk.
Cette réalisation consiste à la mise en place et la configuration d’une machine contenant le
serveur Asterisk, d’autre part l’installation et la configuration du client X-Lite, Blink et la
configuration de certains services.
2. Architecture du réseau
Serveur Asterisk
192.168.1.10
Machine de Hacker
192.168.1.111
Routeur
192.168.1.1
28
Chapitre II Installation et configuration D’Astérisk pour la VoIP
3. Matériel requis
Un serveur sur lequel sont installé asterisk.
Deux clients SIP : Sont des machines sur lesquelles installé le système d’exploitation
windows et un client X-Lite et Blink.
Un routeur.
Téléchargement
On crée un dossier ou nous allons placer les sources d’Asterisk dans /usr/src
29
Chapitre II Installation et configuration D’Astérisk pour la VoIP
Compilation et installation
Construction d’un nouveau fichier makefile qui contient les instructions à exécuter à partir des
commandes, ./configure, make, make install, make config, etc.
30
Chapitre II Installation et configuration D’Astérisk pour la VoIP
Puis dans Music On Hold File Packages cochez MOH-OPSOUND-ULAW (Décochez celui en
31
Chapitre II Installation et configuration D’Astérisk pour la VoIP
Sur l’écran principal refaites Echap et appuyez sur S pour sauvegarder les changements.
make samples (optionnelle) permet de créer des fichiers de configuration de base. (Elle peut
être utile par la suite pour revenir à une configuration d'origine d'asterisk).
- Remarque : Pendant le make install assurez-vous que votre serveur soit connecté à internet
parce que celui-ci va télécharger les package de langue FR que nous avons sélectionné.
Démarrage du serveur Asterisk
32
Chapitre II Installation et configuration D’Astérisk pour la VoIP
Nous pouvons vérifier le bon fonctionnement de votre serveur Asterisk avec la commande suivant
qui sert à afficher la console d’Asterisk.
Cette console peut permettre d'obtenir des informations sur l'activité du serveur, comme par
exemple la liste des clients connectés (commande 'sip show peers' en l'occurrence).
33
Chapitre II Installation et configuration D’Astérisk pour la VoIP
Commandes du serveur
Pour connaître l'ensemble des commandes du serveur, vous pouvez taper : help, une fois
connecté à la console Asterisk.
A chaque modification du fichier sip.conf, vous devez exécuter la commande "sip reload"
pour recharger le fichier.
A chaque modification du fichier extensions.conf, vous devez exécuter la commande
"extensions reload" pour recharger le fichier.
Pour recharger l'ensemble du serveur, tapez la commande : reload
Identification des fichiers de configuration
Une fois l’installation d’Asterisk est effectuée, plusieurs fichiers sont créés :
- /usr/sbin/ : Contient le fichier binaire d'Asterisk (programme principal).
- /usr/lib/asterisk/ : Contient les fichiers binaires qu'Asterisk utilise pour fonctionner.
- /usr/lib/asterisk/modules/ : Contient les modules pour les applications, les codecs, et
les drivers.
- /var/lib/asterisk/sounds/ : Contient les fichiers audio utilisés par Asterisk, par exemple
pour les invites de la boite vocale.
- /var/run/asterisk.pid : Fichier contenant le numéro du processus Asterisk en cours.
- /var/spool/asterisk/outgoing/: Contient les appels sortants d'Asterisk.
- /etc/asterisk/ : Contient tous les fichiers de configuration.
Ce dossier nous intéresse vu qu’il contient les fichiers de configuration du serveur Asterisk,
parmi ces fichiers on trouve :
asterisk.conf : Définit certaines variables pour l’utilisation d’Asterisk. Il sert
essentiellement à indiquer à Asterisk où chercher certains fichiers et certains
programmes exécutables.
extensions.conf : Configure le comportement d’Asterisk.
iax.conf : Configure les conversations VoIP en utilisant le protocole Inter-Asterisk-
Exchange (IAX).
rtp.conf : Ce fichier de configuration définit les ports à utiliser pour le
protocole RTP (Real-Time Protocol). Il faut noter que les numéros listés sont
des ports UDP.
sip.conf : Il contient les informations relatives aux téléphones sip.
34
Chapitre II Installation et configuration D’Astérisk pour la VoIP
3. Configuration d’Asterisk
Dans un premier temps, les 2 fichiers qui vont nous intéresser sont 'sip.conf' et 'extensions.conf'.
Création des comptes utilisateurs
La création des utilisateurs se fait donc dans le fichier sip.conf
On commence de mettre les sons par défaut en Français.
35
Chapitre II Installation et configuration D’Astérisk pour la VoIP
Une fois le fichier Sip.conf enregistré allez dans la console Asterisk, tapez reload et après on tape
la commande sip show users, les deux comptes utilisateurs que nous venons de créer devrait y
apparaître.
Configuration de X-Lite
X-Lite est un freeware, son utilisation est simple, il est disponible pour les différents systèmes
d’exploitation Windows, Mac et Linux. On a utilisé la version de X-lite : 4.7.0
Pour configurer le client X-Lite l’utilisateur « 6001 » et aussi « 6002 » doivent accéder au menu
« Softphone » puis de ce menu vers le sous menu « Account Settings».
36
Chapitre II Installation et configuration D’Astérisk pour la VoIP
Dans la fenêtre qui s’ouvre, il suffit de remplir les champs illustré suivant des deux utilisateurs :
L’utilisateur 6002 :
- User ID : 6002
- Domain : 192.168.1.10
- Password : 1234
- Display name : aissa BENCHIKH
- Nom sous lequel l’autorisation d’accès est possible (Authorization name) : 6002
37
Chapitre II Installation et configuration D’Astérisk pour la VoIP
Remarque : l’authentification soit possible, ces valeurs doivent être conformes à celles saisies
dans le fichier sip.conf du serveur Asterisk. Une fois la configuration est achevée, le softphone
se connectera automatiquement au serveur et s’enregistrera. Un message « Available »
s’affichera, indiquant que les communications sont désormais possibles. Sinon, un message
d’erreur explique le motif qui a fait échouer le processus.
38
Chapitre II Installation et configuration D’Astérisk pour la VoIP
Dans la console Asterisk, on tape la commande sip show peers, les deux comptes utilisateurs que
nous venons de créer devrait y apparaître avec leur adresse ip.
4. Fonctionnalités
a) Appel
Configuration du Dialplan
Nous allons donc configurer Asterisk de telle sorte que l’utilisateur 6001 puisse appeler
le numéro 6002.
La syntaxe du fichier extensions.conf est sous le format suivant :
Exten => extension, priorité, commande (paramètre)
39
Chapitre II Installation et configuration D’Astérisk pour la VoIP
On peut utiliser plusieurs options pour un seul numéro d’appel, on peut mettre par exemple un
transfert d’appel vers un autre numéro ou vers la boite vocale selon des priorités.
Voici donc le contenu du notre fichier extensions.conf
Dans le cas du numéros 6001 la ligne devient comme ceci : exten => 6001,1,Dial(SIP/6001,20),
mais l’avantage de la ligne précédente est qu’elle permet d’appeler les numéros de 6000 a 6999.
La seconde ligne : exten => _6XXX,2,Hangup() permet de raccrocher si il n’y a pas de réponses
au bout des 20 secondes.
Dans chaque ajout ou modification d’un client, il faut mettre à jour le serveur Asterisk en utilisant
la commande suivante dans la console : reload
Pour faire les tests, il suffit d’appeler par exemple à partir du compe de karima MECHERNENE
(6001) le numéro 6002.
40
Chapitre II Installation et configuration D’Astérisk pour la VoIP
- format : Il est possible de définir les différents formats dans lesquels seront
sauvegardés les messages vocaux. (plusieurs formats séparées par un | permettent
de sauvegarder dans plusieurs format)
- [work] : Contexte dans lequel se trouvent nos utilisateurs
- 6001 => : Numéro de l’utilisateur
41
Chapitre II Installation et configuration D’Astérisk pour la VoIP
42
Chapitre II Installation et configuration D’Astérisk pour la VoIP
5. Conclusion
Dans ce chapitre nous avons présenté l’environnement matériel du travail, ainsi que les
différents logiciels open sources et leurs configurations adoptées pour mettre en place les services de
voix sur IP (VoIP) sous la plate-forme Astérisk. Cette étape nécessite la compréhension du principe
de routage des appels à travers ce serveur.
43
Chapitre III Différents risques et méthodes de sécurité de VoIP
Chapitre III
44
Chapitre III Différents risques et méthodes de sécurité de VoIP
1. Introduction
La VoIP, actuellement en plein développement, pouvant faire sujet d’attaque des pirates
informatiques, au niveau spécifique des réseaux IP ou la VoIP proprement dite.
Celle-ci présente un nombre de vulnérabilités en terme : de protocole, de logiciel, de système
d’exploitation, d’infrastructure physique et d’erreur humaine.
Il convient d’étudier avec précaution ses vulnérabilités dans le but d’établir une protection efficace
contre les attaques.
Pour faire face à ces attaques, la sécurité du réseau VoIP doit s’appuient sur deux types de sécurités :
- La sécurité traditionnelle des réseaux informatiques (Firewall, IPS, IDS, Antivirus,…..)
- La sécurité spécifique VoIP.
2. Principaux risques
Cette étape permet de déterminer les menaces et d’identifier les sources de menaces. Une menace
est une violation potentielle de la politique de service à cause d’une attaque ou d’une action
involontaire ou négligente qui compromet la sécurité. [9]
Les sources de menaces peuvent être classées en deux types : les attaques internes et les attaques
externes. Les attaques externes sont lancées par des personnes autres que celle qui participe à l’appel,
et ils se produisent généralement quand les paquets VoIP traversent un réseau peu fiable et/ou l’appel
passe par un réseau tiers durant le transfert des paquets. Les attaques internes s’effectuent
directement du réseau local dans lequel se trouve l’attaquant. [10]
A. Attaques sur le protocole
Les types d’attaques les plus fréquentes contre un system VoIP sont : [10]
1. Sniffing
Un reniflage (Sniffing) peut avoir comme conséquence un vol d'identité et la révélation
d'informations confidentielles. Il permet également aux utilisateurs malveillants perfectionnés de
rassembler des informations sur les systèmes VoIP.
2. Suivie des appels
Appelé aussi Call tracking, cette attaque cible les terminaux (soft/hard phone). Elle a pour but de
connaître qui est en train de communiquer et quelle est la période de la communication. L’attaquant
doit récupérer les messages INVITE et BYE en écoutant le réseau et peut ainsi savoir qui
communique, à quelle heure, et pendant combien de temps.
45
Chapitre III Différents risques et méthodes de sécurité de VoIP
Pour réaliser cette attaque, L’attaquant doit être capable d’écouter le réseau et récupérer les
messages INVITE et BYE.
3. Injection de paquet RTP
Cette attaque pour but de perturber une communication en cours. L’attaquant devra tout d’abord
écouter un flux RTP de l’appelant vers l’appelé, analyser son contenu et générer un paquet RTP
contenant un en-tête similaire mais avec un plus grand numéro de séquence et timestamp afin que ce
paquet soit reproduit avant les autres paquets (s’ils sont vraiment reproduits). Ainsi la
communication sera perturbée et l’appel ne pourra pas se dérouler correctement.
Pour réaliser cette attaque, l’attaquant doit être capable d’écouter le réseau afin de repérer une
communication et ainsi repérer les timestamps des paquets RTP.
Il doit aussi être capable d’insérer des messages RTP qu’il a généré ayant un timestamp modifié.
4. Le déni de service (DOS : Denial of service)
C’est, d'une manière générale, l'attaque qui vise à rendre une application informatique ou un
équipement informatique incapable de répondre aux requêtes de ses utilisateurs et donc hors d’usage.
Une machine serveur offrant des services à ses clients (par exemple un serveur web) doit traiter des
requêtes provenant de plusieurs clients.
Lorsque ces derniers ne peuvent en bénéficier, pour des raisons délibérément provoquées par un
tiers, il y a déni de service.
Dans une attaque de type DoS flood attack, les ressources d’un serveur ou d’un réseau sont
épuisées par un flot de paquets. Un seul attaquant visant à envoyer un flot de paquets peut être
identifié et isolé assez facilement. Cependant l'approche de choix pour les attaquants a évolué vers un
déni de service distribué (DDoS). Une attaque DDoS repose sur une distribution d'attaques DoS,
simultanément menées par plusieurs systèmes contre un seul. Cela réduit le temps nécessaire à
l'attaque et amplifie ses effets.
Une attaque de type DoS peut s’effectuer à plusieurs niveaux soit:
Couche réseau :
IP Flooding : Le but de l'IP Flooding est d'envoyer une multitude de paquets IP vers une même
destination de telle sorte que le traitement de ces paquets empêche une entité du réseau (un routeur
ou la station destinatrice) de traiter les paquets IP légitimes. Si l'IP Flooding est combiné à l'IP
Spoofing, il est impossible, pour le destinataire, de connaître l'adresse source exacte des paquets IP.
46
Chapitre III Différents risques et méthodes de sécurité de VoIP
De ce fait, à moins que le destinataire ne limite ses échanges avec certaines stations, il lui est
impossible de contrer ce type d'attaques
Couche transport :
UDP Flooding Attacks: Le principe de cette attaque est qu’un attaquant envoie un grand nombre
de requêtes UDP vers une machine. Le trafic UDP étant prioritaire sur le trafic TCP, ce type
d'attaque peut vite troubler et saturer le trafic transitant sur le réseau et donc de perturbe le plus la
bande passante.
Presque tous les dispositifs utilisant le protocole SIP fonctionnent au-dessus du protocole UDP, ce
qui en fait d’elles des cibles. De nombreux dispositifs de VoIP et de systèmes d'exploitation peuvent
être paralysés grâce à des paquets UDP Flooding visant l’écoute du port SIP (5060) ou d’autres
ports.
TCP SYN floods : est une attaque visant le protocole TCP et plus exactement la phase
d’établissement de connexion. Celle-ci consiste en trois sous étapes :
1. Le client envoie un paquet SYN au serveur.
2. Le serveur répond avec un paquet SYN-ACK.
3. Le client envoie un paquet ACK au serveur.
L’attaque consiste en l’envoie d’un grand nombre de paquets SYN. La victime va alors
répondre par un message SYN-ACK d’acquittement. Pour terminer la connexion TCP, la victime
ensuite va attendre pendant une période de temps la réponse par le biais d’un paquet ACK. C'est là le
cœur de l'attaque parce que les ACK final ne sont jamais envoyés, et par la suite, la mémoire système
se remplit rapidement et consomme toutes les ressources disponibles à ces demandes non valides. Le
résultat final est que le serveur, le téléphone, ou le routeur ne sera pas en mesure de faire la
distinction entre les faux SYN et les SYN légitimes d'une réelle connexion VoIP.
Couche applications :
SIP Flooding : Dans le cas de SIP, une attaque DoS peut être directement dirigée contre les
utilisateurs finaux ou les dispositifs tels que téléphones IP, routeurs et proxy SIP, ou contre les
serveurs concernés par le processus, en utilisant le mécanisme du protocole SIP ou d’autres
techniques traditionnelles de DoS.
Voyons maintenant en détail les différentes formes d’attaque DoS :
DoS-CANCEL : C’est un type de déni de service lancé contre l'utilisateur. L’attaquant surveille
l’activité du proxy SIP et attend qu’un appel arrive pour un utilisateur spécifique. Une fois que le
47
Chapitre III Différents risques et méthodes de sécurité de VoIP
dispositif de l’utilisateur reçoit la requête INVITE, l'attaquant envoie immédiatement une requête
CANCEL. Cette requête produit une erreur sur le dispositif de l’appelé et termine l'appel. Ce type
d'attaque est employé pour interrompre la communication.
DoS-REGISTER : Le serveur d'enregistrement lui-même est une source potentielle de déni de
service pour les utilisateurs. En effet ce serveur peut accepter des enregistrements de tous les
dispositifs. Un nouvel enregistrement avec une «*» dans l'entête remplacera tous les précédents
enregistrements pour ce dispositif.
C’est un mécanisme très pratique pour les utilisateurs mais également pour les pirates.
5. Détournement d’appel (Call Hijacking)
Le Call Hijacking consiste à détourner un appel. Plusieurs fournisseurs de service VoIP utilisent le
web comme interface permettant à l'utilisateur d’accéder à leur système téléphonique.
Un utilisateur authentifié peut changer les paramètres de ses transferts d'appel à travers cette interface
web. C’est peut être pratique, mais un utilisateur malveillant peut utiliser le même moyen pour mener
une attaque.
Exemple: quand un agent SIP envoie un message INVITE pour initier un appel, l'attaquant envoie
un message de redirection 3xx indiquant que l’appelé s'est déplacé et par la même occasion donne sa
propre adresse comme adresse de renvoi. A partir de ce moment, tous les appels destinés à
l’utilisateur sont transférés et c’est l’attaquant qui les reçoit.
Un appel détourné en lui-même est un problème, mais c’est encore plus grave quand il est porteur
d'informations sensibles et confidentielles.
6. L’écoute clandestine
L’eavesdropping est l'écoute clandestine d’une conversation téléphonique. Un attaquant avec un
accès au réseau VoIP peut sniffer le trafic et décoder la conversation vocale.
48
Chapitre III Différents risques et méthodes de sécurité de VoIP
Utilisateur A
Utilise l’adresse Mac de pirate
Utilisateur B
Utilise l’adresse Mac de pirate
Broadcasting spoofed
adresse MAC
Le pirate
Man in the Middle
Figure III.1 : Exemple de détournement d'appel " Man in the middle" [10]
Le principe de l’écoute clandestine est montré dans la figure III.1 comme suit :
1. déterminer les adresses MAC des victimes (client-serveur) par l’attaquant
2. Envoi d’une requête ARP non sollicités au client, pour l’informer du changement de l'adresse
MAC du serveur VoIP à l’adresse MAC.
3. Envoi d’une requête ARP non sollicités au serveur, pour l’informer du changement de l'adresse
MAC du client à l’adresse MAC.
4. Désactiver la vérification des adresses MAC sur la machine d’attaque afin que le trafic puisse
circuler entre les 2 victimes
B. Les vulnérabilités de l’infrastructure
Une infrastructure VoIP est composée de téléphones IP, Gateway, serveurs. Ces derniers tournant sur
un système d'exploitation, est accessible via le réseau comme n'importe quel ordinateur et
comportent un processeur qui exécute des logiciels qui peuvent être attaqués ou employés en tant que
points de lancement d’une attaque plus profonde.
1. Faiblesses de configuration des dispositifs VoIP
Plusieurs dispositifs de la VoIP, dans leur configuration par défaut, peuvent avoir une variété de
ports TCP et UDP ouverts. Les services fonctionnant sur ces ports peuvent être vulnérables aux
attaques DoS ou buffer overflow.
Plusieurs dispositifs de la VoIP exécutent également un serveur WEB pour la gestion à distance qui
peut être vulnérable aux attaques buffer overflow et à la divulgation d’informations.
49
Chapitre III Différents risques et méthodes de sécurité de VoIP
Si les services accessibles ne sont pas configurés avec un mot de passe, un attaquant peut acquérir un
accès non autorisé à ce dispositif.
Les services SNMP (Simple Network Management Protocol) offerts par ces dispositifs peuvent être
vulnérables aux attaques de reconnaissance ou attaques d’overflow.
Plusieurs dispositifs de la VoIP sont configurés pour télécharger périodiquement un fichier de
configuration depuis un serveur par TFTP ou d'autres mécanismes. Un attaquant peut potentiellement
détourner ou mystifier cette connexion et tromper le dispositif qui va télécharger un fichier de
configuration malveillant à la place du véritable fichier.
2. Les téléphones IP
Un pirate peut compromettre un dispositif de téléphonie sur IP, par exemple un téléphone IP, un
softphone et autres programmes ou matériels clients. Généralement, il obtient les privilèges qui lui
permettent de commander complètement la fonctionnalité du dispositif.
Compromettre un point final (téléphone IP) peut être fait à distance ou par un accès physique au
dispositif. Le pirate pourrait modifier les aspects opérationnels d'un tel dispositif:
La pile du système d'exploitation peut être changée. Ainsi la présence de l'attaquant ne sera pas
remarquée.
Aussi un firmware modifié de manière malveillante peut être téléchargé et installé. Les modifications
faites à la configuration des logiciels de téléphonie IP peuvent permettre:
Aux appels entrants d'être réorientés vers un autre point final sans que l'utilisateur soit au
courant.
Aux appels d’être surveillés.
A l'information de la signalisation et/ou les paquets contenant de la voix d’être routés vers un
autre dispositif et également d’être enregistrés et/ou modifiés.
De compromettre la disponibilité du point final. Par exemple, ce dernier peut rejeter
automatiquement toutes les requêtes d’appel, ou encore, éliminer tout déclenchement de notification
tel qu’un son, une notification visuelle à l’arrivée d’un appel. Les appels peuvent également être
interrompus à l’improviste (quelques téléphones IP permettent ceci via une interface web).
Toutes les informations concernant l'utilisateur qui sont stockées sur le dispositif pourraient été
extraites.
L’acquisition d'un accès non autorisé sur un dispositif de téléphonie IP peut être le résultat d'un autre
élément compromis sur le réseau IP, ou de l'information récoltée sur le réseau.
50
Chapitre III Différents risques et méthodes de sécurité de VoIP
Les softphones ne réagissent pas de la même façon aux attaques comparés à leur homologues
téléphones IP. Ils sont plus susceptibles aux attaques dues au nombre de vecteurs inclus dans le
système, à savoir les vulnérabilités du système d'exploitation, les vulnérabilités de l’application, les
vulnérabilités du service, des vers, des virus, etc. En plus, le softphone demeure sur le segment de
données, est ainsi sensible aux attaques lancées contre ce segment et pas simplement contre l’hôte
qui héberge l’application softphone.
Les téléphones IP exécutent quant à eux leurs propres systèmes d’exploitation avec un nombre limité
de services supportés et possèdent donc moins de vulnérabilités.
3. Les serveurs
Un pirate peut viser les serveurs qui fournissent le réseau de téléphonie sur IP.
Compromettre une telle entité mettra généralement en péril tout le réseau de téléphonie dont le
serveur fait partie.
Par exemple, si un serveur de signalisation est compromis, un attaquant peut contrôler totalement
l'information de signalisation pour différents appels. Ces informations sont routées à travers le
serveur compromis. Avoir le contrôle de l'information de signalisation permet à un attaquant de
changer n'importe quel paramètre relatif à l’appel.
Si un serveur de téléphonie IP est installé sur un système d'exploitation, il peut être une cible pour les
virus, les vers, ou n’importe quel code malveillant.
4. Vulnérabilités du système d’exploitation
Ces vulnérabilités sont pour la plupart relatives au manque de sécurité lors de la phase initiale de
développement du système d'exploitation et ne sont découvertes qu’après le lancement du produit.
Une des principales vulnérabilités des systèmes d'exploitation est le buffer overflow. Il permet à un
attaquant de prendre le contrôle partiel ou complet de la machine.
Les dispositifs de la VoIP tels que les téléphones IP, Call Managers, Gateway et les serveurs proxy,
héritent les mêmes vulnérabilités du système d'exploitation ou du firmware sur lequel ils tournent.
Il existe une centaine de vulnérabilités exploitables à distance sur Windows et même sur Linux. Un
grand nombre de ces exploits sont disponibles librement et prêts à être téléchargés sur l'Internet.
Peu importe comment, une application de la VoIP s'avère être sûre, celle-ci devient menacé si le
système d'exploitation sur lequel elle tourne est compromis.
51
Chapitre III Différents risques et méthodes de sécurité de VoIP
3. Eléments de sécurité
On a déjà vu que les vulnérabilités existent au niveau protocolaire, application et systèmes
d’exploitation. Pour cela, on a découpé la sécurisation aussi en trois niveaux : Sécurisation
protocolaire, sécurisation de l’application et sécurisation du système d’exploitation. [10]
1. Sécurisation protocolaire
La prévalence et la facilité de sniffer des paquets et d'autres techniques pour la capture des paquets IP
sur un réseau pour la voix sur IP fait que le cryptage soit une nécessité. La sécurisation de la VoIP est
à la protection des personnes qui sont interconnecté.
IPsec peut être utilisé pour réaliser deux objectifs. Garantir l'identité des deux points terminaux et
protéger la voix. VOIPsec (VoIP utilisant IPsec) contribue à réduire les menaces, les sniffeurs de
paquets, et de nombreux types de trafic « vocal analyze ». Combiné avec un pare-feu, IPsec fait que
la VOIP soit plus sûr qu’une ligne téléphonique classique. Il est important de noter, toutefois, que
IPsec n'est pas toujours un bon moyen pour certaines applications, et que certains protocoles doivent
continuer à compter sur leurs propres dispositifs de sécurité.
a. VoIP VPN
Un VPN VoIP combine la voix sur IP et la technologie des réseaux virtuels privés pour offrir une
méthode assurant la préservation de la prestation vocale. Puisque la VoIP transmet la voix numérisée
en un flux de données, la solution VPN VoIP semble celle la plus approprié vu qu’elle offre le
cryptage des données grâces a des mécanismes de cryptages, puisqu’elle permet d’offrir l’intégrité
des paquets VoIP.
Cryptage aux points terminaux : Vu que notre objectif est d’assurer la confidentialité et l’intégrité
des clients, la nécessité de concevoir des mécanismes d’authentifications et
de chiffrement pour IP. Puisqu’il sécurise le paquet comme un tout (contrairement en mode transport
qui ne sécurise que le Payload IP). Le mode tunnel (réseau privé virtuel sécurisé)[10], se base sur
l’encapsulation de tout le paquet IP et ajoute un nouvel entête pour l’acheminement de ce dernier, et
l’authenticité des paquets reçus assurée par l’utilisation d’IPSec (Internet Protocol Security) entre les
machines concernées.
Ce mode est généralement utilisé pour les routeur-to-routeur (Figure III.2). Ses avantages est sa
possibilité de l’utiliser uniquement sur des communications spécifiques (sans perturber les autres
communications), et puisque IPSec est au-dessous de la couche de transport (TCP, UDP); il est donc
52
Chapitre III Différents risques et méthodes de sécurité de VoIP
transparent aux applications (possibilité d’accroître la sécurité sans modifier les applications de plus
haut niveau). Une fois mis en place, IPSec est transparent aux utilisateurs.
Applicati Applicati
on on
SSL SSL
TCP Routeur
TCP
Internet Routeur
IP IP
Couche Routeur Couche
liaison
Couche liaison
Couche
physique physique
53
Chapitre III Différents risques et méthodes de sécurité de VoIP
protocole de sécurisation des échanges sur Internet. C'est un protocole modulaire dont le but est de
sécuriser les échanges des données entre le client et le serveur indépendamment de tout type
d'application. TLS agit comme une couche supplémentaire au-dessus de TCP. [9]
Le protocole SSL et TLS est subdivisé en quatre sous protocoles (Figure III.3) :
- Le protocole Hanshake : C’est un protocole qui permet au client et au serveur de
s'authentifier mutuellement, de négocier les algorithmes de chiffrement, de négocier les
algorithmes de MAC (Message Authentification Code) et enfin de négocier les clés
symétriques qui vont servir au chiffrement.
- Le protocole Change Cipher Spec : Ce protocole contient un seul message :
change_cipher_spec. Il est envoyé par les deux parties au protocole de négociation. Ce
message transite chiffré par l'algorithme symétrique précédemment négocié.
- Le protocole Alert: Ce protocole spécifie les messages d'erreur que peuvent s'envoyer clients
et serveurs. Les messages sont composés de deux octets. Le premier est soit warning soit
fatal. Si le niveau est fatal, la connexion est abandonnée. Les autres connexions sur la même
session ne sont pas coupées mais on ne peut pas en établir de nouvelles. Le deuxième octet
donne le code d'erreur.
- Le protocole Record : Ce protocole chapeaute les autres protocoles de SSL et TLS, en
fournissant une interface unifiée pour la transmission des données.
Application
SSL
Handshake
Alert CCS
Record
TCP
Figure III.3 : Empilement des sous-couches protocolaires de SSL
- Rôle
Encapsulation : Permet aux données SSL et TLS d'être transmises et reconnues sous une forme
homogène.
54
Chapitre III Différents risques et méthodes de sécurité de VoIP
Confidentialité : Assure que le contenu du message ne peut pas être lu par un tiers : les données sont
chiffrées en utilisant les clés produites lors de la négociation.
Intégrité et Identité : Permet de vérifier la validité des données transmises, grâce aux signatures
MAC: cette signature est elle aussi générée l'aide des clés produites lors de la négociation.
- Processus d'encapsulation
Segmentation : Les données sont découpées en blocs de taille inférieure à 16 384 octets
Compression : Les données sont compressées en utilisant l'algorithme choisi lors de la négociation. A
partir de SSL 3.0, il n'y a plus de compression.
Chiffrement: Le paquet obtenu est chiffré à l'aide l'algorithme de chiffrement. Le choix peut se
faire entre RC2, RC4, DES avec une clef de taille 40 bits ou de 64 bits, ou l'algorithme de
Fortezza. Ce dernier algorithme est un algorithme secret défense aux États Unis. Notons, qu'il
est possible de choisir des échanges en clair;
Algorithme de hachage utilisé, qui peut être soit le MD5, soit le SHA. Il est possible de ne
choisir aucun algorithme de hachage;
La négociation de cette suite de chiffrement se fait en clair pendant l'établissement de la session.
Le tableau III.4 donne l'ensemble des algorithmes supportés par SSL tandis que tableau
III.5 contient les suites de chiffrement reconnues.
Fonction Algorithme
Echanges de clefs RSA, Fortezza, Diffie-Hellman
Chiffrement symétrique à la volée RC4 avec clefs de 128 bits ou de 40
bits
Chiffrement symétrique en blocs DES, DES40, 3DES RC2, IDEA,
Fortezza
Hachage MD5, SHA
Table III.4 Algorithmes négociés par le protocole Handshake
Echange de Chiffrement Hachage Signature
clefs symétrique
Sans MD5 ou SHA
chiffrement MD5
RC4-40
RSA RC4-128 MD5 ou SHA
RC2 CBC 40 MD5
IDEA CBC SHA
DES40 CBC SHA
DES CBC SHA
3DES EDE SHA
CBC
Diffie-Hellman DES40 CBC SHA DSS ou RSA
55
Chapitre III Différents risques et méthodes de sécurité de VoIP
57
Chapitre III Différents risques et méthodes de sécurité de VoIP
Authentication tag : est un champ inséré lorsque le message a été authentifié. Il est
recommandé d’en faire usage. Il fournit l’authentification des en-têtes et données RTP et
indirectement fournit une protection contre le rejeu de paquets en authentifiant le numéro de
séquence.
2. L’authentification
L’une de méthode les plus importantes pour anticiper une attaque sur un système de téléphonie est de
déterminer clairement l’identité des périphériques ou des personnes participant à la conversation.
Plusieurs solutions simples sont mises en œuvre pour cela, il est recommandé d’utiliser des mots de
passe complexes lors de la configuration des clients SIP ; en effet, il faut savoir que certains hackers
développent des robots en charge de sonder les réseaux informatiques et dés que l’un d’entre eux
réponds au protocole SIP, un algorithme sophistiqué est engagé et teste toutes les combinaisons
possibles de mots de passe. Ainsi, il faut éviter
• Les mots de passes trop courts
• Les suites numériques (123456) ou alphabétiques (abcd)
• Les suites logiques tels prénoms ou dates
• Un mot de passe unique pour toutes les extensions SIP
• Un mot de passe similaire pour le système linux, la base de données MySql et Asterisk
On ne saurait trop recommander un mot de passe complètement aléatoire de 8 caractères au
minimum, faisant intervenir une combinaison de caractères spéciaux, lettres majuscules, lettres
minuscules, chiffres non suivis. A proscrire, l’utilisation de 1 et de l (L minuscule) ainsi que de 0
(zéro) et O de Oscar.
La confidentialité des mots de passes est primordiale : lors de la configuration des téléphones ou des
softphones sur site, il est impératif d’être discret au moment de la saisie des mots de passe, et bien
entendu de ne pas les communiquer aux utilisateurs.
3. Sécurisation de l’application
Plusieurs méthodes peuvent être appliquées pour sécuriser l'application, ces méthodes varient selon
le type d'application (serveur ou client). Pour sécuriser le serveur il faut :
- L’utilisation d’une version stable, Il est bien connu que toute application non stable contient
surement des erreurs et des vulnérabilités. Pour minimiser les risques, il est impératif d'utiliser une
version stable.
58
Chapitre III Différents risques et méthodes de sécurité de VoIP
- Tester les mises à jour des softwares dans un laboratoire de test. Il est très important de tester toute
mise à jour de l'application dans un laboratoire de test avant de les appliquer sur le système en
production
- Ne pas tester les correctifs sur le serveur lui-même:
- Ne pas utiliser la configuration par défaut qui sert juste à établir des appels. Elle ne contient aucune
protection contre les attaques.
- Ne pas installer une application client dans le serveur.
Certains paramètres doivent être appliqués de manière sélective. Ces paramètres renforcent la
sécurité de l’application, on peut les activer ou les interdire sur la configuration générale de
l’application, comme on peut juste utiliser les paramètres nécessaires pour des clients bien déterminé
et selon le besoin bien sûr. Ces paramètres protègent généralement contre le déni de service et ces
différentes variantes. Il est conseiller d’utiliser les paramètres qui utilise le hachage des mots de
passe, et cela assure la confidentialité.
4. Sécurisation du système d’exploitation
Il est très important de sécuriser le système sur lequel est implémenté le serveur de VoIP.
En effet, si le système est compromis, l’attaque peut se propager sur l’application serveur. Celle-ci
risque d’affecter les fichiers de configuration contenant des informations sur les clients enregistrés.
Il y a plusieurs mesures de sécurités à prendre pour protéger le système d’exploitation :
- utiliser un système d’exploitation stable. Les nouvelles versions toujours contiennent des bugs et
des failles qui doivent être corrigés et maîtrisés avant.
- mettre à jour le système d’exploitation en installant les correctifs de sécurité recommandé pour la
sécurité.
- Ne pas mettre des mots de passe simple et robuste. Ils sont fondamentaux contre les intrusions. Et
ils ne doivent pas être des dates de naissances, des noms, ou des numéros de téléphones. Un mot de
passe doit être assez long et former d’une combinaison de lettre, de chiffres et ponctuations.
- Ne pas exécuter le serveur VoIP avec un utilisateur privilège. Si un utilisateur malveillant arrive à
accéder au système via une exploitation de vulnérabilité sur le serveur VoIP, il héritera tous les
privilèges de cet utilisateur.
- Asterisk in CHROOT : empêcher le serveur VoIP d’avoir une visibilité complète de l’arborescence
du disque, en l’exécutant dans un environnement sécurisé qui l’empêche d’interagir librement avec le
système.
59
Chapitre III Différents risques et méthodes de sécurité de VoIP
- Sauvegarde des fichiers log à distance : les fichiers log sont très importants, il est conseillé de les
enregistrer sur un serveur distant.
- Installer seulement les composants nécessaires : pour limiter les menaces sur le système
d’exploitation. Il vaut mieux installer sur la machine le système d’exploitation et le serveur.
- Supprimer tous programmes, logiciels ou des choses qui n’ont pas d’importance et qui peuvent être
une cible d’attaque pour accéder au système.
- Renforcer la sécurité du système d’exploitation en installant des patches qui permettent de renforcer
la sécurité générale du noyau.
On peut aussi utiliser les pare feu ou/et les ACL pour limiter l’accès à des personnes bien déterminé
et fermer les ports inutiles et ne laisser que les ports utilisés (5060, 5061, 4569,…). Le pare feu
(firewall) est un software ou hardware qui a pour fonction de sécuriser un réseau ou un ordinateur
contre les intrusions venant d’autres machines. Le pare feu utilise le système de filtrage de paquet
après analyse de l’entête des paquets IP qui s’échange entre les machines.
On aura besoin d’ACL pour donner des droits à des personnes bien déterminés selon leurs besoins et
leurs autorités.
Pour un serveur VoIP, il est important d’implémenter les ACL pour sécuriser le serveur en limitant
l’accès à des personnes indésirables. Par exemple, seuls les agents enregistrés peuvent envoyer des
requêtes au serveur.
La liste de contrôle d’accès peut être installée en réseau sur les pare feu ou les routeurs, mais aussi ils
existent dans les systèmes d’exploitation.
4. Conclusion
Dans ce chapitre, nous avons présentés les vulnérabilités les plus importants et comment doit-on
procéder pour y faire faces, tout en préconisant un certain nombres de mesures de sécurités devant
être prises en compte dans le but de garantir la qualité de service du réseau ainsi que sa sécurité.
60
Chapitre IV Sécurisation de la solution VoIP sur Asterisk
Chapitre IV
61
Chapitre IV Sécurisation de la solution VoIP sur Asterisk
1. Introduction
Dans ce chapitre nous réaliserons des analyses de vulnérabilités et identifier les faiblesses et les
défauts des mesures de sécurité, afin de simuler et corriger les points faibles et mettre en place des
mesures de sécurité qui garantit une communication fiable et robuste.
2. Attaques Simulées :
A. Attaque sur les mots de passe
Procédure
Les mots de passe des clients SIP sont stockés en clair dans le serveur Asterisk, et peuvent être
identifiés par plusieurs méthodes :
- Dans le fichier SIP.conf, lorsqu’on définit les mots de passe des utilisateurs:
Dans notre exemple le mot de passe de client 6001 est 1234
[6001]
Type=friend
Host=dynamic
fullname= karima MECHERNENE
username = karima
secret=1234
context = work
- La commande console : sip show users
Des modifications seront nécessaires dans sip.conf pour que la configuration soit fonctionnelle.
Dans notre cas on a crypté les deux clients 6001 & 6002, donc on change la ligne secret par
62
Chapitre IV Sécurisation de la solution VoIP sur Asterisk
md5secret.
6001]
Type=friend
Host=dynamic
fullname= karima MECHERNENE
username = karima
md5secret=8ae80145b304007cb19732b6aafa517c
context = work
;****************************************************************************
[6002]
Type=friend
Host=dynamic
fullname= aissa BENCHIKH
username = aissa
md5secret=0c8f41fc699b9efc957ce1dcf059aa41
context = work
Dans les lignes des deux clients 6001 & 6002 les mots de passe ne sont pas visibles.
- Outil « Fail 2 Ban »
Fail 2 Ban est un outil propre aux systèmes Linux, pour de protéger se protéger contre les attaques de
brute force ayant pour but de permettre à un attaquant de s’authentifier.
Il est possible de configurer Fail2Ban pour qu’il protège Asterisk
Dans le cas d’Asterisk, Fail2Ban va analyser les logs d’Asterisk, à la recherche de tentatives de
connexions échouées.
La configuration va se faire dans les deux fichiers suivants :
/etc/fail2ban/filter.d/Asterisk.conf
/etc/fail2ban/jail.conf
De plus, le fichier de log d’Asterisk sera utilisé pour chercher les tentatives de connexion.
Le fichier Asterisk.conf correspond au filtre de Fail2Ban pour Asterisk. Il permet de définir les logs
qui correspondent à des erreurs de connexion.
Le fichier jail.conf permet de dire à Fail2Ban d’analyser le fichier de log d’Asterisk à l’aide des
filtres définis dans Asterisk.conf.
63
Chapitre IV Sécurisation de la solution VoIP sur Asterisk
64
Chapitre IV Sécurisation de la solution VoIP sur Asterisk
65
Chapitre IV Sécurisation de la solution VoIP sur Asterisk
66
Chapitre IV Sécurisation de la solution VoIP sur Asterisk
Serveur Asterisk
192.168.1.10
Machine de Hacker
192.168.1.111
Routeur
192.168.1.1
On remarque que chaque hôte à une adresse mac différent aux autres.
On lance ettercap en mode graphique afin de scanner le réseau (Figure IV.2) avec la commande
suivante : ettercap –G
67
Chapitre IV Sécurisation de la solution VoIP sur Asterisk
Puis nous choisissons notre interface réseau pour lancer le Sniffing. Pour se faire on clique l’onglet
Sniff puis en sélectionnant Unified sniffing ( Figure IV.3).
68
Chapitre IV Sécurisation de la solution VoIP sur Asterisk
Début du Sniffing :
Après avoir effectué ces étapes l’architecture du réseau devient comme suit (Figure IV.5)
69
Chapitre IV Sécurisation de la solution VoIP sur Asterisk
Serveur Asterisk
192.168.1.10
Machine de Hacker
192.168.1.111
Routeur
192.168.1.1
L’attaque Man in the Middle est réalisée et la machine hacker identifiée par l’IP 192.168.1.111 est
placée entre le serveur d’Asterisk identifié par l’adresse IP 192.168.1.10 et la machine identifiée par
l’adresse IP 192.168.1.2.
Le Pirate à l’adresse MAC 00-0c-29-8c-1e-88 et le serveur d’Asterisk à l’adresse MAC d8-d3-85-2f-
a6-a1, la table adresse MAC chez le client 192.168.1.2 ressemble donc à cela :
On voit donc ici les correspondances IP – MAC qui correspondent à notre schéma. Si le pirate envoie
des paquets au client avec l’adresse IP source du serveur mais en laissant son adresse MAC, la table
ARP de notre client va donc enregistrer le couple suivant :
192.168.1.10 - 00-0c-29-8c-1e-88
La table ARP de notre client va donc ressembler à cela :
70
Chapitre IV Sécurisation de la solution VoIP sur Asterisk
Svwar : permet de déterminer la liste des extensions actives sur le serveur Asterisk
71
Chapitre IV Sécurisation de la solution VoIP sur Asterisk
Remarque : Les mots de passe des utilisateurs 6001 & 6002 sont crypté au paravent donc l’outil
svcrack n’a pas réussi de cracker contrairement aux autres utilisateurs 6003 & 6004.
- Mécanisme de sécurité
b.1. On doit ajouter dans le fichier sip.conf les lignes suivantes :
[general]
allowguest=no
alwaysauthreject = yes
Après cette modification de sip.conf ; on lance la même commande .Dans ce cas on obtient une
erreur :
allowguest=no: Ceci interdit les connexions SIP invité. La valeur par défaut est de permettre les
connexions des clients. SIP nécessite normalement l'authentification, mais peuvent être acceptés les
appels des utilisateurs qui ne prennent pas en charge l'authentification.
alwaysauthreject = yes: Si cette option est activée, chaque fois que Asterisk rejette une invitation, il
sera toujours rejeté en envoyant un message ‘ 401 Unauthorized message’ au lieu de laisser l'appelant
savoir s’il y avait un utilisateur correspondant pour sa demande
72
Chapitre IV Sécurisation de la solution VoIP sur Asterisk
D. Attaque Eaveasdropping
Procédure
Cette attaque est utilisée pour écouter et enregistrer les conversations entre les interlocuteurs mais
aussi de récupérer un ensemble d’informations confidentielles
- Pré-requis
Il faut réalisé préalablement une attaque de type MITM pour rediriger le trafic vers la machine
de pirate
Wireshark : C’est l’un des logiciels les plus utilisés pour ce qui est de la surveillance,
intrusion et capture dans les réseaux. Non seulement il peut capturer et analyser des trames,
mais aussi, dans le cas de conversations téléphoniques, convertir ces trames en fichiers
audio.[9]
Lancer Wireshark (Figure IV.8):
Il suffit de taper dans le terminal de la machine pirate : wireshark
Choix de l’interface réseau sur laquelle on va effectuer la capture des paquets échangés :
73
Chapitre IV Sécurisation de la solution VoIP sur Asterisk
74
Chapitre IV Sécurisation de la solution VoIP sur Asterisk
Nous avons donc un certificat self-signed pour l’autorité de certificat, et un certificat pour le serveur
Asterisk.
Nous avons aussi une clé privée pour l’autorité de certificat et une pour Asterisk.
Les fichiers PEM regroupent la clé privée et le certificat.
Les fichiers CSR sont des fichiers de requête de certificat (nous n’en avons pas besoin).
En suite, créer les clés et les certificats pour les clients.
root@karima-HP-620:/usr/src/Asterisk/Asterisk-11.10.2/contrib/scripts# ./ast_tls_cert -m client -c
/etc/Asterisk/keys/ca.crt -k /etc/Asterisk/keys/ca.key -C 192.168.1.10 -O "Master_RSD" -d
/etc/Asterisk/keys/ -o 6001
Voici le détail des options :
m : indique qu’il faut créer un certificat client
c : permet de spécifier le chemin vers le certificat de l’autorité de certificat
k : permet de spécifier le chemin vers la clé privée de l’autorité de certificat
C : permet de spécifier le nom d’hôte du poste du client ou l’adresse IP
O : permet de définir le nom de l’organisation
d : permet de spécifier le dossier de sortie
o : permet de choisir le nom de la clé à créer
L’opération est à répéter pour tous les clients devant bénéficier de TLS.
A présent, nous devons configurer Asterisk pour autoriser l’utilisation de TLS.
Dans le fichier sip.conf, apporter les modifications suivantes :
76
Chapitre IV Sécurisation de la solution VoIP sur Asterisk
[general]
tlsenable=yes
tlsbindaddr=0.0.0.0
tlscertfile=/etc/asterisk/keys/asterisk.pem
tlscafile=/etc/asterisk/keys/ca.crt
tlscipher=ALL
tlsclientmethod=tlsv1
Ensuite, nous devons autoriser les clients à utiliser TLS, toujours dans le fichier SIP.conf, on ajoute
la ligne transport=tls pour tous les clients.
[6001]
Type=friend
Host=dynamic
fullname= karima MECHERNENE
username = karima
md5secret=8ae80145b304007cb19732b6aafa517c
context = work
transport=tls
Ajouter l’adresse IP du serveur Asterisk, spécifier le port 5061 et choisit le type de transport TLS
77
Chapitre IV Sécurisation de la solution VoIP sur Asterisk
78
Chapitre IV Sécurisation de la solution VoIP sur Asterisk
79
Chapitre IV Sécurisation de la solution VoIP sur Asterisk
Après une configuration réussie de SIP / TLS, Asterisk doit écouter sur le nouveau port dédié pour
les connexions TLS 5061(sip-tls), en utilisant la commande Netstat suivante :
80
Chapitre IV Sécurisation de la solution VoIP sur Asterisk
81
Chapitre IV Sécurisation de la solution VoIP sur Asterisk
[6001]
Type=friend
Host=dynamic
fullname= karima MECHERNENE
username = karima
md5secret=8ae80145b304007cb19732b6aafa517c
context = work
transport=tls
encryption=yes
En fin on configure softophone Blink de poste client pour qu’il utilise SRTP (Figure IV.14)
82
Chapitre IV Sécurisation de la solution VoIP sur Asterisk
83
Chapitre IV Sécurisation de la solution VoIP sur Asterisk
84
Chapitre IV Sécurisation de la solution VoIP sur Asterisk
85
Chapitre IV Sécurisation de la solution VoIP sur Asterisk
86
Chapitre IV Sécurisation de la solution VoIP sur Asterisk
87
Chapitre IV Sécurisation de la solution VoIP sur Asterisk
Fichier de Bibliothèque
Module Format
Configuration externe
cdr_csv.so CSV (Comma Separated /etc/Asterisk/ Non
Values) : chaque ticket est cdr.conf : attention, la
enregistré dans une ligne section [csv] doit contenir
d’un fichier texte dont les au moins une ligne non
champs sont séparés par des commentée, sinon Asterisk
virgules. ne charge pas le module.
cdr_custom.so CSV : l’administrateur /etc/Asterisk/ Non
choisit les champs qui seront cdr_custom.conf
enregistrés.
cdr_radius.so RADIUS : les tickets sont /etc/Asterisk/ radiusclient-ng
envoyés à un serveur cdr.conf : la section [radius]
RADIUS. contient le fichier de
configuration définissant la
connexion RADIUS.
88
Chapitre IV Sécurisation de la solution VoIP sur Asterisk
[6001]
Type=friend
Host=dynamic
fullname= karima MECHERNENE
username = karima
md5secret=8ae80145b304007cb19732b6aafa517c
context = work
deny=0.0.0.0/0.0.0.0
permit=192.168.1.2/255.255.255.255
Refuser toutes les adresses IP sauf pour l’adresse IP 192.168.1 est autorisé.
En vérifiant fichiers log Asterisk, que visualisent les messages similaires à ceci:
3. Conclusion
Avec la complexité des protocoles et l’absence de sécurité fiable sous la plate-forme VoIP, on a
simulé des attaques et des tests afin de découvrir les failles et les vulnérabilités de ce système de
communication, et pour but corriger ces erreurs et réaliser une communication moderne, fiable et
accessible.
90
Conclusion générale
91
Références
92
Site Web à consulté :
[12]: https://www.terena.org/activities/tf-vvc/voip-wsh/SIP-tutorial.pdf
[13]: http://docs.polycom.com/global/documents/whitepapers/codecs_white_paper.pdf
[14]: http://www.frameip.com/voip/
[15]: http://www.linuxgull.ch/rsrc/GULLServeurWWW/GestionActiviteDocumentCours
[16]: VoIPAsterisk20071002/asterisk_voip_slides.pdf
[17]: http://www2.cndp.fr/notestech/39/nt039_C.htm
[18]: http://wiki.ncad.fr/index.php?title=Asterisk_IAX
[19]: http://www.ficome.fr/campus/CR5_universite_ete/asterisk.pdf
[20]: http://read.pudn.com/downloads105/AsteriskWin32/Patrick_Deruel_EUR06.pdf
[21]: http://www.memoireonline.com/08/11/4644/Etude-et-mise-au-point-dun-systeme-de-
communication-VOIP--application-sur-un-PABX-IP-open-source.html
[22]: http://www.nolot.eu/Download/Cours/reseaux/m2pro/SESY0708/securite_voip.pdf
[23]: http://docnum.univ-lorraine.fr/public/DDOC_T_2013_0044_DABBEBI.pdf
[24]: http://www.madpowah.org/textes/Man_In_The_Middle.pdf
[25]: http://www.adwfr.com/memo/Sage/PDF/TO_securite_VOIP_V5.0.pdf
[26]: http://repo.zenksecurity.com/Protocoles_reseaux_securisation/Securité.pdf
[27]: http://dept-info.labri.fr/~guermouc/SR/SR/cours/cours3.pdf
[28]: http://www.ssi.gouv.fr/uploads/SSL_TLS_etat_des_lieux_et_recommandations.pdf
[29]: http://horms.net/projects/ssl_and_tls/stuff/ssl_and_tls.pdf
[30]: http://www.idconline.com/Spec_Alert_and_Handshake_Protocol.pdf
[31]: http://igm.univ-mlv.fr/~duris/NTREZO/20022003/SSH_SSL_TLS.pdf
[32]: http://anonoups.unblog.fr/2012/10/27/comment-installer-backtrack-5/
[33]: http://www.giac.org/paper/gsec/3492/arp-cache-poisoning-ettercap/105198
[34]: https://www.ict.tuwien.ac.at/lva/384.081/datacom/A2_Standard_Applications_ss2012_
v4-5.pdf
[35]: http://blog.sipvicious.org/2007/09/sipvicious-tools-in-works.html
[36]: http://cours.darties.fr/wp-content/uploads/sites/6/Fiche-Wireshark.pdf
[37]: ftp://ftp2.ephonenet.com/ephonenetj/public/eequip/fixe/xlite4/ephonenet/
xlite4_configuration.pdf
[38]: http://iso.framadvd.org/standard/content/Data/Documents/pdf/fiche4-gnulinux.pdf
[39]: https://wiki.noojee.com.au/@api/deki/pages/136/pdf
[40]:http://www.authsecu.com/ssl-tls/ssl-tls.php#Le_protocole_SSL_et_TLS
93
Résumé
Le but de ce projet est de mettre en place une plate-forme de redirections d’appels SIP
(Session Initiation Protocol), d’assurer la sécurisation du trafic, de garantir une qualité de
service.
La plate-forme doit recevoir des appels en SIP (SIP est un protocole utilisé en voix sur IP
permettant de transférer de la voix, de la vidéo ou des données à travers un réseau.) et les
rediriger vers les passerelles correspondantes. Le système choisit pour effectuer le routage des
appels SIP est le système Asterisk (est un autocommutateur téléphonique privé (PABX)).
Etant donné que ce serveur reçoit du trafic venant d’internet, il est important de mettre en
place une politique de sécurisation des flux à traiter, pour cela, il fut décidé de faire des tests
et des simulations afin de découvrir ses failles et ses inconvénients et par la suite la
proposition des solutions et des remèdes permettant de garantir une bonne qualité de service
à nos utilisateurs et entreprises.
Resume
The purpose of this project is to develop a platform SIP (Session Initiation Protocol)
call redirections ensure secure traffic to guarantee service quality.
The platform must receive calls SIP (SIP is a protocol used in VoIP to transfer voice, video or
data over a network.) And redirect them to the corresponding gateways. The system chooses
to perform the routing of SIP calls is the Asterisk system. (Asterisk is a private automatic
branch exchange (PABX))
Since this server receives traffic from the Internet, it is important to establish a flow
security policy to deal with, for this; it was decided to make tests and simulations to discover
its flaws and drawbacks and subsequently the proposal of solutions and remedies to ensure a
good quality of service to our users and companies.
ملخص
( وإػادةSession Initiation Protocol) SIP انغشض يٍ هزا انًششوع هى حطىيش يُصت
.حىجيه انُذاء نضًاٌ انًشوس اآليٍ و ضًاٌ جىدة انخذيت
هى بشوحىكىل يسخخذو في االحصاالث يسخؼًم في اإلَخشَج نُقمSIP ( SIP انًُصت حسخقبم انًكانًاث
ألداء حىجيهSIP يخخاس. انصىث وانفيذيى أو انبياَاث ػبش انشبكت) و حىجيهها إنى بىاباث انًقابهت
( تبادل فرع التلقائيprivate automatic branch exchange (Asterisk) انُذاءاث انُظاو انُجًت
)الخاص
نهزا، فًٍ انًهى وضغ سياست أيُيت نخذفق انخؼايم يؼها،ألٌ هزا انخادو يخهقى حشكت انًشوس يٍ اإلَخشَج
فقذ حقشس إجشاء اخخباساث و ػًهياث انًحاكاة الكخشاف ػيىبها و بؼذ رنك اقخشاح انحهىل وانًؼانجاث
.نضًاٌ َىػيت جيذة يٍ انخذياث نهًسخخذييٍ وانششكاث