Sécurisation des appels asterisk partie 1

Publié le par Kachallah Abagana Mahamat

Introduction

Cet article consacré à la sécurisation des appels asterisk sera divisé en deux parties :

partie 1 : La sécurisation des messages de signalisation ;
partie 2 : La sécurisation des flux média


Partie 1 : La sécurisation des messages de signalisation

Transport Layer Security (TLS) fournit un chiffrement pour la signalisation des appels. C’est un moyen pratique d’empêcher les personnes qui ne sont pas d'asterisk de savoir qui vous appelez. La configuration de TLS entre Asterisk et un client SIP implique la création de fichiers clés, la modification de la configuration SIP d’Asterisk pour activer TLS, la création d’un homologue SIP capable de supporter le protocole TLS et la modification du client SIP pour se connecter à Asterisk via TLS.

Prérequis

Installation d'asterisk sous ubuntu 20 LTS - Réseaux, Télécoms et Services (over-blog.com)

Création du répertoire pour accueillir les certificats

#mkdir /etc/asterisk/keys

 Ensuite, utilisez le script « ast_tls_cert » dans le répertoire source d'asterisk « contrib/scripts » pour créer une autorité de certification auto-signée et un certificat Asterisk.

 

N.B:

  • L’option « -C » est utilisée pour définir notre hôte - nom DNS ou notre adresse IP.
  • L’option « -O » définit notre nom d’organisation.
  • L’option « -d » est le répertoire de sortie des clés.
  • L’option « -b » spécifie la taille du fichier de clé privée, la valeur par défaut est 1024 sauf sur la branche principale.
  • L’option « -o » est le nom de la clé que nous sortons.
  1. Il vous sera demandé d’entrer une phrase de passe pour /etc/asterisk/keys/ca.key, en mettant quelque chose dont vous vous souviendrez plus tard.
  2. Cela créera le fichier /etc/asterisk/keys/ca.crt.
  3. Il vous sera demandé d’entrer à nouveau la phrase secrète, puis le fichier /etc/asterisk/keys/asterisk.key sera créé.
  4. Le fichier /etc/asterisk/keys/asterisk.crt sera généré automatiquement.
  5. Il vous sera demandé d’entrer la phrase secrète une troisième fois, et le fichier /etc/asterisk/keys/asterisk.pem sera créé, une combinaison des fichiers asterisk.key et asterisk.crt.

Dans ce tutoriel, nous ne générons pas un certificat client pour notre softphone SIP.

Vérifions si tous les certificats sont bien générés.

Pour l'utilisation du pjsip

Dans ce tutoriel, nous allons utiliser SIP.

Dans le fichier de configuration sip.conf, définissez les éléments suivants :

tlsenable=yes
tlsbindaddr=0.0.0.0:5061
tlscertfile=/etc/asterisk/keys/asterisk.pem
tlscafile=/etc/asterisk/keys/ca.crt

Ici, nous activons la prise en charge TLS.
Nous le lions à notre caractère générique IPv4 local (le port par défaut est 5061 pour TLS).
Nous avons défini le fichier de certificat TLS sur celui que nous avons créé ci-dessus.
Nous avons défini l’autorité de certification sur celle que nous avons créée ci-dessus.

 

Ensuite, vous devrez configurer des comptes SIP dans Asterisk pour utiliser TLS comme type de transport. Voici un exemple :

 

[100]
username=100
secret=12345
host=dynamic
context=test
type=friend
transport=tls

[101]
username=101
secret=12345
host=dynamic
context=test
type=friend
transport=tls

Dans le fichier extensions.conf

Configuration du softphone

Cliquez sur Continuer malgré tout pour ajouter le certificat du serveur.

Authentification de l'utilisateur

 

Pour le test d'appel

Vous allez rencontrer le problème suivant:

 Résolution:

il faut charger les modules suivants :

 

Redémarrer ou recharger asterisk

#service asterisk restart

#asterisk -rvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv

 

Publié dans Asterisk, Télécoms

Pour être informé des derniers articles, inscrivez vous :
Commenter cet article
O
Très bon article.<br /> Mais j'ai pas vu la deuxième partie pour la sécurisation du flux média.<br /> Merci d'avance
Répondre
K
Bonjour Omar Diankha, <br /> Merci pour votre appréciation. <br /> L'équipe rédigera un article sur la partie 2 bientôt.<br /> Merci.
B
Très bon article Majesté
Répondre
K
Thanks Bory. N'hésites pas à faire un retour, s'il y a des choses à améliorer.