Vous êtes sur la page 1sur 68

Université d’Antananarivo

Ecole Supérieure Polytechnique d’Antananarivo

Département Electronique
   

Mémoire de fin d’études


en vue de l’obtention du

diplôme d’Ingénieur

Spécialité : Electronique
Options : Electronique Automatique

Sécurisation de la VoIP
via
Asterisk et X-lite
Présenté par :

ZOARITSIHOARANA Fitiavana Avo Tongalafatra

Soutenu le : 21 juillet 2014


Année Universitaire : 2012-2013
Université d’Antananarivo

Ecole Supérieure Polytechnique d’Antananarivo

Département Electronique

Mémoire de fin d’études


   
en vue de l’obtention du
diplôme d’Ingénieur
Spécialité : Electronique
Options : Electronique Automatique **

Sécurisation et Optimisation de la
VoIP
via Asterisk et X-lite

Présenté par :
ZOARITSIHOARANA Fitiavana Avo Tongalafatra

Devant le jury composé de :


Mr RAKOTOMIRAHO Soloniaina, Président
Mr RATSIMBA Mamy Nirina, examinateur
Mr RATSIMBAZAFY Guy Prédon, examinateur
Mr RANDRIAMAROSON Rivo, examinateur

Encadreur : Mme RABEHERIMANANA Lyliane

Soutenu le : 21 juillet 2014


Année Universitaire : 2012-2013
 

REMERCIEMENTS

Avant toutes choses, je tiens à remercier DIEU TOUT PUISSANT qui m’a
donné la force et la patience d’accomplir ce travail. Grâce Lui soit rendue.
J’exprime ma reconnaissance envers Mr ANDRIANARY Philippe Antoine,
Directeur de l’Ecole Supérieure Polytechnique d’Antananarivo (ESPA), envers Mr
RATSIMBA Mamy Nirina, Chef du département Electronique ainsi qu’envers tous
mes professeurs qui ont tout donné pour garantir la meilleure qualité d’éducation au
sein de l’établissement.
Je remercie chaleureusement Mr RAKOTOMIRAHO Soloniaina qui a bien
voulu assumer le rôle de Président malgré ses nombreuses responsabilités.
Mes vifs remerciements vont également aux membres du jury composé de Mr
RATSIMBA Mamy Nirina, Mr RATSIMBAZAFY Guy Prédon et Mr
RANDRIAMAROSON Rivo pour l’intérêt qu’ils ont porté à mes recherches en
acceptant d’examiner mon travail.
J’adresse mes plus sincères remerciements à mon encadreur, Mme
RABEHERIMANANA Lyliane qui a bien voulu me faire part de ses connaissances
et qui n’a jamais ménagé ni temps ni effort pour me permettre d’achever mon projet.
J’exprime mes plus profondes reconnaissances envers la Banque Africaine de
Développement (BAD) qui a accepté de me prêter main forte durant la réalisation de
ce projet et en particulier envers Mr RANDRIAMIFIDISOA Hajaniaina pour ses
précieux conseils et son aide durant toute la période de travail.
Je tiens à exprimer mes plus profonds remerciements et mes plus profondes
reconnaissances envers mes parents et mes grands-parents pour leur amour constant,
pour leurs encouragements et pour le soutien qu’ils m’ont toujours donnés.
Je remercie chacun de mes amis et tous les membres de ma famille pour tout le
support qu’ils m’ont toujours apportés.
Enfin, je remercie tous ceux qui, de près ou de loin, ont contribué à la réussite
de ce mémoire.

AVO

i
 
 

Résumé

La voix sur IP ou Voice over Internet Protocol (VoIP) est une technologie de
communication utilisant le protocole internet. L’existence de serveur gratuit comme Asterisk
est un avantage considérable par rapport au téléphone traditionnel. De plus, la VoIP offre à
ses utilisateurs divers types de services autres que les appels téléphoniques. L’existence des
téléphones « logiciels » qui peuvent être installés sur tous les ordinateurs ordinaires entraîne
le fait que tout le monde peut bénéficier des bienfaits de la technologie. En effet, les
softphones comme X-lite sont disponibles gratuitement. En d’autres termes, la VoIP offre une
meilleure qualité de service à moindre prix. L’un des objectifs de cette étude est de donner un
aperçu de la capacité réelle de cette technologie.
Ceci étant, il est nécessaire de savoir que malgré tous les avantages qu’elle a, la VoIP
n’est pas à l’abri de quelques imperfections qui pourraient nuire à ses clients et ainsi à son
développement. De plus elle est menacée par plusieurs attaques visant à réduire la
performance des services qu’elle offre. Par ailleurs, ces services, aussi bons soient-ils peuvent
encore être améliorés. Un autre but de cette étude est protéger le réseau VoIP contre toutes
attaques malveillantes qui pourraient nuire à son bon fonctionnement. Enfin, cette étude
traitera également de la façon d’améliorer la qualité des services de la VoIP.

ii
 
 

SOMMAIRE

REMERCIEMENTS ................................................................................................................. i
Résumé....................................................................................................................................... ii
SOMMAIRE ............................................................................................................................iii
Liste des Figures ...................................................................................................................... vi
Liste des Tableaux .................................................................................................................viii
Liste des abréviations .............................................................................................................. ix
INTRODUCTION .................................................................................................................... 1
Chapitre I : GENERALITES SUR LA VoIP .......................................................................... 2
I.1. PRÉSENTATION DE LA TECHNOLOGIE .............................................................. 2
I.1.1. DEFINITION ........................................................................................................... 2
I.1.2. ARCHITECTURE................................................................................................... 2
I.1.3. PRINCIPE DE FONCTIONNEMENT ................................................................. 4
I.2. PROTOCOLE SIP ( Session Inititation Protocol) ....................................................... 4
I.2.1. DESCRIPTION GENERALE DU PROTOCOLE SIP ....................................... 4
I.2.2. PRINCIPE DE FONCTIONNEMENT ................................................................. 5
I.2.3. RÔLE DES COMPOSANTS .................................................................................. 7
I.2.4. CARACTÉRISTIQUES .......................................................................................... 8
I.3. PROTOCOLES DE TRANSPORT ET DE CODAGE DE LA VOIX ...................... 9
I.3.1. LE PROTOCOLE RTP .......................................................................................... 9
a) Description générale de RTP
b) Les fonctions de RTP
c) Atouts et inconvénients
I.3.2. LE PROTOCOLE RTCP ..................................................................................... 10
a) Description générale de RTCP
b) Point fort et limite du protocole RTCP
I.4. QUALITÉ DU SERVICE (QoS) ................................................................................. 12
I.4.1. CONTRAINTES DE LA VoIP ............................................................................. 12
a) Le phénomène d’écho
b) La latence
c) La gigue
d) Les pertes de paquets
I.4.2. LES VULNÉRABILITÉS DE L’INFRASTRUCTURE .................................... 15
a) Faiblesses dans la configuration des dispositifs de la VoIP
b) Les téléphones IP

iii
 
 

c) Les serveurs
d) Les vulnérabilités du système d’exploitation
I.5. PRÉSENTATION DU LOGICIEL Packet Tracer .................................................... 17
I.5.1. PROPRIÉTÉS DU LOGICIEL ............................................................................ 18
a) Principaux protocoles
b) Equipements disponibles
c) Connexions possibles
I.5.2. INTERFACE GRAPHIQUE DU LOGICIEL .................................................... 20
I.6. CONCLUSION ............................................................................................................. 20
Chapitre II : CONFIGURATION DE LA VoIP .................................................................. 21
II.1. ARCHITECTURE DU RÉSEAU VoIP DÉPLOYÉ ................................................ 21
II.2. CONFIGURATION D’ASTERISK .......................................................................... 22
II.2.1. ARCHITECTURE D’ASTERISK...................................................................... 22
II.2.2. CONFIGURATION DES FICHIERS ................................................................ 22
II.2.3. LE PLAN DE NUMÉROTATION ..................................................................... 26
II.2.4. CONFIGURATION DES MESSAGES TEXTES ............................................ 26
II.3. CONFIGURATION DE X-LITE ............................................................................... 27
II.3.1. A PROPOS DE X-LITE ....................................................................................... 27
II.3.2. CONFIGURATION DES COMPTES DANS X-LITE..................................... 29
II.3.3. CONFIGURATION DES AUTRES OPTIONS ................................................ 31
II.4. CONCLUSION ........................................................................................................... 33
Chapitre III : METHODES DE SECURISATION DE LA VoIP....................................... 34
III.1. SÉCURISATION PROTOCOLAIRE .................................................................... 34
III.1.1. PRESENTATION DE LA METHODE............................................................ 34
III.1.2. UTILISATION DU PROTOCOLE SRTP ....................................................... 35
III.2. SÉCURISATION DE L’APPLICATION ............................................................... 38
III.2.1. CONDITIONS NECESSAIRES........................................................................ 38
III.2.2. UTILISATION DE X-Lite ................................................................................. 38
III.2.3. MATERIELS SPECIFIQUES .......................................................................... 38
III.3. SÉCURISATION DU SYSTEME D’EXPLOITATION ....................................... 44
III.3.1. CONDITIONS NECESSAIRES........................................................................ 44
III.3.2. UTILISATION DE FIREWALL ....................................................................... 45
III.4. CONCLUSION .......................................................................................................... 46
CONCLUSION GENERALE................................................................................................ 47
Annexe I : LE PROTOCOLE H323...................................................................................... 48
Annexe II : ATTAQUES SUR LE PROTOCOLE .............................................................. 50
A.II.1. Sniffing ..................................................................................................................... 50

iv
 
 

A.II.2.Suivi des appels ........................................................................................................ 50


A.II.3. Injection de paquet RTP ........................................................................................ 50
A.II.4. L’écoute clandestine ............................................................................................... 51
Annexe III : DETAILS SUR LE LOGICIEL ASTERISK ................................................. 52
A.III.1. INSTALLATION D’ASTERISK ......................................................................... 52
A.III.2. HISTORIQUE ET UTILISATION ..................................................................... 52
REFERENCES ....................................................................................................................... 54

v
 
 

Liste des Figures


 
Figure 1.1: Architecture générale de la voix sur IP [4].............................................................. 3 
Figure 1.2: Principe du protocole SIP ........................................................................................ 8 
Figure 1.3 : Fenêtre de configuration d’un téléphone IP ......................................................... 20 
 
Figure 2.1 : Architecture du réseau VoIP à réaliser ................................................................. 21 
Figure 2.2 : Extrait de configuration des utilisateurs dans sip.conf ......................................... 25 
Figure 2.3 : Configuration des appels ...................................................................................... 26 
Figure 2.4 : Configuration des messages textes dans extensions.conf..................................... 27 
Figure 2.5 : Interface du softphone X-lite ................................................................................ 28 
Figure 2.6 : Fenêtre de configuration d’un compte .................................................................. 29 
Figure 2.7 : Configuration d’un compte................................................................................... 30 
Figure 2.8 : Fenêtre de messagerie texte .................................................................................. 31 
Figure 2.9 : Sélection des codecs dans X-lite ........................................................................... 32 
 
Figure 3.1 : Interface du logiciel Wireshark ............................................................................ 36 
Figure 3.2 : Résultat du piratage sans sécurisation du protocole ............................................. 37 
Figure 3.3 : Utilisation de SRTP dans extensions.conf............................................................ 37
Figure 3.4 : Résultat du piratage avec sécurisation de protocole ............................................. 37 
Figure 3.5 : Utilisation de téléphone IP et switch sous Packet Tracer .................................... 39 
Figure 3.6 : Configuration de l’interface fastethernet 0/0 du routeur DHCP........................... 40 
Figure 3.7 : Exclusion d’adresses IP ........................................................................................ 40 
Figure 3.8 : Configuration du routeur VoIP ............................................................................. 40 
Figure 3.9 : Création de VLAN pour la VoIP et pour les données............................................ 41 
Figure 3.10 : Configuration de l’interface du switch connectée à DHCP ................................ 41 
Figure 3.11 : Configuration de l’interface du switch connectée à VoIP .................................. 41 
Figure 3.12 : Configuration des services de téléphonie ........................................................... 42 
Figure 3.13 : Association de numéro aux téléphones .............................................................. 42
Figure 3.14 : Création des ephones .......................................................................................... 43 
Figure 3.15 : Simulation d’appels sous Packet Tracer. ........................................................... 43 
 
  

vi
 
 

vii
 
 

Liste des Tableaux


Tableau I : Liste des requêtes échangées dans un terminal [5] .................................................. 6 
Tableau II : Classes de réponses à une requête .......................................................................... 7 
Tableau III : Différentes classes de la latence [8] .................................................................... 13 
Tableau IV : Difficulté de communication ............................................................................... 13 
Tableau V : Protocoles disponibles sous Packet Tracer........................................................... 18 
Tableau VI : Différents types de connexion sous Packet Tracer [11]...................................... 19 

viii
 
 

Liste des abréviations

ACE: Access Control Entry


ACK: Aknowledgment
ACL: Access Control List
API: Application Programming Interface
CAN: Convertisseur Analogique-Numérique
CDP: Cisco Discovery Protocol
CNA: Convertisseur Numérique-Analogique
DCE : Data Communication Equipment
DHCP: Dynamic Host Configuration Protocol
DTE : Data Terminating Equipment
DTMF: Dual-Tone Multi-Frequency
GPL: General Public Licence
GSM: Global System for Mobile communication
IAX: Inter Asterisk eXchange
IETF: Internet Engineering Task Force
IP: Internet Protocol
ISDN: Integrated Service Data Network
ITU: International Telecommunications Union
LAN: Local Area Network
MC: Multipoint Control
MCU: Multipoint Control Unit
MEGACO: Media Gateway Control
MGCP: Media Gateway Control Protocol
MKI: Master Key identifier
MP: Multipoint Processor
NAT: Network Address Translation
PABX: Private Automatic Branch eXchange
PBX: Private Branch eXchange
PC: Personal Computer
PSTN: Public Switched Telephone Network
QoS: Quality of Service

