Académique Documents
Professionnel Documents
Culture Documents
Rapport - TOIP PDF
Rapport - TOIP PDF
EtudeetmiseenuvreduservicepiloteToIPde
RENATER
Ralis:Groupementd'IntrtPublicRseauNationaldeTlcommunicationspourla
Technologie,l'EnseignementetlaRecherche
Ralispar
MrMohamedElMahdiBOUMEZZOUGH
Soutenule:4fvrier2009devantleJury:
Mme.R.ALASSALI
Mr.S.MUYAL
Mr.B.TUY
Mr.N.IDBOUFKER
Mr.L.GOUJDAMI
ProfesseurlENSAdeMarrakech(Prsidente)
IngnieurquipeSIPA(servicesIPAvancsetprospective)(Encadrant)
ResponsabledelquipeSIPA(Encadrant)
ProfesseurlENSAdeMarrakech(Encadrant)
ProfesseurlENSAdeMarrakech(Examinateur)
Anne2008/2009
ENSA-Marrakech 2008/2009
Remerciements
JetiensaussiremerciervivementledirecteurduGIPRENATER,M.DanyVandromme
quiaacceptdemaccueillirenstageauseindesonorganisme.
JevoudrairemerciergalementtoutlepersonnelduGIPRENATERpoursagentillesseet
sonsoutiennotammentMmeEmilieCamisard.
MesprofondsremerciementsvontmonencadrantlENSAM.NoureddineIDBOUFKER
quiaacceptdencadrermestravauxdurantces4moisdestage.
Mesplusvifsremerciementssadressentaussitoutlecadreprofessoraletadministratif
delENSAdeMarrakech.
Mes remerciements vont enfin toute personne qui a contribu de prs ou de loin
llaborationdecetravail.
ENSA-Marrakech 2008/2009
) ( IP
. .
.
.
.SIP
. .
:
-
4
.
: SIP
ENSA-Marrakech 2008/2009
Rsum
LatlphoniesurIP(ToIP)estunetechnologiequis'imposeprogressivementdanstous
lessecteurs,elleconsistefairetransiterlescommunicationstlphoniquesparlerseau
IP. Aujourdhui, cette technologie est de plus en plus dploye au sein des universits et
laboratoires de recherche connects au Rseau National de tlcommunications pour la
Technologie lEnseignement et la Recherche (RENATER) qui est le rseau acadmique
franais.
Afin dinterconnecter les systmes de tlphonie mis en place par les tablissements
connects, RENATER, une maquette exprimentale d'interconnexion des sites a t
dploye.Cettemaquettereposesurunserveurderoutagedappelintersitequiutilisele
protocoleSIP(SessionInitiationProtocol).Cestdanscecontextequejairalismonstage
defindtudes.
Aprs ltude du fonctionnement de cette maquette et un inventaire de ltat de lart
dansledomainedelaToIP,ladeuximephaseconsistelamiseenplacedunservicepilote
deroutagedappelspourlacommunautRENATER.
Lesobjectifsdemonprojetdefintudetaient:
Motscls:ToIP,SIP,supervision,comptabilisationdappels,scurit
ENSA-Marrakech 2008/2009
Abstract
The telephony over IP (ToIP) is becoming a new trend in technology widely used
nowadays in almost all business sectors. Its concepts rely on transiting the telephone
communications through the IP network. Today, this technology is implemented inside a
number of universities and research laboratories connected to the National
telecommunications Network for Technology, Education and Research (RENATER) which is
theFrenchacademicnetwork.
Inordertointerconnectthetelephonesystemsalreadyinstalledintheseacademicsites,
anexperimentaltestbedhasbeensuccessfullyimplemented.Thistestbedisbasedonacall
routingserverusingSIPprotocol.
Aftercheckingthistestbedfunctionsandpreparingastateoftheartonitstechnologies,
asecondstepconsistedtoimplementaphonecallroutingpilotserviceforthe(RENATER)
community.Basedonthiscontext,Iachievedmyinternshipgraduation.
Themainobjectivesofmyinternshipwere:
tostudypossibleevolutionsofthecurrenttestbedtodeploythepilotservice
tostudyandimplementasolutionformonitoringthecurrentpilotservice
tostudyandimplementacallingaccountingsystem
Securingthepilotservice
This report is the result of 4 months of the work I achieved inside the SIPA team (IP
advancedservicesandprospective)ofGIPRENATER.
Keywords:ToIP,SIP,supervision,accounting,security.
ENSA-Marrakech 2008/2009
Tabledesmatires
Remerciements .......................................................................................................................... 2
........................................................................................................................................... 3
Rsum....................................................................................................................................... 4
Abstract ...................................................................................................................................... 5
Tabledesmatires ..................................................................................................................... 6
ListedesFigures ......................................................................................................................... 8
ListedesTableaux ...................................................................................................................... 9
GlossairedesAcronymes ......................................................................................................... 10
CHAPITREI:Contextedetravail .............................................................................................. 14
Introduction........................................................................................................................ 14
1. GIPRENATER ................................................................................................................ 14
2. RseauRENATER .......................................................................................................... 15
3. EquipeSIPA................................................................................................................... 17
4. Prsentationdustage .................................................................................................. 17
4.1 CadreetObjectifsdustage .......................................................................................... 17
4.2 Planificationduprojetdestage ................................................................................... 18
Conclusion .......................................................................................................................... 18
CHAPITREII:EtatdelartdesprotocolesassocislaToIP ................................................... 20
Introduction........................................................................................................................ 20
1. ProtocoleslislaToIP................................................................................................ 20
2.1 Signalisation ................................................................................................................. 21
2.1.1 SIP(SessionInitiationProtocol) ........................................................................... 22
2.2 Transport ...................................................................................................................... 26
2. StandardENUM............................................................................................................ 27
3. ProblmatiqueToIPaveclesNATetlesparefeux ...................................................... 28
3.1 ProblmedeNAT ......................................................................................................... 29
3.2 Problmedeparefeux................................................................................................. 29
3.3 SolutionsdetraversesdesNATetdesparefeux ...................................................... 31
3.3.1 Passerelledelacoucheapplication(ALG) ........................................................... 32
3.3.2 STUN ..................................................................................................................... 32
3.3.3 TURN..................................................................................................................... 33
3.3.4 ICE......................................................................................................................... 33
3.3.5 Rsumdessolutions........................................................................................... 34
4. ToIPetlascuritdescommunicationsvoix ............................................................... 34
4.1 VulnrabilitsdelaToIP............................................................................................... 35
4.2 ExemplesdattaquessurlinfrastructureToIP............................................................. 35
4.3 SolutionsdescuritdelaToIP ................................................................................... 36
5. LaToIPetIPv6 .............................................................................................................. 36
Conclusion .......................................................................................................................... 37
ENSA-Marrakech 2008/2009
CHAPITREIII:DesignetingnierieToIP................................................................................... 39
Introduction........................................................................................................................ 39
A. Prsentationdelexistant ............................................................................................ 39
1. DescriptiondelamaquetteToIPdeRENATER............................................................. 39
1.1 Architecturedelamaquette ........................................................................................ 39
1.2 Principedefonctionnement ........................................................................................ 40
2. Prsentationd'OpenSER .............................................................................................. 42
B. Travaileffectu............................................................................................................. 43
1. volutionsdelaplateformederoutaged'appelsOpenSER ....................................... 43
1.1 Objectifs ....................................................................................................................... 43
1.2 Etude ............................................................................................................................ 43
1.3 Evolutions ..................................................................................................................... 44
2. Miseenplaced'unesolutiondesupervision............................................................... 44
2.1 Objectifs ....................................................................................................................... 44
2.2 Etude ............................................................................................................................ 44
2.3 SolutionNagios............................................................................................................. 45
3. MiseenplacedunesolutiondeComptabilisationdappels ....................................... 48
3.1 Objectifs ....................................................................................................................... 48
3.2 Etude ............................................................................................................................ 48
3.3 Miseenplace ............................................................................................................... 48
3.4 Dveloppementd'uneinterfaceweb .......................................................................... 51
3. ScurisationdupiloteToIP........................................................................................... 53
4. Gestiondel'accessibilitdessites ............................................................................... 54
5. Testsdevalidation........................................................................................................ 55
Conclusion .......................................................................................................................... 56
Conclusiongnrale ................................................................................................................. 57
Rfrencesbibliographiques.................................................................................................... 58
ANNEXES................................................................................................................................... 59
ENSA-Marrakech 2008/2009
ListedesFigures
Figure1:organigrammeRENATER .......................................................................................... 15
Figure2:architecturedurseauRENATER ............................................................................. 16
Figure3:servicesRENATER ..................................................................................................... 16
Figure4:domainesdecomptencedelquipeSIPA............................................................. 17
Figure5:planningdedroulementdustage .......................................................................... 18
Figure6:pileSIP ..................................................................................................................... 22
Figure7:architectureSIP ........................................................................................................ 23
Figure8:exempledunecommunicationSIP.......................................................................... 26
Figure9:principedefonctionnementdENUM ...................................................................... 27
Figure10:exempledutilisationdENUM ............................................................................... 28
Figure11:problmedeNATavecSIP ..................................................................................... 29
Figure12:problmedufirewallaveclaToIP.......................................................................... 30
Figure13:messageINVITE ...................................................................................................... 31
Figure14:message200OK ..................................................................................................... 31
Figure15:techniquedelapasserelledapplication................................................................ 32
Figure16:principedefonctionnementduprotocoleSTUN................................................... 33
Figure17:principedefonctionnementduprotocoleTURN................................................... 33
Figure18:maquetteexprimentaleToIPdeRENATER .......................................................... 40
Figure19:principedefonctionnementdelamaquette......................................................... 41
Figure20:principedefonctionnementduserveurOpenSER................................................. 41
Figure21:composantesdOpenSER ....................................................................................... 42
Figure22:architecturedebasedeNagios.............................................................................. 45
Figure23:interfacedeltatdesservicessuperviss............................................................. 46
Figure24:interfacedutempsderponseduservicePing..................................................... 47
Figure25:interfacedeltatduserviceSIPdeserveurKamailiodansle temps.................... 47
Figure26:architecturedelasolutionmiseenplacepourlasupervision .............................. 47
Figure27:principedefonctionnementdeFreeRADIUSavecKamailio.................................. 49
Figure28:principedefonctionnementdemoduleACCavecMySQL .................................... 50
Figure29:organigrammedelasolutiondecomptabilisationdappels.................................. 50
Figure30:architecturedelasolutiondecomptabilisationdesappels .................................. 51
Figure31:lapagedaccueildelapplication ........................................................................... 52
Figure32:ecrandesdtailsdesappels................................................................................... 52
Figure33:ecrandenombredesappelsparjour .................................................................... 52
Figure34:ecranderecherchersurlesappels ........................................................................ 53
Figure35:organigrammedelasolutiondescurisationduservicepilote ........................... 54
ENSA-Marrakech 2008/2009
ListedesTableaux
Tableau1:comparatifdunormeSIPetH323 ......................................................................... 21
Tableau2:rsumdessolutionsdetraverseslesNATetlesparefeux............................... 34
Tableau3:rsumdesrsultatsdecomparaisonentreKamailioetOpenSIPS ..................... 43
Tableau4:lesrsultatsdestestsdelagestiondesmessagesderreur ................................. 55
Tableau5:lesrsultatsdestestsdevalidation ...................................................................... 55
ENSA-Marrakech 2008/2009
GlossairedesAcronymes
ALG
ApplicationLayerGateway
CDR
CGI
CRIHAN
CallDetailRecord
CommonGatewayInterface
CentredeRessourcesInformatiquesdeHauteNormandie
DNS
DoS
DomainNameSystem
DenialofService
ENUM
tElephoneNUmberMapping
GNU
GPL
GNUisnotUnix
GeneralPublicLicence
HTTP
HyperTextTransferProtocol
ICE
IETF
INRIA
IP
IPBX
IPsec
IPv6
InteractiveConnectivityEstablishment
InternetEngineeringTaskForce
InstitutNationaldeRechercheenInformatiqueetenAutomatique
InternetProtocol
InternetProtocolPrivateBrancheXchange
InternetProtocolSecurity
InternetProtocolversion6
L2VPN
Layer2VirtualPrivateNetworks
MGCP
MediaGatewayControlProtocol
ENSA-Marrakech 2008/2009
10
NAT
NetworkAddressTranslation
PHP
PNP
PHP:HypertextPreprocessor
PNPisNOTPerfparse
RADIUS
RFC
RTC
RTCP
RTP
RemoteAuthenticationDialInUserService
RequestForComment
Rseautlphoniquecommut
RealTimeControlProtocol
RealTimetransportProtocol
SCCP
SDP
SER
SIP
SIPS
SRTP
SSH
STUN
SkinnyClientControlProtocol
SessionDescriptionProtocol
SIPExpressRouter
SessionInitiationProtocol
SessionInitiationProtocolSecure
SecureRealtimeTransportProtocol
SecureShell
SimpleTraversalofUDPTroughNAT
ToIP
TURN
TelephonyoverInternetProtocol
TraversalUsingRelayNAT
UAC
UAS
UDP
UITT
UserAgentClient
UserAgentServer
UserDatagramProtocol
UnionInternationaledesTlcommunicationsnormalisationdes
Tlcommunications
VLAN
VoIP
VirtualLocalAreaNetwork
VoiceoverInternetProtocol
ENSA-Marrakech 2008/2009
11
Introductiongnrale
LatlphoniesurIPconstitueactuellementunedesplusimportantesvolutionsdansle
domainedesTlcommunications.Ilyaquelquesannes,latransmissiondelavoixsurle
rseau tlphonique classique ou RTC constituait lexclusivit des tlcommunications.
Aujourdhui,ladonneachang.LatransmissiondelavoixvialesrseauxIPconstitueune
nouvellevolutionmajeurecomparablelaprcdente.Audeldelanouveauttechnique,
la possibilit de fusion des rseaux IP et tlphoniques entrane non seulement une
diminutiondelalogistiquencessairelagestiondesdeuxrseaux,maisaussiunebaisse
importante des cots de communication ainsi que la possibilit de mise en place de
nouveauxservicesutilisantsimultanmentlavoixetlesdonnes.
Letravailprsentdanscerapportentredanslecadredemonprojetdefindtudesen
cycle dingnieur, option Gnie Rseaux et Systmes, lEcole Nationale des Sciences
Appliques de Marrakech. Je lai effectu au groupement d'Intrt public RENATER (GIP
RENATER)Paris.LesujettaitlamiseenuvreduservicepiloteToIPdeRENATER.
Aulongdecerapport,jevaisrsumermonstageen4chapitresprincipaux.
Le 2me chapitre donnera un aperu global sur les protocoles associs la tlphonie
surIP.
Jefiniraicerapportparuneconclusiongnraleetdesperspectives.
ENSA-Marrakech 2008/2009
12
ENSA-Marrakech 2008/2009
13
CHAPITREI:Contextedetravail
Introduction
1. GIPRENATER
GIP (groupement d'Intrt public) est un organisme but non lucratif, runissant des
administrationsdel'Etatetdesorganismespublicspouruneactivitdfinie:danslecasdu
GIPRENATERils'agitdurseauRENATER.
LeGIPRENATERestlematred'ouvragedelapartiecommunedeRENATER,constitue
de son pine dorsale RENATER, des liaisons internationales, de ses actions pilotes, et du
serviceSFINX,quiestunGIX(GlobalInterneteXchange),pointd'changedetraficInternet
entre prestataires de services Internet, ou oprateurs de tlcommunications qui veulent
changerdutraficIP,sanstransitetsanspasserpardesinfrastructuresinternationales.
ENSA-Marrakech 2008/2009
14
Figure1:organigrammeRENATER
2. RseauRENATER
RENATER a t cr dans les annes 1990 dans le but de fdrer et dorganiser les
infrastructuresdetlcommunicationspourlEducation,laRechercheetlEnseignement[1].
Aujourdhui plus de 1000 tablissements ayant une activit dans les domaines de la
Recherche, la Technologie et lEnseignement sont raccords RENATER. Ce rseau leur
permet de communiquer entre eux, daccder aux centres de recherche et aux
tablissementsdenseignementdumondeentieretlInternet[1].
Le rseau RENATER est constitu dune infrastructure nationale reliant des points de
prsenceenrgionetdanslesDOMTOMainsiquedesliaisonsinternationales,etunnud
dchangeentreprestatairesdeserviceInternetappelSFINX(ServiceforFrenchInternet
eXchange).
ENSA-Marrakech 2008/2009
15
LafigurecidessousdcritlarchitectureglobaledurseauRENATER:
Figure2:architecturedurseauRENATER
RENATERproposesescommunautsunlargeventaildeservices[1]:
Figure3:servicesRENATER
ENSA-Marrakech 2008/2009
16
3. EquipeSIPA
GIPRENATERcomprenduncertainnombredquipe,SIPAenfaitpartie.LquipeSIPA
(ServicesIPAvancsetprospective)aunemissiondeveilletechnologique.Sadmarcheest
avant tout exprimentale pour valider les nouveaux protocoles et leurs usages dans des
applicationsouservicesmergents.
Figure4:domainesdecomptencedelquipeSIPA
4. Prsentationdustage
4.1 CadreetObjectifsdustage
La tlphonie sur IP (ToIP) est un service qui est de plus en plus dploy au sein des
universits et laboratoires de recherche connects au rseau RENATER. Une maquette
exprimentale reliant quelques sites a t mise en place. Cette maquette repose sur le
protocoleSIPetlerouteurdappelsSIPOpenSER.Lamaquettepermetlinterconnexiondes
IPBXdessitesetleroutagedappelsintersite.AuseindelquipeSIPA,lobjectifprincipal
du stagetait la mise en place dun service pilote de ToIP en se basant sur la maquette
exprimentaleexistante.
Lapremirepartiedustageconsistetudierlesvolutionspossiblesdecettemaquette
pour la mise en place dun service pilote de routage dappels au profit des usagers de
RENATER,ladeuximepartiedustageconcerneltudeetlamiseenplacedunesolution
desupervisionduservicederoutagedappels,latroisimepartiedustageconcerneltude
etlamiseenplacedunesolutiondecomptabilisationdesappels,etlaquatrimepartiedu
stageconsistelascurisationdurouteurdappels.
ENSA-Marrakech 2008/2009
17
4.2 Planificationduprojetdestage
Laplanificationestparmilesphasesdavantprojetlesplusimportantes.Elleconsiste
dterminer et ordonnancer les tches du projet et estimer leurs charges respectives.
Parmilesoutilsdeplanificationdeprojet,jaiutilislediagrammedeGANTT,cestunoutil
qui permet de planifier le projet et de rendre plus simple le suivi de son avancement. Ce
diagramme permet aussi de visualiser lenchainement et la dure des diffrentes tches
durantlestagecommeilestillustrparlafigurequisuit:
Figure5:planningdedroulementdustage
Conclusion
ENSA-Marrakech 2008/2009
18
ENSA-Marrakech 2008/2009
19
CHAPITREII:EtatdelartdesprotocolesToIP
Introduction
LatlphoniesurIPestunetechnologiedecommunicationvocaleenpleinemergence.
Ellefaitpartied'untournantdanslemondedelacommunication.Eneffet,laconvergence
du triple play (voix, donnes et vido) fait partie des enjeux principaux des acteurs de la
tlcommunicationaujourd'hui.
CechapitreestconsacrltudedesprotocolesassocislatlphoniesurIP.Cette
tudevamepermettreparlasuitedemenerbienleprojet.Pourcela,jecommencetout
dabordparprsenterlesprincipauxprotocolesdesignalisationetdetransportdelaToIPet
leprotocoleENUMdontlusageestencoreincertainauseindesoprateursdeToIP.Jetraite
ensuitelesproblmespossparlesNATetlesparefeuxdansunearchitecturedeToIPetles
exemples de solutions pour rsoudre ces problmes. Je prsente ensuite les vulnrabilits
spcifiqueslaToIPetlesmcanismesdescurit.Jetermineenprsentantltatdelart
dudploiementduprotocoleIPv6danslaToIP.
1. ProtocoleslislaToIP
La tlphonie sur IP ou ToIP (Telephony over IP) est un service de tlphonie qui
transportelesfluxvoixdescommunicationstlphoniquessurunrseauIP.Aladiffrence
delaVoIPolonnefaitqutablirunecommunicationvoix,laToIPintgrelensemble
desservicesassocislatlphonie:doubleappel,messagerie,renvoiedappel,FAX,etc.
Afin de rendre possibles les communications ToIP, les solutions proposes dopent la
coucheIPpardesmcanismessupplmentairesncessairespourapporterlaQOSncessaire
aufluxvoixdetypestempsrel,enplusdelintelligencencessairelexcutiondeservices.
Aceteffet,ilexistedeuxtypesdeprotocolesprincipauxutilissdanslaToIP:
Protocolesdesignalisation
Protocolesdetransport
ENSA-Marrakech 2008/2009
20
2.1 Signalisation
PlusieursnormesetprotocolesonttdveloppspourlasignalisationToIP,quelques
uns sont propritaires et dautres sont des standards. Ainsi, les principales propositions
disponiblespourl'tablissementdeconnexionsenToIPsont:
SIP (Session Initiation Protocol) qui est un standard IETF (Internet Engineering Task
Force)dcritdansleRFC3261.
H323englobeunensembledeprotocolesdecommunicationdveloppsparlUITT
(Union Internationale des Tlcommunications secteur de la normalisation des
Tlcommunications).
MGCP(MediaGatewayControlProtocol)standardisparlIETF(RFC3435).
SCCP(SkinnyClientControlProtocol)estunprotocolepropritaireCISCO.
AujourdhuileplusrpandudentreeuxestleSIP,ceprotocoleestlargementdployet
utilisauseindeRENATER.LetableauquisuitdresseunlgercomparatifentrelanormeSIP
etH323.
Nombredchangespour
tablirlaconnexion
SIP
35Allerretour
H323
67Allerretour
Simple(textecomme
HTTP)
Ouvertdenouvelles
fonctions
Oui
Complexe
Maintenanceduprotocole
Evolution
Multicast
Ajoutdextensions
propritaires
Oui
Tableau1:comparatifdunormeSIPetH323
ENSA-Marrakech 2008/2009
21
2.1.1 SIP(SessionInitiationProtocol)
Introduction
Architectureprotocolaire
SIP est un protocole indpendant des couches de transport, il appartient aux couches
applications du modle OSI. Le SIP gre la signalisation et ltablissement des sessions
interactivesdecommunicationmultimdiasetmultipartites.Ilestaussibassurleconcept
Client / Serveur pour le contrle dappels et des services multimdias. Conu selon un
modledetypeIP,ilesthautementextensibleetassezsimpleenconceptionarchitecturale,
desortequilpeutservirdebaselacrationdapplicationsetdeservices.Ilestbassurle
protocoleHTTPetpeututiliserUDPouTCP[8].
Figure6:pileSIP
ArchitectureduneplateformeSIP
SIPestunprotocolesimpleetflexibleorientmessages.Lesprincipauxcomposantsdun
systmebassurSIPsont:
ENSA-Marrakech 2008/2009
22
TerminalSIP(UserAgentClientouUAC):PeuttreaussibienunSoftPhone(logiciel)
quunHardPhone(tlphoneIP).LesUACsontcapablesdmettreetderecevoirde
lasignalisationSIP.
ProxyServer:encoreappelserveurmandataireauquelestreliunterminalfixeou
mobile,agitcommeserveurenversleclientetcommeclientenverslesautresUAS.
RedirectServer:Ceserveurpermetderedirigerlesappelsverslapositioncourante
dun utilisateur. Il ralise simplement une association dadresses vers une ou
plusieursnouvellesadresses.
Figure7:architectureSIP
StructuredesmessagesSIP
LesmessagesSIPsontcaractrissparunelignededbut,plusieursenttesetlecorps
dumessage[8].
LesenttesdesmessagesSIP
Lesenttesontpourrledefournirdesinformationssurlemessageetdepermettrele
traitementdumessage.Aceteffet,leprotocoleSIPestdotduncertainnombredentte
dont la structure dpend de la nature et du rle de chaque entte. La structure gnrale
dun entte est articule autour de plusieurs champs et chaque champ obit un format
gnral:nom_du_champ:valeur_du_champ.Lestypesdentteutilissparlesmessagesdu
protocoleSIPsontaunombredequatre:
ENSA-Marrakech 2008/2009
23
; Lenttegnral
Ilesttoujoursprsentetcontientlesinformationsdebasepermettantletraitementdu
message.
Iladeschampsobligatoiressuivants:
Via : il identifie lentit de relais. En effet, chaque entit qui met ou relaye un
messageSIPinsresonidentitafindeprvenirlesbouclesetindiquerlecheminde
rponse.
From:ilidentifielinitiateurdelarequte.
To:ilidentifieledestinatairedelarequte.
CallId:cestlidentificateuruniquedelasession.
Cseq:ilidentifielasquencedunappel:parexempleplusieursmessagesinvite
avecdeCseqdiffrents.
; Lenttederequte
Cet entte est non toujours utilis. Il contient des informations supplmentaires
destinationduserveurSIPpermettantletraitementdelarequteparceluici.
; Lenttederponse
Cet entte est non toujours utilis tout comme lentte de requte. Il contient des
informations supplmentaires ajoutes par le serveur SIP permettant le traitement de la
rponse.
; Lenttedentit
Cet entte est toujours utilis. Son rle est de dfinir le type et le format des
informationscontenuesdanslesmessages.
Lecorpsdumessage
; AdressesdedestinationSIP://UserX@ensa.ac.ma.
; AlgorithmesdecodageAudioetVido.
; TypedetraficRTP.
ENSA-Marrakech 2008/2009
24
RequtesetRponsesSIP
SIPestunprotocoledetypeclientserveur.Aceteffet,leschangesentreunterminal
appelantetunterminalappelsefontparlintermdiairederequtesetrponseSIP.
VoiciunelisteexhaustivedesrequtesSIP:
ACK: Cetterequte permet de confirmer que le terminal appelant a bien reu une
rponsedfinitiveunerequteINVITE.
BYE:Cetterequteestutiliseparleterminaldelappelpoursignalerquilsouhaite
mettreuntermelasession.
CANCELCetterequteestenvoyeparunterminalouunserveurmandataireafin
dannulerunerequtenonvalideparunerponsefinale.
REGISTERCettemthodeestutiliseparleclientpourenregistrerladresseliste
danslechampTOparleserveurauquelilestreli.
OPTIONSUnserveurmandataireenmesuredecontacterleterminalappel,doit
rpondre une requte OPTIONS en prcisant ses capacits contacter le mme
terminal.
Acesrequtessontassociesdesrponsesquisontdanslemmeformatquecellesdu
protocoleHTTP.Voicilesplusimportantesdentreelles:
1XXmessagesdinformations(100essai,180sonnerie,183encours)
2XXsuccsdelarequte(200OK)
3XXRedirectiondelappel,lademandedoittredirigeailleurs
4XXErreurduclient(Larequtecontientunesyntaxeerrone)
5XXErreurduserveur(leserveurnapasrussitraiterunerequtecorrecte)
6XXEchecgnral(606requtenonacceptableparaucunserveur)
Fonctionnement
SIPintervientauxdiffrentesphasesdelappel:
Localisationduterminaldelinterlocuteur.
ENSA-Marrakech 2008/2009
25
Analyseduprofiletdesressourcesdudestinataire.
Gestiondefonctionsvolues:retourderreurs,
LeschmasuivantillustrelescnariodunecommunicationSIP.
Figure8:exempledunecommunicationSIP
2.2 Transport
LorsdunecommunicationToIP,unefoislaphasedesignalisationralise,laphasede
communicationestinitie.Danscettephase,unprotocoledetransportpermetdacheminer
les donnes voix entre plusieurs utilisateurs vu que la couche TCP propose un transport
fiablemaislent,etlacoucheUDPuntransportrapidemaisnonfiable.LacommunautIETF
amisenplaceunnouveaucoupledeprotocoleRTP(RealTimetransportProtocol)etRTCP
ENSA-Marrakech 2008/2009
26
(RealTimeControlProtocol)pourapporterlafiabilitlUDPtoutenexploitantsarapidit.
RTPetRTCPsontlesdeuxprotocolesquisont principalementutilisspourletransportde
flux mdia sur le rseau IP. RTP permet de transporter les donnes entre plusieurs
utilisateursenplusdelagestiontempsrelledessessions.Tandisque,RTCPestutilispour
transmettrergulirementdespaquetsdecontrle,quicontiennentdiversesstatistiques,ce
quipermetdevrifierlaqualitdetransmission.
2. StandardENUM
ENUM (tElephone NUmber Mapping) est un protocole dfini par lIETF dans le RFC
3761[11]permettant d'utiliser un numro de tlphone (E.1641) comme cl de recherche
dansleDNSpourtrouverlamaniredejoindreunepersonne(parexemple:ndetlphone
mobile, n de fax, adresse de tlphonie IP, adresse email, adresse de messagerie
instantane,etc.)
LeprincipedENUMreposesurlacrationdunnomdedomaineInternetpourchaque
numrodetlphoneduplandenumrotationinternationalE.164.Lescoordonnesqueles
utilisateurs souhaitent publier pour leur propre numro de tlphone sont ensuite
"stockes"danslesystmedesnomsdedomaineInternet(DNS)etainsirenduesaccessibles
demanireglobalepourtous.
VoiciunschmaexpliquantleprincipedefonctionnementdENUM:
Figure9:principedefonctionnementdENUM
E.164 est le nom de la norme de lUIT qui standardise les numros de tlphone au niveau mondial.
ENSA-Marrakech 2008/2009
27
LavantagedENUMseraitdejoindreunepersonneavecunseulnumrosurdiffrents
services de communication aussi travers ENUM une personne peut trs bien spcifier
lordredeprfrencedesservicesetdesterminauxutiliser.
LafigurecidessousprsenteunexempledutilisationdENUM.
Figure10:exempledutilisationdENUM
3. ProblmatiqueToIPaveclesNATetlesparefeux
DansunearchitectureToIP,lesNATetlesparefeuxreprsententunproblmepourles
flux de signalisation et mdia. Lobjectif de ce paragraphe est de comprendre cette
problmatique et de prsenter des exemples de solutions existantes pour rsoudre ce
problme.
NAPTR record ou Name Authority Pointer record qui donne accs des rgles de rcriture de l'information,
permettant des correspondances entre un nom de domaine et une ressource. Il est spcifi dans la RFC 3403.
ENSA-Marrakech 2008/2009
28
3.1 ProblmedeNAT
Le mcanisme NAT (Network Address Translation) est dfini dans le RFC 1631[12]. Le
NAT permet de faire correspondre les adresses IP internes souvent non routables d'un
domaine un ensemble d'adresses routables. Avec la ToIP, ce mcanisme reprsente un
problmepourletransitdesfluxmultimdia.
VoiciunschmaexpliquantleproblmedeNATaveclaToIP:
Figure11:problmedeNATavecSIP
Dans cet exemple, Mohamed ne pourra tablir de communication avec Anas tant
donn que lIPBX narrive pas relayer les rponses SIP de Anas. En effet, lors de la
traduction d'adresse effectue par le routeur NAT, seuls l'adresse et le numro de port
contenusdansl'enttedupaquetIPsontmodifis.L'adresseetlenumrodeportcontenus
danslecorpsdelarequteINVITEdumessageSIPnesontpasmodifis.Horscetteadresse
estnonroutable.
3.2 Problmedeparefeux
Unparefeu(firewall)estunquipementpermettantdassurerlascuritdunsiteen
filtrantletraficnondsir,ilpermetdefiltrerlespaquetsvenantdurseaupublic.
ENSA-Marrakech 2008/2009
29
SIP, par son fonctionnement interne qui permet la localisation des utilisateurs au sein
d'unrseauetlangociationdesparamtresdelasession(codecs,portRTP,etc.),posedes
problmespourlesfluxmultimdiasquitraversentlesfirewalls.Eneffet,dansl'architecture
deSIP,plusieursinformationscritiquestellesquel'adresseIPainsiqueleportutilisersont
contenuesdanslesmessagesSIP.
Laproblmatiqueengendreparl'utilisationdeSIPautraversdesparefeuxvientdufait
queceuxcisontgnralementdploysenutilisantdespolitiquesdefiltragequirejettent
touslespaquetsquineproviennentpasouquinesontpasdestinsuneadresseIPetun
portdfinis.Cespolitiques,quisontgnralementstatiques,nepermettentpaslatraverse
d'unfluxdedonnesdesprotocolescommeSIPquipeutngocierdesadressesIPetdes
numrosduportinconnusparleparefeulorsdeltablissementdesession.
Afin de bien comprendre la problmatique engendre par les parefeux pour les flux
multimdias, voici le schma dun scnario d'tablissement de session et comment le
firewallbloquelecontenumultimdia.
Figure12:problmedufirewallaveclaToIP
Commeonpeutleconstater,l'adresseainsiqueleportutiliserlorsdel'ouverturedela
sessionaudiosontcontenusdanslecorpsdesmessagesINVITEetOK.Cesdeuxinformations
servent l'tablissement du flux audio entre Mohamed et Anas. Dans notre exemple,
ENSA-Marrakech 2008/2009
30
MohamedetAnasutilisentrespectivementlesports3456et5004.Parconsquent,comme
le firewall a des rgles de filtrage strictes et statiques, le contenu multimdia dAnas sera
donctoutsimplementbloquparlefirewall.
Figure13:messageINVITE
Figure14:message200OK
3.3 SolutionsdetraversesdesNATetdesparefeux
AfindefairefaceauxproblmesqueposentlesparefeuxetlesNAT,plusieurssolutions
onttproposesnotammentALG,STUN,TURNetICE.
ENSA-Marrakech 2008/2009
31
3.3.1 Passerelledelacoucheapplication(ALG)
Latechniquedelapasserelleapplicativeconsisterendreintelligentslesparefeux
etlesrouteursNATafinqu'ilssoientenmesured'interprterunprotocolespcifique.Plutt
que de vrifier uniquement lentte du paquet traiter, les passerelles ralisent une
inspectioncompltedesdonnesdanslecorpsdupaquet.Lespasserellesagissentdoncen
tantquerelaisspcialisspourunprotocoleprcis(SIPparexemple).
Figure15:techniquedelapasserelledapplication
(source:http://www.newportnetworks.com/whitepapers/nattraversal4.html)
Leparefeux/routeurNATvadonclirelecontenucompletdupaquetpuisvamodifierles
adresses IP et ports inscrits dans le paquet afin de pouvoir transmettre le paquet dans le
rseaupublic.Suitecela,leparefeux/routeurNATouvriraunportdaccsafinquela
communicationpuisseavoircorrectement.
3.3.2 STUN
STUN(SimpleTraversalofUDPThroughNetworkAddressTranslators)estunprotocole
nonc dans le RFC 3489 [13] et dvelopp par le groupe de travail de MIDCOM. Cette
technique se distingue des techniques des passerelles de la couche application par son
indpendancefaceauxprotocolesdecommunication.
STUNpermetdetraverserlesrouteursNATenaffectantuneadresseIPetunnumrode
portpublicunpostesitudanslerseauprivpoureffectuerunecommunicationdetype
UDP avec un rseau public. Pour ce faire, une srie de requtes un serveur STUN est
effectueetlesrponsesduserveurserventcaractriserladresseIPetlenumrodeport
d'unpostecommuniquer.
ENSA-Marrakech 2008/2009
32
Combinant STUN des protocoles tel que SIP, plusieurs problmes relis aux routeurs
NAT peuvent tre solutionns. Seul le cas o des routeurs NAT de type symtrique3 sont
utilissnepeuttretraitenutilisantcettetechnique.
LafiguresuivantedcritleprincipedefonctionnementduprotocoleSTUN.
Figure16:principedefonctionnementduprotocoleSTUN
3.3.3 TURN
CeprotocolepermetdesclientsquisontdansdesrseauxutilisantdesrouteursNAT
d'effectuerdesconnexionsentreeuxenpassantparunserveurderelais.
Figure17:principedefonctionnementduprotocoleTURN
3.3.4 ICE
Un NAT symtrique est celui dans lequel la translation dadresse est calcule en fonction de ladresse IP et port
de la source et de celui du destinataire
ENSA-Marrakech 2008/2009
33
3.3.5 Rsumdessolutions
Letableauquisuitrsumelesprincipes,avantagesetinconvnientsdessolutions
prsentes:
solution
ALG
STUN
TURN
ICE
principe
FirewalletrouteurNAT
intelligentscapablesde
travaillerauniveau7
Avantages
Techniquesimple
Inconvnients
Tempsdelatence
importantsdusau
traitementcomplet
etindividueldes
paquets.
Dterminelecouple
Protocole
ilnefonctionnepas
(adresses,ports)publics
standardis.
aveclesNATs
quondoitutiliserdansle
Peudinfrastructure symtriques
paquetSIPpourobtenirune :seul1serveurdoit
rponse
tredploypour
effectuerles
requtes.
BassurSTUNpour
Techniquesimple
Modificationdes
lchangedecls
programmes
LeserveurTURNsertde
ncessairepourquils
relaisentrelmetteuretle
puissent
rcepteur
intgrerTURN
intgreSTUNetTURNau
Traversetoustypes
Temps
seindesclientsSIPpour
deNAT
dtablissementdun
dterminertoutesles
appellong.
connexionspossiblesentre
Modificationdes
deuxpostes.
serveursetclients
pourledploiement.
Tableau2:rsumdessolutionsdetraverseslesNATetlesparefeux
4. ToIPetlascuritdescommunicationsvoix
La tlphonie sur IP, malgr ses trs nombreux avantages, notamment financiers,
comportedesrisquesmajeursentermesdescuritdescommunicationsvoix.
ENSA-Marrakech 2008/2009
34
4.1 VulnrabilitsdelaToIP
UnappeltlphoniqueToIPsedcomposeendeuxphases:lasignalisationquipermet
dtablirlappel,etlaphasedetransportdesfluxdemediasquitransportentlavoix.
Au cours de la phase de signalisation, les messages SIP cods en mode texte sont
transmis de faon non chiffre dans le rseau, ce qui permet un pirate dcouter
facilementlesmessagesSIPetdaccderauxinformationsdetransportdesfluxmdia.
Enoutredurantletransportdesfluxvoix,leprotocoleRTPprsentegalementplusieurs
vulnrabilits dues labsence dauthentification et de chiffrement. Par voie de
consquence,plusieursattaquesToIPpeuventavoirlieu.
4.2 ExemplesdattaquessurlinfrastructureToIP
Il existe de nombreuses attaques possibles sur le rseau ToIP dont les plus rpandues,
sont:
Dtournementdutrafic:lattaquantredirigesonprofitletraficToIP.Ellesebase
surlenvoidunmessagederedirectionindiquantquelappelsestdplacetdonne
sapropreadressecommeadressederenvoie,decettefaontouslesappelsdestins
alutilisateursonttransfrsalattaquant[17].
Usurpationdidentit:Cetypedattaqueconsisteusurperlidentitdelexpditeur
dumessageSIPenmodifiantlidentitdelexpditeurdunmessage[17].
Volsdeservices:lepiratepeutemprunterlidentitdunutilisateuretlutiliserpour
fairepasserdesappelssurlerseauToIPsansavoirpayerlefournisseurdeservice
[17].
ENSA-Marrakech 2008/2009
35
4.3 SolutionsdescuritdelaToIP
LesmcanismesdescuritpropossdansunearchitectureToIPsont:
LascuritdelinfrastructureIP:Cestlepremierniveaudescurit,carlascurit
de linfrastructure ToIP est lie la scurit du rseau IP. Un exemple est la
sparationlogiquedesrseauxDataetVoixpardesVLANs.
Lechiffrement:cestunmoyenefficacedeprotgerlesdonnes.Plusieurssolutions
peuvent tre utilises : le chiffrement des flux de signalisation avec SIPS, le
chiffrementdesfluxvoixavecSRTP,dessolutionspropritaires.
5. LaToIPetIPv6
IPv6 est le protocole Internet de nouvelle gnration conu par l'IETF. Il permet
principalement de disposer dun plus grand nombre d'adresses pour chaque lment du
rseau. Il offre galement une plus grande facilit de configuration et amliore les
mcanismes de gestion de la mobilit IP. Il intgre nativement la scurit, les classes de
serviceetladiffusionmulticast.
36
Conclusion
La tlphonie sur IP est une technologie qui utilise les rseaux informatiques comme
supportdecommunication.LessolutionsToIPsontdeplusenplusbasessurdesstandards
ouverts.BeaucoupdecessolutionsutilisentSIPcommeprotocoledesignalisationToIP.Les
principauxprotocolesutilisspourletransportdelavoixsont:RTPetRTCP.Etpourgarantir
la compatibilit entre la ToIP et le rseau tlphonique classique, lIETF a travaill sur le
standardENUM.
LedploiementdelatechnologieToIPdanslesrseauxactuelsaprovoqulapparition
desnouvellesproblmatiquesnotammentauniveaudesdispositifsdescurittelsqueles
parefeuetlesrouteursNAT,ainsiquelesvulnrabilitsdeToIPentermedescurit.Les
problmesdeNATetdeparefeuxonttsolutionnsenutilisantplusieurstechniquesqui
sontrsumesdansletableau2,tandisquedenombreuxmcanismesdescuritontt
prsentsnotammentlascuritdelinfrastructureIP,lauthentification,etlechiffrement.
Dans le chapitre qui suit, je vais prsenter la maquette exprimentale ToIP qui est la
plateformedetravailquejaiutiliseinitialementpendantmonstage.Parlasuite,jevais
prsenterletravaileffectupendantlestage.
ENSA-Marrakech 2008/2009
37
ENSA-Marrakech 2008/2009
38
CHAPITREIII:DesignetingnierieToIP
Introduction
Dansleschapitresquisuivent,Nouscommenceronstoutdabordparvoirunaperusur
lamaquetteexprimentaleToIPdeRENATER,nouspoursuivonsensuiteparlaprsentation
desralisationspendantnotreprojetdefintudes.
A. Prsentationdelexistant
1. DescriptiondelamaquetteToIPdeRENATER
1.1 Architecturedelamaquette
Les IPBXs (Mitel, Cisco, Alcatel, Asterisk, etc.) mis en place aux niveaux des sites
universitaires et les centres de recherche pour offrir le service de ToIP leurs
usagers.
UnrouteurdappelIPquiestbassurlerouteurSIPOpenSER.Sonrleestdassurer
linterconnexiondesditsIPBXs,etleroutagedappelsintersite.
Cettemaquettepermet:
39
LafiguresuivanteillustrelarchitecturedelamaquetteexprimentaleToIPdeRENATER
avecdesexemplesdessitesraccordslamaquette[16]:
Figure18:maquetteexprimentaleToIPdeRENATER
1.2 Principedefonctionnement
Le site souhaitant profiter du service ToIP afin d'acheminer ses appels destination
d'autressitesayantdroitRENATER,n'aurabesoindeparamtrersonIPBXqu'uneseulefois.
Aumoinsdeuxroutesdevrontexister:
UnerouteversRENATER
Unerouteversl'oprateur
LeserveurderoutagedappelsOpenSERassurelamiseenrelationentrelesdiffrents
IPBXdessitesconnectslamaquette.
L'utilisateurcomposelenumrodesoncorrespondant.Silenumron'estpasjoignable
en IP, le serveur OpenSER renvoie un message SIP, qui permet l'IPBX du site origine de
basculerlappelsurlaroutesuivante,leplussouventsonaccsRTC(RseauTlphonique
Commut). L'intrt principal de cette maquette est que le site n'aura pas besoin de
ENSA-Marrakech 2008/2009
40
connaitrelesroutespourjoindrelensembledesIPBXdelacommunautRENATERetnaura
doncpasmaintenirjourunetablederoutesverslessites.
Leschmasuivantdcritleprincipedefonctionnementdelamaquette.
Figure19:principedefonctionnementdelamaquette
LorganigrammesuivantmontreleprincipedefonctionnementdOpenSER.
Figure20:principedefonctionnementduserveurOpenSER
ENSA-Marrakech 2008/2009
41
2. Prsentationd'OpenSER
LerouteurdappelOpenSERconstituellmentcentraldelamaquette.Chaquerequte
SIP INVITE d'tablissement de communication mise par un IPBX est traite par le proxy
OpenSER.
OpenSER est un logiciel libre, Il est une version hrite de SER (SIP Express Router), le
code(enlicenceGPL)deSERatreprisparungroupededveloppeursduprojetlafinde
l'anne2005pourconstituerunnouveaulogiciel.
OpenSERprendenchargelesfonctions:
Proxyserver:ilassurelesfonctionsderelayagedesrequtesetrponsesSIPentre
deuxUsersAgents.
Registrar server: il gre les requtes REGISTERenvoyes par les Users Agents pour
signalerleuremplacementcourant.
Location server: il permet de fournir les dtails demplacement courant dun
utilisateur.
Redirectserver:ilredirigelesUsersAgentsversunautreProxyserver.
Application server: il fournit des services avancs pour les utilisateurs tels que
servicedeprsence,messagerieinstantane,etc.
VoicicidessouslescomposantesdOpenSER:
Figure21:composantesdOpenSER
ENSA-Marrakech 2008/2009
42
B. Travaileffectu
1. volutionsdelaplateformederoutaged'appelsOpenSER
1.1 Objectifs
Lobjectifestdinstallerunnouveaurouteurdappelspourleservicepiloteensebasant
surlestravauxeffectusjusquprsentsurlamaquetteexprimentaledeRENATER.
1.2 Etude
Dans cette tude, jai trouv que des versions plus rcentes que la version installe
dOpenSER sont disponibles. Ces nouvelles versions contiennent des amliorations des
fonctionnalits,etdescorrectionsdebugs.JaidcouvertqueleprojetOpenSERachang
sonnomenKamailio[2]etquunnouveauprojetappelOpenSIPS[3]atlancsurla
base dOpenSER. J'ai donc t amen faire une comparaison des deux projets. La
comparaison propose est base sur les fonctionnalits, la taille de la communaut
travaillantcetteversion,etladynamiquedechaqueprojet.
Voiciuntableauquirsumelesrsultatsdelacomparaisoneffectuele20septembre
2008.
Critre
Kamailio
OpenSIPS
rsultatsderechercheGoogle
Kamailio+SIP
25400
OpenSIPS+SIP
16600
Derniremisejourdusite
20081002
20080901
Nombredadministrateurduprojet
Nombrededveloppeurs
27
16
Licencedutilisation
GPL
GPL
Laversionstable
Kamailiov1.4.1
OpenSIPS1.4.2
Laversionencoursdedveloppement
Kamailiov1.5.0
Mailinglists
oui
Oui
Nombredemodules(fonctionnalits)
86
86
Communaut
active
Moinsactive
Tableau3:rsumdesrsultatsdecomparaisonentreKamailioetOpenSIPS
A la lecture des rsultats de cette comparaison, notre choix sest port sur le projet
Kamailio dans un premier temps. Cependant, nous suivons de prs lvolution du projet
OpenSIPS.
ENSA-Marrakech 2008/2009
43
1.3 Evolutions
Laprincipalevolutionestlamiseenplacedunservicepilotederoutagedappelsbas
sur Kamailio pour la communaut RENATER, la version installe est Kamailio 1.4.1 (cf.
ANNEXE1).
Lamaquetteexprimentaleresteraenplaceafindepermettredesnouveauxsitesde
faire des tests avant de se connecter au pilote. Elle permettra galement de valider des
nouveauxservicesavantdelesmettreenproductionsurlepilote(IPv6,redondance,etc.).
La migration des sites raccords la maquette vers le service pilote se fait aprs la
validationdufonctionnementdelaToIPdusitesurlamaquetteexprimentale.
Desamliorationsontaussitintroduitesdanslefichierdeconfigurationparrapport
la configuration dOpenSER existante dans la maquette exprimentale notamment la prise
enchargelesmessagesSIPOPTIONS.
2. Miseenplaced'unesolutiondesupervision
2.1 Objectifs
Lobjectifprincipaltaitdeproposerunesolutiondesupervisionquipermettede:
2.2 Etude
La plupart des solutions de supervision de ToIP qui existent sont des solutions
commerciales.Parmileslogicielslibrespermettantdesuperviserlesservicesvoix,Monit[6]
permet de surveiller des services locaux installs sur une machine Linux/Unix. On peut
utilisercetoutilpoursuperviserlerouteurSIP(Kamailio)deRENATERetlessitesdistantsqui
utilisentdeslogicielsIPBX(Kamailio,OpenSIPS,Asterisk..),maiscettesolutionnepermetpas
desuperviserlessitesdistantsquiutilisentdesIPBXmatrielscomme(MITEL,CISCO)et
nerpondpastousnosbesoins.
ENSA-Marrakech 2008/2009
44
UneautresolutionestdutiliserloutilSIPpquipermetdegnrerdesappelsSIPavecun
UAC4 et un UAS5 en ligne de commande en exploitant le rapport dappels labor par cet
outil.Cettesolutiontaittroplimiteparrapportl'ampleurdenosbesoinscardautres
outils sont ncessaires pour vrifier ltat des liens et pour gnrer des graphiques.
Cependant,loutilSIPppourratreutilepourtesterlesperformancesdescommunications
entredeuxsites.
LaderniresolutiontudieestlelogicieldesupervisionNagios[4],quisemblerpondre
trsbiennosbesoinsgrcesamodularitetlesgreffonsdisponiblespourSIP.Lechoix
s'estdoncportnaturellementsurNagios.
2.3 SolutionNagios
Nagiosestunlogiciellibredesupervisionderseau.IlestdisponiblesousLicenceGNU
GPL, il permet de savoir tout moment le statut des htes et des services spcifis par
l'administrateurrseau.Ilsechargegalementdel'envoid'alertessuiteunepanneouun
dysfonctionnementdurseau.
Nagioss'appuiesurunmoteurcritenCchargdel'ordonnancementdesvrifications,
ainsiquelesactionsraliserlorsdeladtectiondunincident.Lesvrificationssontfaites
laidedesgreffons(plugins)quipermettentauxutilisateursdedvelopperfacilementleurs
propresvrificationsdesservices.Lesgreffonspeuventtredveloppsdansnimportequel
langagedeprogrammation(C,shell,perl,).Letoutestcontrlabletraversunepageweb
enCGIetaccessiblevian'importequelserveurHTTPcommeApache.
Voiciunschmadtaillantl'architecturedebasedeNagios:
Figure22:architecturedebasedeNagios
4
5
Il initie la session
Il rpond aux requtes
ENSA-Marrakech 2008/2009
45
Linstallation de Nagios est ralise sur la distribution Debian Etch avec la commande
aptgetdeLinux,quipermetdercuprerlesfichiersdeNagiosetdeprocderfacilement
linstallationetlaconfigurationdecedernier.LaversioninstalleestNagios3.0.6.Nous
avons aussi besoin dinstaller les plugins Nagios qui sont utiliss pour la supervision. La
versioninstalleestnagiosplugins1.4.13.
PoursuperviserlesperformancesdelamachineKamailio,jaiutilislepluginNRPEqui
permetd'excuterdespluginsdistancesurlamachineKamailiopuisd'envoyerlesrsultats
Nagios(cf.ANNEXE2).
PoursurveillerleservicederoutagedesappelssurlerouteurSIP(Kamailio)deRENATER
etlesIPBXdessitesdistants,jaiutilisleplugincheck_sipquinestpasfournienstandard
aveclespluginsdeNagios.
Pourtracerdesgraphiquespourlesdiffrentsservicessuperviss,jaiinstalllemodule
PNP (l'acronyme de PNP est PNP is NOT Perfparse). Ce module permet de rcuprer les
donnesrelativesauxperformancesdusystmeinterrogetd'injectercesvaleursdansdes
bases rrdtool. Il est possible ainsi de gnrer des graphiques personnaliss intgrs
linterfaceweb.
JaiconfigurNagiospourquilavertisseladministrateurdupiloteToIPparemailencas
deproblme.
EnfinjaimisenplacelestyleNuvolapouramliorerl'interfacegraphiqueNagiosetla
rendreplusagrable.
Les figures cidessous prsentent une vue densemble des interfaces de la solution
Nagiosmiseenplace:
Figure23:interfacedeltatdesservicessuperviss
ENSA-Marrakech 2008/2009
46
Figure24:interfacedutempsderponseduservicePing
Figure25:interfacedeltatduserviceSIPdeserveurKamailiodansle temps
Durant la mise en place de toutes ces solutions, jai rencontr plusieurs problmes de
configurationcausedumanquededocumentation.Unproblmeestposparlemodule
PNPlorsdelaffichagedesgraphiquesduserviceSIP.Eneffet,PNPutilisedesmodlespour
gnrer les graphiques. Le modle (template) du service SIP nest pas dfini, jai donc d
crirenotrepropremodle.
Figure26:architecturedelasolutionmiseenplacepourlasupervision
ENSA-Marrakech 2008/2009
47
3. MiseenplacedunesolutiondeComptabilisationdappels
3.1 Objectifs
Lobjet de cette partie de mon stage est dtudier et mettre en place une solution de
comptabilisationdappelsquipermettede:
EtablirdesstatistiquessurlesappelstraitsparleserveurKamailiodeRENATER.
Suivrecesstatistiquesdansletemps.
Agrgerlesstatistiquesparsitepouravoirunsuiviprcisdelusageduservicepour
chaquesite.
3.2 Etude
Aprsavoireffectuplusieursrecherchessurlessolutionsdecomptabilisationdappels
existantesquipeuventrpondrenosbesoins,jaitrouvquiilyadenombreusessolutions
qui sont soit commercialises, soit trop complexes pour nos besoins. Notre tude est
consacretroissolutions.
Lapremireestdutiliserlesdonnesdufichierlogduserveurkamailio,cependantcette
solutionnepermetpasdavoirunniveaudedtailssuffisantsurlappel.
Une deuxime solution consiste utiliser le module ACC6 avec une base de donnes
MySQL.Linconvnientdecettesolutionestlagnrationdunenregistrementdanslabase
dedonnespourchaquerequteSIPreueparleserveurKamailio[7].
Une troisime solution tudie est dutiliser le module ACC avec un serveur RADIUS.
Cest cettedernire solution qui a t adopte. En effet, elle va permettre davoir un seul
enregistrementpourtoutelasessionSIP.
3.3 Miseenplace
RADIUS est un protocole qui intgre les notions dAAA (Authorization, Authentication
and Accounting). La dernire version du protocole RADIUS est normalise par l'IETF dans
deuxRFC:RFC2865(RADIUSauthentication)etRFC2866(RADIUSaccounting).
6
ACC est un module de Kamailio qui permet denregistrer les transactions SIP dans diffrentes bases de donns
ENSA-Marrakech 2008/2009
48
NousavonschoisiFreeRADIUS[5]commeserveurRADIUSpourlafonctiondaccounting.
Leprincipedecettefonctionsebasesurdeuxtypesdepaquetsprincipaux:AccountingStart
etAccountingStop.Unesessionestdfinieparl'intervalleentreunStartetunStop.
FreeRADIUSestunlogiciellibre,ilsagitdundesserveursRADIUSlesplusmodulaireset
riches en fonctionnalits. Les dtails de linstallation et la configuration sont expliqus en
annexe3decerapport.
Danscettesolution,leserveurKamailiovamettreunpaquetAccountingStartavecun
identificateur de session au serveur FreeRADIUS lors de la rception dun message SIP
INVITE.QuandleserveurKamailioreoitlemessageSIPBYEdelammesession,ilenvoie
unpaquetAccountingStopaveclemmeidentificateurdesession.LeserveurfreeRADIUSva
envoyeralorsunseulenregistrementlabasededonnesMySQLquicontientladureet
touslesparamtresdelasession.
Voiciunschmadcrivantleprincipedefonctionnementdecettesolution:
Figure27:principedefonctionnementdeFreeRADIUSavecKamailio
Lorsdestestseffectuspourvalidercettesolution,nousavonstrouvqueFreeRADIUS
nepermetpasdegnrerlesCDRpourlesappelschous,cequiestnormal,tantdonn
que le message SIP BYE nest pas reu par Kamailio. Les sessions nayant pas reues de
messageSIPBYEsontcomptabilisesdansunfichierlogFreeRADIUS.J'aidonctamen
mettreenplacelasolutiondumoduleACCavecMySQLpourcomptabiliserjustelesappels
chousdanslabasededonnes(cf.ANNEXE4).
ENSA-Marrakech 2008/2009
49
VoiciunschmaillustrantleprincipedefonctionnementdelasolutionmoduleACCavec
MySQL:
Figure28:principedefonctionnementdemoduleACCavecMySQL
Lasolutiondecomptabilisationdappelssecomposededeuxbriquesfonctionnelles:
1. ModuleACCavecFreeRADIUS
2. ModuleACCavecMySQL
Lorganigrammequisuitrsumelessentieldecequiaprcd.
Figure29:organigrammedelasolutiondecomptabilisationdappels
ENSA-Marrakech 2008/2009
50
Lafigurecidessousillustrelarchitecturedelasolutiondecomptabilisationdappels:
Figure30:architecturedelasolutiondecomptabilisationdesappels
3.4 Dveloppementd'uneinterfaceweb
Pour afficher les informations des appels stockes dans la base de donnes par
FreeRADIUS,jaidveloppuneinterfacewebenPHPquipermet:
Afficherlenombredesappelseffectusparchaquesite(figure24)
Afficherlesdtailsdesappels(figure25)
Affichersousformedegrapheslenombreetladuredesappelseffectusparmois
etparanne(figure26)
Effectuer des recherches sur les appels selon des critres(le site appelant, le site
appel,ladatedappel)(figure27)
ENSA-Marrakech 2008/2009
51
Voicilesprincipauxcransdelapplicationwebdveloppes:
Figure31:lapagedaccueildelapplication
Figure32:ecrandesdtailsdesappels
Figure33:ecrandenombredesappelsparjour
ENSA-Marrakech 2008/2009
52
Figure34:ecranderecherchersurlesappels
3. ScurisationdupiloteToIP
Tout systme accessible via IP est une cible potentielle pour l'ensemble des menaces
pesantsurlesrseauxIP.AfindelimiterlesaccsetscuriserleserveurpiloteToIP,jaimis
enplacesolutiondescuritbasesurloutilIPtables.Desfiltresonttconfigurssurle
routeurdappelsdefaonnautoriserquelesIPBXdessitesconnectsaupiloteenvoyer
des requtes SIP sur le port 5060. Les flux du serveur de supervision Nagios et de
comptabilisation dappel FreeRADIUS, ainsi que les flux pour ladministration du serveur
distance(SSH)sontautorissgalement(cf.ANNEXE5).
Lesrglesdefiltragesappliquerontdoncselonlescritressuivants:
AdresseIPsource
AdresseIPdedestination
Protocoledecommunication
Portsource
Portdedestination
LorganigrammesuivantrsumelasolutionpourscuriserleservicepiloteToIP.
ENSA-Marrakech 2008/2009
53
Figure35:organigrammedelasolutiondescurisationduservicepilote
4. Gestiondel'accessibilitdessites
Lobjectif tait de grer les messages derreur SIP envoys par le serveur de routage
dappels Kamailio, afin davoir un basculement rapide vers le rseau RTC en cas
dinaccessibilit du site distant. Pour cela, des tests ont t raliss avec un des sites de
lINSERM(InstitutNationaldelaSantetdelaRechercheMdicale).
Letableausuivantdcritlesrsultatsdestestsaprslesamliorationsintroduitesdans
lefichierdeconfigurationdeKamailio.
ENSA-Marrakech 2008/2009
54
Tableau4:lesrsultatsdestestsdelagestiondesmessagesderreur
5. Testsdevalidation
Afin de valider les diffrentes solutions mises en place, des tests de validation ont t
effectusaveclesiteINSERM.
Letableaucidessousdonnelesrsultatsdestests.
Ntest
Description
Typedemessageerreur
Dsactiverlinterface
Requestetimeout
rseaudelIPBX
ArrterleserviceSIPde Requestetimeout
lIPBX
Rsultatde
Tempsde
basculement basculement
OK
10s
OK
10s
Lasolution
Ntest
Description
Rsultatattendu
Rsultat
Nagiosretourneuntatde
connectivitdiffrentdeOK
OK
Lasolution
de
supervision
Dsactiverlinterface
rseaudelIPBX
ArrterleserviceSIPde
lIPBX
Nagiosretourneuntatdu
serviceSIPdiffrentOK
OK
Effectuerunappelrussi
Enregistrementajoutdansla
basededonnescommeappel
russi
OK
Effectuerunappel
chou
Enregistrementajoutdansla
basededonnescommeappel
chou
OK
Appelrejetparlerouteur
dappelsduservicepilote
OK
Lasolution
de
Comptabilisa
tiondappels
(leservicenestpas
disponible)
La
scurisation
dupilote
ToIP
Effectuerunappelvia
lOpenSERdelamaquette
Tableau5:lesrsultatsdestestsdevalidation
ENSA-Marrakech 2008/2009
55
Conclusion
Danscedernierchapitre,nousavonsprsentlamaquetteexprimentale,laphasede
ralisation de notre projet en prsentant les solutions mises en place, la dmarche de
travail,leprincipedefonctionnementdechaquesolution,finalement,nousavonsprsent
lestestsdevalidationeffectus.
Actuellement le service pilote ToIP est oprationnel, deux sites ont dj migr vers ce
service qui sont GIP RENATER PARIS et GIP RENATER MONTPELLIER. Il est prvu aussi de
migrerdautressitesdanslesjoursquiviennent.
ENSA-Marrakech 2008/2009
56
Conclusiongnrale
LatlphoniesurIPconstitueincontestablementuneattractiondetaillelafoispourles
quipementiers,lesoprateurs,lesentreprisesetlegrandpublic.Silesenjeuxconomiques
justifient largement cette convoitise, il ne faut cependant pas ngliger les contraintes
techniquessurmonter.
Llaborationdecetravailmapermis,dunepart,dapprofondirlesconnaissancesetle
savoir faire acquis durant les annes de ma formation lENSA de Marrakech, et dautre
part,deprparermonintgrationlavieprofessionnelleetdemesesituersurlemarch
destlcommunications(rseaux,systmesdecommunication,services,...).
Le travail que jai ralis pourrait tre complt et poursuivi sous diffrents aspects,
notamment:
Miseenplacedunesolutionderedondancedesserveursimpliqusdansleservice
pilote.
Introduction dIPv6 dans les quipements du service pilote et avec les sites
partenaires.
Amliorationdesmcanismesdescuritmisenplace.
ENSA-Marrakech 2008/2009
57
Rfrencesbibliographiques
[1].SiteofficieldeRENATER,http://www.renater.fr,janvier2009
[2].SiteofficieldeKamailio,http://www.kamailio.org,janvier2009
[3].SiteofficieldOpenSIPS,http://www.opensips.org,janvier2009
[4].SiteofficieldeNagios,http://www.nagios.org,janvier2009
[5].SiteofficieldeFreeRADIUS,http://freeradius.org,janvier2009
[6].Lencyclopdielibrewikipedia,http://fr.wikipedia.org/wiki/Accueil,janvier2009
[7].FlavioE.Goncalves,BuildingTelephonySystemswithOpenSER,PacktPublishing(April25,
2008)
[9].R.Sparks,M.Handley,E.Schooler,SIP:SessionInitiationProtocol,RFC3261,IETF,June
2002
[10].F.Andreasen,B.Foster,MediaGatewayControlProtocol(MGCP),RFC3435,IETF,
January2003
[11].P.Faltstrom,M.Mealling, TheE.164toUniformResourceIdentifiers(URI)Dynamic
DelegationDiscoverySystem(DDDS)Application(ENUM),RFC3761,IETF,April2004
[12].K.Egevang,P.Francis, TheIPNetworkAddressTranslator(NAT),RFC1631,IETF,May
1994
[13].J.Rosenberg,J.Weinberger,C.Huitema,R.Mahy,STUNSimpleTraversalofUser
DatagramProtocol(UDP)ThroughNetworkAddressTranslators(NATs),RFC3489,IETF,
March2003
[14].C.Rigney,S.Willens,A.Rubens,W.Simpson,RemoteAuthenticationDialInUserService
(RADIUS),RFC2865,IETF,June2000
[15].C.Rigney,RADIUSAccounting,RFC2866,IETF,June2000
[16].RapportdugroupedetravailToIP,www.renater.fr/IMG/pdf/Compil_Doc_synth.pdf
[17].BestPracticesforVoIPSIPSecurity,www.td.unige.ch/pdf/BP_VoIP_Security.pdf
ENSA-Marrakech 2008/2009
58
ANNEXES
ANNEXE1:ConfigurationKamailio
CeciestunextraitdufichierdeconfigurationduserveurKamailio:
#######Rapportdesmodifications##########
#cration16/12/2008
#RaccordementSITE1(Ville1etVille2)le17/12/2008
#testavecSITE2le24/12/2008
#######GlobalParameters#########
debug=3
log_stderror=no
log_facility=LOG_LOCAL0
fork=yes
children=4
port=5060
listen=udp:193.*.*.*
alias=*.renater.fr
.
#######ModulesSection########
#setmodulepath
mpath="//usr/local/lib/kamailio/modules/"
.
##########Blocdessitesraccordsauservicepilote#######
######################GIPRENATER#################
.
if(uri=~"sip:01539420[3,4,8,9][09]@.*"){
#
40
Postes
route(2);
};
..
#processtrafficfromInternettoSITE1
route[2]{
# log(1,"Inroute[2]");
rewritehostport("193.*.*.*:5060");
append_hf("Phint:ForwardedtoSITE1\r\n");
xlog("L_INFO","$rmfrom$futo$tu");
if(!t_relay()){
sl_reply_error();
};
exit;
ENSA-Marrakech 2008/2009
59
ANNEXE2:exemplededfinitiondesservicespourlasupervision
UnexemplededfinitiondesservicessuperviserpourlamachineKamailio:
definehost{
usegenerichost
host_nameKamailio
address193.*.*.*
}
defineservice{
host_nameKamailio
service_descriptionSIP
check_commandcheck_sip!sip:193.*.*.*
usegenericservice
action_urlhttp://193.*.*.*/pnp4nagios/index.php?host=Kamailio&srv=SIP
defineservice{
host_nameKamailio
service_descriptionPING
check_commandcheck_ping!100.0,20%!500.0,60%
usegenericservice
action_urlhttp://193.*.*.*/pnp4nagios/index.php?host=Kamailio&srv=PING
}
defineservice{
use
genericservice
host_nameKamailio
service_descriptionDiskSpace
check_commandcheck_nrpe!check_hda1
}
#ChargeCPU
defineservice{
use
genericservice
host_name
Kamailio
service_description CPULoad
check_command
check_nrpe!check_load
}
ENSA-Marrakech 2008/2009
60
ANNEXE3:ConfigurationmoduleACCavecFreeRADIUS
InstallationFreeRADIUS
Laversioninstalle2.0.*:
#aptgetinstallfreeradiusfreeradiusutils
#aptgetinstallfreeradiusmysql
CrationetlaconfigurationdelabasededonnedefreeRADIUS
InstallationMysql
#aptgetinstallmysqlserver
#aptgetinstallmysqlclient
Crationdelabasededonnes
dpkgicdrtool_6.6.10_all.deb
mysqladminurootpcreateaccounting
mysqlurootaccounting</var/www/CDRTool/setup/radius/OpenSIPs/radacct.mysql
ConfigurationduserveurFreeRADIUS
Laconfigurationdelaconnexionlabasededonnes
sql{
driver="rlm_sql_mysql"
server="127.0.0.1"
login="root"
password="**********"
radius_db="accounting"
acct_table="radacct"
sqltrace=no
sqltracefile=${logdir}/sqltrace%Y%m%d.log
num_sql_socks=25
connect_failure_retry_delay=60
ENSA-Marrakech 2008/2009
61
client193.*.*.*{
secret=***********
shortname=siprouter1
nastype=other
}
Activermysqldanslefichier/etc/freeradius/radiusd.conf
Accounting{
acct_unique
detail
sql
unix
radutmp
}
Ajouterledictionnairekamailiodanslefichier/etc/freeradius/dictionary
cp/var/www/CDRTool/setup/radius/OpenSIPs/dictionary.ser
/etc/freeradius/dicotionary.kamailio
$INCLUDE/usr/share/freeradius/dictionary
$INCLUDE/etc/freeradius/dictionary.kamailio
ConfigurationduclientfreeRADIUS(Kamailio)
Ajouterledictionnairekamailiodanslefichier/etc/radiusclientng/dictionary
#Thefilenamegivenhereshouldbeanabsolutepath.
$INCLUDE/etc/radiusclientng/dictionary.radius
AjouterladresseduserveurFreeRADIUSdanslefichier/etc/radiusclientng/servers
#RADIUSservertouseforaccoutingrequests.AllthatI
#saidforauthserverapplies,too.
Acctserver
193.*.*.*
ENSA-Marrakech 2008/2009
62
Ajouterleslignessuivantesdansleficherdeconfigurationdekamailio(kamailio.cfg)
modparam("acc","radius_config","/etc/radiusclientng/radiusclient.conf")
modparam("acc","radius_flag",2)
modparam("acc","radius_missed_flag",3)
modparam("acc","radius_extra","UserName=$Au;\
CallingStationId=$from;\
CalledStationId=$to;\
SipTranslatedRequestURI=$ruri;\
SipRPid=$avp(s:rpid);\
SourceIP=$si;\
SourcePort=$sp;\
CanonicalURI=$avp(s:can_uri);\
BillingParty=$avp(s:billing_party);\
DivertReason=$avp(s:divert_reason);\
XRTPStat=$hdr(XRTPStat);\
Contact=$hdr(contact);\
Event=$hdr(event);\
ENUMTLD=$avp(s:enum_tld)")
ANNEXE4:ConfigurationmoduleACCavecMySQL
Ajouterleslignessuivantesdansleficherdeconfigurationdekamailio(kamailio.cfg)
modparam("acc","db_url","mysql://root:root@193.*.*.*/accounting")
#flagtorecordtodb
modparam("acc","db_flag",1)
modparam("acc","db_missed_flag",2)
#flagtologtosyslog
modparam("acc","log_flag",1)
modparam("acc","log_missed_flag",2)
#useextraaccountingtorecordcallerandcalleeusername/domain
#takethemfromFromURIandRURI
modparam("acc","log_extra",
"src_user=$fU;src_domain=$fd;dst_user=$rU;dst_domain=$rd")
modparam("acc","db_extra",
"src_user=$fU;src_domain=$fd;dst_user=$rU;dst_domain=$rd")
ENSA-Marrakech 2008/2009
63
ANNEXE5:ScriptsIPtables
################################################
#
#Scriptfirewallstart
#
#################################################
#onrejettetouteslesconnectionsentrantes
iptablestfilterPINPUTDROP
#onautoriselamachinedesupervisionetaccounting
iptablesAINPUTs193.*.*.*jACCEPT
#onautoriselamachined'administration
iptablesAINPUTs193.*.*.*jACCEPT
#onautoriselesIPBXconnectsausitepilote
#SITE1
iptablestfilterAINPUTs193.*.*.*pudpsport5060jACCEPT
#SITE2
iptablestfilterAINPUTs195.*.*.*pudpsport5060jACCEPT
echo"firewallstart";
################################################
#
#Scriptstopfirewall
#
#################################################
iptablestfilterPINPUTACCEPT
echo"firewallstop";
ENSA-Marrakech 2008/2009
64