Skip to content

Sécurisation du service VoIP

Lopidurs edited this page Aug 27, 2022 · 7 revisions

Risques de sécurité susceptibles de nuire au service :

  • Attaque DoS ou DDoS : empêche l'utilisation le serveur d'utiliser ces ressources (et donc de fournir le service) en surchargeant ce derniers de requêtes.

  • SPIT (Spam over Internet Telephony) : Tout comme le mail il existe un spam téléphonique. Ce procéder est d'autant plus renforcer en VoIP car il est plus facile de le faire un spam de masse qu'en téléphonie classique.

  • L'écoute non autorisé: il est tout à fait possible d'intercepter des paquets VoIP (avec une tactique de Man in the Middle par exemple) et ainsi écouter une conversation ou l'enregistré pour plus tard.

  • L'injection de paquet RTP: l'attaquant écoute une conversation et copie l'entête des paquets entrant pour créer pleins de paquets de bruits qui perturberont ainsi la communication.

contre-mesures :

TLS

TLS permet de chiffrer les appels VoIP et permet ainsi d'empêcher les personnes hors du serveur Asterisk de savoir qui vous appelez et permettra de nous protéger d'une injection de paquet RTP.

Configuration

Il faut tous d'abord créer des certificats. Pour cela nous allons utilisé un script fourni par Astérisk

  1. Créer un dossiers ou vous stockerez les clés.
    mkdir /etc/asterisk/keys
  2. Rendez vous ensuite dans contrib/scripts (l'endroit ou se trouve notre script qui nous permettra de créer les certificats) grâce à:
    cd /usr/src/asterisk/asterisk-12.0.0/contrib/scripts
  3. Créez maintenant le certificat d'autorité et le certificat d'Astérisk:
    ./ast_tls_cert -C 176.96.231.200 -O "WoodyToys" -d /etc/asterisk/keys -b 2048
  • -C indique l'IP de notre service
  • -O indique le nom de notre organisation
  • -d indique où envoyé les clés créer
  • -b indique la taille des clés en bits
  1. Créez maintenant autant de clés que de client grâce à:
    ./ast_tls_cert -m client -c /etc/asterisk/keys/ca.crt -k /etc/asterisk/keys/ca.key -C TELEPHONE.m1-2.ephec-ti.be -O "WoodyToys" -d /etc/asterisk/keys -o NOM_DU_CLIENT -b 2048
  • -m client indique au script que nous voulons un certificat client
  • -c indique quel certificat d'autorité nous utilisons (celui fait précédemment)
  • -k indique la clé du certificat d'autorité
  • -C indique le nom DNS du client (remplacé TELEPHONE par le numéro correspondant du client)
  • -o indique le nom de la clé générer
  1. Maintenant rendez-vous dans le fichier de configuration sip.conf et modifier le pour qu'asterisk utilise TLS:
tlsenable=yes
tlsbindaddr=0.0.0.0
tlscertfile=/etc/asterisk/keys/asterisk.pem
tlscafile=/etc/asterisk/keys/ca.crt
  1. Enfin spécifier la méthode d'envoie ajoutant la ligne:
    transport=tls
    à chaque utilisateur.

SRTP

SRTP permet de chiffrer le flux RTP ce qui pour effet de chiffrer les voix et rends ainsi toute écoute non autorisé impossible.

Configuration

  1. Il faut tout d'abord installer libsrtp qui est une librairie fournissant les fonctions permettant de sécurisé RTP:
    apt install libsrtp2-dev
  2. Dans le fichier sip.conf rajouter à chaque utilisateur la ligne pour signaler que vous souhaitez crypter les communications:
    encryption=yes
  3. Enfin recompiler Asterisk pour intégrer la librairie libsrtp grâce à:
./configure;
make;
make install;

Sécurisation contre le SPAM et les attaques DoS

Notre service est protéger de ces attaques car nous avons installer un Firewall ainsi que fail2ban sur notre VPS pour plus d'infos voir la sécurisation prototype.

Clone this wiki locally