ix
 
 

RAM: Random Access Memory


RAS: Registration/Admission/Status
RFC: Request For Comments
RNIS: Réseau Numérique à Intégration de Service
RR: Receiver Report
RSVP: Ressource reservation Protocol
RTC: Réseau Téléphonique Commuté
RTCP: Real-time Transport Control Protocol
RTP: Real-time Transport Protocol
RTSP: Real Time Streaming Protocol
SDP: Session Description Protocol
SIP: Session Initiation Protocol
SNMP: Simple Network Management Protocol
SR: Sender Report
SRTP: Secure Real-time Transport Protocol
TCP: Transmission Control Protocol
UAC: User Agent Client
UAS: User Agent Server
UDP: User Datagram Protocol
UIT: Union International des Télécommunications
URI: Uniform Resource Indicator
URL: Uniform Resource Locator
USB: Universal Serial Bus
VLAN: Virtual Local Area Network
VMPS: VLAN Membership Policy Server
VoIP: Voice over Internet Protocol
VOMIT: Voice Over Misconfigured Internet Telephone
VPN: Virtual Private Network
YATE: Yet Another Telephony Engin

x
 
 

INTRODUCTION

La VoIP constitue actuellement l’évolution la plus importante dans le domaine des


nouvelles technologies. Avant 1970, la transmission de la voix s’effectuait de façon
analogique sur des réseaux dédiés à la téléphonie. La technologie utilisée était la technologie
électromécanique. Dans les années 80, une première évolution majeure a été le passage à la
transmission numérique. Actuellement, toutes ces technologies sont devenues trop archaïques
et ne peuvent plus satisfaire les besoins de l’utilisateur. Disposant d’une très grande facilité de
manipulation, la VoIP est pour ainsi dire à la portée de tous. Le but du présent travail est de
s’assurer que les clients puissent bénéficier de la meilleure qualité de service possible en
termes de VoIP. En effet, bien que cette nouvelle technologie soit beaucoup convoitée en
raison des plusieurs avantages qu’elle offre, elle présente des failles qui nécessitent une nette
amélioration afin de garantir le meilleur résultat pour le client. Notamment, que ce soit au
niveau des serveurs de la VoIP ou de ses clients, quelques mises au point s’imposent.
Pour bien entrer dans le vif du sujet, il faut connaitre et approfondir ce que secrète
vraiment la VoIP. Dans ce sens, la connaissance des différents protocoles utilisés par cette
dernière est fondamentale. Optimiser la qualité du service fait partie des points importants en
terme d’utilisation de la VoIP. [1] Afin de trouver les éventuelles solutions face aux
problèmes rencontrés, il est nécessaire de bien définir ce que la VoIP exige en termes de
qualité de service (QoS) ; de bien connaître les attaques contre la VoIP ainsi que les
vulnérabilités de son infrastructure.
C’est dans ce cadre que cet ouvrage traite de « la sécurisation de la VoIP via Asterisk
et X-lite ». Pour ce faire, ce rapport de mémoire est décomposé en trois chapitres. Dans le
premier, les généralités sur la VoIP seront présentées. La configuration de la VoIP sur un
réseau simple sera abordée dans le second. Et le troisième traitera de la sécurisation de la
VoIP.

 
1
 

Chapitre I

GENERALITES SUR LA VoIP

L’objectif de ce chapitre est l’étude de la VoIP et de ses différents aspects.


L’architecture de cette technologie y sera présentée en détail, ainsi que ses éléments et son
principe de fonctionnement. Il est aussi primordial de parler de la QoS de la VoIP et du
logiciel Packet Tracer.

I.1. PRÉSENTATION DE LA TECHNOLOGIE


I.1.1. DEFINITION
Comme son nom l'indique, la VoIP permet de transmettre des sons (en particulier la
voix) dans des paquets IP circulant sur le réseau en général, et bien évidemment sur Internet.
La VoIP peut utiliser du matériel d'accélération pour réaliser ce but et peut aussi être utilisée
en environnement de bureau. Egalement, il existe des matériels spécifiques destinés à la VoIP
(par exemple les téléphones IP) en dehors des matériels informatiques usuels.

I.1.2. ARCHITECTURE
La VoIP étant une nouvelle technologie de communication, elle n'a pas encore de
standard unique. En effet, chaque constructeur apporte ses normes et ses fonctionnalités à ses
solutions. Les trois principaux protocoles sont H.323, SIP et MGCP/MEGACO. Il existe donc
plusieurs approches pour offrir des services de téléphonie et de visiophonie sur des réseaux
IP. Certaines placent l'intelligence dans le réseau alors que d'autres préfèrent une approche
égale à égale avec l'intelligence répartie à la périphérie. Chacune ayant ses atouts et ses
faiblesses. [2]
La Figure 1.1 décrit, de façon générale, la topologie d'un réseau de téléphonie IP. Elle
comprend des terminaux, un serveur de communication et une passerelle vers les autres
réseaux. Chaque norme a ensuite ses propres caractéristiques pour garantir une plus ou moins
grande qualité de service. L'intelligence du réseau est aussi déportée soit sur les terminaux,
soit sur les passerelles, contrôleurs de commutation, appelées Gatekeeper. Généralement, on
retrouve quelques éléments communs :

 
2
 

Le routeur permet d'aiguiller les données et le routage des paquets entre deux réseaux.
Certains routeurs permettent de simuler un Gatekeeper grâce à l'ajout de cartes spécialisées
supportant les protocoles VoIP. [3]
La passerelle permet d’interfacer le réseau commuté et le réseau IP.
Le PABX est le commutateur du réseau téléphonique classique. Il permet de faire le lien entre
la passerelle ou le routeur, et le réseau téléphonique commuté (RTC). Toutefois, si tout le
réseau devient IP, ce matériel devient obsolète.
Les Terminaux sont généralement de type logiciel (software phone) ou matériel (hardphone),
le softphone est installé dans le Personal Computer (PC) de l'utilisateur. L'interface audio
peut être un microphone et des haut-parleurs branchés sur la carte son, même si un casque est
recommandé. Pour une meilleure clarté, un téléphone USB ou Bluetooth peut être utilisé.
Le hardphone est un téléphone IP qui utilise la technologie de la Voix sur IP pour permettre
des appels téléphoniques sur un réseau IP tel que l'Internet. Les appels peuvent parcourir le
réseau internet ainsi qu’un réseau privé.
Un terminal utilise des protocoles comme le SIP (Session Initiation Protocol) ou l’un
des protocoles propriétaire tel que celui utilisé par Skype.

Réseau
téléphonique
Terminal VoIP Téléphone VoIP

PABX

Passerelle

Serveur
Réseau
téléphonique
Routeur

Figure 1.1: Architecture générale de la voix sur IP [4]

 
3
 

I.1.3. PRINCIPE DE FONCTIONNEMENT


Depuis nombreuses années, il est possible de transmettre un signal à une destination
éloignée sous forme de données numériques. D’une manière générale, le principe de la voix
sur IP consiste en une numérisation de la voix, éventuellement une compression du signal
numérique obtenu (pour diminuer la quantité d'informations à transmettre), un découpage du
signal obtenu en datagrammes, et enfin, au transport de ces paquets sur un réseau. Avant la
transmission, il faut numériser le signal à l'aide d'un CAN (Convertisseur Analogique-
Numérique). Le signal est ensuite transmis, pour être utilisable, il doit être transformé de
nouveau en un signal analogique, à l'aide d'un CNA (Convertisseur Numérique-
Analogique).A l'arrivée, les paquets transmis sont réassemblés, les données ainsi obtenues
sont décompressées, converties et restituées à l'utilisateur.
Le format numérique est plus facile à contrôler, il peut être compressé, routé et
converti en un nouveau format meilleur. Le signal numérique est plus tolérant au bruit que
l'analogique.
Les réseaux TCP/IP sont des supports de circulation de paquets IP contenant un en-
tête (pour contrôler la communication) et une charge utile pour transporter les données. Il
existe plusieurs protocoles qui peuvent supporter la voix sur IP tel que le H.323, SIP et
MGCP. Les deux protocoles les plus utilisées actuellement dans les solutions VoIP
présentes sur le marché sont le H.323 et le SIP.

I.2. PROTOCOLE SIP ( Session Inititation Protocol)

I.2.1. DESCRIPTION GENERALE DU PROTOCOLE SIP


Le protocole SIP (Session Initiation Protocol) est un protocole normalisé et
standardisé par l'IETF (décrit par le RFC 3261 qui rend obsolète le RFC 2543, et complété par
le RFC 3265) qui a été conçu pour établir, modifier et terminer des sessions multimédia. Il se
charge de l'authentification et de la localisation des multiples participants. Il se charge
également de la négociation sur les types de média utilisables par les différents participants
en encapsulant des messages SDP (Session Description Protocol). SIP ne transporte pas les
données échangées durant la session comme la voix ou la vidéo. SIP étant indépendant de la
transmission des données, tout type de données et de protocoles peut être utilisé pour cet
échange. Cependant le protocole RTP (Real-time Transport Protocol) assure le plus souvent
les sessions audio et vidéo. SIP n’est pas le seul protocole gérant les sessions. Il remplace
progressivement le H323 (cf Annexe I).

 
4
 

SIP est le standard ouvert de VoIP, interopérable, le plus étendu et vise à devenir le
standard des télécommunications multimédia (son, image, etc.). Skype par exemple, qui
utilise un format propriétaire, ne permet pas l'interopérabilité avec un autre réseau de voix sur
IP et ne fournit que des passerelles payantes vers la téléphonie standard. SIP n'est donc pas
seulement destiné à la VoIP mais pour de nombreuses autres applications telles que la
visiophonie, la messagerie instantanée, la réalité virtuelle ou même les jeux vidéo.

I.2.2. PRINCIPE DE FONCTIONNEMENT


Il est important de s’assurer que la personne appelée soit toujours joignable. Pour cela,
un compte SIP sera associé à un nom unique. Par exemple, si un utilisateur d’un service de
voix sur IP dispose d’un compte SIP et que chaque fois qu’il redémarre son ordinateur, son
adresse IP change, il doit cependant toujours être joignable. Son compte SIP doit donc
être associé à un serveur SIP dont l’adresse IP est fixe. Ce serveur lui allouera un compte et il
permettra d’effectuer ou de recevoir des appels quelques soit son emplacement. Ce compte
sera identifiable via son nom (ou pseudo).
Un utilisateur doit pouvoir modifier les caractéristiques d’un appel en cours. Par
exemple, un appel initialement configuré en (voix uniquement) peut être modifié en (voix +
vidéo).
Avec SIP, les utilisateurs qui ouvrent une session peuvent communiquer en mode
point à point, en mode diffusif ou dans un mode combinant ceux-ci.
Mode Point à point : on parle dans ce cas-là d’«unicast » qui correspond à la communication
entre deux terminaux.
Mode diffusif : on parle dans ce cas-là de « multicast » (plusieurs utilisateurs via une unité de
contrôle MCU – Multipoint Control Unit).
Combinatoire : combine les deux modes précédents. Plusieurs utilisateurs interconnectés en
multicast via un réseau à maillage complet de connexion.
Durant une session d’appel, de nouveaux participants peuvent joindre les participants
d’une session déjà ouverte en participant directement, en étant transférés ou en étant mis en
attente (cette particularité rejoint les fonctionnalités d’un PABX par exemple, où l’appelant
peut être transféré vers un numéro donné ou être mis en attente).
Cela permet à un groupe durant un appel de négocier sur les types de médias
supportés. Par exemple, la vidéo peut être ou ne pas être supportée lors d’une session.

 
5
 

Le protocole SIP repose sur un modèle Requête/Réponse. Les échanges entre un


terminal appelant et un terminal appelé se font par l'intermédiaire de requêtes. Le Tableau I
indique la liste des requêtes échangées.

Tableau I : Liste des requêtes échangées dans un terminal [5] 

Invite cette requête indique que l'application (ou utilisateur)


correspondante à l'url SIP spécifié est invité à participer à une
session. Le corps du message décrit cette session (par ex :
média supportés par l’appelant). En cas de réponse favorable,
l'invité doit spécifier les médias qu'il supporte.
Acknowledgment cette requête permet de confirmer que le terminal appelant a
(Ack) bien reçu une réponse définitive à une requête Invite.
Options un proxy server en mesure de contacter l'UAS ou User Agent
Server (terminal) appelé, doit répondre à une requête Options
en précisant ses capacités à contacter le même terminal.
Bye cette requête est utilisée par le terminal de l'appelé à fin de
signaler qu'il souhaite mettre un terme à la session.
Cancel cette requête est envoyée par un terminal ou un proxy server à
fin d'annuler une requête non validée par une réponse finale
comme, par exemple, si une machine ayant été invitée à
participer à une session, et ayant accepté l'invitation ne reçoit
pas de requête Ack, alors elle émet une requête Cancel.
Register cette méthode est utilisée par le client pour enregistrer l'adresse
listée dans l'URL To par le serveur auquel il est relié.

