Mon Rapport
Mon Rapport
Mon Rapport
Travail demandé :
Ce travail a pour objectif de faire une étude des protocoles de VoIP et des
architectures proposées ; et la mise en œuvre d’une solution VoIP, basée
sur des outils open source, précisément le serveur Asterisk et le client «
X-Lite ».
Le serveur sur lequel l'installation sera faite aura un système d'exploitation
Linux (Ubuntu 14.04 LTS).
Plan élaboré :
Le plan que nous avons dressé se compose des démarches suivantes :
• L’installation de Ubuntu et configuration de Base (paquets).
• L’Installation du serveur Asterisk.
• Configuration d’Asterisk et création des comptes d’utilisateurs.
• Installation et configuration des SoftPhone et le serveur
• Recommandation de sécurité
PARTIE I :
INTRODUCTION
La Voix sur IP (en anglais, Voice over IP ou VoIP) est le nom d'une
nouvelle technologie de télécommunication vocale en pleine émergence
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.
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.
Figure 3: Communication de PC à PC
Le standard H.323 :
Fonctionnement de H.323 :
Les divers protocoles définissant le standard H.323 servent à établir de la
signalisation, négocier des codecs et transporter l'information. Nous allons
brièvement décrire l'intérêt de chacun :
La signalisation est la première étape réalisée lors d'un appel. L'appelant
émet une demande de mise en relation avec un destinataire. L'équipement
de ce dernier peut alors indiquer que la ligne est libre et que le téléphone
peut donc sonner ou au contraire que la ligne est en cours d'utilisation.
La négociation est le processus permettant de s'accorder mutuellement sur
la manière dont les informations échangées vont être codées. Il faut que
les équipements parlent le même langage pour se comprendre, à l'image
des protocoles qui définissent une "langue" de communication. Il est ainsi
décidé quel codec sera utilisé (meilleure qualité de son, meilleure
occupation de la bande passante). Le protocole H.245 traite cette
négociation de codecs.
Le protocole RTP (Real time Transport Protocol) est chargé de transporter
les données (la voix dans notre contexte) pour assurer une diffusion quasi
temps réel.
Les architectures H.323 peuvent bénéficier de diverses implémentations.
Nous allons voir l’architecture point à point, multipoint et Gatekeeper.
Architecture multipoints:
Dans cette architecture, un nouvel élément prend place: le multipoint
control unit ou MCU. Ce dispositif permet de gérer plusieurs
communications simultanées, très utiles pour les conférences téléphonies.
Il permet également d'assurer des services comme la diffusion d'une
tonalité.
Lors de la mise en service du système VoIP, le multipoint control unit
signale sa présence au gatekeeper et lui fournit un certains nombres
d'informations (nombre de clients simultanés possibles, les débits
possibles ainsi que l'identifiant H.323). Tout se passe ensuite comme dans
l'architecture gatekeeper. Les clients VoIP s'enregistrent auprès du
gatekeeper.
Cette architecture est la plus recommandée et s'accompagne très souvent
de passerelles vers le réseau RTC ou vers d'autres réseaux téléphoniques
privés. Le schéma ci-après représente une architecture multipoints
(Figure.9):
Définition :
Le protocole SIP (Session Initiation Protocol) est un protocole normalisé
et standardisé par l'IETF (décrit par le RFC 3261qui rend obsolète le RFC
2543, et complété par le RFC 3265) qui a été conçu pour établir, modifier
et terminer des sessions multimédia. Il se charge de l'authentification et de
la localisation des multiples participants. Il se charge également de la
négociation sur les types de média utilisables par les différents participants
en encapsulant des messages SDP (Session Description Protocol). SIP ne
transporte pas les données échangées durant la session comme la voix ou
la vidéo. SIP étant indépendant de la transmission des données, tout type
de données et de protocoles peut être utilisé pour cet échange. Cependant
le protocole RTP (Real-time Transport Protocol) assure le plus souvent les
sessions audio et vidéo. SIP remplace progressivement H323.
SIP est le standard ouvert de VoIP, interopérable, le plus étendu et vise à
devenir le standard des télécommunications multimédia (son, image, etc.).
Skype par exemple, qui utilise un format propriétaire, ne permet pas
l'interopérabilité avec un autre réseau de voix sur IP et ne fournit que des
passerelles payantes vers la téléphonie standard. SIP n'est donc pas
seulement destiné à la VoIP mais pour de nombreuses autres applications
telles que la visiophonie, la messagerie instantanée, la réalité virtuelle ou
même les jeux vidéo.
Fonctionnement :
SIP permet donc de mettre en place une communication. Pour cela avant
que la connexion soit établie, il se charge d’envoyer plusieurs paquets
entre les postes afin de définir le début et la fin de la conversation, son
type, et sa composante (type d’encodage utilisé pour l’audio). Ces requêtes
sont répertoriées sous divers codes:
SIP intervient aux différentes phases de l'appel :
➢ Localisation du terminal correspondant,
➢ Analyse du profil et des ressources du destinataire,
➢ Négociation du type de média (voix, vidéo, données...) et des
paramètres de communication,
➢ Disponibilité du correspondant, détermine si le poste appelé
souhaite communiquer, et autorise l'appelant à le contacter.
➢ Etablissement et suivi de l'appel, avertit les parties appelant et
appelé de la demande d'ouverture de session, gestion du transfert et
de la fermeture des appels.
➢ Gestion de fonctions évoluées : cryptage, retour d'erreurs.
Voici les différents éléments intervenant dans l'ouverture de session :
➢ Suivant nature des échanges, choix des protocoles les mieux
adaptés (Rsvp, Rtp, Rtcp, Sap, Sdp).
➢ Détermination du nombre de sessions, comme par exemple, pour
véhiculer de la vidéo, 2 sessions doivent être ouvertes (l'une pour
l’image et l'autre pour la vidéo).
➢ Chaque utilisateur et sa machine est identifié par une adresse que
l'on nomme Url SIP et qui se présente comme une Url Mail to.
➢ Requête Uri permettant de localiser le proxy server auquel est
rattachée la machine de l'appelé.
➢ Requête SIP, une fois le client (machine appelante) connecté à un
serveur SIP distant, il peut lui adresser une ou plusieurs requêtes
SIP et recevoir une ou plusieurs réponses de ce serveur. Les
réponses contiennent certains champs identiques à ceux des
requêtes, tels que : Call-ID, Cseq, To et From.
L’adressage SIP :
L’objectif de l’adressage est de localiser les utilisateurs dans un réseau.
C’est une des étapes indispensables pour permettre à un utilisateur d’en
joindre un autre. Pour localiser des utilisateurs, il faut pouvoir les
identifier de manière univoque. SIP propose des moyens très performants
pour nommer les utilisateurs, grâce au concept d’URI, classique sur
Internet.
Différence H.323/SIP:
SIP est un protocole jeune, contrairement à H.323 qui existe depuis un
certain temps, il propose plus d’option tout en restant plus léger et plus
facile d’utilisation.
Tableau 1 : Différence entre H323 et SIP
Résumé :
Indiscutablement le protocole H.323 possède une avance historique par
rapport au protocole SIP. Son interaction avec les réseaux téléphoniques
RTC est parfaitement maîtrisée, alors qu’elle n’est pas totalement spécifiée
avec le protocole SIP. Globalement, H.323 est plus riche en termes de
fonctionnalités que SIP.
Asterisk est un PABX logiciel libre, multi plateforme, publié sous licence
GPL. Asterisk permet, entre autres, la messagerie vocale, la conférence,
les serveurs vocaux, la distribution des appels.
Asterisk implémente les protocoles H.323 et SIP, ainsi qu'un protocole
spécifique nommé IAX. Il permet la communication entre client et
serveur Asterisk ainsi qu'entre deux serveurs.
Historique :
• Messagerie vocale ;
• Conférence téléphonique ;
• Répondeur vocal interactif ;
• Mise en attente d’appels ;
• Services d'identification de l'appelant ;
• VoIP ;
De la téléphonie à moindre coût :
Dans l'interconnexion avec les équipements de téléphonie numériques et
analogiques, Asterisk reconnaît une large gamme de dispositifs matériels,
et notamment ceux fabriqués par ses sponsors, tels que Digium ou encore
Quicknet.
Principales fonctions :
Les principales fonctions d’Asterisk sont :
✓ La commutation de PBX (PBX Switching Core) :
Système de commutation de central téléphonique privé, reliant ensemble
les appels entre divers utilisateurs et des tâches automatisées. Le noyau de
commutation relie d'une manière transparente des appels arrivant sur
diverses interfaces de matériel et de logiciel.
✓ Lanceur d’application (Application Launcher) :
Lance les applications qui assurent des services pour des usagers, tels que
la messagerie vocale, la lecture de messages et le listage de répertoires
(annuaires).
✓ Traducteur de code (Codec Translator) :
Utilise des modules de codec pour le codage et le décodage de divers
formats de compression audio utilisés dans l'industrie de la téléphonie. Un
certain nombre de codecs sont disponibles pour pallier aux divers besoins
et pour arriver au meilleur équilibre entre la qualité audio et l'utilisation de
la bande passante.
✓ Planificateur Manager d'I/O (Scheduler & I/O Manager) :
Ils traitent la planification des tâches de bas niveau et la gestion du
système pour une performance optimale dans toutes les conditions de
charge.
Les APIs : (Application Programming Interface)
L'abstraction matérielle et protocolaire passe par l'utilisation de 4 APIs
✓ Asterisk Application API :
Elle autorise différents modules de tâches à être lancé pour exécuter
diverses fonctions : communication, audioconférence, pagination, liste
d'annuaire, messagerie vocale, transmission de données intégrée, et
n'importe quelle autre tâche qu'un système PBX standard exécute
actuellement ou exécuterait dans l'avenir, sont mises en œuvre par ces
modules distincts.
✓ Asterisk Translator API :
Charge les modules de codec pour supporter divers formats de codage et
de décodage audio tels que le GSM, la Mu-Law, l'A-Law, et même le
MP3.
✓ Asterisk Channel API :
Cette API gère le type de raccordement sur lequel arrive un appelant, que
ce soit une connexion VoIP, un RNIS, un PRI, une signalisation de bit
dérobé, ou une autre technologie. Des modules dynamiques sont chargés
pour gérer les détails de la couche basse de ces connexions.
✓ Asterisk File Format API :
Elle permet la lecture et l'écriture de divers formats de fichiers pour le
stockage de données dans le file system.
Sa particularité modulaire permet à Asterisk d’intégrer de façon continue
le matériel de commutation téléphonique actuellement mise en œuvre, et
les technologies de Voix par paquet en constante augmentation, émergeant
aujourd'hui.
Fonctionnement évolué :
Asterisk ne permet pas seulement l’utilisation d'équipements traditionnels
de téléphonie, il augmente aussi en nombre leurs capacités.
En utilisant le protocole de voix sur IP Inter-Asterisk eXchange (IAX ou
inter central Asterisk), Asterisk mêle progressivement la voix et le trafic de
données à travers des réseaux disparates. Tant que l’on transporte de la
voix par paquets, il est possible d’envoyer des données telles que des
documents URL et des images, en conformité avec le trafic Voix,
permettant ainsi une intégration plus grande des informations
Architecture du réseau
La figure montre l’architecture adoptée au cours de la configuration de la
solution de VoIP basée sur Asterisk :
Matériels requis :
• Machine serveur : Sur laquelle installé un système d’exploitation
Linux Ubuntu 14.04 LTS et le serveur de VoIP, « Asterisk ».
• Deux ordinateur avec un logiciel VoIP : deux machines sur
laquelle on installe un système d’exploitation Windows et un client
X-Lite.
• Deux Android : Deux Smartphones sur lesquels nous avons
installé l’application Zoiper.
•
Installation
d’Asterisk On tape la
commande:
sudo apt-get install asterisk
Après l’installation on modifie ces paramètres pour que Asterisk démarre à
l’allumage de l’ordinateur
sudo vim /etc/default/asterisk
RUNASTERISK=yes RUNASTSAFE=no
Ensuite on installe les paquets français d’Asterisk ave la commande:
sudo apt-get install asterisk-prompt-fr
Commandes utiles :
Configuration d’Asterisk :
Pour configurer notre serveur Asterisk nous allons modifier les fichiers
suivants:
❖ Le fichier sip.conf : pour la configuration général d’Asterisk.
❖ Le fichier users.conf : pour la configuration des utilisateurs.
❖ Le fichier extensions.conf : pour la configuration du Dialplan.
❖ Le fichier voicemail.conf : pour la configuration de la boite vocale.
C’est fichiers se trouvent dans le dossier /etc/asterisk
[9011](template) fullname
= Clovis Peudem
username = Clovis
secret = secret
[9012](template) fullname
= Ralph Steve
username = Ralph
secret = secret
[9013](template) fullname
= Brise Brise
user = Brise
secret = secret
EXPLICATION
➢ [9011] : Numéro SIP.
➢ type=friend : type d’objet SIP, friend = utilisateur.
➢ host=dynamic : Vous pouvez vous connecter à ce compte SIP à
partir de n’importe quelle adresse IP
➢ dtmfmode=rfc2833 : type de rfc utilisé.
➢ disallow=all : Désactivation de tous les codecs. allow=ulaw :
Activation du codec ulaw.
➢ allow=gsm : Activation du codec gsm
➢ fullname = Clovis Peudem : Prénom et Nom de l’utilisateur (ce qui
sera afficher sur le téléphone lors d’un appel)
➢ username = Clovis : Nom d’utilisateur
➢ secret = secret : Mot de passe du compte SIP
➢ context = appels : Contexte (on verra ça dans le fichier
extensions.conf)
Dans ce fichier de configuration nous avons créé un template appelé
(template) et ce template est appelé pour la création des trois utilisateurs.
Ce qui réduit la création d’un utilisateur à quatre lignes au lieu de dix.
Une fois le fichier users.conf enregistré nous allons dans la console
Asterisk, tapez reload enfin puis on tape la commande Sip show users.
Les trois comptes d’utilisateurs que nous venons de créer, devrait y
apparaitre.
Nos utilisateurs sont créés, mais ils n’ont pas encore la possibilité de
s’appeler.
Nous allons maintenant éditer le fichier extensions.conf qui permet de
configurer le Dialplan.
[globals]
CONSOLE = Console/dsp ;console interface for demo
IAXINFO = guest ;IAXtel username/password
TRUNK = DAHDI/G2 ;Trunk interface
TRUNKMSD = 1 ;MSD digits to strip (usually 1 or 0)
[appels]
exten => _9XXX,1,Answer()
exten => _9XXX,2,Background(hello-world) exten =>
_9XXX,3,Playback(digits/1) exten =>
_9XXX,4,Dial(SIP/${EXTEN},20) exten =>
_9XXX,5,Voicemail(${EXTEN}@jokko) exten =>
_9XXX,6,Hangup()
------------Numéro de la boîte vocale ----------------------
------------------ exten => 900,1
Answer()
exten => 900,2,VoiceMailMain(${CALLERID(num)}@jokko)
Explication:
[appels] : est le contexte c’est une sorte de conteneur dans lequel les
utilisateurs faisant partis de ce contexte pourront communiquer entre eux.
Lors de la création de nos trois utilisateurs nous avons spécifié le contexte
appels.
exten => : déclare l’extension (on peut aussi simplement dire numéros) ;
_9XXX : Prend les extensions (ou numéros) de 9000 à 9999 ;
1 : Ordre de l’extension ;
Answer() : une application qui répond à un canal qui sonne. On l’utilise
très souvent comme première application pour extension ;
Playback() : une application qui joue un fichier sonore à destination de
l’interlocuteur ; elle est similaire à l’application background ;
Dial : application fondamentale qui fait sonner l’extension passée en
paramètre ;
SIP: Protocole qui va être utilisé ;
${EXTEN} : variable de l’extension composé, si on appelle le 9011 la
variable ${EXTEN} prendra comme valeur 9011 ;
20: temps d’attente avant de passer à l’étape suivante.
Donc la ligne exten => _9XXX,4,Dial(SIP/${EXTEN},20) se traduit par :
Quand un utilisateur appelle un autre utilisateur par exemple 9011 appelle
le numéro 9012 et si au bout de 20 secondes il n’y a pas de réponse on
passe à la ligne du dessous.
Dans le cas du numéro 9011 la ligne devient comme ceci :
exten => 9011,4,Dial(SIP/9011,20) , mais l’avantage de la ligne
précédente est qu’elle permet d’appeler les numéros de 9000 à 9999.
Clients :
Le client SIP (Softphone) est un programme logiciel qui offre des
fonctionnalités de téléphonie. Un softphone utilisera, comme un téléphone
matériel, les protocoles aux standards ouverts SIP et RTP pour
l’initialisation des appels et la transmission de la voix.
Tout appareil tel que :
• Ordinateurs (Windows, Mac, Linux)
• Tablettes (Android, iOS)
• Smartphones (Android, iOS) ; peut héberger des programmes de
type softphones, offrant ainsi de nombreuses options d’utilisation.
Tout ordinateur possédant un micro et des haut-parleurs (ou un
casque) peut être utilisé en tant que softphone. Les seuls prérequis
sont une connexion IP avec un opérateur VoIP ou un serveur SIP,
qui prend souvent la forme d’un IPBX.
X-Lite :
CHAPITRE II
DIFFERENTS RISQUES ET RECOMMANDATION
DE SECURISATION DE LA VoIP .
Principaux risques
Cette étape permet de déterminer les menaces et d’identifier les sources de
menaces. Une menace est une violation potentielle de la politique de
service à cause d’une attaque ou d’une action involontaire ou négligente
qui compromet la sécurité.
Les sources de menaces peuvent être classées en deux types : les attaques
internes et les attaques externes. Les attaques externes sont lancées par des
personnes autres que celle qui participe à l’appel, et ils se produisent
généralement quand les paquets VoIP traversent un réseau peu fiable et/ou
l’appel passe par un réseau tiers durant le transfert des paquets. Les
attaques internes s’effectuent directement du réseau local dans lequel se
trouve l’attaquant.
Les types d’attaques les plus fréquentes contre un système VoIP sont :
Sniffing
Le Sniffing ou reniflement de trafics constitue l’une des méthodes
couramment utilisées par les pirates informatiques pour espionner le trafic
sur le réseau. Un reniflement peut avoir comme conséquence un vol
d'identité et la révélation d'informations confidentielles. Les pirates
informatiques utilisent des sniffers réseau ou renifleurs de réseau pour
pouvoir surveiller le réseau et soustraire frauduleusement les différents
types de données confidentielles susceptibles de les intéresser. Il permet
également aux utilisateurs malveillants perfectionnés de rassembler des
informations sur les systèmes VoIP.
Suivie des appels
Appelé aussi Call tracking, cette attaque cible les terminaux (soft/hard
phone). Elle a pour but de connaître qui est en train de communiquer et
quelle est la période de la communication. L’attaquant doit récupérer les
messages INVITE et BYE en écoutant le réseau et peut ainsi savoir qui
communique, à quelle heure, et pendant combien de temps.
Pour réaliser cette attaque, L’attaquant doit être capable d’écouter le réseau
et récupérer les messages INVITE et BYE.
L’écoute clandestine
- Prérequis
Il faut réaliser préalablement une attaque de type MITM (Man In The
Middle) pour rediriger le trafic vers la machine de pirate.
Wireshark : C’est l’un des logiciels les plus utilisés pour ce qui est de la
surveillance, intrusion et capture dans les réseaux. Non seulement il peut
capturer et analyser des trames, mais aussi, dans le cas de conversations
téléphoniques, convertir ces trames en fichiers audio.
- Lancer Wireshark
Il suffit de taper dans le terminal de la machine pirate Wireshark ou
installer le logiciel Wireshark pour Windows.
Figure : Lancement d’outil WireShark sur la machine attaque
Maintenant, nous allons commencer la capture d'une partie du trafic. Pour
commencer de sniffer le trafic, lorsque le client 9011 appelle le client
9013.
Pour écouter le flux on clique sur Téléphonie puis sur Appels VoIP.
On clique sur l’appel puis sur Jouer Flux pour pouvoir écouter.
Les vulnérabilités de l’infrastructure
Une infrastructure VoIP est composée de téléphones IP, Gateway, serveurs.
Ces derniers tournant sur un système d'exploitation, sont accessibles via le
réseau comme n'importe quel ordinateur et comportent un processeur qui
exécute des logiciels qui peuvent être attaqués ou employés en tant que
points de lancement d’une attaque plus profonde.
Les téléphones IP
Un pirate peut compromettre un dispositif de téléphonie sur IP, par
exemple un téléphone IP, un softphone et autres programmes ou matériels
clients. Généralement, il obtient les privilèges qui lui permettent de
commander complètement la fonctionnalité du dispositif.
Compromettre un point final (téléphone IP) peut être fait à distance ou par
un accès physique au dispositif. Le pirate pourrait modifier les aspects
opérationnels d'un tel dispositif:
La pile du système d'exploitation peut être changée. Ainsi la présence de
l'attaquant ne sera pas remarquée.
Aussi un firmware modifié de manière malveillante peut être téléchargé et
installé. Les modifications faites à la configuration des logiciels de
téléphonie IP peuvent permettre:
• Aux appels entrants d'être réorientés vers un autre point final sans
que l'utilisateur soit au courant.
• Aux appels d’être surveillés.
• A l'information de la signalisation et/ou les paquets contenant de la
voix d’être routés vers un autre dispositif et également d’être
enregistrés et/ou modifiés.
De compromettre la disponibilité du point final. Par exemple, ce dernier
peut rejeter automatiquement toutes les requêtes d’appel, ou encore,
éliminer tout déclenchement de notification tel qu’un son, une notification
visuelle à l’arrivée d’un appel. Les appels peuvent également être
interrompus à l’improviste (quelques téléphones IP permettent ceci via une
interface web).
Toutes les informations concernant l'utilisateur qui sont stockées sur le
dispositif pourraient être extraites.
L’acquisition d'un accès non autorisé sur un dispositif de téléphonie IP
peut être le résultat d'un autre élément compromis sur le réseau IP, ou de
l'information récoltée sur le réseau.
Les softphones ne réagissent pas de la même façon aux attaques comparés
à leur homologues téléphones IP. Ils sont plus susceptibles aux attaques
dues au nombre de vecteurs inclus dans le système, à savoir les
vulnérabilités du système d'exploitation, les vulnérabilités de l’application,
les vulnérabilités du service, des vers, des virus, etc. En plus, le softphone
qui demeure sur le segment de données, est ainsi sensible aux attaques
lancées contre ce segment et pas simplement contre l’hôte qui héberge
l’application softphone.
Les téléphones IP exécutent quant à eux leurs propres systèmes
d’exploitation avec un nombre limité de services supportés et possèdent
donc moins de vulnérabilités.
Les serveurs
Un pirate peut viser les serveurs qui fournissent le réseau de téléphonie sur
IP.
Compromettre une telle entité mettra généralement en péril tout le réseau
de téléphonie dont le serveur fait partie.
Par exemple, si un serveur de signalisation est compromis, un attaquant
peut contrôler totalement l'information de signalisation pour différents
appels. Ces informations sont routées à travers le serveur compromis.
Avoir le contrôle de l'information de signalisation permet à un attaquant de
changer n'importe quel paramètre relatif à l’appel.
Si un serveur de téléphonie IP est installé sur un système d'exploitation, il
peut être une cible pour les virus, les vers, ou n’importe quel code
malveillant.
Eléments de sécurité
On a déjà vu que les vulnérabilités existent au niveau protocolaire,
application et systèmes d’exploitation. Pour cela, on a découpé la
sécurisation aussi en trois niveaux : Sécurisation protocolaire, sécurisation
de l’application et sécurisation du système d’exploitation.
Sécurisation protocolaire
Protocole TLS :
▪ Rôle
Encapsulation : Permet aux données SSL et TLS d'être transmises et
reconnues sous une forme homogène.
Confidentialité : Assure que le contenu du message ne peut pas être lu par
un tiers : les données sont chiffrées en utilisant les clés produites lors de la
négociation.
Intégrité et Identité : Permet de vérifier la validité des données
transmises, grâce aux signatures
MAC: cette signature est elle aussi générée à l'aide des clés produites lors
de la négociation.
▪ Processus d'encapsulation
Segmentation : Les données sont découpées en blocs de taille inférieure à
16 384 octets
Compression : Les données sont compressées en utilisant l'algorithme
choisi lors de la négociation. A partir de SSL 3.0, il n'y a plus de
compression.
Chiffrement: Le paquet obtenu est chiffré à l'aide de l'algorithme de
chiffrement. Le choix peut se faire entre RC2, RC4, DES avec une clef de
taille 40 bits ou de 64 bits, ou l'algorithme de Fortezza. Ce dernier
algorithme est un algorithme secret défense aux États Unis. Notons, qu'il
est possible de choisir des échanges en clair;
Algorithme de hachage utilisé, qui peut être soit le MD5, soit le SHA. Il
est possible de ne choisir aucun algorithme de hachage;
La négociation de cette suite de chiffrement se fait en clair pendant
l'établissement de la session.
▪ Réception des paquets
A la réception des paquets, le destinataire effectue les opérations suivantes
:
▪ Vérification de l'entête SSL
▪ Déchirage du paquet
▪ Vérification du champ HMAC (en appliquant la même fonction que
cidessus aux données déchiffrées puis en comparant le résultat au
HMAC reçu)
▪ Décompression des données
▪ Réassemblage des parties
Si au cours de ces vérifications ça se passe mal, une alarme est générée.
Secure RTP (SRTP)
SRTP est conçu pour sécuriser la multiplication à venir des échanges
multimédias sur les réseaux. Il couvre les lacunes de protocoles de sécurité
existants comme IPsec (IP Security), dont le mécanisme d'échanges de
clés est trop lourd. Il aussi est bâti sur le protocole temps réel RTP (Real
Time Transport Protocol). Il associe aussi une demidouzaine de protocoles
complémentaires. Il est donc compatible à la fois avec des protocoles
d'initiation de session de voix sur IP tel que SIP (Session Initiation
Protocol), ainsi que le protocole de diffusion de contenu multimédia en
temps réel RTSP (Real Time Streaming Protocol). Mais, surtout, il
s'adjoint les services du protocole de gestion de clé MIKEY (Multimedia
Internet KEYing).
Sécurisation de l’application
Plusieurs méthodes peuvent être appliquées pour sécuriser l'application,
ces méthodes varient selon le type d'application (serveur ou client). Pour
sécuriser le serveur il faut :
❖ L’utilisation d’une version stable, Il est bien connu que toute
application non stable contient surement des erreurs et des
vulnérabilités. Pour minimiser les risques, il est impératif d'utiliser
une version stable.
❖ Tester les mises à jour des softwares dans un laboratoire de test. Il
est très important de tester toute mise à jour de l'application dans un
laboratoire de test avant de les appliquer sur le système en
production
❖ Ne pas tester les correctifs sur le serveur lui-même:
❖ Ne pas utiliser la configuration par défaut qui sert juste à établir des
appels. Elle ne contient aucune protection contre les attaques.
❖ Ne pas installer une application client dans le serveur.
Certains paramètres doivent être appliqués de manière sélective. Ces
paramètres renforcent la sécurité de l’application, on peut les activer ou les
interdire sur la configuration générale de l’application, comme on peut
juste utiliser les paramètres nécessaires pour des clients bien déterminé et
selon le besoin bien sûr. Ces paramètres protègent généralement contre le
déni de service et ces différentes variantes. Il est conseiller d’utiliser les
paramètres qui utilise le hachage des mots de passe, et cela assure la
confidentialité.