dédicaced1n7iqsz6ob2ad.cloudfront.net/document/pdf/537e3e7ecc165.pdf · voix sur ip, appelée...
TRANSCRIPT
Voix sur IP Projet de fin d’études
DédicaceJe dédie ce travail avant tous à ma famille
C'est grâces à leurs sacrifices
Leurs encouragements et leurs conseils
Qui étaient toujours un bonus pour éclairer mon chemin.
Que dieu vous réserve la santé et la langue vie.
A tous mes amis
A tous ceux qui m’aime
Et
A tous ceux qui j’aime
Pour leurs bonnes humeurs communicatives et pour leurs aides
dans Les moments difficiles durant la période du projet.
Rimeh Salhi
Rimeh Salhi 1 A.U 2008-2009
Voix sur IP Projet de fin d’études
REMERCIEMENTS
Nous profitons de cette occasion à exprimer notre
profonde gratitude à tous ceux Qui nous ont aidés à accomplir
ce travail dans les meilleures conditions précisément:
Nous tenons également à remercier notre encadreur Monsieur
Kamel Zidi Pour son encadrement et ses discutions pour
faciliter le travail et l'aboutissement à des précieuses résultats
dans ce projet.
Nous remercions vivement Monsieur Anis Dhahri pour sa
collaboration, sa disponibilité et ses précieux conseils qui nous
ont permis d enrichir notre travail.
Nos vifs remerciements s'adressent également à tous nos
enseignants et au président de jury, les rapporteurs et les
membres du jury.
A tous ceux qui nous ont aidés, nous disons :
MERCI…
Rimeh Salhi 2 A.U 2008-2009
Voix sur IP Projet de fin d’études
Résumé :Notre projet de fin d’études consiste à la conception et la réalisation
d’une solution assurant la transmission de la voix sur le protocole IP
(VOIP). Notre projet est composé de trois grandes phases : Une phase
d’identification des besoins techniques, des services, des protocoles et des
outils nécessaires pour l’implémentation d’une solution VOIP. Ensuite, une
phase d’installation, de configuration et d’administration d’une plateforme,
des serveurs et des clients d’une manière cohérente et adaptée à la
solution proposée. Et finalement une phase d’analyse des éventuelles
menaces et attaques qui peuvent compromettre le bon fonctionnement
d’un serveur VOIP, et les solutions de sécurité capables de mieux protéger
notre solution contre toute tentative d’intrusion.
Mots clefs : VOIP, TOIP, SIP, Asterisk, Soft phone, Unix-Linux, sécurité,
NAT, sniffer, VPN, IPSec.
Abstract:
Our project of graduation consists of the design and implementation
of a solution providing voice over IP (VOIP). Our project is composed of
three major phases: A phase identifying technical needs, services,
protocols and tools needed to implement a VOIP solution. Then a phase
dealing with the installation, the configuration and administration of a
target platform, servers and clients in a consistent and appropriate way to
the proposed solution. And finally, a phase for analyzing possible threats
and attacks that may affect the functioning of a VOIP server, and security
solutions that can protect our solution against any attempt of intrusion.
Keywords: VOIP, TOIP, SIP, Asterisk, Soft phone, Unix-Linux,
security, NAT, sniffer, VPN, IPSec.
:تلخيص
للتخرج تصميم مشروعنا من حليتكون وتوفير لسرسال بروتوكول عبر الصوت
ويتكننون المشننروع مننن ثل ث مراحننل سرئيسننية: مرحلننة تحدينند الحتياجننات التقنيننة،). VOIP (النننترنت
. ثننم مرحلننة التعامننل و تشننكيل وإوداسرةVOIP والخدمات، والبروتوكولت والودوات اللمزمننة لتنفيننذ حننل
الخاودم و العمل ء ضمن طريقة متناسننقة و مناسننبة للحنل المقننترح. وأخينرا ،مرحلننة لتحليننل التهدينندات
Rimeh Salhi 3 A.U 2008-2009
Voix sur IP Projet de fin d’études
الحماية ضد أيمن ، والحلول المنية التي تمكن VOIP والهجمات المحتملة التي قد تؤثر على خدمة
محاولننننننننننننننننننننننننننننننننننننننننننننننننننننننننننننة للتنننننننننننننننننننننننننننننننننننننننننننننننننننننننننننندخل.
VOIP, الكلمات الرئيسية ٍTOIP ، SIP، أستريسك ، سوفت الهاتف - يننونكس لينكننس ، والمننن ،
NAT ، محلل شبكة ، .IPSec
Table des matières
Rimeh Salhi 4 A.U 2008-2009
Voix sur IP Projet de fin d’études
Liste des figures
Rimeh Salhi 5 A.U 2008-2009
Voix sur IP Projet de fin d’études
Liste des tableaux
Rimeh Salhi 6 A.U 2008-2009
Voix sur IP Projet de fin d’études
Acronymes
ALGs: Application Level Getways
ARP: Address Resolution Protocol
ASN: Abstract Syntax Notation
AP: Access Point
ATM: Asynchronous Transfer Mode
DHCP: Dynamic Host Control Protocol
DNS: Domain Name System
DNSSEC: Domain Name System Security Extensions
DOS: Denial Of Service
FXO: Foreign eXchange Office
FXS: Foreign eXchange Subscriber
HTTP: HyperText Transfer Protocol
IKE: Internet Key Exchange
LAN: Local Area Network
LDAP: Lightweight Directory Access Protocol
MGCP: Media Gateway Control Protocol
MITM: Man-In-Middle
PABX: Private Automatic Branch eXchange
PBX: Private Branch Exchange
Rimeh Salhi 7 A.U 2008-2009
Voix sur IP Projet de fin d’études
QOS: Quality of Service
RAS: Remote Access Service
RNIS: Réseau Numérique à Intégration de Service
RTC : Réseau Téléphonique Commuté
RTCP: Real-time Transport Control Protocol
RTP: Real time Transport Protocol TCP
SDP: Session Description Protocol
SIP: Session Initiation Protocol
SSRC: Synchronisation Source Identifier
SRTP: Secure Real-time Transport Protocol
TCP: Transmission Control Protocol
TOIP: Telephony Over IP
UDP: User Datagram Protocol
URI: Uniform Ressource Identifier
VLAN: User Datagram Protocol
VOIP: Voice Over IP
VOMIT: Voice Over Misconfiguration Internet Telephone
VUS: Sip Vulnerability Scanner
VPN: Virtual Private Network
WAN: Wide Area Network
WEP: Wired Equivalent Privacy
Rimeh Salhi 1 A.U 2008-2009
Voix sur IP Introduction
INTRODUCTION
La voix sur IP (Voice over IP) est une technologie de communication
vocale en pleine émergence. Elle fait partie d'un tournant dans le monde
de la communication. En effet, la convergence du triple Play (voix,
données et vidéo) fait partie des enjeux principaux des acteurs de la
télécommunication aujourd'hui. Plus récemment l'Internet s'est étendu
partiellement dans l'Intranet de chaque organisation, voyant le trafic total
basé sur un transport réseau de paquets IP surpasser le trafic traditionnel
du réseau voix (réseau à commutation de circuits). Il devenait clair que
dans le sillage de cette avancée technologique, les opérateurs, entreprises
ou organisations et fournisseurs devaient, pour bénéficier de l'avantage du
transport unique IP, introduire de nouveaux services voix et vidéo. Ce fût
en 1996 la naissance de la première version voix sur IP appelée H323. Issu
de l'organisation de standardisation européenne ITU-T sur la base de la
signalisation voix RNIS (Q931), ce standard a maintenant donné suite à de
nombreuses évolutions, quelques nouveaux standards prenant d'autres
orientations technologiques.
Pour être plus précis et néanmoins schématique, le signal numérique
obtenu par numérisation de la voix est découpé en paquets qui sont
transmis sur un réseau IP vers une application qui se chargera de la
transformation inverse (des paquets vers la voix). Au lieu de disposer à la
fois d'un réseau informatique et d'un réseau téléphonique commuté (RTC),
l'entreprise peux donc, grâce à la VoIP, tout fusionner sur un même
réseau. Ca par du fait que la téléphonie devient de la "data". Les nouvelles
capacités des réseaux à haut débit devraient permettre de transférer de
manière fiable des données en temps réel. Ainsi, les applications de vidéo
Rimeh Salhi 1 A.U 2008-2009
Voix sur IP Introduction
ou audioconférence ou de téléphonie vont envahir le monde IP qui,
jusqu'alors, ne pouvait raisonnablement pas supporter ce genre
d'applications (temps de réponse important, jigue-jitter, Cos-Qos,...).
Jusque vers le milieu des années 90, les organismes de normalisation ont
tenté de transmettre les données de manière toujours plus efficace sur
des réseaux conçus pour la téléphonie. A partir de cette date, il y a eu
changement. C'est sur les réseaux de données, que l'on s'est évertué à
convoyer la parole. Il a donc fallu développer des algorithmes de codage
audio plus tolérants et introduire des mécanismes de contrôle de la qualité
de service dans les réseaux de données. Faire basculer différents types de
données sur un même réseau permet en plus, de simplifier son
administration.
Comme toute innovation technologique qui se respecte, la VoIP doit
non seulement simplifier le travail mais aussi faire économiser de l'argent.
Les entreprises dépensent énormément en communications
téléphoniques, or le prix des communications de la Toip (Téléphonie sur IP)
est dérisoire en comparaison. En particulier, plus les interlocuteurs sont
éloignés, plus la différence de prix est intéressante. De plus, la téléphonie
sur IP utilise jusqu'à dix fois moins de bande passante que la téléphonie
traditionnelle. Ceci apportant de grand intérêt pour la voix sur réseau
privée. Il semblerait que les entreprises après avoir émis un certain
nombre de doutes sur la qualité de services soient désormais convaincues
de la plus grande maturité technologique des solutions proposées sur le
marché. Qu'il s'agisse d'entreprises mono-site ou multisites, les sondages
montrent que le phénomène de migration vers les systèmes de téléphonie
sur IP en entreprise est actuellement engagé.
Les premières technologies de VoIP imaginées étaient propriétaires et
donc très différentes les unes des autres. Pourtant, un système qui est
censé mettre des gens et des systèmes en relation exige une certaine
dose de standardisation. C'est pourquoi sont apparus des protocoles
standards, comme le H323 ou le SIP.
Intérêts d'un tel projet pour une entreprise
Rimeh Salhi 2 A.U 2008-2009
Voix sur IP Introduction
Aujourd'hui, en entreprise, les réseaux distincts de messagerie, de
systèmes de réservation et facturation, ont tous convergés en une
infrastructure IP unique. Seul le réseau téléphonique à commutation de
circuit reste isolé. Pour la plupart des entreprises, la téléphonie est le
principal moyen de communication interne et externe. Il est donc clair que
la gestion des performances économiques d'une telle installation est un
atout indéniable pour une entreprise. C'est en cela que la VoIP est
avantageuse, tant en terme de coûts de communication que de
maintenance du réseau.
Il nous a également donné le point de vue suivant concernant la viabilité
et l'intérêt d'une migration de ce type pour une entreprise.
"Nous pensons que toute société doit pouvoir trouver des avantages à
migrer vers la VoIP. Certains cas sont cependant plus favorable : les
sociétés ayant plusieurs sites (réduction du coût des communications
inter-site), les sociétés appelant beaucoup à l'international (tarif
hautement compétitif). Le problème d'une grosse société est que le coût
de migration (financier et humain) va être élevé, par conséquent il va y
avoir des freins au changement, voire des refus du changement. C'est
pourquoi nous pensons qu'il est plus aisé de faire cette migration dans de
petites structures, où il "suffit" de convaincre le patron de l'intérêt de la
chose pour que le projet soit validé."
Rimeh Salhi 3 A.U 2008-2009
Voix sur IP VOIP
LA VOIX SUR IP
I. INTRODUCTION
La Voix sur IP (en anglais, Voice over IP ou VoIP) est une nouvelle
Technologie de télécommunication vocale qui transforme la Téléphonie.
Cette technologie marque un tournant dans le monde de la
Communication en permettant de transmettre de la voix sur un réseau
numérique et sur Internet. C’est en 1996 que naquit la première version
Voix sur IP, appelée H323. Depuis, la Technologie Voix sur IP a progressé à
mesure que les entreprises découvraient ses avantages pour accroître la
productivité et l’efficacité de leurs réseaux. L’objectif de la Voix sur IP est
d’appliquer à la voix le même traitement que les autres types de données
circulant sur Internet. Grâce au protocole IP, des paquets de données,
constitués de la voix numérisée, y sont transportés. En effet, à force de
transférer des fichiers d’information en temps de plus en plus réel, les
utilisateurs d’Internet en vinrent à transférer de la voix, en temps
suffisamment Réel pour faire compétition au téléphone. Dans cette
banalisation des données voix, deux contraintes majeures sont présentes :
transmettre ces paquets dans le bon Ordre et le faire dans un délai
raisonnable. La téléphonie IP et la téléphonie mobile, deux technologies
appelées à se généraliser au cours des prochaines années, auront un
impact majeur sur la façon dont les gens communiquent, au bureau
comme à la maison. Ce rapport a notamment pour objectifs de fournir des
renseignements permettant de mieux connaître cette nouvelle
technologie, d’identifier ses atouts, ses inconvénients, et d’évaluer si elle
constitue une voie d’avenir pour les centres de relations clientèle des
grands organismes.
Rimeh Salhi 4 A.U 2008-2009
Voix sur IP VOIP
II. Numérisation de la voix
La numérisation est la conversion d'un signal analogique en un signal
numérique en fonction de deux paramètres : l’échantillonnage, la
quantification, codage , compression. C'est conceptuellement une
modélisation mathématique de la réalité.
a. Echantillonnage
L'échantillonnage consiste à remplacer une fonction continue dans le
temps ou dans l'espace par la suite des valeurs qu'elle prend en des
instants ou des zones discret(e)s périodiques. Ces valeurs suffiront pour
reconstituer la fonction dans une étape ultérieure. L'image classique est
celle du stroboscope, qui permet de « décomposer » les mouvements (en
fait de les échantillonner). La mesure effectuée à un instant/lieu donné est
appelée un échantillon.
b. Quantification
La quantification est l'opération par laquelle on examine l'échantillon
mesuré et l'on choisit la valeur la plus proche à mémoriser parmi un
ensemble prédéfini des valeurs permises.
c. Codage de la voix
Les objectifs de codage sont :
- Avoir une qualité de codage suffisante pour faire une communication
analogique,
- Avoir un débit nécessaire faible afin de ne pas surcharger le réseau en
place,
Ces deux objectifs sont généralement opposés. Meilleure sera la qualité,
plus grand sera le débit nécessaire. En effet la fonctions du codage est
réalisée grâce aux codecs tel que le codec G.711 qui permet d’avoir une
qualité proche de la communication analogique mais nécessite un débit de
64Kbits/s. Cependant, il est dépassé en termes de qualité et d’occupation
de bande passante. Il est encore utilisé pour des raisons de compatibilité
puisque c’est le seul défini comme impératif pour la VoIP. L’usage des
autres codecs dépend du choix du fabriquant.
Rimeh Salhi 5 A.U 2008-2009
Voix sur IP VOIP
Les codecs sont particulièrement importants car leur implémentation se
fait au niveau de l’équipement de VoIP utilisé. L’installation d’un tel
système sur deux sites distants nécessite une compatibilité en termes de
codecs entre ces deux sites afin de minimiser la bande passante requise
pour une communication IP.
III. VOIX sur IP
Le protocole IP [1] permet aux paquets de se déplacer sur Internet,
indépendamment les uns des autres, sans liaison dédiée. Chacun d’entre
eux, envoyé sur le réseau, se voit attribuer une adresse IP. Cette dernière
est un en-tête accolé à chaque paquet et contenant certaines
informations, notamment, l’adresse source, l’adresse destinataire, son
temps de vie, le type de service, etc. IP fournit un service de transport de
paquet non fiable, sans connexion (datagrammes) :
- Non fiable: les paquets peuvent être perdus, dupliqués, retardés ou
arrivés hors séquence….
- Sans connexion: pas de circuit virtuel. Des paquets successifs peuvent
emprunter des
chemins différents.
Le protocole IP ne garantit ni l'ordre d'arrivée des paquets à la destination,
ni leur temps de transfert, ni l’échange d’information en temps réel.
Ces propriétés sont très importantes pour la qualité de la voix et la qualité
de la conversation Il a donc fallut définir un nouveau protocole fournissant
plusieurs fonctionnalités :
- Allouer un numéro de séquence pour la remise en ordre des paquets,
- Détecter la perte de paquets pour informer la source dans des délais
compatibles avec le service
- Identifier le contenu des données et permettre leur transmission,
- Echanger l’information en temps réel,
- Intégrer des solutions pour traverser des passerelles de certains réseaux
locaux,
Rimeh Salhi 6 A.U 2008-2009
Voix sur IP VOIP
En effet le protocole qui assure les fonctionnalités ci-dessous est le RTP
(Real-TimeTransport Protocol) qui se complète par un protocole de contrôle
qui transmet des rapports de réception RTCP (Real-Time Transport Control
Protocol).ces deux protocoles vont être expliqué ultérieurement
IV. Architectures de la voix sur IP
Il existe 3 architecture utilisées pour la VoIP[3] : La VoIP de PC à PC, PC
à téléphone et finalement téléphone à téléphone.
1. Architecture de PC à PC
Cette architecture nécessite deux ordinateurs équipés chacun d’un soft
phone (logiciel de communication) et rattaché au réseau Internet par
l’intermédiaire d’un fournisseur d’accès Internet qui assure le support
physique de transmission des paquets ou le cas d’un réseau locale ils sont
rattaché à un PBX (logiciel Asterisk).
Rimeh Salhi 7 A.U 2008-2009
Voix sur IP VOIP
2. Architecture d’ un PC à une poste téléphoniqueCette architecture assure l’interconnexion de deux types de réseaux
différents où un participant utilise un PC rattaché au réseau Internet
suivant un fournisseur d’accès Internet et l’autre membre utilise un
téléphone classique rattaché au réseau téléphonique commuté. En effet
le passage d’un réseau à un autre nécessite la présence de passerelles
dédiées pour la conversion des paquets entres les réseaux.
3. Architecture d’ une poste à une poste téléphonique
La configuration ne se borne pas à l’interconnexion de PBX, tous les
éléments peuvent se contacter. Le réseau IP doit pouvoir supporter un
certain niveau de qualité de service
L’utilisation d’une passerelle est primordiale de chaque coté entre le
réseau téléphonique et le réseau des paquets IP afin de convertir la voix IP
en voix et vis versa.
Figure 1.1 : Les différentes architectures de la voix sur IP
Rimeh Salhi 8 A.U 2008-2009
Voix sur IP VOIP
V. Les Protocoles de signalisation VOIP (H.323,SIP)
V.1. H.323 :
a. Présentation
H.323 [2] regroupe un ensemble de protocoles de communication de la
voix, de l'image et de données sur IP. C'est un protocole développé par
l'UIT-T qui le défini comme : « Systèmes de communication en mode
paquet ».Il est dérivé du protocole H.320 utilisé sur RNIS.
Plus qu'un protocole, H.323 ressemble davantage à une association de
plusieurs protocoles codec, et le transport de l’information.
Les messages de signalisation sont ceux que l’on envoie pour demander
d’être mis en relation avec une autre personne, qui indiquent que la ligne
est occupée, que le téléphone sonne… Cela comprend aussi les messages
que l’on envoie pour signaler que tel téléphone est connecté au réseau et
peut être joint de telle manière. En H.323, la signalisation s’appuie sur le
protocole RAS 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 qu’on va s’échanger. Il est important que les téléphones
(ou systèmes) parlent un langage commun s’ils veulent se comprendre. Il
serait aussi préférable, s’ils ont plusieurs alternatives de langages qu’ils
utilisent le plus adapté. Il peut s’agir du codec le moins gourmand en
bande passante ou de celui qui offre la meilleure qualité. 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. On peut aussi
utiliser les messages RTCP pour faire du contrôle de qualité, voire
Rimeh Salhi 9 A.U 2008-2009
Voix sur IP VOIP
demander de renégocier les codecs si, par exemple, la bande passante
diminue.
b. Fonctionnalités
Les principales fonctionnalités du protocole H.323 sont définies dans le
tableaux ci-dessus :
Contrôle de la procédure d’appel Requête, établissement et suivi de
l’appel
H323 exploite un ensemble de
protocolesGestion des flux multimédia Liste non exhaustive des codecs
audio et vidéo. la possibilité de faire
recours à tant
D’autres codecsgestion de la conférence multipoint La recommandation h323 propose
un modèle de conférence multipoint
gérer par une entité centraleGestion de la bande passante Une nouvelle entité (le gatekeeper)
chargé
à l’origine de traduction des
adressesInterconnexion
A d’autres réseaux
En préservant une large
communauté avec les
recommandations
-H323
-H310
-H324
-H323 doit simplifier la connexion
avec d’autres réseaux tel que le
réseau de télécommunication
Tableau 1.1 : Fonctionnalités du protocole H323
Rimeh Salhi 10 A.U 2008-2009
Voix sur IP VOIP
V.2. SIP (Session Initiation Protocol)
a. PrésentationSIP est un protocole normalisé et standardisé par l'IETF qui rend
obsolète le RFC 2543, 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.Ainsi Le SIP (Session Initiation Protocol) est un protocole de
signalisation utilisé pour établir des sessions dans un réseau d'IP. Une
session peut être un appel téléphonique bidirectionnel simple ou une
session multimédia dans une conférence de données. Grâce au SIP,
beaucoup de services innovateurs deviennent possible comme l'e-
commerce avec la voix, la page Web clic-to-dial, transmission de
messages instantanée Ce protocole SIP a pour but de rendre la
communication possible mais il ne se charge de la communication en elle
même. Il utilise d'autres protocoles pour ça. Les plus souvent utilisés sont
RTP (Real time Transport Protocol) et SDP (Session Description Protocol).
SIP se repose le protocole HTTP qui lui même un protocole de signalisation
puisqu'il permet de faire des requêtes à un serveur. Ce qui permet à SIP
d'être plus utilisé qu’un autre protocole vu qu'il se repose sur un protocole
parmi les plus utilisés sinon le plus utilisé à travers le monde.b. Fonctionnement :
SIP partage de nombreuses similitudes avec le protocole HTTP comme le
codage en ASCII et les codes de réponse.
Le client envoie des requêtes au serveur, qui lui renvoie une réponse. Les
méthodes de base sont :
INVITE permet à un client de demander une nouvelle session
Rimeh Salhi 11 A.U 2008-2009
Voix sur IP VOIP
ACK confirme l'établissement de la session
CANCEL annule un INVITE en suspens
BYE termine une session en cours
Les codes de réponse sont similaires à HTTP.
100 Trying 200 OK 404 Not Found
Les codes supérieurs ou égaux à x80 sont spécifiques à SIP.
180 Ringing 486 Busy
etc.
En revanche, SIP diffère de HTTP du fait qu'un agent SIP (User Agent, UA)
joue habituellement à la fois les rôles de client et de serveur. C’est-à-dire
qu'il peut aussi bien envoyer des requêtes, que répondre à celles qu'il
reçoit.
En pratique, la mise en place de SIP repose sur trois éléments : User
Agent, registrar et proxy.
User Agent
Les User Agents désignent les agents que l'on retrouve dans les
téléphones SIP, les softphones (logiciels de téléphonie sur IP) des
ordinateurs et PDA ou les passerelles SIP. En théorie, on peut établir des
sessions directement entre deux User Agents, deux téléphones par
exemple. Mais cela nécessite de connaître l'adresse IP du destinataire.
Cela n'est pas l'idéal car une adresse IP peut ne pas être publique (derrière
un NAT) ou changer et elle est bien plus compliquée à retenir qu'une URI
(Uniform Resource Identifier). Les User Agents peuvent donc s'enregistrer
auprès de Registrars pour signaler leur emplacement courant, c’est-à-dire
leur adresse IP.
Exemple de softphone gratuit, fonctionnant sous Windows et sous
GNU/Linux : X-Lite
Registrar
Rimeh Salhi 12 A.U 2008-2009
Voix sur IP VOIP
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 URI, qui seront stockées
dans une base de données.
Les URI SIP sont très similaires dans leur forme à des adresses email :
Généralement, des mécanismes d'authentification permettent d'éviter que
quiconque puisse s'enregistrer avec n'importe quelle URI
Proxy
Un Proxy SIP sert d'intermédiaire entre deux User Agents qui ne
connaissent pas leurs emplacements respectifs (adresse IP). En effet,
l'association URI-Adresse IP a été stockée préalablement dans une base de
données par un Registrar. Le Proxy peut donc interroger cette base de
données pour diriger les messages vers le destinataire.
Figure 1.2 : Architecture de protocole SIP
Rimeh Salhi 13 A.U 2008-2009
Voix sur IP VOIP
VI. Protocoles de transport (RTP, RTCP)
VI.1. RTP (Real Time Transport Protocol ) :
a. PrésentationRTP est un protocole qui a été développé par l’IETF afin de facilité 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 garantie 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.
Rimeh Salhi 14 A.U 2008-2009
Voix sur IP VOIP
b. Fonctionnalités
RTP ne se contente pas de pallier l’absence de TCP. C’est un protocole
entièrement nouveau qui fournit un service temps réel aux applications
audio et vidéo, en effet il nous permet de :
Reconstituer la base de temps des flux (horodatage des paquets :
possibilité de resynchronisation des flux par le récepteur)
Mettre en place un séquencement 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 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 nombre. Cependant il est très important de savoir quel
est le paquet qui a été perdu afin de pouvoir pallier à cette perte. Et
ce par le remplacement par un paquet qui se compose d’une
synthèse des paquets précédent et suivant.
Identifier le contenu des données pour leurs associer un transport
sécurisé.
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 dépaquétisation afin que l’application
soit décodée correctement.
VI.2. RTCP (Real time Transport Control Protocole)
Le protocole RTCP (Real time Transport Control Protocole) est défini
dans le RFC 3550. RTCP va de paire avec le RTP. Le rôle du RTP est de livrer
Rimeh Salhi 15 A.U 2008-2009
Voix sur IP VOIP
les données, alors que le rôle du RTCP est de transmettre les paquets de
contrôle aux participants à un appel
a. Fonctionnalités
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 .Ainsi le RTCP
assure les fonctions suivantes :
Fournir des informations sur la qualité de la session: information en
retour pour une source (feedback) , permet à une source de
changer de politique met en évidence des défauts de distribution
individuels, collectifs
Garder une trace de tous les participants à une session
CNAME (Canonical Name) : identifiant unique et permanent pour un
participant
SSRC (Synchronisation Source Identifier)
Contrôler le débit auquel les participants à une session RTP
transmettent leurs paquets
RTCP .Plus il y a de participants, moins la fréquence d'envoi de
paquets RTCP par un participant est grande. Il faut garder le trafic
RTCP en dessous de 5% du trafic de la session
Transmettre des informations de contrôle sur la session (optionnel)
exemple : identifier un participant sur les écrans des participants de
l’application. On peut dire que les paquets RTP ne transportent que
les données des utilisateurs. Tandis que les paquets RTCP ne
transportent en temps réel, que de la supervision. 204 : application
spécifique
Ces différents paquets de supervision fournissent aux nœuds du réseau les
instructions nécessaires à un meilleur contrôle des applications temps réel
Rimeh Salhi 16 A.U 2008-2009
Voix sur IP VOIP
Figure 1.3 :
Schéma de relation inter- protocole selon (OSI)
VII. Conclusion
La VOIP devient aujourd’hui, après plus de 10 ans de
développement, une technologie qui, si elle n’est pas encore mature,
permet l’émergence de services performants et beaucoup moins coûteux,
tant pour les entreprises que pour les particuliers. Par exemple, une
entreprise peut éliminer les frais d’interurbains ou les lignes « 1-800 ».
Toutefois, la Voix sur IP [3] pose de nombreuses questions quant à sa
régulation, ses modèles, sa mise en œuvre opérationnelle et son
appropriation par le consommateur. La sécurité demeure au cœur de la
problématique. Six facteurs clés appuient l’implantation de la téléphonie IP
dans une organisation:
Création d’entreprise ou déménagement vers un nouveau bâtiment.
Fin de contrat de la solution télécoms traditionnelle.
Besoin de nouveaux services ou applications à valeur ajoutée (voix
Besoin de faire évoluer l’infrastructure actuelle.
courriel, télécopie, messagerie, centre de contacts IP.).
Rénovation de l’infrastructure informatique ou évolution vers de
nouvelles technologies (câblage, commutateurs réseau, Wifi, Faste
Ethernet.).
Besoin d’un déploiement accéléré.
Rimeh Salhi 17 A.U 2008-2009
Voix sur IP VOIP
Comme pour la plupart des applications de grandes entreprises, la
même configuration ne peut être offerte à tout le monde. La solution de
téléphonie IP d’un Client dépend de la composition de sa clientèle et du
type de réseau dont il dispose. Certains utilisateurs ont besoin, sans délai,
des nouvelles fonctions évoluées offertes, tandis que d’autres peuvent
continuer de fonctionner efficacement avec les outils et les fonctions des
services de voix traditionnels. Dans ce dernier cas, l’entreprise peut
progressivement convertir ses utilisateurs ou emplacements à la
téléphonie IP, en confiant à des « super utilisateurs » le soin d’évaluer le
nouveau système téléphonique et de fournir des recommandations quant
au déploiement à l’échelle de l’entreprise.
Après avoir présenté les principaux protocoles liés à la voix sur IP et
avoir présenté les rudiments de la sécurisation des différents équipements
nous allons détailler différentes attaques et quels « ajouts » sécurité
peuvent limiter leur impact. Pour finir nous discuterons de l’interception de
trafic.
Rimeh Salhi 18 A.U 2008-2009
Voix sur IP Performances & Attaque & sécurité VOIP
Performances & Attaque & sécurité VOIP
I. Introduction
La voix sur IP, malgré ses très nombreux avantages, notamment
financiers, s’accompagne également de certains inconvénients majeurs
dont l’un des principaux est la sécurité informatique. La téléphonie sur
Internet, étant basé sur des systèmes informatiques, l’apparition de
problèmes liés à la sécurité était ainsi inévitable. Au sein d’une entreprise
souhaitant migrer vers de la téléphonie sur Internet, l’ouverture même du
réseau IP accroît les risques de sécurité.
Ainsi de nombreux renifleurs (sniffer) de réseaux existent et peuvent
être facilement utilisés par un grand nombre de pirates souhaitant
s’attaquer au réseau téléphonique moderne que représente la voix sur IP.
Ces outils sont des outils d’écoute de réseau, d’analyse de flux et
d’injection de trafic IP.
La faible sécurité au sein d’un réseau de voix sur IP peut également
provenir du protocole utilisé.
Les virus, les vers et les chevaux de Troie peuvent s’avérer être des
menaces très sérieuses pour des environnements de voix sur IP. Ces codes
malveillants s’appuient sur des failles logicielles et matérielles. Une seule
défaillance peut suffire à bloquer le réseau entier d’une entreprise.
Au sein d’un réseau sans fil auquel on ajoute de la voix sur IP, le réseau
devient beaucoup plus vulnérable. Les risques d’intrusion augmentent
ainsi que le vol d’informations confidentielles.
Les composants VoIP tels que les téléphones IP, Gateway,
Gatekeeper, gestionnaires d’appels héritent des mêmes problèmes de
Rimeh Salhi 19 A.U 2008-2009
Voix sur IP Performances & Attaque & sécurité VOIP sécurité que les systèmes d’exploitation ou firmware par lesquels ils sont
supportés. La faible configuration des composants VoIP peut être à
l’origine d’importants problèmes de sécurité. Beaucoup de composants
VoIP peuvent avoir une configuration par défaut très basique (un grand
nombre de ports ouverts, login/mot de passe par défaut très facile à
retrouver, etc.) et ainsi ne pas bénéficier d’une protection suffisante contre
tout type d’attaque.
Concernant les réseaux WIFI, la norme sécurisée 802.11i, récemment
homologuée par l’IEEE augmente la sécurité du WIFI en introduisant
l’algorithme AES (Advanced Encryption Standard). L’AES est une technique
de chiffrage fort à clef symétrique, où la clef est la même pour le codage
et le décodage. Les longueurs de clef de codage utilisées sont 128, 192 ou
256 bits. L'AES, créé en 1998, est peu utilisé par le grand public. Plusieurs
gouvernements l'ont homologué pour usage administratif, y compris pour
le chiffrage des données les plus sensibles. L’évaluation des coûts d’une
migration vers un système de voix sur IP, doit impérativement prendre en
considération les coûts liés à la protection du réseau.
Ci-dessous, quelques attaques envisageables du réseau VoIP.
II.Paramètres de performances de la voix sur IP
Les aspects déterminants pour la qualité de la voix sur un réseau sont
le traitement de la voix, la clarté, le délai de bout en bout et l’écho. Ils
dépendent des différents composants de la chaîne de transmission, de
leur paramétrage, de l’architecture générale de la chaîne, et dans le cas
de la VoIP des flux concurrents. Ces aspects sont les suivants :
Traitement de la voix : lors de l'émission du signal, la voix est
traitée, c'est-à-dire et éventuellement compressée, avant d'être
transmise La clarté est la mesure de fidélité de la voix reçue par rapport à la
voix émise
Rimeh Salhi 20 A.U 2008-2009
Voix sur IP Performances & Attaque & sécurité VOIP
Le délai de bout en bout est le temps de propagation de la voix à
travers le réseau de l’émetteur vers le récepteur L’écho est le son émis par l’émetteur qui lui revient
La problématique de qualité de la voix sur IP est particulière car la voix
attend de son transporteur autre chose que les données. La transmission
de données classique ( fichiers, messages, transactions …) ne supporte
aucune perte en ligne sous peine de graves conséquences pour
l’interprétation et l’utilisation de ces données par l’équipement récepteur,
mais elle supporte en revanche une dérive importante en terme de durée
d’acheminement.
Peu importe qu’un paquet arrive avec 100 ms de retard. Le comportement
attendu pour la voix est exactement inverse : 1% ou 2% de perte de
données de voix en ligne ne sont pas trop gênants pour la qualité du
service de VoIP, mais en revanche une variation fréquente de
100 ms sur le délai de transit est catastrophique et rend le service
inutilisable.
La voix attend donc du transport IP l’inverse de ce qu’exigent les données.
Et cette formulation n’est qu’un raccourci car en fait le transport de la voix
exige beaucoup plus : il
bénéficiera évidemment de l’intégrité exigée pour le transport des
données laquelle est garantie par les réseaux modernes
– bien qu’il puisse s’en affranchir dans une certaine limite
– mais exigera beaucoup plus au niveau des autres paramètres,
notamment en ce qui concerne la stabilité du réseau dans le temps.
Nous présenterons à la suite les principaux paramètres influents en VOIP,
dans l’ordre latence la gigue de phase et les pertes des paquets et MOS
(Mean Opinion Score)
II.1. Latence
La latence ou le temps de réaction est un des critiques influençant
fortement la QoS d’un service de voix sur IP. Il constitue le temps écoulé
Rimeh Salhi 21 A.U 2008-2009
Voix sur IP Performances & Attaque & sécurité VOIP entre le stimulus et la réponse correspondante. En téléphonie, 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. Or, la
durée de traverse d’un réseau IP dépend de nombreux facteurs :
Le débit de transmission sur chaque lien. Le nombre d’éléments réseaux traversés. Le temps de transport de chaque élément, le temps de mise en
file d’attente des paquets et le temps d’accès en sortie de
l’élément. Le délai de propagation de l’information; facteur non négligeable
communique d’un continent à l’autre.
Figure 3.1 : Latence
II.2. Gigue de phase
La gigue est la variance statistique du délai de transmission. En
d’autres termes, elle mesure la variation temporelle entre le moment où
deux paquets auraient d’arriver et le moment de leur arrivée effective.
La gigue de phase est indépendante du délai de transit. Le délai peut être
court et la gigue importante ou inversement. La gigue est une
conséquence de congestions passagères sur le réseau, ce dernier ne
pouvant plus transporter les données de manière constante dans le temps.
La valeur de la gigue va de quelques ms à quelques dizaines de ms.
Rimeh Salhi 22 A.U 2008-2009
Voix sur IP Performances & Attaque & sécurité VOIP
Figure3.2 : Gigue de phase
II.3. Pertes des paquets
Lorsque les buffers (mémoires) des différents éléments du réseau IP sont
congestionnés, ils « libèrent » automatiquement de la bande passante en
se débarrassant d’une certaine proportion des paquets entrants, en
fonction de seuils prédéfinis.
Si aucun mécanisme performant de récupération des paquets perdus n’est
mis en place (cas le plus fréquent dans les équipements actuels), alors la
perte de paquets IP se traduit par des ruptures de la conversation et une
impression de coupure de la parole.
On peut garantir l’arrivé des paquets, ceci se faire de différentes façons :
- Contrôle d'admission d'appel (Call Admission Control CAC) : c’est une
technique utilisée pour éviter les encombrements en limitant le nombre
d'appels .Sans CAC, la qualité de la voix dans le réseau diminue lorsque le
nombre d'appels augmente.
- Perte de paquets dissimulation (Packet Loss Concealment PLC): c’est
une technique utilisée pour masquer les effets de paquets perdus ou
abandonnés.
- Augmenter la bande passante.
Rimeh Salhi 23 A.U 2008-2009
Voix sur IP Performances & Attaque & sécurité VOIP
II.4. MOS (Mean Opinion Score)
Un des intérêts de réaliser des simulations de trafic en avant projet
de déploiement de voix sur IP est de pouvoir calculer une valeur estimé de
score MOS.
La méthode MOS est une mesure subjective de la QoS voix par des
opérateurs humains.
Elle n’a pas pour objet de fournir des données objectives mais d’obtenir
une appréciation de la clarté de la voix reçue grâce à une enquête auprès
d’un panel d'usagers ou d’opérateurs représentatifs. Cette méthode est
définie par la spécification ITU P800 (MOS Mean Opinion
Score, pour « note moyenne d’appréciation »). Son application est
coûteuse et délicate, mais elle reste le « juge de paix » en dernier recours
lors de problèmes de plainte des utilisateurs du service de téléphonie. Elle
s’applique aussi bien à la téléphonie traditionnelle qu’à la Toip
Nous avons présenté plus haut les principaux paramètres déterminants
pour le niveau de qualité d’un service de voix sur IP. Pour s’assurer qu’une
infrastructure IP peut recevoir un tel service il faut vérifier l’obtention
régulière dans le temps de valeurs générant un bon niveau d’écoute
humaine (niveau Bon).
Le tableau ci-après présente les seuils de valeurs pour les paramètres
critiques et les conséquences constatées pour le niveau de service de VoIP
Bon Moyen MauvaisDélai de
transit
D < 150 ms 150 ms < D <
400 ms
400 ms < D
Gigue de
phase
G < 20 ms 20 ms < G <
50 ms
50 ms < G
Perte de
données
P < 1% 1% < P < 3% 3% < P
Rimeh Salhi 24 A.U 2008-2009
Voix sur IP Performances & Attaque & sécurité VOIP Score MOS 4<M<5 2.5<M<4 M<2.5
Tableau 3.1 : Seuils des paramètres VOIP
III. Les attaques visant la VOIP
III.1. Les interceptions illégales d’appelsAvec la VoIP, tous les postes téléphoniques deviennent en quelque
sorte des serveurs puisqu’ils sont désormais accessibles de l’extérieur de
l’entreprise. Si aucune mesure n’est prise, cela revient à supprimer
l’intérêt du Firewall d’entreprise.
Ce risque devient d’autant plus dangereux que si aujourd’hui peu de
personnes sont capables de pirater un réseau téléphonique classique
(commuté), avec la VoIP, cela devient possible pour n’importe quel
informaticien.
Des outils d’écoute de réseau, d’analyse de flux et d’injection de
trafic IP peuvent être directement utilisés pour attaquer un réseau VoIP.
Dès lors qu’il est entré sur le réseau d’entreprise ou par le biais de sniffers,
le pirate aura alors accès aux communications de l’entreprise en plus des
données.
Les outils propres à la VoIP sont facilement disponibles comme
VOMIT (Voice Over Misconfiguration Internet Telephone), SiVuS (SIP
Vulnerability Scanner) ou Ethereal / WireShark dont nous détaillons
l’utilisation plus loin.
Rimeh Salhi 25 A.U 2008-2009
Voix sur IP Performances & Attaque & sécurité VOIP
Figure 3.1 :attaque d’interception
III.2. Les attaques sur les couches basses
ARP spoofingCette attaque, appelée aussi ARP Redirect, redirige le trafic réseau
d'une ou plusieurs machines vers la machine du pirate.
C'est une technique de spoofing efficace bien que détectable dans les logs
d'administration. Elle consiste à s'attribuer l'adresse IP de la machine
cible, c'est-à-dire à faire correspondre son adresse IP à l'adresse MAC de la
machine pirate dans les tables ARP des machines du réseau. Pour cela il
suffit en fait d'envoyer régulièrement des paquets ARP_reply en broadcast,
contenant l'adresse IP cible et la fausse adresse MAC. Cela a pour effet de
modifier les tables dynamiques de toutes les machines du réseau. Celles-ci
enverront donc leurs trames Ethernet à la machine pirate tout en croyant
communiquer avec la cible, et ce de façon transparente pour les switches.
De son côté, la machine pirate stocke le trafic et le renvoie à la vraie
machine en forgeant des trames Ethernet comportant la vraie adresse
MAC (indépendamment de l'adresse IP).
Cette technique est très puissante puisqu'elle opère au niveau
Ethernet, permettant ainsi de spoofer le trafic IP et même TCP (cela
dépend entre autres des délais engendrés par la machine pirate). D'autre
Rimeh Salhi 26 A.U 2008-2009
Voix sur IP Performances & Attaque & sécurité VOIP part, elle permet de contourner les barrières que constituent
habituellement les switches (partitionnement de réseaux). Elle s'effectue
sur le réseau physique des victimes.
. ARP cache poisoningLe protocole ARP est du type `` cry for help '' c'est-à-dire basé sur un
requête de type 'who-is' en broadcast (@mac de destination FF-FF-FF-FF-
FF-FF) pour demander à qui de droit à quelle adresse MAC correspond telle
adresse IP. Le propriétaire habituel ou occasionnel (DHCP) de cette adresse
IP va recevoir cette trame comme tout le monde et répondre cette fois en
unicast qu'il possède telle adresse MAC.
Cependant ce genre de conversation génère du trafic réseau et un
système de cache ARP est utilisé pour ne pas demander à chaque fois qui
est qui. C'est la raison pour laquelle le temps de réponse au premier ``
ping '' (message ICMP de type echo, type 8 code 0) sur une machine du
réseau local est toujours plus grand que les suivants.
Exécuter une requête ARP en unicast (autorisé par la RFC) pour
demander une conversion en forgeant sa propre trame en usurpant
l'identité IP d'un hôte mais avec sa propre adresse MAC occasionnera une
mise à jour du cache ARP du destinataire avec de fausses données. Plus
tard le destinataire enverra à l'IP de l'attaquant toutes les trames
destinées à l'hôte dont l'identité réseau aura été usurpée.
MITM : Man-In-The-Middle : écoute passive ou modification de fluxMan-in-the-Middle signifie l'homme du milieu. Cette attaque fait intervenir
trois protagonistes : le client, le serveur et l'attaquant. Le but de
l'attaquant est de se faire passer pour le client auprès du serveur et se
faire passer pour le serveur auprès du client. Il devient ainsi l'homme du
milieu. Cela permet de surveiller tout le trafic réseau entre le client et le
serveur, et de le modifier à sa guise pour l'obtention d'informations (mots
de passe, accès système, etc.).
La plupart du temps, l'attaquant utilise les techniques de détournement de
flux pour rediriger les flux du client et du serveur vers lui.
III.3. Le Déni de service : DoS
Rimeh Salhi 27 A.U 2008-2009
Voix sur IP Performances & Attaque & sécurité VOIP
Le "Denial-of-service" ou déni de service est une attaque très
évoluée visant à rendre muette une machine en la submergeant de trafic
inutile.
Il faut savoir que ce sont des attaques criminelles qui ont pour seul objectif
d'empêcher le bon fonctionnement d'un système, contrairement à d'autres
attaques dont le but est de récupérer des informations ou encore de
prendre le contrôle d'un système.
Il peut y avoir plusieurs machines à l'origine de cette attaque (c'est alors
une attaque distribuée : DDoS) qui vise à anéantir des serveurs, des sous
réseaux, etc. D'autre part, elle reste très difficile à contrer ou à éviter.
Dans le cadre d’une solution VoIP bien des ´éléments peuvent être
attaqués : le téléphone, le réseau, le système d’exploitation, l’application,
etc. Autant un déni de service sur l’Internet peut être filtré avec des
mécanismes et des techniques plus ou moins avancées, autant celui `a
l’encontre d’une communication sera difficile `a traiter et aura un impact
direct sur les possibilités de communications.
Par exemple un nombre trop important de messages SIP INVITE ou de
simples messages ICMP peuvent créer une situation de déni de service.
III.4. Spoofing SIP Dans un paquet SIP, les identifiants d'une communication lorsqu'elle
est établie sont le Call-ID, et les tags des champs From et To s'ils sont
utilisés. Les 3 principaux types de spoofing sur le protocole SIP
s'effectuent avec des paquets SIP INVITE, BYE et CANCEL.
Le premier est trivial à mettre en oeuvre en LAN comme sur Internet en
forgeant un paquet SIP INVITE (avec des champs Call-ID, From, To, et Cseq
adéquats). L'hôte distant sonnera mais la conversation ne pourra s'établir
que si le tag du champ To est identique à celui retourné par l'appelé
lorsqu'il accepte l'appel. Malheureusement, de nombreuses
implémentations de SIP n'utilisent pas les tags et sont donc vulnérables à
ces attaques, même lorsque l'attaquant n’est pas en mesure de renifler le
trafic.
Rimeh Salhi 28 A.U 2008-2009
Voix sur IP Performances & Attaque & sécurité VOIP Dans le paquet SIP le champ From est suivi d'un tag. Lors de la réception
du SIP INVITE, l'appelé ajoutera également son tag aléatoire et toutes les
communications suivantes devront inclure ces 2 tags respectifs sur From
et To.
La probabilité de réussite pour falsifier les 2 paquets suivants est
quasiment nulle sans écoute du trafic si l'aléa du Call-ID et des tags sont
corrects.
Dans le cas d'un LAN où il est possible d’écouter le trafic réseau, et donc
de récupérer les Call-IDs, From, To, et les tags s'ils sont utilisés, tous les
types d'attaques sont envisageables, du MITM au DoS en passant par une
écoute passive temps réel des conversations ou une modification à la
volée des paquets. Seule la voix pourrait alors faire défaut... !
DoS : envois illégitimes de paquets SIP « Invite » ou « Bye »
IV. Sécurité de la VOIP
Quels moyens d'assurer le service VoiP contre les menaces ?
Auditer et évaluer : tels sont les maîtres mots lorsqu'on se penche
sur la question de la sécurité.
Rimeh Salhi 29 A.U 2008-2009
Attaquan
t
Voix sur IP Performances & Attaque & sécurité VOIP "La sécurité est à la fois un problème de technologie et de méthode, la
sécurité, ça se définit", dit Pascal Debon de CheckPhone.
Une fois les règles bien définies et la situation évaluée, les solutions
sont plutôt nombreuses. Elles sécurisent, soit la couche infrastructure
et/ou la couche logicielle.
Il s'agit de chiffrer les transactions si la confidentialité des échanges est
requise. Et de protéger ses bases d'information en filtrant les échanges et
ne laisser passer que ceux qui correspondent à la politique de sécurité
soigneusement mise eu point.
En faite La stratégie repose sur quatre piliers : la sécurisation des
éléments actifs qui composent la solution, l'utilisation de l'infrastructure
pour empêcher les malveillances, la protection des échanges protocolaires
et des communications et la surveillance active". Mais d'ajouter: "les
solutions doivent être adaptées aux besoins réels".
Figure3.2 : Exemple de solution sécurisée
IV.1. La sécurisation des couches basses
Rimeh Salhi 30 A.U 2008-2009
Voix sur IP Performances & Attaque & sécurité VOIP
Configuration de VLANUn VLAN est un réseau local regroupant un ensemble de machines
de façon logique et non physique. Grâce aux réseaux virtuels (VLANs) il
est possible de s'affranchir des limitations de l'architecture physique
(contraintes géographiques, contraintes d'adressage, ...) en définissant
une segmentation logique (logicielle) basée sur un regroupement de
machines grâce à des critères (adresses MAC, numéros de port, protocole,
etc.).
Plusieurs types de VLAN sont définis, selon le critère de commutation et le
niveau auquel il s'effectue :
- Un VLAN de niveau 1 (aussi appelés VLAN par port, en anglais Port-Based
VLAN) définit un réseau virtuel en fonction des ports de raccordement sur le
commutateur ; - Un VLAN de niveau 2 (également appelé VLAN MAC, VLAN par adresse
IEEE ou en anglais MAC (Address - Based VLAN) consiste à définir un
réseau virtuel en fonction des adresses MAC des stations. Ce type de VLAN
est beaucoup plus souple que le VLAN par port car le réseau est indépendant
de la localisation de la station ;- Un VLAN de niveau 3 : on distingue plusieurs types de VLAN de niveau 3 :
Le VLAN par sous-réseau (en anglais Network Address-Based VLAN)
associe des sous-réseaux selon l'adresse IP source des datagrammes. Ce type
de solution apporte une grande souplesse dans la mesure où la configuration
des commutateurs se modifie automatiquement en cas de déplacement d'une
station. En contrepartie une légère dégradation de performances peut se faire
sentir dans la mesure où les informations contenues dans les paquets doivent
être analysées plus finement Le VLAN par protocole (en anglais Protocol-Based VLAN) permet de créer
un réseau virtuel par type de protocole (par exemple TCP/IP, IPX, AppleTalk,
etc.), regroupant ainsi toutes les machines utilisant le même protocole au sein
d'un même réseau Le VLAN permet de définir un nouveau réseau au-dessus du réseau physique
et à ce titre offre les avantages suivants :
Plus de souplesse pour l'administration et les modifications du réseau car
toute l'architecture peut être modifiée par simple paramétrage des
Rimeh Salhi 31 A.U 2008-2009
Voix sur IP Performances & Attaque & sécurité VOIP
commutateurs.Gain en sécurité car les informations sont encapsulées dans un niveau
supplémentaire et éventuellement analysées.Réduction de la diffusion du trafic sur le réseau
Figure3.3 : Exemple d'utilisation de cloisonnement des VLAN (séparation data et
voix)
Filtrage des adresses MAC par portPour éviter que n’importe qui se connecte sur les ports d’un switch, il
est possible de faire un contrôle sur les adresses MAC des machines
connectées sur chaque port..
Protection contre les attaques ARP - Empêcher la connexion : L’attaque ARP suppose que le pirate soit capable
de se brancher au réseau. La première parade consiste donc à l’en
empêcher. Pour un réseau filaire, il faut empêcher l’accès physique au
réseau. En Wi-Fi, avec le WEP, tous les paquets sont rejetés si le pirate ne
connaît pas la clé secrète.Malheureusement, il n’est pas très compliqué
pour un pirate de trouver la clé WEP (en utilisant des outils disponibles
gratuitement sur Internet), donc de profiter pleinement de la connexion Wi-
Fi. En revanche, le WPA et le 802.11i offrent une protection très efficace :
un pirate peut bien s’associer à un AP (Access Point), mais l’ensemble des
paquets qu’il émet est rejeté tant qu’il ne s’est pas identifié avec le
protocole 802.1x.
Rimeh Salhi 32 A.U 2008-2009
Voix sur IP Performances & Attaque & sécurité VOIP - Installer un pare-feu : Si un pirate parvient bel et bien à se connecter au réseau
sans fil, il peut en principe lancer une attaque ARP contre toutes les stations
dans son sous réseau. Toutefois, certains pare-feux savent détecter ces
attaques et les empêcher : l’idéal est que ce type de pare-feu soit intégré à
chaque AP, de sorte que le pirate ne puisse même pas attaquer les autres
stations associées au même AP. Sinon, on devra se contenter d’un pare-feu
installé entre l’AP et le réseau filaire, pour au moins protéger le réseau filaire
contre les attaques provenant du réseau sans fil.
- Implémenter des tables ARP statiques : Une autre parade, assez contraignante,
consiste à interdire qu’une association de la table ARP puisse être modifiée.
En supposant que les tables ARP soient déjà figées au moment où le pirate
arrive, il ne pourra empoisonner aucune station. Malheureusement, il
est souvent nécessaire que les associations changent : en particulier, si les
stations obtiennent leur adresse IP dynamiquement (par DHCP), alors il peut
arriver fréquemment qu’une même adresse IP soit attribuée à un moment
donné à une station, et un peu plus tard à une autre (avec une autre adresse
MAC). Dans ce cas, il faut que toutes les stations du réseau mettent à jour
leur table ARP pour prendre en compte ce changement. - Analyser les historiques : Les stations peuvent souvent conserver un
historique de leur table ARP. On peut alors analyser les historiques ARP des
stations (manuellement ou grâce à un logiciel spécialisé) dans le but de
trouver les traces d’attaques passées, pour mieux prévoir et prévenir les
prochaines.
IV.2. La sécurisation du réseau 1.
Contrôle d’accès par filtrage IP
Les serveurs de gestion VoIP (surtout installés par défaut) ont un
nombre de ports ouverts par défaut très conséquent.
Il est donc fortement recommandé de filtrer les ports accessibles sur les
serveurs depuis le réseau des utilisateurs, au niveau des routeurs. Pour
cela, il peut être utile de placer les serveurs sur un sous réseau dédié.
Rimeh Salhi 33 A.U 2008-2009
Voix sur IP Performances & Attaque & sécurité VOIP Il convient de lister les services et les ports associés qui doivent être pris
en considération lors de l’implémentation d’une politique de filtrage sur un
réseau VoIP.
Certains protocoles sont propriétaires (ex : Cisco Skinny) et d’autres
ne font pas bon ménage avec du filtrage sans état (non-stateful) ou si des
relais applicatifs, qui savent décoder le protocole, ne sont pas présents
(ALGs – Application Level Gateways).
Cependant, bon nombre de pare-feux se limitent à gérer l’ouverture de
ports en fonction des communications et n’inspectent pas les flux (au
niveau protocolaire – ie. AGLs). De plus cet élément additionnel risque
d’introduire un délai ainsi qu’une gigue, c’est pourquoi ils sont absents
dans bien des déploiements.
Utilisation de tunnels IPSecLes différentes solutions de tunneling présentent toutes des
avantages et des inconvénients pour la VoIP avec ses nombreuses
exigences. IPSec, qui travaille sur la couche réseau, permet d'assurer une
plus grande fiabilité des informations. Notons par exemple que le
problème des en-têtes SRTP modifiables n'est plus un souci ici.
Cependant, le coût de cette solution est parfois considérable, tant sur le
plan des ressources matérielles que sur le trafic réseau. IKE (Internet Key
Exchange) permet alors de remplacer MiKEY (cf. ci-dessous) et d'assurer la
gestion des clefs pour l'ensemble des communications VoIP.
La surcharge engendrée par IPSec peut être minimisée en
configurant le tunnel pour traiter uniquement les flux de voix sur IP (pour
des machines/protocoles fixés).Un atout intéressant est la possibilité
d'utiliser la totalité des soft phones disponibles puisqu'ils n'ont plus à gérer
la sécurité des échanges (via SRTP/MiKEY...).
Pour résumer : les tunnels simplifient le déploiement de la VoIP sécurisée,
mais ne peuvent pas être employés sur de larges infrastructures ou sur
des soft phones peu puissants.
Echange DNS avec DNSSecDNSSEC, normalisé dans le RFC 4033 et les suivants permet de résoudre
certains problèmes de sécurité du DNS.
Rimeh Salhi 34 A.U 2008-2009
Voix sur IP Performances & Attaque & sécurité VOIP
DNSSEC permet de sécuriser les données envoyées par le DNS.
Contrairement à d'autres protocoles comme SSL, il ne sécurise pas juste
un canal de communication mais il protège les données, les
enregistrements DNS, de bout en bout. Ainsi, il est efficace même
lorsqu'un serveur intermédiaire trahit.
DNSSEC signe cryptographiquement les enregistrements DNS et met
cette signature dans le DNS. Ainsi, un client DNS méfiant peut donc
récupérer la signature et, s'il possède la clé du serveur, vérifier que les
données sont correctes. La clé peut être récupérée via le DNS lui-même
(ce qui pose un problème d'œuf et de poule) ou bien par un autre moyen
(diffusée via le Web et signée avec PGP par exemple).
Installation de pare-feu applicatifsDernière mouture de pare-feu, ils vérifient la complète conformité du
paquet à un protocole attendu. Par exemple, ce type de pare-feu permet
de vérifier que seul du HTTP passe par le port TCP 80. Ce traitement est
très gourmand en temps de calcul dès que le débit devient très important;
il est justifié par le fait que de plus en plus de protocoles réseaux utilisent
un tunnel TCP pour contourner le filtrage par ports.
Protection contre les DoSLes contre-mesures sont très compliquées à mettre en place et très
ciblées vis-à-vis du type de déni de service envisagé. En effet, d'un point
de théorique, la plupart des attaques visant à créer des dénis de service
sont basées sur des services ou protocoles normaux sur Internet. S'en
protéger reviendrait à couper les voies de communications normales avec
Internet, alors que c'est bien là la raison d'être principale des machines
concernées (serveurs web, etc...). Il reste tout de même la possibilité de se
protéger contre certains comportements anormaux (voir les attaques
précédentes) comme une tentative de flooding, un trop grand nombre de
paquets ou de requêtes de connexion provenant d'un petit nombre de
machines. Mais cela implique beaucoup de choses en fait : il faut
monitorer le trafic (ce qui est loin d'être simple, du fait de la quantité de
données qui transitent), établir des profils types de comportement et des
écarts tolérables au-delà desquels on considérera que l'on a affaire à une
Rimeh Salhi 35 A.U 2008-2009
Voix sur IP Performances & Attaque & sécurité VOIP attaque; il faut également définir les types d'attaques auxquelles on
souhaite se protéger (analyses de risques à l'appui) car il est impossible de
toutes les prévoir.
C'est ce que l'on retrouve à l'heure actuelle dans la plupart des
systèmes de protection contre les dénis de service. Ainsi Cisco propose
des produits incluant à différents niveaux des services spécifiques :
- test des adresses source et destination (ainsi que loop-back, unicast, multicast...) ; - test de la fragmentation ; - utilisation d'adresses IP virtuelles pour validation de sessions et ACK (contre attaques
TCP) ; - test du nombre de SYN (contre attaques TCP) ; - contrôles de flux ; - contrôles de contenus (port, tag, url, extensions de fichiers) ; - autres fonctions de firewall, le tout basé sur du load-balancing et de la redondance.L'accent est mis sur la sécurité du système de protection en lui-même
pour qu'il puisse faire face à des situations extrêmes (trafic énorme, etc...)
La plupart des contre-mesures visent à protéger contre un type d'attaque
particulier.
La localisation de l'attaque est très souvent obscure parce que les
adresses des paquets SYN envoyés ne sont très souvent pas plausibles.
Quand le paquet arrive au serveur victime, il n'y a pas de moyen de
déterminer sa véritable source. Comme Internet fait suivre les paquets
basés sur une adresse de destination, le seul moyen de valider la source
d'un paquet est d'utiliser le filtrage.
Avec la technologie actuelle du protocole IP, il est impossible
d'éliminer les paquets spoofés. Mais heureusement, il existe quelques
solutions pour réduire le nombre d'entre eux, entrants et sortants du
réseau.
La meilleure méthode est d'installer un routeur-filtreur qui limite les
entrées à l'interface externe (connue sous le nom de filtreur d'entrée) en
n'accordant pas le droit d'entrée à un paquet qui a une adresse source du
réseau interne.
Rimeh Salhi 36 A.U 2008-2009
Voix sur IP Performances & Attaque & sécurité VOIP Il peut aussi être bon de filtrer les paquets sortants qui ont une adresse
source différente du réseau interne afin de prévenir une attaque d'IP
spoofing provenant du réseau interne.
La combinaison de ces deux routeurs-filtreurs doit empêcher les
agresseurs extérieurs d'envoyer des paquets prétendants venir du réseau
interne. Cela doit également empêcher les paquets provenant du réseau
interne de se prétendre venir de l'extérieur du réseau.
Mais, ces filtres ne vont pas stopper toutes les attaques de type TCP-SYN,
car les agresseurs extérieurs peuvent "spoofer" leurs paquets de façon à
faire croire qu'ils proviennent d'autres sites extérieurs, et les agresseurs
internes peuvent toujours envoyer des attaques de type spoofing avec des
adresses internes.
Transport Layer Security (TLS), anciennement nommé Secure Socket
Layer (SSL), est un protocole de sécurisation des échanges sur Internet.
Par abus de langage, on parle de SSL pour désigner indéfférement SSL ou
TLS .SSL fonctionne suivant un mode client-serveur. Il fournit quatre
objectifs de sécurité :
l'authentification du serveur ; la confidentialité des données échangées (ou session chiffrée) ; l'intégrité des données échangées ; de manière optionnelle, l'authentification du client.
Utilisation de Secure RTP / Secure RTCP (SRTP/ SRTCP)Il s’agit d’une extension de RTP / RTCP. C’est un protocole spécifié par
l’IETF, RFC 3711.
Il ajoute les fonctionnalités suivantes :
Confidentialité (cryptage AES 128 bits) Authentification des messages (HMAC-SHA1) Ajout de protectionIl n’affecte pas la compression ou la QoS (qualité de service) mises en
place.
Protocoles de gestion des clefs VoIP avec MiKEY : Multimedia Internet
Keyring
Rimeh Salhi 37 A.U 2008-2009
Voix sur IP Performances & Attaque & sécurité VOIP Il s'agit d'un protocole récent à l’état de draft et encore très rarement
implémenté.
MiKEY est encapsulé dans les paquets SIP et permet d'utiliser :
un secret commun (PSK pour Pre-Shared Key), généralement sous
forme de mot de passe ; des protocoles Diffie-Hellman d’échange de clés ; une PKI.MiKEY, tout comme SRTP/SRTCP, tente de minimiser les coûts et les
impacts de la protection. Il doit assurer une sécurité optimale des
transactions de clefs sans affecter de façon significative .Le projet minisip,
bien qu'encore trop jeune pour être utilisé en production, est l'un des plus
avancés dans ce domaine à l’heure actuelle. Il s'agit d'un client
implémentant MiKEY et SRTP avec au choix une authentification PSK ou
Diffie-Hellman. Il supporte également l’utilisation de TLS pour sécuriser les
échanges SIP. MiKEY s'encapsule dans SIP avec le champ a=key-mgmy qui
permet d'assurer l'authentification qui permettra de faire transiter un flux
SRTP par la suite avec des algorithmes et des clefs adéquats.
Rimeh Salhi 38 A.U 2008-2009
Voix sur IP Etude technique
Etude technique
I. Introduction
Deux possibilités nous étaient offertes au démarrage de notre projet:utiliser une application opensource connu ou développer notre propreserveur. Nous pouvions choisir d'utiliser un serveur Asterisk open sourceque nous devons simplement installé et configuré pour interagir avecAsterisk. Dès lors, une partie de la configuration d’Asterisk nous auraitcertainement facilité la résolution de certains problèmes et aurait accélérél'avancement de notre planning prévisionnel. Cependant, certainsmécanismes sous-jacents nous auraient été masqués Ainsi,l’implémentation et la misse en place d’un serveur Asterisk nous a permisde mieux comprendre et assimiler le protocole SIP. Réciproquement, lesbases acquises au cours de l’étude des protocoles nous aidées à fixer ceque nous redécouvrions durant les phases d'analyse et d'implémentationdu serveur Asterisk. Il est tout à fait approprié de parler de redécouverte,puisque la programmation nous a demandé de revoir plus en détailscertains points de la RFC, qui semblaient évident lors d'une premièrelecture, mais qui l'étaient beaucoup moins lors de la pratique. Pour sefaire des environnements matérielle et logiciel étaient recommanderdans la phase d’implémentation.
II. Les éléments nécessaires pour composer un réseau
VOIP
Le PABX-IP : c'est lui qui assure la commutation des appels et leurs
autorisations, il peut servir aussi de routeur ou de Switch dans
certains modèles, ainsi que de serveur DHCP. Il peut posséder des
interfaces de type analogiques (fax), numériques (postes),
numériques (RNIS, QSIG) ou opérateurs (RTC-PSTN ou EURO-RNIS). Il
peut se gérer par IP en intranet ou par un logiciel serveur spécialisé
Rimeh Salhi 39 A.U 2008-2009
Voix sur IP Etude technique
que ce soit en interne ou depuis l'extérieur. Il peut s'interconnecter
avec d'autres PABX-IP ou PABX non Ip de la même marque (réseau
homogène) ou d'autres PABX[2] d'autres marques (réseau
hétérogène).
Pour notre application on eu recours au ASTERIK pour jouer le rôle
d’un PABX
Le serveur d’unications (comme exemple: Call Manager de Cisco),
il gère les autorisations d'appels entre les terminaux Ip ou soft
phones et les différentes signalisations du réseau. Il peut posséder
des interfaces réseaux opérateurs (RTC-PSTN ou RNIS), sinon les
appels externes passeront par la passerelle dédiée à cela (Gateway).
La passerelle : (Gateway), c'est un élément de routage équipé de
cartes d'interfaces analogiques et/ou numériques pour
s'interconnecter avec soit d'autres PABX (en QSIG, RNIS ou E&M),
soit des opérateurs de télécommunications local, national ou
international. Plusieurs passerelles peuvent faire partie d'un seul et
même réseau, ou l'on peut également avoir une passerelle par
réseau local (LAN). La passerelle peut également assurer l'interface
de postes analogiques classiques qui pourront utiliser toutes les
ressources du réseau téléphonique IP (appels internes et externes,
entrants et sortants).
Le Switch : il assure la distribution et commutation de dizaines de
port Ethernet à 10/100 voire 1000 Mbits/s. Suivant les modèles,
il peut intégrer la télé- alimentation des ports Ethernet à la norme
802.3af pour l'alimentation des IP-phones ou des bornes WIFI en 48V.
(le point d’accès compatibles au réseau wifi 802.11(réseau Mesh)
pour notre application)
Le SOFTPHONE : c'est un logiciel qui assure toutes les fonctions
téléphoniques et qui utilise la carte son et le micro du PC de
Rimeh Salhi 40 A.U 2008-2009
Voix sur IP Etude technique
l'utilisateur, et aussi la carte Ethernet du PC. Il est géré soit par le
Call Manager, soit par le PABX-IP.
Notre projet consiste donc à faire l’étude du maximum de
fonctionnalités offertes par un PBX Asterisk. Il s’agit ici de traiter
uniquement les possibilités d’Asterisk dans le cadre d’une solution
VoIP dans un réseau local. Donc toute la partie concernant la
connexion de l’IPBX avec le réseau téléphonique classique n’est pas
abordée. Nous avons à notre disposition trois ordinateurs portables,
un jouera le rôle du PBX et les deux autres les clients à travers un
softphone tel que X-Lite. Le protocole de VoIP utilisé sera SIP (car il a
l’avantage d’être celui qui est le plus utilisé sur les équipements
VoIP et ses spécifications sont libres d’accès (SIP RFC 2543)). Voici la
topologie réseau de notre projet qui y correspond
Figure2.1 : topologie du réseau VOIP
Rimeh Salhi 41 A.U 2008-2009
Voix sur IP Etude technique
III. ASTERISK
Asterisk est né en 1999, créé par un étudiant de l'université d'Auburn
(États-Unis - Alabama). à la recherche d'un commutateur téléphonique
privé pour créer un centre de support technique sur Linux, il est dissuadé
par les tarifs trop élevés des solutions existantes, et décide de se créer
son propre routeur d'appels sous Linux, le PBX Asterisk. Quelque temps
après, il crée la société Digium, fournisseur de cartes FXO et FXS
compatibles avec Asterisk.
Asterisk est un PBX (PBX : Acronyme de Private Branch eXchange.Désigne, dans le parc d'une entreprise, le dispositif d'échange interne dedonnées et de liaison avec le réseau téléphonique.(On a comme synonymePAX et PABX.) applicatif open source permettant d'interconnecter entemps réel des réseaux de voix sur IP via plusieurs protocoles (SIP, H323,ADSI, MGCP) et des réseaux de téléphonies classiques via des cartesd'interface téléphonique et tout ceci à moindre coût. Asterisk offre toutesles fonctions d'un PBX et ses services associés comme de la conférencetéléphonique, des répondeurs interactifs, de la mise en attente d'appels,des mails vocaux, de la musique d'attente, de la générationd'enregistrement d'appels pour l'intégration avec des systèmes defacturation, etc...
1. Fonctionnalités d’Asterisk
La commutation de PBX (PBX Switching Core)
L'essence d’Asterisk, naturellement, est un système de commutation de centralTéléphonique privé, reliant ensemble les appels entre divers utilisateurs et des tâches
automatisées. Le noyau de commutation relie d'une manière transparente des appelsArrivant sur de diverses interfaces de matériel et de logiciel.
Lanceur d'applications (Application Launcher)Lance les applications qui assurent des services pour des usages, tels que la
messagerie vocale, la lecture de messages et le listage de répertoires (annuaires).
Traducteur de codec (Codec Translator)
Utilise des modules de Codec pour le codage et le décodage de divers formats de
Compressions audio utilisées dans l'industrie de la téléphonie. Un certain nombre de
codecs est disponible pour palier aux divers besoins et pour arriver au meilleur
équilibre entre la
Rimeh Salhi 42 A.U 2008-2009
Voix sur IP Etude technique
Qualité audio et l'utilisation de la bande passante.
Ainsi que d’autre fonctionnalité tel que :
Messagerie vocale
Conférence téléphonique
Répondeur vocal interactif Mise en attente d’appels Services d'identification de l'appelant
2. Les Application Programming Interfaces
Codec Translator
Chaque terminal communique avec son propre Codec (ex. ILBC, G.723,
GSM,etc...). Dans le cas où 2 terminaux veulent communiquer en passant
par Asterisk, le
Codec translator permet de convertir les codecs pour leur mise en
communication.
Applications
Cette API sert d'interface avec les modules applicatifs qui peuvent être
combinés à Asterisk.
File Format
Elle permet d'effectuer les conversions entre les différents formats audio
Connus (wav, mp3, pcm...).
Channel
Permet l'interconnexion des différents protocoles de téléphonie sur IP
avec les interfaces de téléphonie classique.
IV.X-lite
X-lite est un softphone (anglicisme) qui est un type de logiciel utilisé
pour faire de la téléphonie par Internet depuis un ordinateur plutôt qu'un
téléphone. Les communications peuvent se faire au moyen d'un
Rimeh Salhi 43 A.U 2008-2009
Voix sur IP Etude technique
microphone et d'un casque ou de haut-parleurs reliés à la carte son, mais
il existe aussi un type de périphérique dédié à cette tâche, semblable à un
téléphone et se branchant sur un port USB.
Rimeh Salhi 44 A.U 2008-2009
Voix sur IP Implémentation et évaluation
Implémentation Administration etévaluation des performances
I. Introduction
Durant ce chapitre, nous allons présenter les environnements
matérielles et logicielles utilisés pour la réalisation de notre solution. La
mise en ouvre de la solution VOIP pour un réseau privé et pour Internet.
Enfin nous allons faire étude pour évaluer les performances de la solution
proposée. Nous allons aussi démontrer les phases d’installation, de
configuration et utilisation des services via l’application Webmin et via la
console.
II. Environnement matérielle et logicielle
Pour la réalisation de notre solution nous avons utilisé les logicielles et
les équipements suivants :
Système d’exploitation : Fedora10 (noyau 2.6) . Outil d’administration : Webmin version 1.410-1 Serveur Fedora : Un HP avec 2Go de RAM, un microprocesseur Dual Core Duo, Un
disque dur 500 Go SATA, deux carte réseaux Ethernet 10/100/1000 Mo/s. Un Portable avec Windows Vista Un Portable avec Windows XP Evaluation des performances : Wireshark et IXchariot
III. Installation et configuration du serveur Asterisk pour
un LAN
1. Installation :
Asterisk est compatible avec n’importe quelle distribution Linux (en
tout cas dont la version du kernel est au moins 2.4.5). Voici la liste des
Rimeh Salhi 45 A.U 2008-2009
Voix sur IP Implémentation et évaluation
paquets nécessaires à l’installation et au fonctionnement d’un système
Asterisk.
Dans notre cas, la distribution FEDORA CORE 10 que nous avions installé
ne demandait aucune mise à jour. Nous devons maintenant installer le
système avec tous les paquets nécessaires.
Voici donc la démarche que nous avons suivie pour l’installation
d’Asterisk -1.6.0.6
a. Extraction du code source
# tar zxvf asterisk-1.6.0.6.tar.gz
b. Compilation et installation des paquets
Pour assurer l installation de d’Asterisk il faut exécuter les
commandes ci-dessous :
. / configure : pour vérifier la compatibilité avec le système
d’exploitation.
Make : pour la compilation de code source de l’application Asterisk.
Make Install : pour l’installation de l’application
Make prgdocs : pour l’installation des documents
Les commandes principales pour se (re)connecter à l'interface en ligne de
commandes (CLI)
d’Asterisk:
Lancement d’Asterisk: asterisk - [hcvrx]
h : pour avoir la commande complète d'options
c : permet de se connecter au CLI d'Asterisk
Rimeh Salhi 46 A.U 2008-2009
# cd Asterisk-1.6.0.6
#./configure
# Make
# Make install
# Make progdocs
Voix sur IP Implémentation et évaluation
v : verbosité, utiliser une ou plusieurs fois (-vvvv), permet de paramétrer la quantité
des sorties.
g : Core dump. Si Asterisk plantait subitement un fichier core serait alors créer ensuite
avec gdb on peut voir par quoi il a été causé.
r : pour se reconnecter à un processus d'Asterisk déjà lancé en local.
x : utiliser en combinaison avec -r permet d'exécuter une commande sans avoir à se
Reconnecte r à la CLI et la taper manuellement.
Par exemple :
/usr/bin/Asterisk -vvvc : Connexion au CLI en mode un peu
verbeux.
/usr/bin/Asterisk -rx "restart now" : Exécution d'une commande
sans passer par la CLI.
Figure 4.1. : Interface de communication avec le serveur asterisk
2. Configuration du serveur Asterisk
Asterisk tient sa flexibilité de son système de configuration par
fichiers (contenus dans/etc/Asterisk) suivants :
Rimeh Salhi 47 A.U 2008-2009
Voix sur IP Implémentation et évaluation
a. 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 1ère partie sertpour les options
générales de SIP comme l’adresse IP et le port correspondant. Les
sectionssuivantes 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.
b. extension.conf
Ce fichier contient le plan de numérotation du serveur. Les numéros de
téléphone sont associés à différentes actions/comptes.
Ces deux fichiers sont essentiels pour le bon fonctionnement d’Asterisk. Il
existe de nombreuxautres fichiers pour configurer les autres protocoles ou
fonctionnalités comme voicemail.conf (boîtes de messagerie vocale) ou
musiconhold.conf (musique d’attente) etc.
3. Configuration des fichiers du serveur Asterisk
a. Fichier sip.conf
C’est un fichier de création de compte SIP, chaque compte est
contenu dans un bloc. Un bloc général est crée au début de fichier,
on y trouve les paramètres globaux, tels que :
Username : nom d’utilisateur
Secret : mot de passe
Context : contexte dans le fichier extensions.conf
Notre objectif est maintenant de mettre en place une configuration
minimale permettant une communication entre les deux softphones. Nous
devons alors enregistrer les 2 softphones SIP dans Asterisk
La configuration consiste à éditer les paramètres du fichier
sip.conf donc il suffit de taper :
Rimeh Salhi 48 A.U 2008-2009
Voix sur IP Implémentation et évaluation
# gedit /etc/asterisk /sip.conf
Notre fichier sip.conf (client 1) :
[haifa]
Username=haifa; //le nom d’utilisateur
Secret=haifa ; //son mot de passe
Type=friend; //friend pour appeler et être appelé
Host=dynamic; //l’host est dynamic, il est nomade
Allow=all
Context=test
Notre fichier sip.conf (client 2)
[ayda]
Username=ayda
Secret=ayda
Allow=all
Type=friend
Host=dynamic
Context=test
Rimeh Salhi 49 A.U 2008-2009
Voix sur IP Implémentation et évaluation
Notre configuration de fichier sip.conf
Figure 4.2. : Configuration de fichier sip.conf
Nous venons de créer deux utilisateurs «rimeh» et « ines » sur le serveur
Asterisk pour vérifier leurs enregistrements on exécute la commande :
CLI > sip show users
Rimeh Salhi 50 A.U 2008-2009
Voix sur IP Implémentation et évaluation
Figure 4.3: Affichage des clients sip
b. Fichier extensions.conf
L’enregistrement d’une extension se fait de la manière suivante :
Syntaxe :
Exten => Extension, NuméroSequence, Action
Exten : est un mot clé (utilisé pour chaque extension).
Extension : est le numéro associé au compte/action.
Numéro Séquence : est l’ordre des actions pour l’extension donnée.
Action : est l’application à lancer. Notre fichier extensions.conf est
[General]
Static=yes
Writeprotect=no
[Test]
Exten => 51,1, Dial (SIP/haifa)
Exten => 51, 2, Hangup ()
Exten => 52, 1, Dial (SIP/ayda)
Exten => 52, 2, Hangup ()
Rimeh Salhi 51 A.U 2008-2009
Voix sur IP Implémentation et évaluation
Notre configuration de fichier extensions.conf
Figure 4.4 : Configuration de fichier extensions.conf
Rimeh Salhi 52 A.U 2008-2009
Voix sur IP Implémentation et évaluation
IV. Installation et configuration des softphones
1. Installation
L’installation des softphones ne requiert aucune manipulation
particulière. Nous avons choisi d’installer X-Lite sur les deux machines
clientes (sous Windows).
La procédure d’installation pour Windows est très simple et assez
proche de tout ce qui se fait à l’heure actuelle pour l’ensemble des
logiciels.
En effet un programme d’installation nommé « setup.exe » se charge de
décompresser le programme dans le répertoire « program files », donne
les bonnes permissions aux différents fichiers et insère les données
nécessaires dans la base de registre. Et enfin une console se lance
automatiquement sur votre machine.
2. Configuration
Pour configure les 2 softphones (dans notre cas X-Lite), il faut cliquer
sur le bouton « settings », sélectionner « system settings » et « sip
proxy ». Ce qui permet d’afficher la configuration qui est relativement
simple, il suffit de respecter les deux points suivants, laissant le reste par
défaut :
Username : Rimeh ou Ines Proxy : 192.168.0.2
Lors de la première utilisation le logiciel va ouvrir la fenêtre des
paramètres du compte SIP. Pour rappel le protocole SIP est le protocole le
plus utilisé en ce moment dans le monde de la VOIP.
Dans cette fenêtre, vous devrez rentrer les informations suivantes :
Rimeh Salhi 53 A.U 2008-2009
Voix sur IP Implémentation et évaluation
Figure 4.5: Les paramètres de compte sip sous XP (client 1)
Display Name : (string) nom qui sera affiché à vos correspondants (si la
fonction est acceptée auprès de votre opérateur).
Username : (string) extension ou numéro de téléphone donné par votre
opérateur
Password: (string) mot de passe de connexion
Autorisation User : (string) login de connexion fournit par votre
opérateur (généralement le même que votre username)
Domain : (string) autre champs de sécurité. Il s’agit de dire sur quel
domaine on se connecte, en effet, un serveur VOIP peut être mutualisé
comme un serveur WEB.
Rimeh Salhi 54 A.U 2008-2009
Voix sur IP Implémentation et évaluation
Proxy : (string) correspond au nom ou à l’adresse IP du serveur sur lequel
nous serons connectés
Et donc l’enregistrement se passe sans problème comme indique la
figure suivante que le client est enregistré avec succès :
Figure 4.7: enregistrement de client
Apres avoir configurer les softphones en peut tester notre travail en
suivant les étapes suivantes :
1. Le client appelant doit composer le numéro de son correspondant.
2. Le serveur Asterisk vérifie si le numéro existe dans le fichier «
extensions.conf »
3. Le serveur Asterisk renvoi l’usager appelé.
4. Le serveur passe, alors, l’appel et à ce stade là communication peut
commencer
Et le nom de l’appelant apparait sur l’interface du softphone appelé
Rimeh Salhi 55 A.U 2008-2009
Voix sur IP Implémentation et évaluation
V. Configuration du serveur Asterisk pour un Internet
Dans le cas ou nous prévoyons d’exploiter notre serveur depuis un
réseau externe, Internet par exemple, nous devons configurer notre
serveur Linux pour agir comme un routeur. Et nous devons aussi
configurer les mécanismes de NAT Dynamique et de la NAT statique. Ces
configurations ont été réalisées avec Webmin.
V.1. Installation Webmin
Webmin est une application web qui permet de configurer tous les paramètres d’un système d’exploitation Linux.
L’installation de webmin est réalisée avec cette commande :
Figure 4.8 : installation de Webmin
Puisque c’est une application web développée en PHP nous devons utiliser un serveur web pour la consultation de cette application. La figure ci-dessous illustre comment démarrer le serveur Apache.
Rimeh Salhi 56 A.U 2008-2009
Voix sur IP Implémentation et évaluation
Figure 4.9 : démarrage du serveur Apache
Rimeh Salhi 57 A.U 2008-2009
Voix sur IP Implémentation et évaluation
V.2. configuration réseau et routage
Pour connecter notre serveur, qui va jouer le rôle d’un routeur aussi,
nous devons ajouter une autre interface réseau à la machine. Cette
interface va jouer le rôle de l’interface externe du routeur ou aussi
l’interface Wan. Pour cette configuration nous avons utilisé l’IP 193.95.66.1
Figure 4.10 : configuration de l’interface Wan
Nous devons par la suite configurer le serveur pour qu’il agisse
comme un routeur. Et puisque nous prévoyons d’utiliser de la NAT
statique, nous devons ajouter une entrée de routage statique qui permet
d’acheminer les paquets venant de l’interface externe (wan) vers
l’interface interne (Eth0)
Figure 4.11 : configuration de routage
Rimeh Salhi 58 A.U 2008-2009
Voix sur IP Implémentation et évaluation
V.3. configuration NAT
NAT Dynamique
La NAT dynamique permet à nos clients du réseau privée de
connecter à internet en utilisant l’adresse IP publique de l’interface
externe du routeur. Cette configuration est réalisée avec Webmin on
ajustant les paramètres d’IPtables--> masquerading comme la montre la
figure ci-dessous.
Figure 4.12 : configuration de la NAT dynamique
NAT Statique
La NAT dynamique a pour rôle de connecter nos clients internes à
Internet. Dans notre cas nous avons aussi un serveur Asterisk dans le
réseau interne que nous voulons le rendre accessible depuis l’extérieur
(Internet). Pour cela nous pouvons configurer le port forwarding avec la
NAT dynamique. Mais cette solution présente l’inconvénient qu’elle ne
peut rendre accessible qu’un seul serveur. Pour cela nous avons plutôt de
choir la NAT statique qui permet de rendre accessible depuis l’extérieur
Rimeh Salhi 59 A.U 2008-2009
Voix sur IP Implémentation et évaluation
plusieurs instances de même serveur. Notre configuration concernons la
NAT statique est illustrée par la figure 4.13.
Figure 4.13 : configuration de la NAT Statique
VI. Evaluation des performances
Nous avons réalise quelques études concernant les performances de la
mise en place de notre solution voix IP. Pour cela nous avons utilisé deux
applications : IXchariot et Wireshark
VI.1. Evaluation des performances avec Wireshark
La figure 4.14 montre les paquets RTP interceptés par Wireshark.
Rimeh Salhi 60 A.U 2008-2009
Voix sur IP Implémentation et évaluation
Figure 4.14 : interception des paquets RTP avec Wireshark
Suite à cette interception nous avons procédé à l’évaluation des
critères de performance d’une communication VOIP : Taux de perte, Le
Max Delta, Max Jitter et le Mean Jitter. La figure ci-dessous que la valeur de
la perte des paquets est de 0% à 0.2%, et que la valeur de Jitter moyenne
est de 0.41 ms ce qui indique une bonne qualité de son.
Figure 4.15 : Evaluation des performances avec Wireshark
Rimeh Salhi 61 A.U 2008-2009
Voix sur IP Implémentation et évaluation
VI.2. Evaluation des performances avec IXchariot
La FIGURE 4.16 représente la variation de la qualité de son de notre
application .On remarque que la valeur du MOS égale à 4.38, ce qui
indique une bonne qualité de son. Les variations dans la figure sont dues à
un temps de silence.
Figure 4.16 : Évaluation des performances avec IXchariot
VII. Conclusion
Durant ce chapitre nous avons procédé à la configuration d’une solution
VOIP, sur les différentes plateformes possibles Linux comme serveur et
Windows XP et Mac Os comme des clients. Nous avons aboutis à mettre on
ouvre cette solution pour un réseau privée et pour le réseau Internet.
L’évaluation des performances de cette solution semble séduisante. Mais
Toutes ces étapes d’installation, de configuration et mise en place n’auront
aucune utilité dans le cas ou le serveur est compromis par une attaque
informatique. C’est pourquoi nous consacrons le chapitre suivant pour
proposer une solution de sécurité pour notre serveur.
Rimeh Salhi 62 A.U 2008-2009
Voix sur IP Implémentation d’une solution de sécurité
Implémentation d’une solution desécurité
I. Introduction
Durant ce chapitre nous allons installer et configurer quelques
mécanismes de sécurité capables d’éviter quelques attaques qui peuvent
nuire au bon fonctionnement de notre solution. L’utilisation des VPN en se
basant sur le protocole IPsec nous semble une bonne solution contre les
attaques visant la confidentialité et l’intégrité des communications. Nous
avons aussi utilisé le pare-feu de Linux, IPtables, pour protéger le serveur
contre les accès non autorisés.
II. Environnement matérielle et logicielle
Pour la réalisation de notre solution de sécurité nous avons utilisé les
logicielles et les équipements suivants :
Système d’exploitation pour le serveur: Fedora10 (noyau 2.6). Système d’exploitation pour les clients: Fedora10 (noyau 2.6). Serveur VPN : STRONGSWAN Client VPN : GREENBOW Pare-feu : IPtables de Linux Outil d’administration d’IPtables: Webmin version 1.410-1 Outils d’attaques :
o Wireshark : an analyseur réseauo Sivus : un outil de détection de vulnérabilité
Rimeh Salhi 63 A.U 2008-2009
Voix sur IP Implémentation d’une solution de sécurité
III. Réalisation d’une série d’attaques contre notre
solution VOIP
Comme nous avons mentionné dans le deuxième chapitre, il existe
plusieurs attaques visant les solutions VOIP, les plus dangereuses sont
celle visant la confidentialité et l’intégrité des communications (écoute des
communications) et la disponibilité du serveur (avec une attaque DoS on
peut mettre le serveur hors ligne).
III.1. Espionnage des communications VIOP avec
Wireshark :
L’écoute clandestine peut être effectuée avec plusieurs méthodes.
La méthode plus courante est l’écoute du réseau pour reconstituer ensuite
la communication à partir de paquets RTP.Cette attaque a pour but
d’écouter ou d’enregistrer une conversation en cours. L’attaquant gagne
l’accès au réseau physique et utilise des outils pour espionner directement
sur les câbles. Il peut ensuite rejouer le contenu des paquets. Pour la
réalisation de cette attaque nous avons utilsé l’analyseur réseau
Wireshark. La figure ci-dessous montre le résultat de l’attaque que nous
avons réalisé pour l’écoute d’une communication.
Rimeh Salhi 64 A.U 2008-2009
Voix sur IP Implémentation d’une solution de sécurité
Figure 5.1 : interception d’une communication VOIP
Figure 5.2 : espionnage d’une communication VOIP
Rimeh Salhi 65 A.U 2008-2009
Voix sur IP Implémentation d’une solution de sécurité III.2. Réalisation d’une attaque de Déni de service avec
SiVus
Le "Denial-of-service" ou déni de service est une attaque visant à
rendre muette une machine en la submergeant de trafic inutile. Voici un
exemple d'attaque de ce type en utilisant les messages de requête SIP. Le
logiciel SiVuS permet d’envoyer successivement un ensemble de
messages à la machine victime pour la bloquer par exemple on va envoyer
50 messages invite au client dont le numéro est 51. On peut utilser le
même mécanisme pour bloquer aussi un serveur SIP on l’inondant avec
plusieurs paquets SIP.
Rimeh Salhi 66 A.U 2008-2009
Voix sur IP Implémentation d’une solution de sécurité
Figure 5.3 : Réalisation d’une attaque DoS
IV. Installation et configuration d’un VPN
Un réseau privé virtuel repose sur un protocole, appelé protocole de
tunnelisation (tunneling), c'est-à-dire un protocole permettant aux
données passant d'une extrémité du VPN à l'autre d'être sécurisées par
des algorithmes de cryptographie. Le cryptage des données de
communication permet de remédier à plusieurs attaques telles que la
confidentialité, l’intégrité, le déni de service, et l’insertion des paquets.
Comme protocole de tunnelisation nous avons prévu d’utiliser l’IPsec
puisque c’est un standard conçu par l’IETF
Rimeh Salhi 67 A.U 2008-2009
Voix sur IP Implémentation d’une solution de sécurité
V. Installation et configuration d’un serveur VPN
sous Linux
V.1. Installation du serveur VPN STRONGSWAN
Pour installer le serveur VPN nous avons procédé comme suit :1- Aller dans le répertoire ou se trouve strongswan-4.3.0
# cd strongswan-4.3.02- Pour vérifier la compatibilité entre l’application et linux on tape la
commande :# ./configure
3- Pour la compilation du code source :# make
4- Et enfin pour l’installation :
Figure 5.4 : installation d’un serveur VPN
Rimeh Salhi 68 A.U 2008-2009
Voix sur IP Implémentation d’une solution de sécurité Le résultat de l’installation est illustré par la figure suivante :
Figure 5.4 : résultat d’installation d’un serveur VPN
V.2. Configuration du serveur VPN STRONGSWAN sous
LINUX
a- Installation de votre Certificate Authority :
1) Ouvrez le fichier /usr/share/ssl/openssl.cnf avec un editeur de texte(gedit). Ce fichier contient des valeurs par défaut pour la génération decertificats OpenSSL.Nous allons changer les options suivantes:'default_days ':C'est la durée, en jours, durant laquelle vos certificats seront valides, et lavaleur par défaut est de 365 jours, soit 1 an. Puisque c'est pour l'usageexterne et pour assurer plus de sécurité nous avons prévu d'avoir uncertificat valide pendant un courte durée. Nous avons placé cette valeur à'30 ', ce qui donnera 1 mois de validité à nos certificats.
2) Créez un dossier /var/sslca pour stocker notre CA. Changez lespermissions du dossier en 700, de sorte que les gens ne puissent pasaccéder aux clefs privées auxquelles ils ne sont pas supposés accéder.
3) lancez la commande 'CA -newca '.Nous avons marqué en rouge les entrées nécessaires pour la créationd’une CA, et en bleu les commentaires relatives à ces entrées :
nate@example:~/sslca$ /usr/share/ssl/misc/CA -newcaCA certificate filename (or enter to create)(enter)Making CA certificate ...
Rimeh Salhi 69 A.U 2008-2009
Voix sur IP Implémentation d’une solution de sécurité
Using configuration from /usr/lib/ssl/openssl.cnfGenerating a 1024 bit RSA private keywriting new private key to './demoCA/private/./cakey.pem'Enter PEM pass phrase: rootroot C'est le mot de passe dontvous aurez besoin pour créer tous les autres certificats.Verifying password - Enter PEM pass phrase : rootroot (répétez le mot de passe)
You are about to be asked to enter information that will be incorporated into yourcertificate request.What you are about to enter is what is called a Distinguished Name or a DN.There are quite a few fields but you can leave some blankFor some fields there will be a default value,If you enter '.', the field will be left blank.
Country Name (2 letter code) [AU]: TN(enter) Écrivez votre code de paysici, TNpour TunisieState or Province Name (full name) [Some-State]: Gafsa(enter) Écrivez votreetat/province ici, par exemple GafsaLocality Name (eg, city) []:Gafsa(enter) Entrez le nom de votre ville iciOrganization Name (eg, company) [Pfe]:Pfe(enter) Écrivez votre nom de compagnie ici (ou laissez le blanc)Organizational Unit Name (eg, section) []:(enter) OU, comme vous voulez. Pournotre cas c’est vide.Common Name (eg, YOUR name) []:rimeh(enter) Le nom de votre CertificateAuthorityEmail Address []:[email protected](enter) Adresse Emailnate@example:~/sslca$Créons également un fichier crl, dont vous aurez besoin sur votre passerelle :nate@example:~/sslca$ openssl ca -gencrl -out crl.pem
Nous devons mettre à jour ce fichier CRL à chaque fois que nousrévoquerons un certificat. Maintenant nous avons notre propre CertificateAuthority que nous pouvons employer pour produire des certificats.Maintenant, nous devrons produire d'un certificat pour chaque machinequi établira une connexion IPSec. Ceci inclut la passerelle, et chacune denos machines clientes.
Ce paragraphe détaille comment créer un certificat, et le convertir enformat nécessaire àWindows.
b- Générer un certificat pour la passerelle :Encore une fois, nous emploierons le script CA.
Cette fois, au lieu de lui demander de créer un nouveau « CertificateAuthority », nous lui demandons de signer un certificat:
nate@example:~/sslca$ /usr/share/ssl/misc/CA -newreqUsing configuration from /usr/lib/ssl/openssl.cnfGenerating a 1024 bit RSA private keyWriting new private key to 'newreq.pem'Enter PEM pass phrase: rootroot Mot de passe pour chiffrerla nouvelle clef privée du certificatVerifying password - Enter PEM pass phrase: rootroot répétez le mot de passe
Rimeh Salhi 70 A.U 2008-2009
Voix sur IP Implémentation d’une solution de sécurité
You are about to be asked to enter information that will be incorporated into yourcertificate request.What you are about to enter is what is called a Distinguished Name or a DN.There are quite a few fields but you can leave some blank For some fields therewill be a default value, If you enter '.', the field will be left blank.
Country Name (2 letter code) [AU]:TN(enter)State or Province Name (full name) [Some-State]:Gfasa(enter)Locality Name (eg, city) []:Gafsa(enter)Organization Name (eg, company) [Internet Widgits Pty Ltd]:Pfe(enter)Organizational Unit Name (eg, section) []:(enter)Common Name (eg, YOUR name) []:rimeh(enter) Ceci peut être unhostname, unvrai nom, une adresse de E-mail, ou n’importe quoi d’autre.Email Address []:[email protected](enter) (facultatif)
Please enter the following 'extra' attributesto be sent with your certificate requestA challenge password []:rolexrolex(enter)An optional company name []:rolexrolex(enter)Request (and private key) is in newreq.pem
Ce que nous venons de faire est de générer une demande de certificatutilisé par IPsec. Pour notre usage, nous le signerons ce certificat avecnotre propre CA:
nate@example:~/sslca$ /usr/share/ssl/misc/CA -signUsing configuration from /usr/lib/ssl/openssl.cnfEnter PEM pass phrase: rootroot(mot de passe que vous avons entré en créant le
ca)
Check that the request matches the signatureSignature okThe Subjects Distinguished Name is as followscountryName :PRINTABLE:'TN'stateOrProvinceName :PRINTABLE:'Gafsa'localityName :PRINTABLE:'Gafsa'organizationName :PRINTABLE:'Pfe'commonName :PRINTABLE:'Rimeh'emailAddress :IA5STRING:'[email protected]'Certificate is to be certified until Juin 18 17:13:40 2009 GMT (30 days)Sign the certificate? [y/n]:y(enter)
1 out of 1 certificate requests certified, commit? [y/n]y(enter)Write out database with 1 new entriesData Base Updated(certificat élagué)Signed certificate is in newcert.pem
Ensuite, renommez les fichiers créés en noms qui auront plus de sens pournotre usage futur.
nate@example:~/sslca$ mv newcert.pem serveur.pfe.com.pemnate@example:~/sslca$ mv newreq.pem serveur.pfe.com.key
Rimeh Salhi 71 A.U 2008-2009
Voix sur IP Implémentation d’une solution de sécurité c- Création d’un certificat pour le client Greenbow Windows :
La création du certificat du client se fait exactement de la mêmemanière que pour la passerelle.Utilisez par contre client.pfe.com, au lieu de serveur.pfe.com dans laprocédure afin de distinguer les certificats.Il faut ensuite convertir ce certificat au format p12 reconnu par Windows.
openssl pkcs12 -export -in client.pfe.com.pem -inkeyclient.pfe.com.key -certfile demoCA/cacert.pem –out client.pfe.com.p12
d- Installation des certificats :Installez les fichiers à leur endroit respectifs (créez les dossiers de
destination s’ils n’existent pas)cp /var/sslca/serveur.pfe.com.key /etc/ipsec.d/privatecp /var/sslca/serveur.pfe.com.pem /etc/ipsec.d/certscp /var/sslca/client.pfe.com.key /etc/ipsec.d/privatecp /var/sslca/client.pfe.com.pem /etc/ipsec.d/certscp /var/sslca/demoCA/cacert.pem /etc/ipsec.d/cacertscp /var/sslca/crl.pem /etc/ipsec.d/crls/crl.pem
Une fois que nous avons créé le certificat p12 du client Windows, nousdevons le copier sur la machine cliente.
e- Configurer StrongOpenswan sur le serveur :
- Configuration du fichier ipsec.secrets :Ajoutez la ligne suivante au fichier /etc/ipsec.secrets :
: RSA serveur.example.com.key “rootroot” "password"Le mot de passe indiqué ici est le mot de passe utilisé lors de la création du
certificat SSL.
Voici le fichier ipsec.secrets résultant des tests :RSA {# RSA 2192 bits localhost.localdomain Tue Mai 19 17 :40 :25 2009# for signatures only, UNSAFE FOR ENCRYPTION}# La ligne que nous avons ajouté: RSA fw2.caplaser.net.key "rootroot"
- Configuration du fichier ipsec.conf :Voici notre fichier /etc/ipsec.conf
# basic configurationconfig setupinterfaces=%defaultroutenat_traversal=yesvirtual_private=%v4:10.0.0.0/8,%v4:172.16.0.0/12,%v4:192.168.0.0/16# Debug-logging controls :«none» for (almost) none,«all» for lots.Klipsdebug=noneplutodebug=none# crlcheckinterval=600
Rimeh Salhi 72 A.U 2008-2009
Voix sur IP Implémentation d’une solution de sécurité
# strictcrlpolicy=yesconn %defaultkeyingtries=1compress=yes
Rimeh Salhi 73 A.U 2008-2009
Voix sur IP Implémentation d’une solution de sécurité
disablearrivalcheck=noauthby=rsasigleftrsasigkey=%certrightrsasigkey=%cert# OE policy groups are disabled by defaultconn blockauto=ignoreconn clearauto=ignoreconn privateauto=ignoreconn private-or-clearauto=ignoreconn clear-or-privateauto=ignoreconn packetdefaultauto=ignore# Add connections here.
Conn roadwarrior-netleftsubnet=192.168.1.0/24also=roadwarriorconn roadwarriorleft=%defaultrouteleftcert=fw2.caplaser.net.pemright=%anyrightsubnet=vhost:%no,%privauto=addpfs=yes
f- Démarrer le service ipsec :Une fois configuré, on peut démarrer le service ipsec, avec la commande :
/etc/init.d/ipsec start
Les Logs de Strongswan se trouvent dans /var/log/secure.Ces derniers vous indiqueront si vous avez des problèmes deconfiguration.
g- autres configurations nécessaires
- Vérifiez que la valeur net.ipv4.ip_forward dans le fichier /etc/sysctl.conf soit bien à 1.Si ce n’est pas le cas, modifiez la et tapez la commande :
/etc/init.d/network restart
- Vérifiez également que le MASQUERADE est bien actif pour le trafic de votre réseaulocal sortant vers internet, sinon, tapez les commandes :
iptables –t nat –A POSTROUTING –o wan –j MASQUERADEiptables-save > /etc/sysconfig/iptables
Rimeh Salhi 74 A.U 2008-2009
Voix sur IP Implémentation d’une solution de sécurité
VI. Configuration du client VPN THE GREENBOW :
1- Créez les certificats nécessaires à partir du fichier p12 copié précédemment à partir duserveur et copiez les dans le dossier
2- Créez une nouvelle phase 1 en modifiant l’adresse 192.168.1.64 par l’adresse IP fixeInternet de votre serveur Linux :
Figure 5.5 : authentification d’un client VPN
3- Sélectionnez « Certificat » et importez les certificats que nous venons de créer avecl’utilitaire « certificate » comme indiqué dans le paragraphe précédent.
Rimeh Salhi 75 A.U 2008-2009
Voix sur IP Implémentation d’une solution de sécurité
4- Créez ensuite une phase 2 comme ceci :
Figure 5.6 : Configuration IPsec pour un client VPN
5- Une fois les paramètres sauvés, vous pouvez cliquer sur « Ouvrir le tunnel ». Cedernier devrait monter correctement.
6- Une fois connecté, toutes les communications entre le client et le serveur sontmaintenant cryptées. La figure suivante montre les activités du tunnel entre le client etle serveur.
Rimeh Salhi 76 A.U 2008-2009
Voix sur IP Implémentation d’une solution de sécurité
Figure 5.7 : communication entre client et serveur VPN
VII. Configuration d’un pare-feu pour le contrôle
d’accès
Pour la protection du notre serveur linux, et par la suite notre serveur
Asterisk, contre les accès non autorisés nous avons procédé à la
configuration de pare-feu de linux iptables. Pour cela nous avons utilisé
Webmin pour assurer cette configuration.
Les filtres que nous avons prévus sont les suivants :
1- Un filtre pour permettre une communication utilisant un tunnel entre le
réseau externe et notre réseau interne (ou se trouve le serveur
Asterisk). La figure suivante montre comment créer ce filtre en utilisant
Webmin :
Rimeh Salhi 77 A.U 2008-2009
Voix sur IP Implémentation d’une solution de sécurité
Figure 5.8 : ajout d’un filtre au pare-feu IPtables
2- Deux filtres pour assurer d’interroger le serveur DNS (si nous prévoyons
d’utiliser un). Le service DNS fonctionne en mode TCP et UDP sur le port
53.
3-Un filtre permettant d’accepter les paquets RTP sur les ports 1719 et
1720, le protocole RTP est le protocole utilisé au niveau transport pour les
communications VOIP.
4- Un filtre permettant d’accepter les paquets RSVP, le protocole RSVP est
aussi utilisé pour les communications VOIP.
5- Un filtre permettant d’accepter les paquets SIP sur le port 5060. Le port
5060 est le port utilisé dans le fichier de configuration sip.conf.
Rimeh Salhi 78 A.U 2008-2009
Voix sur IP Implémentation d’une solution de sécurité 6- Et enfin un filtre qui rejette toutes les autres types de communication.
Ce dernier filtre permet de définir notre politique par défaut : tout ce qui
n’est pas permis est rejeté.
Le résumé des filtres établis pour la protection de notre serveur sont
illustrés par la figure suivante :
Figure 5.9 : liste des filtres du pare-feu
VIII. Conclusion
L’utilisation des mécanismes VPN et filtrage, nous permet d’éliminer
plusieurs attaques qui peuvent altérer le bon fonctionnement de la
solution proposée. Néanmoins il reste plusieurs autres techniques
d’attaques qui ont pour cible non le serveur Asterisk, mais le serveur Linux
lui-même. Pour cela il vaut mieux utiliser un système de détection
d’intrusion tel que Snort pour détecter toutes les attaques possibles et
prévoir les solutions de sécurité nécessaires pour éliminer ces attaques.
Rimeh Salhi 79 A.U 2008-2009
Voix sur IP Conclusion et perspectives
Conclusion et perspectives
SYNTHÈSE DES RÉSULTATS
Durant notre projet de fin d’études, nous avons étudié et pratiqué de
prés toute une panoplie des outils d’administration et de sécurité tournant
sous une plateforme Linux visant à mettre en œuvre une solution VOIP.
Pendant la première phase d’étude théorique nous avons pu dégager les
protocoles, les technologies et les services nécessaires pour le bon
fonctionnement de la VOIP. Nous avons aussi étudié les critères de
performances de la VOIP, les attaques qui peuvent compromettre ces
performances et les solutions de sécurité nécessaires relatives à ces
attaques. L’importance de notre projet découle de la complexité de
concevoir et déployer une solution homogène et complète
d’administration et de sécurité sur des réseaux hétérogènes de cette
solution. La partie implémentation nous à été très bénéfique, puisque nous
avons été capable de maitriser des nouveaux protocoles, outils et
technologies d’administration et de sécurité de la VOIP : Webmin, Linux,
Asterisk, Softphone, NAT, VPN, IPsec et évaluation des performances. Tous
installés, configurés et testés sur la distribution Fedora.
LIMITATIONS
Néanmoins, notre réalisation nécessite plus de raffinement pour
satisfaire aux mieux les attentes des entreprises. Faute des moyens nous
n’avons pas arrivé à installer et configurer le serveur Asterisk pour
fonctionner avec des téléphones analogiques et des téléphones portables.
Rimeh Salhi 80 A.U 2008-2009
Voix sur IP Conclusion et perspectives
PERSPECTIVES
Plusieurs extensions sont possibles, pour rendre notre solution plus
efficace en termes de fonctionnalité et de sécurité.
En effet nous proposons l’utilisation d’un SDI tel que Snort pour détecter
les intrusions visant le serveur Linux et le serveur VOIP.
Il serait très intéressant aussi d’utiliser les mécanismes d’équilibrage de
charge et de restauration (Back-up) afin d’assurer la disponibilité et les
performances adéquates pour notre solution VOIP.
Rimeh Salhi 81 A.U 2008-2009
Voix sur IP Annexe A
Annexe A
Rimeh Salhi 82 A.U 2008-2009
Voix sur IP Annexe B
Annexe BZeretfger
Rimeh Salhi 83 A.U 2008-2009
Voix sur IP Bibliographie
Bibliographie
[1] www.reseaux-telecoms.net/flux-rss/toip-voip/page-1.html
[2] www.wikipedia.org
[3] www.voipfr.com
Rimeh Salhi 84 A.U 2008-2009