Le sigle URL (Uniform Resource Locator), littéralement « localisateur uniforme de


ressource »), auquel se substitue informellement le terme adresse web, désigne une chaîne de
caractères utilisée pour adresser les ressources du World Wide Web. Chaque hyperlien du web
est construit avec l'URL de la ressource pointée, insérée avec une certaine syntaxe dans le
document source qui le contient pour indiquer la localisation d'une autre ressource (un
document) ou fragment de ressource (une ancre cible dans cet autre document).

 
6
 

Une réponse à une requête est caractérisée, par un code et un motif, appelés
respectivement code d'état et raison phrase. Un code d'état est un entier codé sur 3 digits
indiquant un résultat à l'issue de la réception d'une requête. Ce résultat est précisé par une
phrase, textbased (UTF-8), expliquant le motif du refus ou de l'acceptation de la requête. Le
code d'état est donc destiné à l'automate gérant l'établissement des sessions SIP et les
motifs aux programmeurs. Il existe 6 classes de réponses et donc de codes d'état, représentées
par le premier digit (Tableau II).

Tableau II : Classes de réponses à une requête

Classes Commentaires Explications

1xx Information La requête a été reçue et continue à être traitée

2xx Succès L'action a été reçue avec succès, comprise et acceptée

3xx Redirection Une autre action doit être menée afin de valider la
requête
4xx Erreur du client La requête contient une syntaxe erronée ou ne peut pas
être traitée par ce serveur
5xx Erreur du serveur Le serveur n'a pas réussi à traiter une requête
apparemment correcte
6xx Echec général La requête ne peut être traitée par aucun serveur

I.2.3. RÔLE DES COMPOSANTS


Un système SIP comprend deux types de composants : les agents utilisateurs et un
réseau de serveurs (Registrar, Proxy). L'UAS (User Agent Server) représente l'agent de la
partie appelée. C'est une application de type serveur qui contacte l'utilisateur lorsqu'une
requête SIP est reçue. Et elle renvoie une réponse au nom de l'utilisateur. L'UAC (User Agent
Client) représente l'agent de la partie appelante. C'est une application de type client qui initie
les requêtes.

 
7
 

Le Registrar est un serveur qui gère les requêtes REGISTER envoyées par les Users
Agents pour signaler leur emplacement courant. Ces requêtes contiennent donc une adresse
IP, associée à une UR, qui seront stockées dans une base de données (Fig.1.2).

Le proxy
interroge la
La base de données Base de
base de données
renvoie l’adresse IP données
du destinataire

Envoi d’une Le proxy renvoie


requête INVITE le message au
au proxy destinataire

Serveur du protocole SIP


Figure 1.2: Principe

I.2.4. CARACTÉRISTIQUES
Ouvert, standard, simple et flexible sont les principaux atouts du protocole SIP, voilà
en détails ces différents atouts :
Ouvert : les protocoles et documents officiels sont détaillés et accessibles à tous en
téléchargement.
Standard : l'IETF a normalisé le protocole et son évolution continue par la création ou
l'évolution d'autres protocoles qui fonctionnent avec SIP.
Simple : SIP est simple et très similaire à http.
Flexible : SIP est également utilisé pour tout type de sessions multimédia (voix, vidéo, mais
aussi musique, réalité virtuelle, etc.).
Téléphonie sur réseaux publics : il existe de nombreuses passerelles (services payants)
vers le réseau public de téléphonie (RTC, GSM, etc.) permettant d'émettre ou de recevoir des
appels vocaux.

 
8
 

Points communs avec H323 : l'utilisation du protocole RTP et quelques codecs son et vidéo
sont en commun.
Par contre une mauvaise implémentation ou une implémentation incomplète du
protocole SIP dans les Users Agents peut perturber le fonctionnement ou générer du trafic
superflu sur le réseau. Un autre inconvénient est le faible nombre d'utilisateurs : SIP est
encore peu connu et utilisé par le grand public, n'ayant pas atteint une masse critique, il ne
bénéficie pas de l'effet réseau.

I.3. PROTOCOLES DE TRANSPORT ET DE CODAGE DE LA VOIX

I.3.1. LE PROTOCOLE RTP


a) Description générale de RTP
RTP (Real time Transport Protocol), standardisé en 1996, est un protocole qui a été
développé par l'IETF afin de faciliter le transport temps réel de bout en bout des flots données
audio et vidéo sur les réseaux IP, c'est à dire sur les réseaux de paquets. RTP est un protocole
qui se situe au niveau de l'application et qui utilise les protocoles sous-jacents de transport
TCP ou UDP. Mais l'utilisation de RTP se fait généralement au-dessus d’UDP ce qui permet
d'atteindre plus facilement le temps réel. Les applications temps réels comme la parole
numérique ou la visioconférence constitue un véritable problème pour Internet. Qui dit
application temps réel, dit présence d'une certaine qualité de service (QoS) que RTP ne
garantit pas du fait qu'il fonctionne au niveau Applicatif. De plus RTP est un protocole qui se
trouve dans un environnement multipoint, donc on peut dire que RTP possède à sa charge, la
gestion du temps réel, mais aussi l'administration de la session multipoint. [6]

b) Les fonctions de RTP


Le protocole RTP a pour but d'organiser les paquets à l'entrée du réseau et de les
contrôler à la sortie. Ceci de façon à reformer les flux avec ses caractéristiques de départ. RTP
est un protocole de bout en bout, volontairement incomplet et malléable pour s'adapter aux
besoins des applications. Il sera intégré dans le noyau de l'application. Il laisse la
responsabilité du contrôle aux équipements d'extrémité. Il est aussi un protocole adapté aux
applications présentant des propriétés temps réel. Il permet ainsi de :
Mettre en place un séquençage des paquets par une numérotation et ce afin de
permettre ainsi la détection des paquets perdus. Ceci est un point primordial dans la

 
9
 

reconstitution des données. Mais il faut savoir quand même que la perte d'un paquet n'est pas
un gros problème si les paquets ne sont pas perdus en trop grands nombres. Cependant il est
très important de savoir quel est le paquet qui a été perdu afin de pouvoir pallier à cette perte.
Identifier le contenu des données pour leurs associer un transport sécurisé et
reconstituer la base de temps des flux (horodatage des paquets : possibilité de
resynchronisation des flux par le récepteur). L'identification de la source c'est à dire
l'identification de l'expéditeur du paquet. Dans un multicast l'identité de la source doit être
connue et déterminée.
Transporter les applications audio et vidéo dans des trames (avec des dimensions qui
sont dépendantes des codecs qui effectuent la numérisation). Ces trames sont incluses dans
des paquets afin d'être transportées et doivent, de ce fait, être récupérées facilement au
moment de la phase de segmentation des paquets afin que l'application soit décodée
correctement.

c) Atouts et inconvénients
Le protocole RTP permet de reconstituer la base de temps des différents flux
multimédia (audio, vidéo, etc.), de détecter les pertes de paquets, et d’identifier le contenu des
paquets pour leur transmission sécurisée.
Par contre, il ne permet pas de réserver des ressources dans le réseau ou d’apporter une
fiabilité dans le réseau. Ainsi il ne garantit pas le délai de livraison.

I.3.2. LE PROTOCOLE RTCP


a) Description générale de RTCP
Le protocole RTCP est fondé sur la transmission périodique de paquets de contrôle à
tous les participants d'une session. C'est le protocole UDP (par exemple) qui permet le
multiplexage des paquets de données RTP et des paquets de contrôle RTCP.
Le protocole RTP utilise le protocole RTCP, Real-time Transport Control Protocol,
qui transporte les informations supplémentaires suivantes pour la gestion de la session.
Les récepteurs utilisent RTCP pour renvoyer vers les émetteurs un rapport sur la QoS.
Ces rapports comprennent le nombre de paquets perdus, le paramètre indiquant la variance
d'une distribution (plus communément appelé la gigue : c'est à dire les paquets qui
arrivent régulièrement ou irrégulièrement) et le délai aller-retour. Ces informations permettent

 
10
 

à la source de s'adapter, par exemple, de modifier le niveau de compression pour maintenir


une QoS.
Les principales fonctions qu’offre le protocole RTCP sont :
Une synchronisation supplémentaire entre les médias : Les applications multimédias sont
souvent transportées par des flots distincts. Par exemple, la voix, l'image ou même des
applications numérisées sur plusieurs niveaux hiérarchiques peuvent voir les flots gérées et
suivre des chemins différents.
L'identification des participants à une session : en effet, les paquets RTCP contiennent des
informations d'adresses, comme l'adresse d'un message électronique, un numéro de
téléphone ou le nom d'un participant à une conférence téléphonique.
Le contrôle de la session : en effet le protocole RTCP permet aux participants d'indiquer leur
départ d'une conférence téléphonique (paquet Bye de RTCP) ou simplement de fournir une
indication sur leur comportement.
Le protocole RTCP demande aux participants de la session d'envoyer périodiquement
les informations citées ci-dessus. La périodicité est calculée en fonction du nombre de
participants de l'application. Les paquets RTP ne transportent donc que les données des
utilisateurs. Tandis que les paquets RTCP ne transportent en temps réel, que de la supervision.
Les paquets de supervision peuvent être détaillés en 5 types:
SR (Sender Report) : Ce rapport regroupe des statistiques concernant la transmission
(pourcentage de perte, nombre cumulé de paquets perdus, variation de délai (gigue), etc.). Ces
rapports sont issus d'émetteurs actifs d'une session.
RR (Receiver Report) : Ensemble de statistiques portant sur la communication entre les
participants. Ces rapports sont issus des récepteurs d'une session.
SDES (Source Description) : Carte de visite de la source (nom, e-mail, localisation).
BYE : Message de fin de participation à une session.
APP : Fonctions spécifiques à une application.

b) Point fort et limite du protocole RTCP


Le protocole de RTCP est adapté pour la transmission de données temps réel. Il
permet d’effectuer un contrôle permanant sur une session et ces participants. Par contre il
fonctionne en stratégie bout à bout. Et il ne peut pas contrôler l'élément principal de la
communication « le Réseau ».

 
11
 

I.4. QUALITÉ DU SERVICE (QoS)

I.4.1. CONTRAINTES DE LA VoIP


Avant d’entrer dans les détails de l’optimisation, il est nécessaire de savoir quels sont
les facteurs qui influencent directement la qualité du service dans un réseau VoIP. Ces
facteurs sont écho, latence, gigue et perte de paquets. [7]

a) Le phénomène d’écho
L'écho est le délai entre l'émission d'un signal et la réception de ce même signal
réverbéré. Ce problème se pose généralement dans les communications PC à Téléphone,
Téléphone à PC ou Téléphone à Téléphone. Il est causé par les composantes électroniques des
parties analogiques du système qui renvoient une partie du signal traité. Le phénomène d’écho
est désagréable, car le locuteur s’entend parler avec un décalage dans le temps qui ressemble à
un écho. Ceci peut l’interrompre ou le faire bégayer.

b) La latence
La latence est la mesure du délai dans un appel. En d’autres termes, c’est le temps de
déplacement des données ou des paquets de voix d'un point à un autre. La maîtrise du délai de
transmission est un élément essentiel pour bénéficier d'un véritable mode conversationnel et
minimiser la perception d'écho. Deux types de mesures sont à prendre en compte : la mesure
« round-trip latency » et la mesure « one-way latency ».
La mesure "round-trip latency" correspond au temps qu'il faut à une information pour
aller d'un point A vers un point B puis le temps qu'il faut à la réponse pour revenir en A. Elle
affecte la dynamique de la conversation. Prendre en compte la mesure de A vers B, puis celle
de B vers A, est important car les "performances de la ligne" ne sont pas forcements
symétrique. Avec une valeur de "round trip latency" égale ou supérieure à 300 ms, la qualité
de la conversation se dégrade et devient difficilement supportable (voix saccadées,...)
La mesure "one-way latency" qui détermine le temps écoulé entre l'émission d'un son
et sa réception. Elle est utilisée pour analyser l'origine de la latence.

 
12
 

Les chiffres du Tableau III (tirés de la recommandation UIT-T G114) sont donnés à
titre indicatif pour préciser les classes de qualité et d'interactivité en fonction du retard de
transmission dans une conversation téléphonique. Ces chiffres concernent le délai total de
traitement, et pas uniquement le temps de transmission de l'information sur le réseau.
Tableau III : Différentes classes de la latence [8] 

Classes Délai par sens[ms] Commentaires

1 0 à 150 Acceptable pour la plupart des conversations

2 150 à 300 Acceptable pour des communications faiblement interactives

3 300 à 700 Devient pratiquement une communication half duplex

4 Au-delà de 700 Inutilisable sans une bonne pratique de la conversation half


duplex

En conclusion, on considère généralement que la limite supérieure "acceptable", pour


une communication téléphonique, se situe entre 150 et 200 ms par sens de transmission (en
considérant à la fois le traitement de la voix et le délai d'acheminement).
Les chiffres du Tableau III peuvent être complétés par un indice de difficulté de
communication en fonction du retard par sens (Tableau IV).

Tableau IV : Difficulté de communication 

Délai par sens Difficulté de communication

200 ms 28 %

450 ms 35 %

700 ms 46 %

 
13
 

c) La gigue
La gigue ou « jitter » caractérise la variation de la latence dans le réseau. En effet,
suivant la charge du réseau, la latence peut être forte lors des surcharges et peu élevée dans le
cas contraire. Une gigue élevée (approximativement supérieure à 50 ms) peut entrainer une
augmentation de la latence et la perte de paquets. Lors d’une conversation, il est important
que les interlocuteurs entendent ce qu’ils se disent dans le même ordre dit. Dans le cas
contraire, il y a un risque que le contenu de la discussion ne soit pas compréhensible.
Malheureusement, le phénomène de gigue se caractérise par un déséquencement lors de la
transmission des paquets et des écarts de timing entre deux paquets successifs (fluidité de la
conversation), certains arrivant plus rapidement ou plus lentement qu'ils ne le devraient. Afin
de corriger les effets de gigue, les équipements terminaux de VoIP (par exemple téléphone)
réceptionnent les paquets de VoIP dans un buffer afin de pouvoir les remettre dans l'ordre et
de les restituer avec le bon timing avant que l'interlocuteur ne les entendent. Ce mécanisme de
correction fonctionne, mais peut entrainer d'autres problèmes. La mise en mémoire tampon
des paquets entraine des temps de traitements supplémentaires. Donc, plus le buffer est grand
et plus les délais sont importants. Il est donc indispensable de limiter la taille du buffer, mais
dans ce cas un autre problème peut survenir, en effet, si le buffer est plein alors des paquets
risquent d'être perdus (dropped) et le récepteur ne les entendra jamais. Ces paquets sont
appelés les "discarded packets". La gigue doit rester inférieure à 100 ms pour garder une
qualité acceptable. [9]

d) Les pertes de paquets


De même qu’il est important de pouvoir entendre ce que dit quelqu'un et de l'entendre
dans l'ordre, il est également important d'entendre la totalité de ce qu'il dit. Si lors de la
conversation, on ne peut entendre que 7 mots sur 10 voire pire, il y a de grande chance que
l’interlocuteur ne puisse comprendre le contenu essentiel de la discussion. La perte de paquets
(packet loss) vient du fait que certains paquets sont perdus (dropped) par les routeurs ou les
switchs lorsqu'ils sont congestionnés (congested = lost packets) ou qu'ils sont écartés
(discarded) par le "jitter buffer" (discarded packets). Connaître le pourcentage de paquets
perdus donne une idée de la qualité d'un appel. Un appel avec moins de 1% de paquets perdus
sera toujours meilleurs qu'un appel avec 10% de pertes. Cependant, le pourcentage moyen de
paquets perdus n'est pas suffisant. En effet, il existe deux sortes de perte de paquets : aléatoire
et bursty (random et bursty). Soient deux appels (A et B) avec chacun une perte moyenne de

 
14
 

l'ordre de 1 %. L'appel A perd 1 paquet sur 100 paquets (random loss) alors que pour B la
perte de paquet se concentre par exemple au début et à la fin de la conversation. Lequel de ces
deux appels serait meilleur en terme de qualité? Il est évident que c’est le premier. C'est pour
cette raison qu'il est important de connaître la distribution de la perte des paquets
(uniformément répartie au cours de la conversation donc acceptable, ou concentrée à des
instants donc plus difficilement supportable). Bien évidemment, des attaques sur le protocole
peuvent survenir. Les détails sont donnés en annexe II.

I.4.2. LES VULNÉRABILITÉS DE L’INFRASTRUCTURE


Une infrastructure VoIP est composée de téléphones IP, Gateway, serveurs (proxy,
register, etc.). Chaque élément, que ce soit un système embarqué ou un serveur standard
tournant sur un système d'exploitation, est accessible via le réseau comme n'importe quel
ordinateur. Chacun comporte 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.

a) Faiblesses dans la configuration des dispositifs de la 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. 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. 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.

b) 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.

 
15
 

Compromettre un point final (téléphone IP) peut être fait à distance ou par un accès physique
au dispositif. Le pirate pourrait changer les aspects opérationnels d'un tel dispositif: la pile du
système d'exploitation peut être modifié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).
D’autre part, toutes les informations concernant l'utilisateur qui sont stockées sur le
dispositif peuvent être 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.
Les softphones ne réagissent pas de la même façon aux attaques comparés à leurs
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 et 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.

c) 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

 
16
 

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 ou n’importe quel code malveillant.

d) Les 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 la sureté d’une application de la VoIP, celle
ci devient vulnérable aux menaces si le système d'exploitation sur lequel elle tourne est
compromis.

I.5. PRÉSENTATION DU LOGICIEL Packet Tracer


Packet Tracer est un simulateur de matériel réseau Cisco (routeurs, commutateurs). Il
a été créé par Cisco Systems qui est une entreprise américaine spécialisée dans la vente de
matériel réseau. Le but de Packet Tracer est d'offrir aux élèves et aux professeurs un outil
permettant d'apprendre les principes du réseau, tout en acquérant des compétences aux
technologies spécifiques de Cisco. Il peut être utilisé pour s’entraîner, se former, préparer les
examens de certification Cisco, mais également pour de la simulation réseau. [10]

 
17
 

I.5.1. PROPRIÉTÉS DU LOGICIEL


a) Principaux protocoles
Etant un simulateur de réseau, Packet Tracer dispose de nombreux protocoles relatifs
au réseau. Le Tableau V montre ces différents protocoles :

Tableau V : Protocoles disponibles sous Packet Tracer 

Couches Protocoles
Liaison Ethernet (802.3), 802.11, HDLC, Frame Relay, PPP STP, RSTP,
VTP, DTP, CDP, 802.1q, PAgP, LACP L2 QoS, SLARP, Auto
Secure Wifi: Simple WEP, WPA, EAP
Réseau IPv4, ICMP, ARP, IPv6, ICMPv6, IPSec, GRE, ISAKMP Routage:
RIPv1/v2/ng, Multi-Area OSPF, EIGRP, Static Routing Sécurité:
Context Based Access Lists , Zone-based policy firewall et Intrusion
Protection System (sur certain routeur) Multilayer Switching, L3
QoS, NAT
Transport TCP and UDP, TCP Nagle Algorithm & IP Fragmentation

Application HTTP, HTTPS, TFTP, Telnet, SSH, DNS, DHCP, NTP, SNMP,
AAA, Radius, TACACS, Syslog

b) Equipements disponibles
Packet Tracer propose les principaux équipements réseaux composant les réseaux
actuels. Chaque équipement possède une vue physique comprenant des modules à ajouter, une
vue « configuration » pour configurer les principales options via une interface graphique et
une vue permettant la configuration via CLI.
Ces équipements sont : routeurs, commutateurs, terminaux (ordinateur, portable,
serveur, imprimante et téléphone IP), point d’accès Modem, concentrateurs. Sachant que
chaque équipement se voit attribuer un certain nombre de modules, permettant d’ajouter soit
des ports supplémentaires, soit des nouveaux types de port, les équipements propriétaires
Cisco ont la possibilité de se voir attribuer les nouveaux IOS disponibles sur le site Cisco, si
ceux-ci sont compatibles. Ces IOS peuvent ajouter de nouvelles fonctionnalités ou options de
configuration.

 
18
 

c) Connexions possibles
Packet Tracer propose les principales connexions possibles entre différents
équipements réseaux : Le Tableau VI donne ces dites connexions.

Tableau VI : Différents types de connexion sous Packet Tracer [11] 

Câble Console les connexions console peuvent être établies entre PC et routeurs
ou commutateurs. Elles servent principalement à configurer les
équipements.
Câble droit standard Ethernet pour connecter les équipements opérant dans
les différentes couches du modèle OSI. Packet Tracer supporte
le 10, 100 et 1000 Mbps.
Câble croisé standard Ethernet pour connecter les équipements opérant dans
les mêmes couches du modèle OSI. Packet Tracer supporte le
10, 100 et 1000 Mbps.
Fibre optique les connexions fibres peuvent être établies si les équipements
possèdent les ports fibre adéquates. Packet Tracer supporte le
100 et 1000 Mbps.
Ligne téléphonique Les connexions téléphoniques ne sont disponibles qu’entre les
équipements possédant des ports modem. Ces connexions se font
généralement à travers un nuage réseau.
Câble Coaxial Même chose que pour la ligne téléphonique, sauf que les ports
utilisés sont des ports coaxiales.
Câbles DCE et DTE les connexions sérials se font entre 2 ports séries. Elles sont
souvent utilisées pour simuler des liens WAN. Le doit être activé
sur le câble DCE pour activer la connexion. En fonction du
premier câble sélectionné (DTE ou DCE) le deuxième sera
forcément de l’autre type afin d'assurer la connexion.

Un Data Communication Equipment (DCE) est comme son nom l’indique un


équipement terminal de circuit de données tandis qu’un Data Terminal Equipment (DTE) est
un équipement terminal de traitement de données. Ce dernier est susceptible d’échanger des
données avec un réseau qui ne se connecte pas directement à la ligne de transmission. 

 
19
 

I.5.2. INTERFACE GRAPHIQUE DU LOGICIEL


Packet Tracer dispose d’une interface graphiquee accueillant qui permet à l’utilisateur
de s’adapter facilement. Non seulement au niveau de l’interface générale mais aussi au niveau
de chaque équipement. En effet, dans Packet Tracer, on pourrait presque croire qu’on est sur
un vrai réseau et non sur un réseau virtuel.
La Figure 1.3 montre la fenêtre de configuration d’un téléphone IP dans Packet
Tracer :

Figure 1.3 : Fenêtre de configuration d’un téléphone IP


Figure 2 1

I.6. CONCLUSION
Il est évident que la VoIP est la solution la plus rentable pour effectuer des
conversations. Les différents protocoles qu’elle possède, constituent l’une des forces majeures
de cette technologie. Plusieurs facteurs déterminent la qualité du service offert par cette
dernière notamment l’écho, la latence, la gigue et les pertes de paquets. En raison de la grande
disponibilité qu’elle offre, la VoIP est victime de plusieurs attaques telles que le sniffing, le
suivi des appels, la gigue et l’écoute clandestine. De plus, son infrastructure est quelque peu
vulnérable en raison des différents saboteurs qui ne veulent voir cette technologie se
développer. Par ailleurs, des logiciels de simulation sont disponibles pour tous ceux qui
veulent faire une expérience avec la VoIP. Packet Tracer est l’un des plus utilisés d’entre eux.

 
20
 

Chapitre II

CONFIGURATION DE LA VoIP

Configurer un réseau VoIP demande beaucoup de persévérance et de patience. Bien


que n’étant ni aisé ni compliqué, ce travail requiert un maximum de concentration. Pour
bénéficier de tous les services offerts par la VoIP, il faut choisir les bons outils qui visent à
obtenir le plus satisfaisant des résultats.

II.1. ARCHITECTURE DU RÉSEAU VoIP DÉPLOYÉ


Un réseau VoIP peut présenter plusieurs types d’architecture selon le besoin des
utilisateurs et en fonction de la méthode utilisée. Dans le cadre de la présente étude, le réseau
a été déployé en utilisant Asterisk. L’architecture adoptée est alors illustrée par Fig.2.1.

Serveur : Asterisk

Réseau IP

Client 1 Client 2 Client n

Figure 2.1 : Architecture du réseau VoIP à réaliser

Le serveur est une machine sur laquelle est installé le système d’exploitation linux. En
général, il est préférable de choisir une version récente de la distribution utilisée mais
néanmoins, il est possible de travailler avec n’importe laquelle (Debian, Centos, Fedora Core,

 
21
 

. . .), du moment qu’on peut y installer Asterisk. Il est même possible d’utiliser un système
d’exploitation Windows vu qu’une version sous Windows d’Asterisk est maintenant
disponible. Les machines clientes, quant à elles, contiennent principalement des logiciels de
téléphonie comme X-lite ou Eyebeam quel que soit le système d’exploitation. Pour cette
étude, la distribution choisie est Debian et le softphone est X-lite.

II.2. CONFIGURATION D’ASTERISK

II.2.1. ARCHITECTURE D’ASTERISK


Asterisk est un logiciel libre apparu à la fin des années 1990. Il s’agit d’une propriété
de la société Digium dont la première version date exactement du 5 décembre 1999. Asterisk
est soigneusement conçu pour une flexibilité maximale. Les API spécifiques sont définies
autour d'un système PBX central. Ce noyau avancé manipule l’interconnexion interne du PBX
proprement soustrait des protocoles spécifiques, des codecs et des interfaces matérielles des
applications de téléphonie. Cela permet à Asterisk d'utiliser n'importe quel matériel approprié
et technologie disponible (maintenant ou à l'avenir) pour exécuter ces fonctions essentielles,
en connectant le matériel et les applications. L’Annexe II est consultable pour plus de détail
sur Asterisk.

II.2.2. CONFIGURATION DES FICHIERS


Asterisk tient sa flexibilité de son système de configuration par fichiers (contenus dans
/etc/asterisk) et de leur syntaxe facilement interprétable par l’homme. Si Asterisk a été
correctement installé, 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.
Le plus important de tous ces dossiers est le dernier, vu qu’il contient les fichiers de
configuration du serveur Asterisk. Parmi ces fichiers on trouve :

 
22
 

agents.conf: Contient la configuration de l’utilisation des agents, comme dans le cas d’un
centre d’appel. Ceci nous permet de définir les agents et de leurs assigner des ID et des mots
de passe.
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. C’est le fichier qui nous intéresse le
plus dans ce travail.
iax.conf: Configure les conversations VoIP en utilisant le protocole Inter-Asterisk Exchange
(IAX). Il contient la configuration des clients connectés via le protocole IAX pour les
transferts d’appels entre serveurs distants. La section générale établit les options globales du
serveur et sa configuration pour s’enregistrer comme client sur un serveur distant. Les
sections suivantes définissent les clients.
rtp.conf: Ce fichier de configuration définit les ports à utiliser pour le protocole RTP. Il faut
noter que les numéros listés sont des ports UDP.
sip.conf: Contient les paramètres relatifs au protocole SIP pour l’accès au serveur Asterisk,
les clients doivent y figurer afin de pouvoir recevoir ou effectuer un appel via le serveur. La
première partie sert pour les options générales de SIP comme l’adresse IP et le port
correspondant. Les sections suivantes définissent les paramètres clients tels que le nom
d’utilisateur, son mot de passe, l’adresse IP par défaut pour les utilisateurs non enregistrés. On
peut aussi définir d'autres options globales pour SIP telles que, quels ports utiliser et les
timeout qu'on va imposer. L’installation d’Asterisk est disponible en Annexe 1. Les
principaux fichiers à configurer sont sip.conf et extensions.conf.
Voici les paramètres essentiels de sip.conf :
username : Identifiant de l'utilisateur
secret : Mot de passe associé au compte
type : Indique le type de compte, et les restrictions associées. Il ya trois types de
comptes dont friend grâce auquel il est possible d’appeler et d’être appelé (autorise les appels
entrants et sortants) , user, permettant seulement d'être appelé (appels entrants) et peer,
permettant de définir une liaison entre deux terminaux seulement.
host : Spécifie une adresse IP à partir de laquelle l'utilisateur peut accéder à son
compte. La valeur dynamic autorise une adresse IP fournie dynamiquement, par un serveur
DHCP notamment. Cette valeur est donc moins restrictive.
callerid : Nom de l'utilisateur, entre guillemets, suivi de son extension téléphonique,
c'est-à-dire de son numéro d'appel (au format de la RFC 822). Attention : le numéro de

 
23
 

téléphone mentionné ici ne constitue pas une association du numéro avec l'utilisateur (cette
association sera faite ultérieurement). Ce paramètre permet simplement d'identifier
l'utilisateur (ou le terminal) lorsqu'il passe des appels. Autrement dit, cette information est
utilisée dans les appels sortants uniquement pour indiquer le nom (si le terminal appelé
permet d'afficher cette information) et le numéro de téléphone de l'utilisateur.
context : Spécifie le type de routage à appliquer pour l'utilisateur. Le type de routage
correspond à un contexte défini dans le plan de numérotation (fichier extensions.conf). Les
communications avec cet utilisateur sont donc soumises au contexte du même nom dans le
fichier extensions.conf.
language : Spécifie la langue utilisée pour les fichiers audio. Par exemple :
language=fr.
allow : Liste les codecs autorisés par l'utilisateur de ce compte. Par exemple, pour
autoriser le codec G.711, selon la loi mu, on saisira: allow=ulaw. Ce même paramètre est
aussi valable pour spécifier les codecs vidéo (par exemple : allow=h263).
disallow : Interdit les codecs qui sont mentionnés à sa suite. Une valeur possible de ce
paramètre est all. Dans ce cas, aucun codecs ne sera utilisable par l'utilisateur concerné, sauf
ceux spécifiés explicitement dans le (ou les) paramètre(s) allow.
nat : Précise si les flux traversant un réseau utilisent la translation d'adresse (NAT). La
valeur du paramètre nat est yes ou no. Ce paramètre est souvent indispensable car l'utilisation
du nat est classique, même chez les particuliers.
canreinvite : Ce paramètre peut prendre les valeurs yes ou no. Si sa valeur est fixée à
yes, lorsqu'une communication est en train de s'établir, le serveur Asterisk va récupérer des
informations (notamment vers qui envoyer les flux) et ils les réémettra dans un nouveau
message d'invitation une fois que la communication sera acceptée seulement. Attention, si
l'utilisateur se trouve derrière un NAT, il est indispensable de mettre la valeur de ce paramètre
à no pour laisser passer les flux multimédia correctement, car le nouveau message d'invitation
du serveur Asterisk ne tiendrait pas compte du NAT.
mailbox : Indique la boite vocale associée à ce compte. Nous détaillons ce paramètre
et son utilisation à la section qui traite de la messagerie audio.
dtmfmode : Ce champ indique le type de tonalité DTMF qui sera appliqué. Les valeurs
possibles sont in band, rfc2833, info ou auto.

 
24
 

La Figure 2.3 montre un extrait de la configuration du fichier sip.conf dans lequel sont
configurés les utilisateurs 6001 et 6002 ayant pour noms respectifs John DOE et Albert
DUPONT. Dans le présent fichier, les mots de passe des deux utilisateurs sont « secret ».

[template](!)
type=friend
host=dynamic
dtmfmode=rfc2833
disallow=all
allow=ulaw
allow=g729
allow=alaw
allow=h263
context = work
careinvite=no

[6001](template)
fullname = John DOE
username = jdoe
secret=secret
callerid=6001

[6002](template)
fullname = Albert DUPONT
username = adupont
secret=secret
callerid=6002

Figure 2.2 : Extrait de configuration des utilisateurs dans sip.conf

 
25
 

II.2.3. LE PLAN DE NUMÉROTATION


Le plan de numérotation (dialplan) est le cœur du système Asterisk. Il représente la
politique de routage et de traitement des différents canaux transitant sur la plateforme. Chaque
étape du dialplan est une application, un appel entrant passe donc par une série d’applications
variées avant d’arriver vers sa destination. Toutes ces applications sont réalisées à travers un
concept précis et logique. Ainsi, si le correspondant ne répond pas, l’appel sera redirigé vers
son collègue voisin et si ce dernier ne répond pas non plus, l’appel est finalement dirigé vers
la messagerie vocale du correspondant initial. Ou bien aussi, un appel en dehors des horaires
de travail sera directement redirigé vers la messagerie vocale.
Le dialplan est stocké dans des fichiers texte (extensions.conf) ou dans des bases SQL
qui sont partagés entre les serveurs distants par le protocole IAX. Il est composé d’un ou
plusieurs contextes d’extension et chaque extension est elle-même une série d’extensions.
L’utilisation des contextes peut servir pour implémenter des fonctionnalités spécifiques
comme l’authentification (demande de mot de passe pour certaines extensions) ou la gestion
des appels longue distance (seules certaines extensions sont autorisées à effectuer ce genre
d’appels). [12]
Par ailleurs, c’est dans le fichier extensions.conf que s’effectue la configuration des
appels. La Figure 2.3 montre un extrait de cette configuration.
[work]
exten => _6XXX,1,Dial(SIP/${EXTEN},20)
exten => _6XXX,n,Hangup()
exten => _7XXX,1,Dial(SIP/${EXTEN},20)
exten => _7XXX,n,Hangup()

Figure 2.3 : Configuration des appels


 

II.2.4. CONFIGURATION DES MESSAGES TEXTES


Pour paramétrer les messages textes, l’ajout de quelques lignes dans chacun les deux
sip.conf et extensions.conf s’avère nécessaire.
Ainsi, les configurations suivantes viennent s’ajouter dans la section [general] de
sip.conf :
textsupport=yes (permet de supporter les messages textes)
accept_outofcall_message=yes (permet au client de recevoir des messages)

 
26
 

outofcall_message_context=messages (indique le contexte de message texte qui est


« messages »)
D’autre part, le fichier extensions.conf doit aussi être correctement configuré pour que
les messages textes passent correctement. Le contexte « messages » y est alors créé
conformément à celui indiqué dans le fichier sip.conf. C’est dans ce contexte que sont
indiqués les étapes de la messagerie texte depuis l’envoi d’un message du client jusqu’à la
réception de celui-ci par un autre. Si l’autre utilisateur n’est pas disponible, Asterisk renvoie
un message indiquant de réessayer plus tard. Dans le cas de cette étude, le message est « Sorry
you can’t send a message to [numéro]. Please retry later ». La Figure 2.4 montre cette
configuration.

[messages]
exten=> _X.,1,Set(ACTUALTO=${CUT(MESSAGE(to),@,1)})
exten=> _X.,n,MessageSend(${ACTUALTO},${MESSAGE(from)})
exten=> _X.,n,NoOp(Send status is ${MESSAGE_SEND_STATUS})
exten => _X.,n,GotoIf($["${MESSAGE_SEND_STATUS}" != SUCCESS"]?sendfailedmsg)
exten=> _X.,n,Hangup()
exten=>_X.,n(sendfailedmsg),Set(MESSAGE(body)="[${STRFTIME(${EPOCH},,%d%m%Y-
%H:%M:%S)}]Sorry you can't send a message to ${EXTEN}.Please retry later.")
exten => _X.,n,Set(ME_1=${CUT(MESSAGE(from),<,2)})
exten => _X.,n,Set(ACTUALFROM=${CUT(ME_1,@,1)})
exten => _X.,n,MessageSend(${ACTUALFROM},ServiceCenter)
exten => _X.,n,Hangup()

Figure 2.4 : Configuration des messages textes dans extensions.conf

II.3. CONFIGURATION DE X-LITE

II.3.1. A PROPOS DE X-LITE


X-lite est un logiciel de téléphonie qui possède toutes les fonctionnalités des
téléphones traditionnels tels que les appels et les messages textes. Il permet aussi d’effectuer
des audioconférences, ainsi que des fonctionnalités non prises en charge par les téléphones
physiques tels que la vidéoconférence et l’envoi des mails. Il offre la possibilité à tout un
chacun de disposer de toutes ces fonctions rien qu’en utilisant son ordinateur personnel.

 
27
 

En terme global de VoIP, X-lite prend en charge les supports pour les codecs audio tels
que AMR Wideband (G722.2), Broadvoice-32, Broadvoice-32 FEC, DVI4, DVI4 Wideband,
EVRC, G711aLaw, G711uLaw, G726, G729, GSM, iLBC, L16 PCM Wideband, Speex, Speex
FEC, Speex Wibeland, Speex Wibeland FEC ; les codecs vidéo tels que H263, H263+1998 et
H264. Une des fonctionnalités de X-lite est celui de choisir automatiquement le meilleur
codec selon la bande passante disponible et les conditions du réseau. Ce logiciel fait partie
d’une collection comprenant notamment Ekiga, Linphone et Eyebeam. Ce dernier et X-lite
étant disponibles à la fois sous Windows et sous Macintosh, Ekiga ne fonctionne que sous
Linux, Linphone sous Windows et Linux. Pour pouvoir installer X-lite, il faut disposer au
moins d’un processeur pentium II 300 ou équivalent, d’une mémoire RAM de 128 MB et
d’une version de Windows supérieure à Windows 2000. X-lite requiert que les utilisateurs qui
entrent en communication disposent chacun d’un haut-parleur et d’un microphone. X-lite peut
également communiquer avec d’autres matériels de communication tels que les téléphones IP.
[13]
La Figure 2.5 illustre ce à quoi devrait ressembler l’interface de X-lite si le serveur
Asterisk a été correctement configuré:

 
Figure 2.5 : Interface du softphone X-lite

 
28
 

II.3.2. CONFIGURATION DES COMPTES DANS X-LITE


Si le serveur Asterisk ne fonctionne pas correctement, un message d’erreur s’affiche
sur la fenêtre de X-lite. Dans ce cas, il est inutile de toucher à ce dernier. Dans le cas contraire,
X-lite peut être configuré en fonction des paramètres des comptes qui sont également
configuré dans Asterisk. Pour ce faire, il faut entrer dans le menu SIP Account Setting, afin de
voir apparaitre une fenêtre comme celle indiquée à la Fig.2.6. Cependant, il faut savoir que
même si le serveur Asterisk fonctionne correctement, il est possible d’avoir un message
d’erreur au niveau de X-lite si un ou plusieurs paramètres ne sont pas en règle. Par exemple, si
l’adresse IP du serveur change (en effet, certains ordinateurs changent d’adresse IP à chaque
extinction), il sera impossible à X-lite de démarrer correctement.

 
Figure 2.6 : Fenêtre de configuration d’un compte

 
29
 

Lors de la création d’un nouvel utilisateur ou lors de la modification des propriétés des
utilisateurs actifs, une fenêtre comme celle indiquée à la Fig.2.7 apparait :

 
Figure 2.7 : Configuration d’un compte

Les configurations concernant les comptes des utilisateurs sont effectuées dans la
fenêtre indiquée dans la Fig.2.7. La procédure à suivre n’est pas très complexe. Il suffit de
remplir certains champs en fonction des paramètres établis dans les fichiers de configuration
du serveur Asterisk tandis que d’autres peuvent être remplis aléatoirement.
Display Name = aléatoire (il peut s’agir d’un nom ou d’un numéro)
User name = le Login SIP de l’utilisateur
Password = le mot de passe SIP de l’utilisateur
Authorization user name = le Login SIP de l’utilisateur
Domain= adresse IP du serveur
Domain Proxy = ne rien modifier

 
30
 

Etant donné que de nos jours, les messages textes sont plus à la mode et que la plupart
des gens, jeunes ou adultes, semblent se familiariser avec ces messages, X-lite offre aussi la
possibilité de s’envoyer des messages instantanés.
La Figure 2.8 représente un échange texte entre deux utilisateurs.

 
Figure 2.8 : Fenêtre de messagerie texte
 

II.3.3. CONFIGURATION DES AUTRES OPTIONS


X-lite dispose de plusieurs avantages en tant que softphone, notamment la possibilité
de choisir parmi plusieurs codecs, surtout pour l’option audio. De ce fait, il peut s’adapter
avec divers types de serveurs utilisant des formats de codecs de plus ou moins bonne qualité.
L’histoire récente du numérique a mis en place chez les exploitants et dans les
entreprises des codeurs de signaux de parole de type très hétérogène. Les vendeurs de
plateforme et de passerelle VoIP ne s’embarrassent pas à prendre en compte tous les codages
vocaux normalisés ou de type propriétaire. Ils se limitent à deux ou trois types de codeur (dont
le G.711) qui fournit un débit à 64 ou 56 kbit/s, les autres étant des codeurs à bas débit. Or, si
dans la chaîne de transmission, le couple codeur décodeur n’est pas parfaitement apparié, la
dégradation est certaine et des retards sont introduits en transmission. Si, au cours du trajet,

 
31
 

les paquets de parole subissent plusieurs transformations de ce genre avec de codeurs


décodeurs non appariés, la dégradation s’aggrave encore. Pour réduire le nombre de type de
codeurs, il est préférable, pour maintenir une bonne qualité vocale en VoIP, de s’en tenir aux
codeurs de voix de type G.711 (64 kbit/s), G.726 (13 kbit/s), G.728 (16 kbit/s) ou G.729 (8
kbit/s). Il est clair qu’un codage optimisé permettrait de réduire le débit d’un facteur qui peut
atteindre une valeur comprise entre 8 ou 16 (d’où l’intérêt économique sur les grands axes de
transport). La qualité du codec varie ensuite selon le serveur. Pour Asterisk, il est préférable
d’utiliser le codec G.711.
Etant donné que dans la présente étude, le serveur en question est Asterisk, les codecs
utilisés sont donc le g711 alaw et le g711 ulaw. La Figure 2.9 montre la fenêtre de sélection
de codecs de X-lite :

 
Figure 2.9 : Sélection des codecs dans X-lite

 
32
 

II.4. CONCLUSION
La VoIP peut donc être déployée selon une architecture voulue en fonction du besoin
de l’utilisateur. Bien que le choix des serveurs de téléphonie soit multiple, plusieurs
choisissent Asterisk pour les nombreux avantages qu’il offre en termes de fiabilité, de coût et
surtout de performance. La capacité d’Asterisk à se conformer au besoin des utilisateurs lui
confère un avantage unique en son genre.
D’autre part, un serveur sans client est complètement inutile. Ce qui sous-entend
qu’Asterisk ne serait rien sans ses précieux clients tels que X-lite. Ce dernier, lorsqu’il est
correctement configuré, offre une large gamme de possibilité à l’utilisateur allant du simple
appel téléphonique aux messages textes. C’est en travaillant ensemble qu’Asterisk et X-lite
peuvent donner le meilleur d’eux-mêmes pour les utilisateurs. En effet, si le serveur est
défaillant, le softphone ne fonctionnerait pas et vice vers ça, s’il n’y a pas de logiciel client,
l’utilisateur ne pourrait rien faire.

 
33
 

Chapitre III

METHODES DE SECURISATION DE LA VoIP

La VoIP peut dans une décennie constituer une des plus puissantes technologies jamais
conçues par l’homme. Néanmoins, si la qualité des services qu’elle offre ne satisfait pas les
clients et les utilisateurs, la VoIP ne pourra jamais émerger et prendre la place qui devrait être
sienne. Pour palier ce problème, il est nécessaire d’apporter des améliorations aux services
offerts. Ceci n’est pas chose aisée car la VoIP en elle-même ne peut être améliorée que si
d’autres ressources viennent s’y ajouter. Le cas du présent ouvrage qui traite de la VoIP avec
Asterisk offre la possibilité de sécuriser la VoIP en faisant des modifications au cœur même
du logiciel.
Ce chapitre a pour objectif d’illustrer les différentes solutions de sécurisation de la
VoIP. Pour atteindre ce but, il est nécessaire de faire appel à diverses méthodes spécifiques
visant chacune à améliorer la qualité du service afin de satisfaire au mieux l’utilisateur et afin
de lui garantir les meilleures protections possibles.
Cette sécurisation de la VoIP peut s’effectuer de trois manières différentes
indépendantes les unes des autres mais néanmoins plus efficace si exécutées en même temps.
Il y a donc la sécurisation au niveau du protocole, la sécurisation au niveau de l’application et
la sécurisation au niveau du système de l’exploitation.

III.1. SÉCURISATION PROTOCOLAIRE

III.1.1. PRESENTATION DE LA METHODE


La VoIP étant une technologie révolutionnaire et du fait que ce soit une technologie de
communication, de nombreux pirates et utilisateurs malveillants font le choix de s’en prendre
aux utilisateurs les moins prudents. De plus, il est de nos jours facile de sniffer des paquets ou
d’utiliser d'autres techniques pour la capture des paquets IP sur un réseau. Ce qui fait que les
écoutes clandestines se font de plus en plus fréquemment. Or ceci pourrait nuire à bon
nombres d’utilisateurs. Il est donc nécessaire d’opter pour une solution radicale qui vise à
sécuriser le réseau afin de garantir la meilleure protection pour le client. Dans ce sens, la
sécurisation protocolaire est l’une des solutions les plus productives en termes de VoIP. Dans

 
34
 

la présente étude, le protocole utilisé afin d’atteindre ce but est le Secure Real-time Transport
Protocol (SRTP).
SRTP est comme sont nom l’indique un protocole de sécurisation basé sur le protocole
temps réel RTP. Il a été conçu afin de sécuriser la multiplication à venir des échanges
multimédias sur les réseaux. Parmi les protocoles de sécurité existants, il y a notamment IPsec
(IP Security), bâti lui aussi sur le protocole RTP et dont le mécanisme d'échanges de clés est
trop lourd. SRTP a été créé dans le but de couvrir les lacunes de ces protocoles. Il est
compatible à la fois avec des protocoles d'initiation de session de VoIP tel que SIP, ainsi que
le protocole de diffusion de contenu multimédia en temps réel RTSP (Real Time Streaming
Protocol).
SRTP offre de nombreux services de sécurité dont les principaux sont :
a) Rendre confidentielles les données RTP, que ce soit l’en-tête et la charge utile ou
seulement la charge utile.
b) Authentifier et vérifier l’intégrité des paquets RTP. L’émetteur calcule une empreinte
du message à envoyer, puis l’envoie avec le message même.
c) La protection contre le rejet des paquets. Chaque récepteur tient à jour une liste de tous
les indices des paquets reçus et bien authentifiés.
Un paquet SRTP est généré par transformation d’un paquet RTP grâce à des
mécanismes de sécurité. Donc le protocole SRTP effectue une certaine mise en forme des
paquets RTP avant qu’ils ne soient sur le réseau.
Le paquet SRTP est réalisé en rajoutant deux champs au paquet RTP :
SRTP MKI (SRTP Master Key identifier) : sert à ré-identifier une clef maîtresse particulière
dans le contexte cryptographique. Le MKI peut être utilisé par le récepteur pour retrouver la
clef primaire correcte quand le besoin d’un renouvellement de clefs survient.

III.1.2. UTILISATION DU PROTOCOLE SRTP


Afin de démontrer la nécessité de sécuriser le réseau VoIP à l’aide du protocole SRTP,
il a été nécessaire lors de cette étude de simuler une attaque contre le réseau. Pour ce faire, le
logiciel Wireshark a été d’une grande utilité.
Wireshark est un logiciel libre d'analyse de protocole, utilisé dans le dépannage et
l'analyse de réseaux informatiques, le développement de protocoles, l'éducation et la rétro
ingénierie, mais aussi le piratage. C’est l'analyseur réseau le plus populaire du monde. Cet
outil extrêmement puissant fournit des informations sur des protocoles réseaux et applicatifs à

 
35
 

partir de données capturées sur un réseau. Dans le cas de cette étude, il sera utilisé pour pirater
le réseau afin de pouvoir écouter les conversations s’effectuant entre deux utilisateurs des
softphones X-lite.

La Figure 3.1 présente l’interface graphique du logiciel.

 
Figure 3.1 : Interface du logiciel Wireshark

D’autre part, il a également été nécessaire lors de ce projet de faire appel à VMware
Workstation. Il s’agit d’un logiciel permettant d’utiliser des machines virtuelles dont
notamment Windows XP contenant l’un des softphones nécessaires pour la simulation et
Debian 6 contenant le serveur Asterisk, le deuxième softphone étant installé dans la machine
réelle.
Dans un premier temps, le serveur n’est pas encore sécurisé et un appel entre les deux
softphones est effectué. Le piratage via Wireshark est également effectué. Il s’agit d’écouter la
conversation qui se fait entre les deux utilisateurs, ceci étant possible en lisant le contenu des
paquets échangés grâce au logiciel. Une fois décodé, la voix est récupéré par ce dernier et il

 
36
 

devient alors facile d’écouter la conversation en entier. Le résultat est celui affiché à la Figure
3.2.

 
Figure 3.2 : Résultat du piratage sans sécurisation du protocole

Pour bénéficier d’une meilleure sécurité pour les protocoles de la VoIP, il est
approprié de faire appel à SRTP. L’étape suivante consiste à refaire le même test mais cette
fois-ci avec un serveur sécurisé au niveau du protocole.
Ainsi, quelques lignes sont ajoutées dans le fichier extensions.conf d’Asterisk. La
configuration pour les utilisateurs 6001 et 6002 est montrée dans la Figure 3.3.

[work]
exten => _6XXX,1,Dial(SIP/${EXTEN},20)
exten => _6XXX,1,Set(_SIPSRTP=require) (l’utilisation de SRTP est requise)
exten => _6XXX,2,Set(_SIPSRTP_CRYPTO=enable) (activer le cryptage)
exten => _6XXX,n,Hangup()

Figure 3.3 : Utilisation de SRTP dans extensions.conf

Avec cette méthode de sécurisation, il est désormais impossible au pirate d’écouter la


conversation. La Figure 3.4 montre le résultat du piratage avec serveur sécurisé par le
protocole SRTP.

 
Figure 3.4 : Résultat du piratage avec sécurisation de protocole

 
37
 

III.2. SÉCURISATION DE L’APPLICATION

III.2.1. CONDITIONS NECESSAIRES


Suivant le type d’application, plusieurs méthodes peuvent être appliquées. Ces
méthodes varient selon le type d'application (serveur ou client). Pour sécuriser le serveur il
faut :
a) Utiliser une version stable. En effet, la plupart des applications non stables contiennent
des erreurs et sont pour ainsi dire vulnérables aux attaques extérieures. Il faut donc
minimiser les risques et se pencher sur une solution impérative, celle d'utiliser une
version stable.
b) Tester les mises à jour des softwares. Si possible, tester toute mise à jour de
l'application dans un laboratoire de test est recommandé avant de les appliquer sur le
système en production.
c) Ne pas tester les correctifs sur le serveur lui-même:
d) Ne pas utiliser la configuration par défaut qui sert juste à établir des appels. Elle ne
contient aucune protection contre les attaques.
e) Ne pas installer une application cliente dans le serveur.

III.2.2. UTILISATION DE X-Lite


En ce qui concerne la sécurisation du logiciel X-Lite, les conditions citées ci-dessus
sont de rigueur. Ainsi, il a été question d’utiliser une version stable du softphone afin de
minimiser les risques d’attaques extérieures. Notamment, lors de la présente étude, cette
méthode de sécurisation a été vigoureusement appliquée. Pendant les périodes de recherche,
plusieurs versions du logiciel ont été testées et certains d’entre eux n’ont même pas pu
fonctionner correctement et d’autres n’ont pas pu être installées.
Le choix de la version, ainsi que du logiciel X-Lite a été fait après plusieurs
observations pertinentes. Eyebeam, Ekiga  faisaient parti des logiciels potentiels, mais c’est
cette version de X-Lite qui fut choisi en raison de sa stabilité.

III.2.3. MATERIELS SPECIFIQUES


Pour la partie pratique, une méthode de sécurisation de l’application utilisée lors de
cette étude est l’utilisation de matériels spécifiques dédiés à la VoIP. Ceci dans le but de
sécuriser toutes les applications et en même temps d’améliorer la QoS. Ces matériels sont les

 
38
 

switchs et les téléphones IP. En effet, l’utilisation de téléphone IP permet d’une part de
disposer d’une meilleure sécurité vu que n’étant pas un logiciel, il est moins exposé aux virus
et autres attaques pouvant atteindre les softphones. De même, il est difficile aux utilisateurs
malveillants de pirater un téléphone IP. D’autre part, il fonctionne indépendamment d’autres
programmes. Ce qui permet de garantir une meilleure performance à tous les niveaux. Les
switchs quant à eux sont indispensables si les téléphones IP sont présents dans un réseau.
Lors de cette étude, le réseau avec téléphone IP et switch a été testé réellement et
virtuellement grâce à Packet Tracer.
Dans la simulation, il s’agit d’utiliser trois téléphones IP, deux routeurs (VoIP, DHCP)
et un switch. Sous Packet Tracer, l’utilisation de ces matériels est assez aisée. Il suffit de
configurer le routeur DHCP de façon à ce que celui-ci distribue des adresses IP aux
téléphones IP. Le routeur VoIP quant à lui est là pour assurer que la distribution des numéros
des téléphones IP soit bien effectuée. La Figure 3.5 montre l’architecture du réseau à réaliser
sous Packet Tracer.

 
Figure 3.5 : Utilisation de téléphone IP et switch sous Packet Tracer

 
39
 

1ère étape : Configuration du routeur DHCP


Son interface fastEthernet 0/0 est configurée avec l’adresse IP 192.168.1.1 comme
indiqué à la Fig.3.6.

DHCP >enable
DHCP #configure terminal
DHCP(config)#interface fastEthernet 0/0
DHCP(config-if)#ip address 192.168.1.1 255.255.255.0
DHCP(config-if)#no shutdown

Figure 3.6 : Configuration de l’interface fastethernet 0/0 du routeur DHCP

Pour éviter que les téléphones n’utilisent les adresses IP allant de 192.168.1.1 à
192.168.1.5, une exclusion doit se faire dans le routeur DHCP (Figure 3.7). Le routeur par
défaut a pour adresse IP : 192.168.1.2

DHCP(config)#ip dhcp excluded-address 192.168.1.1 192.168.1.5


DHCP(config)#ip dhcp pool PHONES
DHCP(dhcp-config)#network 192.168.1.0 255.255.255.0
DHCP(dhcp-config)#default-router 192.168.1.2
DHCP(dhcp-config)#option 150 ip 192.168.1.2

Figure 3.7 : Exclusion d’adresses IP

2ème étape : Configuration du routeur VoIP


Un routeur VoIP doit être configuré d’autre part afin d’assurer la distribution des
numéros des téléphones IP (Figure 3.8).

VOIP>enable
VOIP#configure terminal
VOIP(config)#interface fastEthernet 0/0 (activation de son interface fastethernet 0/0)
VOIP(config-if)#no shutdown
VOIP(config)#exit
VOIP(config)#interface fastEthernet 0/0.5
VOIP(config-subif)#encapsulation dot1Q 5
VOIP(config-subif)#ip address 192.168.1.2 255.255.255.0

Figure 3.8 : Configuration du routeur VoIP

 
40
 

3ème étape : Configuration du switch


La configuration du switch est donnée dans la Figure 3.9. Il s’agit de créer un VLAN
pour la VoIP (PHONES) et un autre pour les données (DATA).

Switch>enable
Switch #configure terminal
Switch (config)#vlan 5
Switch (config-vlan)#name PHONES
Switch (config-vlan)#exit
Switch (config)#vlan 40
Switch (config-vlan)#name DATA
Switch (config-vlan)#exit
Switch (config)#interface range fastEthernet 0/1-3
Switch (config-if-range)#switchport mode access
Switch (config-if-range)#switchport access vlan 40
Switch (config-if-range)#switchport voice vlan 5
Switch (config-if-range)#exit

Figure 3.9 : Création de VLAN pour la VoIP et pour les données

L’interface connectée au routeur DHCP est configurée (Figure 3.10).

Switch (config)#in fastEthernet 0/21


Switch (config-if)#switchport mode access
Switch (config-if)#switchport access vlan 5
Switch (config-if)#exit 

Figure 3.10 : Configuration de l’interface du switch connectée à DHCP

Il en est de même pour l’interface connectée au routeur pour la VOIP (Figure 3.11). Le
mode trunk est utilisé car il passe par les deux VLAN.

Switch (config)#interface fastEthernet 0/20


Switch (config-if)#switchport mode trunk
Switch (config-if)#exit

Figure 3.11 : Configuration de l’interface du switch connectée à VoIP

 
41
 

4ème étape : Configuration des téléphones IP


Après tout ceci, la configuration des téléphones IP s’impose. Pour cela il suffit de les
connecter. Pour vérifier si le routeur DHCP a bien distribué l’adresse IP, la commande
suivante est exécutée :
DHCP#show ip dhcp binding

5ème étape : Enregistrement des téléphones IP


Le routeur VOIP est à nouveau configuré afin de définir les services de téléphonie
(Figure 3.12).

VOIP(config)#telephony-service
VOIP(config-telephony)#max-dn 10
VOIP(config-telephony)#max-ephones 5
VOIP(config-telephony)#ip source-address 192.168.1.2 port 2000
VOIP(config-telephony)#exit

Figure 3.12 : Configuration des services de téléphonie

La commande ci-dessous est exécutée pour vérifier si les téléphones sont bien
enregistrés dans le routeur VOIP.
VOIP#show ephone
Ensuite, il faut associer un numéro aux 3 téléphones (dn = directory number). La
Figure 3.13 montre les configurations correspondantes à cette association.

VOIP(config)#ephone-dn 1
VOIP(config-ephone-dn)#number 100
VOIP(config-ephone-dn)#exit
VOIP(config)#ephone-dn 2
VOIP(config-ephone-dn)#number 101
VOIP(config-ephone-dn)#exit
VOIP(config)#ephone-dn 3
VOIP(config-ephone-dn)#number 102
VOIP(config-ephone-dn)#exit

Figure 3.13 : Association de numéro aux téléphones

 
42
 

Vient ensuite la création des ephones, pour associer les directory numbers aux IP des
téléphones (Figure 3.14).

VOIP(config)#ephone 1
VOIP(config-ephone)#button 1:1
VOIP(config-ephone)#exit
VOIP(config)#ephone 2
VOIP(config-ephone)#button 1:2
VOIP(config-ephone)#exit
VOIP(config)#ephone 3
VOIP(config-ephone)#button 1:3
VOIP(config-ephone)#exit

Figure 3.14 : Création des ephones


Une fois toutes les configurations terminées, les téléphones IP peuvent s’appeler
comme indiqué à la Fig.3.15.

 
Figure 3.15 : Simulation d’appels sous Packet Tracer.
Pour les matériels physiques, étant donné que le département ne possède pas ces
matériels, la Banque Africaine de Développement (BAD) a accepté d’apporter leur noble
contribution en fournissant ces swicths et téléphones afin de pouvoir achever la présente
étude. Il s’agit de matériels fournis par POLYCOM, ce dernier étant l’une des plus grandes
marques de matériels réseaux.

 
43
 

III.3. SÉCURISATION DU SYSTEME D’EXPLOITATION

III.3.1. CONDITIONS NECESSAIRES


Même si la sécurisation protocolaire et la sécurisation de l’application s’avèrent être
très efficace, si le serveur lui-même est vulnérable, toutes ces précédentes précautions ne
serviraient à rien. 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.
Afin d’éviter tout ceci, il faut donc :
a) 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.
b) Mettre à jour le système d’exploitation en installant les correctifs de sécurité
recommandé pour la sécurité.
c) 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.
d) 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.
e) 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.
f) Sauvegarder des fichiers log à distance : les fichiers log sont très importants, il est
conseillé de les enregistrer sur un serveur distant.
g) 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.
h) 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.
i) 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.
L’outil de la VoiP qu’est Asterisk est un logiciel puissant qui peut fonctionner en
même temps que d’autres programmes tant sur Linux que sur Windows. Néanmoins, les

 
44
 

études ont montré qu’il y a une très grande différence entre la qualité du son lorsque le
serveur est utilisé dans une machine dédiée et lorsque le serveur fonctionne en même temps
que d’autres programmes. Ce principe s’applique même aux grandes entreprises car celles-ci
utilisent un système selon lequel chaque élément est séparé et a sa propre fonction.
Dans le meilleur des cas, utiliser un serveur Asterisk dédié, c'est-à-dire un serveur qui
n’est pas un ordinateur, serait plus que bénéficiaire, surtout pour ceux qui ont le moyen de se
l’approprier. Cette solution, bien qu’assez chère permet à Asterisk de déployer toute sa
puissance et d’offrir à l’utilisateur d’obtenir une meilleure qualité de service.

III.3.2. UTILISATION DE FIREWALL


Un firewall ou pare-feu est un software ou un hardware ou un ensemble de commande
ayant pour fonction de sécuriser un réseau ou un ordinateur contre les intrusions venant
d’autres machines ou contre les attaques malveillantes.
Un firewall doit être imprenable car sinon le réseau entier est compromis. Un firewall
efficace doit posséder plusieurs interfaces réseaux pour pouvoir faire un filtrage entre
plusieurs zones. Ici le but du firewall est de minimiser le trafic entrant au serveur Asterisk est
cela pour limiter les attaques de types DoS. En effet, le présent objectif est de ne laisser passer
que le trafic VoIP et plus exactement les paquets basés sur le protocole SIP et le protocole
RTP, qui sont utilisés par notre serveur Asterisk pour le trafic VoIP. C’est pour cela qu’il est
judicieux de mettre un firewall au niveau du serveur et de cette façon toutes les requêtes en
direction du serveur Asterisk passeront automatiquement par le firewall. La plupart des
firewalls propre a la VoIP sont a titre commercial et donc non libre. IPtables est la commande
permettant de paramétrer le filtre Netfilter du noyau Linux et donc de configurer le Firewall.
Dans le présent travail, le firewall est programmé de façon à pouvoir laisser passer
seulement le trafic VoIP au niveau du serveur Asterisk et de bloquer tous le trafic restant.
Voici les commandes exécutées :
# iptables -A INPUT -p udp -m udp --dport 5060 -j ACCEPT
Cette commande va permettre d’accepter le trafic UDP entrant du port 5060. Ce numéro de
port n’est autre que celui du protocole SIP.
# iptables -A INPUT -p udp -m udp --dport 10000:20000 -j ACCEPT
Cette commande va permettre d’accepter le trafic UDP entrant du protocole RTP.
Ensuite il faut attribuer une règle par défaut pour bloquer tous le trafic restant et qui passe par
UDP :

 
45
 

# iptables -A INPUT -p UDP -j DROP


En ce qui concerne le trafic TCP nous pouvons effectuer les règles suivantes pour ne laisser
passer que le trafic de synchronisation en le limitant la réception des requêtes de
synchronisation à une requête par secondes. Ainsi, les attaques de type SYN flood seront
évitées :
# iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
 

III.4. CONCLUSION
Plusieurs failles peuvent donc se présenter dans un réseau VoIP. Les attaques
malveillantes contre les protocoles, les applications et les systèmes d’exploitation en font
parties. Néanmoins plusieurs solutions sont offertes afin de pouvoir contourner ces obstacles.
La protection de la VoIP à ces niveaux s’est révélée très utile. Notamment, il a été
nécessaire de renforcer la sécurité au niveau des protocoles grâce à l’utilisation de SRTP. Ceci
a permis au serveur de passer les appels sous un cryptage. La sécurisation de l’application
quant à elle a été basée principalement basé sur le fait que chaque matériel doit être
spécialement dédié à effectuer une tâche bien précise. L’ajout d’un pare-feu au niveau du
système serveur est un moyen efficace pour protéger le serveur en question.

 
46
 

CONCLUSION GENERALE

L’étude de la VoIP a permis de savoir que le domaine de la communication peut


s’étendre d’une manière tout à fait impressionnante dans le monde entier. Il suffit d’avoir un
petit aperçu de ce dont elle est capable pour se rendre compte qu’elle est largement supérieure
à ses prédécesseurs que ce soit au niveau du coût ou des services offerts. L’utilisation des
protocoles d’établissement de session comme SIP ou les protocoles de transport et de codage
de la voix comme RTP et RTCP garantissent la puissance de la VoIP. Mesurer cette puissance
équivaut à prendre en compte les facteurs comme l’écho, la gigue, la latence et les pertes de
paquets. Cependant, aussi puissante soit cette technologie, elle reste victime de plusieurs
attaques et est vulnérable face aux utilisateurs mal intentionnés. Connaître le fonctionnement
d’un logiciel de simulation de réseau tel que Packet Tracer est le premier pas vers la
protection et l’optimisation des services offerts par la VoIP.
D’autre part, Asterisk joue et continuera de jouer un grand rôle dans le développement
de cette technologie et des services qu’il offre. Le fait qu’il soit gratuit augmente sa
renommée et pousse les utilisateurs à s’en servir davantage. Il permet d’effectuer des appels et
donne la possibilité aux clients de s’échanger des messages textes. Notamment, les Softphones
permettent ses deux types de communication. X-Lite est l’un des plus répandu d’entre eux.
Serveur et clients sont des éléments inséparables qui ne peuvent fonctionner l’un sans l’autre.
Etre à l’aise avec chacun d’eux est donc essentiel.
Etant donné que la VoIP est confrontée à plusieurs problèmes, la protection de celle-ci
est devenue une nécessité. Sécuriser le serveur par le protocole SRTP, utiliser des matériels
spécifiques et un firewall font partie des mesures à prendre. Durant la présente étude, des
difficultés matérielles ont été rencontrées, mais grâce à l’intervention de la BAD, switchs et
Téléphone IP ont pu être mis à disposition afin d’achever le travail.
Il est à partir de maintenant envisageable de voir dans le futur, un monde dominé par
la technologie VoIP. La plupart des entreprises sont déjà adeptes de cette technologie. Tout
ceci laisse croire qu’il est fort probable que dans un avenir proche, chaque individu pourra
manier la technologie VoIP à sa guise.

 
47
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 

ANNEXES

 
 

Annexe I

LE PROTOCOLE H323

Le standard H.323 fournit, depuis son approbation en 1996, un cadre pour les
communications audio, vidéo et de données sur les réseaux IP. Il a été développé par l'ITU
(International Telecommunications Union) pour les réseaux qui ne garantissent pas une
qualité de service (QoS). Il est présent dans plus de 30 produits et il concerne le contrôle des
appels, la gestion multimédia, la gestion de la bande passante pour les conférences point-à-
point et multipoints. H.323 traite également de l'interfaçage entre le LAN et les autres
réseaux.
Le protocole H.323 fait partie de la série H.32x qui traite de la vidéoconférence au
travers différents réseaux. Il inclue H.320 et H.324 liés aux réseaux ISDN (Integrated Service
Data Network) et PSTN (Public Switched Telephone Network). Plus qu'un protocole, H.323
crée une association de plusieurs protocoles différents et qui peuvent être regroupés en trois
catégories : la signalisation, la négociation de codec, et le transport de l’information.
Les messages de signalisation sont ceux envoyés pour demander la mise en relation de
deux clients, qui indique que la ligne est occupée ou que le téléphone sonne, etc. En H.323, la
signalisation s’appuie sur le protocole RAS (Registration/Admission/Status) pour
l’enregistrement et l’authentification, et le protocole Q.931 pour l’initialisation et le contrôle
d’appel.
La négociation est utilisée pour se mettre d’accord sur la façon de coder les
informations à échanger. Il est important que les téléphones (ou systèmes) utilisent un
langage commun s’ils veulent se comprendre. Il s’agit du codec le moins gourmand en bande
passante ou de celui qui offre la meilleure qualité. Il serait aussi préférable d’avoir plusieurs
alternatives de langages. Le protocole utilisé pour la négociation de codec est le H.245.
Le transport de l’information s’appuie sur le protocole RTP qui transporte la voix, la
vidéo ou les données numérisées par les codecs. Les messages RTCP peuvent être utilisés
pour le contrôle de la qualité, ou la renégociation des codecs si, par exemple, la bande
passante diminue.

 
48
 

Une communication H.323 se déroule en cinq phases : l’établissement d'appel,


l’échange de capacité et réservation éventuelle de la bande passante à travers le protocole
RSVP (Ressource reservation Protocol), l’établissement de la communication audio-visuelle,
l’invocation éventuelle de services en phase d'appel (par exemple, transfert d'appel,
changement de bande passante, etc.) et enfin la libération de l'appel.
L'infrastructure H.323 repose sur quatre composants principaux : les terminaux, les
Gateways, les Gatekeepers, et les MCU (Multipoint Control Units).
Le terminal peut être un ordinateur, un combiné téléphonique, un terminal spécialisé
pour la vidéoconférence ou encore un télécopieur sur Internet. Le minimum imposé par H.323
est qu'il mette en œuvre la norme de compression de la parole G.711, qu'il utilise le protocole
H.245 pour la négociation de l'ouverture d'un canal et l'établissement des paramètres de la
communication, ainsi que le protocole de signalisation Q.931 pour l'établissement et l'arrêt
des communications. Le terminal possède également des fonctions optionnelles, notamment,
pour le travail en groupe et le partage des documents. Il existe deux types de terminaux
H.323, l'un de haute qualité, l'autre optimisé pour de petites largeurs de bandes (28,8/33,6
kbit/s – G.723.1 et H.263).
Les passerelles ou Gateways H.323 assurent l'interconnexion avec les autres réseaux,
les modems H.324, les téléphones classiques, etc. Elles assurent la correspondance de
signalisation de Q.931, la correspondance des signaux de contrôle et la cohésion entre les
médias (multiplexage, correspondance des débits, transcodage audio).
Dans la norme H323, le Gatekeeper ou portier est le point d'entrée au réseau pour un
client H.323. Il définit une zone sur le réseau, appelée zone H.323 (voir Figure 1.2),
regroupant plusieurs terminaux, Gateways et MCU dont il gère le trafic, le routage LAN, et
l'allocation de la bande passante. Les clients ou les Gateway s'enregistrent auprès du
Gatekeeper dès l'activation de celui-ci, ce qui leur permet de retrouver n'importe quel autre
utilisateur à travers son identifiant fixe obtenu auprès de son Gatekeeper de rattachement. Le
Gatekeeper a pour fonction la translation des alias H.323 vers des adresses IP, selon les
spécifications RAS; le contrôle d'accès, en interdisant les utilisateurs et les sessions non
autorisés; et la gestion de la bande passante, permettant à l'administrateur du réseau de limiter
le nombre de visioconférences simultanées. Concrètement une fraction de la bande passante
est allouée à la visioconférence pour ne pas gêner les applications critiques sur le LAN et le
support des conférences multipoint adhoc.

 
49
 

Annexe II

ATTAQUES SUR LE PROTOCOLE


 
Un appel téléphonique VoIP est constitué de deux parties : la signalisation, qui
instaure l’appel, et les flux de media, qui transportent la voix. Les détails de ces dernières sont
disponibles en annexe 1.
Bien que plusieurs attaques peuvent s’en prendre à un système VoIP, les plus
fréquentes d’entre elles sont : le reniflage, la suivie des appels, l’injection des paquets RTP et
l’écoute clandestine.
 

A.II.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. Ces informations peuvent par exemple
être employées pour mettre en place une attaque contre d'autres systèmes ou données.
Plusieurs outils requis pour le sniffing, y compris pour le protocole H.323 et des plugins SIP,
sont disponibles en open source.

A.II.2.Suivi des appels


Appelé aussi Call tracking, cette attaque se fait au niveau du réseau LAN/VPN et 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. Pour réaliser cette attaque, l’attaquant doit être capable d’écouter le réseau
et récupérer les messages INVITE et BYE.

A.II.3. Injection de paquet RTP


Cette attaque se fait au niveau du réseau LAN/VPN. Elle cible le serveur registrar, et
a pour but de perturber une communication en cours. L’attaquant devra tout d’abord écouter

 
50
 

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é.

A.II.4. 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.
Des outils tels que VOMIT (Voice Over Misconfigured Internet Telephones) permettent de
réaliser cette attaque. VOMIT convertit les paquets sniffés en fichier .wav qui peut être
réécouté avec n’importe quel lecteur de fichiers son.

 
51
 

Annexe III

DETAILS SUR LE LOGICIEL ASTERISK

A.III.1. INSTALLATION D’ASTERISK


Après avoir téléchargé le fichier asterisk-1-4.tar.gz ou une version récente, il faut
décompresser le paquet en utilisant le privilège du super utilisateur :
# tar –xvzf asterisk-1-4.tar.gz
# cd asterisk-1-4/
# make clean =supprime les fichiers inutiles après installation.
# ./configure =construction d’un nouveau fichier makefile.
# make menuselect =exécution de la partie menuselect dans le fichier make file
# make =compilation du code source
# make install =exécution de la partie install dans makefile.
Pour entrer dans le menu CLI d’Asterisk, on exécute la commande :
# asterisk –r

A.III.2. HISTORIQUE ET UTILISATION


Asterisk peut jouer le rôle de passerelle avec les réseaux publics avec l'aide d’une
large gamme de dispositifs matériels adaptés. Les cartes sont principalement éditées par le
contributeur d'Asterisk (l'entreprise Digium) mais il existe d’autres fournisseurs comme
BroadTel,Eicon, VoiceTRONIX, AtCom...
Les principaux protocoles standardisés de la VoIP (SIP, H323, MGCP) sont
implémentés dans Asterisk sans que cela soit nécessaire d’ajouter des cartes ou des
programmes additionnels. Asterisk dispose aussi d'un autre protocole VoIP : IAX pour Inter
Asterisk eXchange. Ce protocole a été développé par la communauté open source d'Asterisk.
Il permet l'interconnexion de plusieurs Asterisk et aussi une meilleure traversée des NAT en
tant que protocole de transport de voix. Asterisk est composé d’un noyau central de
commutation, de quatre API (Application Programming Interface) de chargement modulaire
des applications téléphoniques, des interfaces matérielles, de traitement des formats de fichier,

 
52
 

et des codecs. Il assure la commutation transparente entre toutes les interfaces supportées,
permettant de relier entre elles une diversité de systèmes téléphoniques en un unique réseau
commuté.
Cependant Asterisk n’est pas le seul serveur de téléphonie au monde. On peut citer:
Callweaver, FreeSWITCH, YATE (Yet Another Telephony Engin). Bien que tous ces
serveurs présentent chacun leurs propres avantages, d’une manière ou d’une autre, ils ont tous
été tirés de la version originale d’Asterisk. On peut par exemple noter un fait remarquable :
Callweaver est un fork de la version 1.2 d’Asterisk. Mis à part tous ces faits mentionnés,
d’autres raisons nous poussent les utilisateurs à choisir Asterisk. L’une des principales est
qu’il offre de nombreuses implémentations de protocole de télécommunications tels les
protocoles SIP, H323, IAX et bien d’autres encore. Il dispose également de services
téléphoniques intégrés comme la messagerie vocale, les audioconférences ou les
vidéoconférences. Mais son meilleur point fort est celui de posséder des interfaces vers les
applications informatiques dont le web, l’e-mail, ou la messagerie instantanée. De plus,
Asterisk a l’avantage d’être soutenu par une communauté de développeurs experts et
passionnés. Ce qui est très important dans le monde du logiciel libre. Ce soutien lui a confié
une forte popularité qui l’a élevé au-dessus des autres serveurs de téléphonie. Grâce à tout
ceci, Asterisk ne cesse d’évoluer et de devenir de plus en plus performant. Asterisk est
disponible gratuitement sur Internet, principalement sous deux formes : une archive contenant
des fichiers source à compiler ; une distribution contenant les fichiers compilés, ainsi qu’une
distribution Linux. Cette dernière distribution s’appelle AsteriskNOW, car elle est quasi
immédiatement utilisable. Elle est principalement destinée aux utilisateurs peu familiers de
Linux. Par ailleurs, AsteriskNOW contient une interface graphique de configuration. Installer
un serveur Asterisk par la distribution AsteriskNOW ne présente pas de difficulté majeure.
Cependant l’installation d’Asterisk depuis les fichiers sources présente l’avantage de
permettre de garder une vue générique des fichiers de configuration installés, des modules,
mais également de l’interface en ligne de commande, très utile pour le débogage de premier
niveau. [14]

 
53
 

REFERENCES

[1] : C.Rahantaharisoa, « Optimisation de la VoIP via Asterisk et X-Lite », MFE Ingéniorat


Electronique ESPA, 2012-2013
[2] : M. Boumezzough, « Etude et mise en œuvre du service pilote ToIP de RENATER »,
mémoire de fin d’études pour l’obtention du diplôme d’Ingénieur d’Etat, Génie Réseaux et
Systèmes, Réseau National de Télécommunications pour la Technologie, l'Enseignement et la
Recherche, 2009
[3] : E510, Réseau Local, cinquième année, Electronique, Ecole Supérieure Polytechnique
d’Antananarivo, 2012-2013
[4] : R. Bouzaida, « Etude et mise en place d’une solution VoIP sécurisée », mémoire de
projet de fin d’études pour l’obtention du Master professionnel, 2011
[5] : M. Allia, « Développement d’un environnement de communication multimédia sur
Internet », mémoire de fin d’études pour l’obtention de la maitrise, Génie Electrique, Ecole
de Technologie Supérieure, 2002
[6] : C. Khadhraoui, « Implémentation du serveur de téléphonie Asterisk », mémoire de
fin d’étude pour l’obtention de la licence, Sciences et Techniques de l’Information et de la
Communication, Université virtuelle de Tunis, 2011
[7] : « DT-24 Qualité de Service de VoIP », http://www.strategiestm.com/DT-24-
qualité_de_service_voip.pdf, 15 mai 2014
[8]: E415, Réseau Local, quatrième année, Electronique, Ecole Supérieure Polytechnique
d’Antananarivo, 2011-2012
[9] : M. Fayçal, « La sécurisation de la Téléphonie sur IP », mémoire de fin d’étude pour
l’obtention du Diplôme d’Etudes Approfondies, Réseaux de télécommunications, 2004
[10] : « Packet Tracer », http://www.google.fr/Packet%20Tracer%20—%20Wikipédia.htm,
20 mars 2014
[11] : « Packet Tracer Annexe », http://www.google.fr/PacketTracer_Annexe.pdf; 20 mars
2014
[12] : L. Madsen, Jim Van Meggelen, Russel Bryant, « Asterisk, The Definitive Guide »,
Tome [3], O’Reilly, avril 2011
[13] : « X-lite 3.0, guide de configuration et d’utilisation »,
http://www.google.fr/voip_xlite_3.0.pdf, 06 février 2014
[14] : P. Sultan, « La Téléphonie d’entreprise libre », Eyrolles, 24 août 2009

 
54
 

Titre : SECURISATION ET OPTIMISATION DE LA VoIP via ASTERISK ET X-LITE


Auteur : ZOARITSIHOARANA Fitiavana Avo Tongalafatra
Nombre de pages : 54
Nombre de figures : 27
Nombre de tableaux : 6

Résumé 
La voix sur IP ou Voice over Internet Protocol (VoIP) est une technologie de
communication qui comme son nom l’indique, utilise le protocole internet. Elle possède de
nombreux avantages par rapport au téléphone traditionnel car elle offre divers services, autres
que les appels téléphoniques. Elle est aussi plus abordable au niveau du coût. L’un des
objectifs de la présente étude est de montrer la capacité réelle de cette nouvelle technologie.
Ceci étant, il est nécessaire de savoir que malgré tous les avantages qu’elle a, la VoIP
n’est pas à l’abri de quelques imperfections qui pourraient nuire à ses clients et ainsi à son
développement. Un autre but de cette étude est de limiter les effets de ces défaillances dans la
mesure du possible afin de garantir la satisfaction des utilisateurs. Diverses méthodes de
sécurisation et d’optimisation y sont présentées.
 
 
Mots clés : VoIP, Asterisk, X-lite, softphone, VLAN, latence

Encadreur : Mme RABEHERIMANANA Lyliane

Contact Auteur : zoaritsihoarana2@gmail.com

Vous aimerez peut-être aussi