République du Sénégal
Un peuple - un but - une foi
Master 2 SRT
Année 2017 - 2018
Voip Trunk Asterisk
Sécurité avec
StrongSwan et OpenVpn
Professeur : M. Massamba LO
Septembre 2018
PLAN
Introduction
A. Risques de Sécurité
B. Solutions
C. Information
1.Asterisk
2.VPN
3.StrongSwan
4.OpenVpn
2
3
D. Application
1. Telechargement D’asterisk
2. Installation d’asterisk
3. Configuration d’asterisk
4.Configuration client asterisk1
5.Configuration du trunk
6.configuration client asterisk2
7.Capture du traffic avec wireshark
PLAN
4
8.Sécurisation
8. 1. Utilisation de Strongswan entre les deux
sites
8. 2. Utilisation d’openvpn comme serveur pour
l’authentification des clients
a installation openvpn server
b configuration openvpn server
c configuration client avec openvpnGui
9. Illustration finale
Conclusion
PLAN
INTRODUCTION
5
VoIP est l’abréviation anglaise de Voice over Internet Protocol le
protocole de Voix sur IP (VoIP) qui offre la possibilité de
transmettre des appels vocaux via Internet et des réseaux de
données basés sur IP, est devenu une technologie éprouvée.
Une technique qui permet d’intégrer la voix aux données transmises
par paquets sur un réseau utilisant le protocole IP. la voix sur IP
permet le transport de la voix comme n’importe quel genre de
données sur l'ensemble du réseau qui accepte le protocole IP, tels
que l’Internet publique, le réseau d’entreprise/privé ou bien une
combinaison des deux
A. RISQUE DE SECURITE
6
-Ecoute:
la captation d’informations de session (qui appelle qui, pendant combien de temps,
pour faire quoi: voix, messagerie instantanée, visioconférence…)
Usurpation d'identité :
L’usurpation d’identité consiste pour un individu, à l’intérieur ou à l’extérieur de
l’entreprise à se faire passer pour quelqu’un d’autre
-Spam / Scam :
Le Scam est l’équivalent pour la ToIP du Spam pour l’email
Obstruction :
L’obstruction consiste pour un pirate à empêcher un appel entrant ou sortant
d’aboutir
-Virus
-Vol d'informations confidentielles
-Saturation du réseau:
Blocage de l'ensemble des appels
B. SOLUTIONS
7
Solution Voip : Asterisk
Solution Sécurité Site to Site : StrongSwan
Solution Sécurité Host to site : OpenVpn
Nous allons Déployer ces logiciels ci-dessous conformément
à nos besoins :
8
1.ASTERISK
Asterisk est un autocommutateur téléphonique privé (PABX) libre et propriétaire (publié
sous licence GPL et licence propriétaire) pour systèmes GNU/Linux. Il permet, entre autres,
la messagerie vocale, les files d'attente, les agents d'appels, les musiques d'attente et les
mises en garde d'appels, la distribution des appels. Il est possible également d'ajouter
l'utilisation des conférences par le biais de l'installation de modules supplémentaires et la
recompilation des binaires.
Asterisk implémente les protocoles H.320, H.323 et SIP, ainsi qu'un protocole spécifique
nommé IAX (Inter-Asterisk eXchange). Ce protocole IAX permet la communication entre
deux serveurs Asterisk ainsi qu'entre client et serveur Asterisk. Asterisk peut également
jouer le rôle de registrar et passerelle avec les réseaux publics (RTC, GSM, etc.) Asterisk
est extensible par des scripts ou des modules en langage Perl, C, Python, PHP, et Ruby.
C.INFORMATION
9
Un VPN est un réseau privé virtuel permettant de connecter plusieurs réseaux
distants de manière sécurisée a travers un tunnel via une connexion non sécurisée Ex:
Internet
L'utilisation de ce système va donc nous permettre d'accéder à tous les ordinateurs
connectés sur le même VPN et de ce fait avoir un accès au réseau interne (de votre
domicile ou encore de votre entreprise)
2.VPN
INFORMATION
10
3.StrongSwan
Lors de la mise à niveau de Debian 6 vers Debian 8, le softwarestack IPSEC
passe de Openswan à Strongswan. StrongSwan est donc une implémentation
IPsec multiplateforme. Elle permet de créer un tunnel Ipsec, donc de
réaliser un VPN entre deux sites. Elle chiffre et authentifie les données. Elle
fonctionne en utilisant des certificats ou une clé partagée (c'est ce que nous
allons utiliser).
INFORMATION
11
OpenVPN est un serveur open source permettant d’authentifier
-Deux sites distants
-Des clients auprès d’un serveur
au travers d’un tunnel sécurisé
ceci par :
Une clé privée partagé à l’avancé
Des certificats électroniques ;
Authentification username/password
4.OpenVpn
INFORMATION
D. APPLICATIONS
1. Telechargement d’asterisk
En tant que root, exécuter ces commandes pour faire une mise à jour et une mise à
niveau :
#apt-get update
#apt-get upgrade
Ensuite, installer les dépendances nécessaires à la bonne marche d’asterisk.
#apt-get install build-essential libncurse-5-dev linux-headers-$(uname –r)
libsqlite3-dev libssl-dev uuid
Après, créer le dossier asterisk dans le repertoire /usr/src/ et y télécharger le
package compressé d’astérisk (de préférence la dernière version).
#cd /usr/src/
#mkdir asterisk
#cd asterisk/
#wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-15.6.0.tar.gz
12
APPLICATIONS
2.Installation d’asterisk
En outre, décompresser asterisk et se placer dans le répertoire décompressé.
#tar xvzf asterisk-15.6.0.tar.gz
#cd asterisk-15.6.0/
Enfin, exécuter cette commande et saisir au moment venu l’indicatif du pays (224 pour
la Guinée ou 221 pour le Sénégal).
#contrib/scripts/install_prereq install
13
APPLICATIONS
Installation d’asterisk
Exécuter successivement les commandes suivantes :
#./configure
14
Si tout se déroule bien vous aurez ce
logo d’asterisk
APPLICATIONS
Installation d’asterisk
Choisir ces options pour les différents modules et quitter en enregistrant :
15
Les sections Core Sound Packages et Extras Sound Packages permettent d’ajouter les sons en français
APPLICATIONS
Installation d’asterisk
Exécuter successivement ces différentes commandes :
#make
16
Si tout se déroule bien vous aurez un
message pareil
APPLICATIONS
Installation d’asterisk
17
Si tout se déroule bien vous aurez un
message pareil
APPLICATIONS
Installation d’asterisk
18
APPLICATIONS
Installation d’asterisk
19
Démarrer et lancer asterisk
Après avoir obtenu cette ligne de commandes on peut passer à la configuration des fichiers.
APPLICATIONS
3. Configuration d’asterisk
20
Lancer un nouveau terminal afin de vider et personnaliser comme suit les fichiers sip.conf,
users.conf, voicemail.conf et extensons.conf se trouvant dans le repertore /etc/asterisk
APPLICATIONS
Configuration d’asterisk
21
Permet d’émettre et recevoir un appel
Permet la connexion à partir de n’importe quel poste
Fréquence digitale
Désactiver tous les codecs
Activer le codec ulaw
L’utilisateur possède un compte sip
L’utilisateur possède un compte iax
L’utilisateur peut mettre un appel en attente
L’utilisateur peut transférer des appels
L’utilisateur possède une boite vocale
L’utilisateur peut mettre des appels dans le parking
L’utilisateur peut faire la conférence
L’utilisateur peut renvoyer des appels
Le groupe d’appel (varie de 0 à 63)
Permettre un utilisateur du groupe 1 prendre l’appel (varie de 0 à 63)
Permet le retour d’appel
Active une forme de mode symmetric RTP et SIP comedia
APPLICATIONS
Configuration d’asterisk
22
APPLICATIONS
Configuration d’asterisk
23
Dicte le numéro de l’appelant avant de jouer le message laissé
Nombre maximum de messages sur la boite vocale (ici 100)
Durée d’un message vocale. Si =0 alors pas de limite
Durée minimum d’un message vocale
Nombre maximum d’erreurs pour avoir accès à la boite vocale
Permet à l’appelant de réécouter son message avant
0000 correspond au mot de passe de la boite vocale
de l’utilisateur
Il est possible de désactiver l’utilisation du mot de passe en ne spécifiant rien avant la virgule comme suit :
6001 => , Mathos Goumou
APPLICATIONS
Configuration d’asterisk
24
APPLICATIONS
Configuration d’asterisk
25
Revenir sur l’interface ligne de commande d’asterisk et taper successivement les commande
reload (pour recharger asterisk afin de prendre en compte les modifications) et sip show users
(pour voir les utilisateurs créés)
APPLICATIONS
4. Configuration Client asterisk1
26
Configuration des softphones X-Lite : télécharger X-lite (ici on utilisera des clients windows)
et configurer les softphones comme suit afin de pouvoir émettre et recevoir un appel.
APPLICATIONS
Configuration Client asterisk1
27
Configuration des softphones X-Lite :
APPLICATIONS
Test entre client asterisk1
28
C. APPLICATIONS
29
NB : L’installation et la configurons d’asterisk doivent être reproduites et adaptées
sur le serveur debian2
APPLICATIONS
5. Configuration du trunk
30
Le trunk nous permet d’interconnecter deux asterisk afin de permettre l’appel entre les sites d’extensions
differentes. Nous aurons juste besoin d’éditer les fichiers sip,conf et extensions,conf comme suit :
register : Cette ligne permet au serveur debian1 de
s’enregistrer sur le serveur debian2 (192.168.20.1) avec le
login IPBX60 et le mot de passe.
Ajouter un utilisateur (ici IPBX70) dans le fichier sip.conf
sur le serveur debian1. IPBX70 est un utilisateur du serveur
debian2 qui permettra d’assurer le trunk. Lorsqu’un
utilisateur de debian1 voudra joindre un utilisateur de
debian2, dans un premier temps l’appel est transmis à
IPBX70 qui se chargera de le transférer à son tour à
l’utilisateur visé
APPLICATIONS
Configuration du trunk
31
La ligne en jaune permet de rediriger les appels de debian2 (extensions comprises entre 7000 et 7999)
vers debian1
APPLICATIONS
Configuration du trunk
32
register : Cette ligne permet au serveur debian2 de
s’enregistrer sur le serveur debian1 (192.168.10.1) avec le
login IPBX70 et le mot de passe.
Ajouter un utilisateur (ici IPBX60) dans le fichier sip.conf
sur le serveur debian2. IPBX60 est un utilisateur du serveur
debian1 qui permettra d’assurer le trunk. Lorsqu’un
utilisateur de debian2 voudra joindre un utilisateur de
debian1, dans un premier temps l’appel est transmis à
IPBX60 qui se chargera de le transférer à son tour à
l’utilisateur visé
APPLICATIONS
Configuration du trunk
33
La ligne en jaune permet de rediriger les appels de debian1 (extensions comprises entre 6000 et 6999)
vers debian2
APPLICATIONS
6.Configuration client
asterisk2
34
Configurons un softphone sur debian2, puis testons le trunk.
Cliquer sur le bouton en bleu en bas
APPLICATIONS
Configuration client
asterisk2
35
APPLICATIONS
Test Appel Trunk
36
APPLICATIONS
7.Capture du traffic avec wireshark
37
APPLICATIONS
Ecoute du traffic
38
APPLICATIONS
8. Sécurisation
39
Vu la possibilité pour un pirate d’intercepter les appels, il est plus que nécessaire de
sécuriser les appels intra-sites et inter-sites afin de préserver la confidentialité,
l’intégrité et l’intimité des utilisateurs. Pour ce faire nous utiliserons StrongSwan entre les
deux astérisk et openvpn au sein de chaque asterisk. Nous aurons désormais deux cartes
réseau referez vous à notre architecture
ens37
ens33 ens33 ens37
1 2
APPLICATIONS
Sécurisation
40
8. 1. Utilisation de StrongSwan entre les deux sites :
Assurez-vous que tous les packages sont opérationnels, puis installer Ipsec et StrongSwan
sur les deux serveurs comme suit :
Sur debian1
Sur debian2
APPLICATIONS
Sécurisation
41
Utilisation de StrongSwan entre les deux sites :
Assurez-vous que le trafic UDP est autorisé sur les ports 500 (IKE) et 4500 (pour la traversée IPsecNat) en
exécutant successivement ces lignes de commande sur les deux serveurs :
iptables -t filter -A INPUT -p 50 -j ACCEPT
iptables -t filter -A INPUT -p 51 -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 4500 -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 500 -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 1701 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 1701 -j ACCEPT
iptables -t filter -A OUTPUT -p 50 -j ACCEPT
iptables -t filter -A OUTPUT -p 51 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 4500 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 500 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 1701 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 1701 -j ACCEPT
iptables -A FORWARD -s 192.168.10.0/24 -j ACCEPT
iptables -A FORWARD -d 192.168.10.0/24 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j SNAT --to-source 10.10.10.1
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o ens33 -j MASQUERADE
iptables -A INPUT -p udp -m udp --dport 5060 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 10000:20000 -j ACCEPT
iptables -A INPUT -p UDP -j DROP
iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
NB: Les 5 dernières lignes sont pour OpenVPN que nous
verrons plus tard. Nous les avons exécutées ici afin de
pouvoir les enregistrer une bonne fois pour toutes avec
la ligne de commande suivante :
Faire de même sur debian2
APPLICATIONS
Sécurisation
42
Utilisation de StrongSwan entre les deux sites
:
Faire de même sur debian2
Modifier le fichier sysctl.conf afin d’autoriser le routage des paquets IPv4 comme suit en
éditant la seule ligne :
APPLICATIONS
Sécurisation
43
Utilisation de StrongSwan entre les deux sites :
Nous pouvons passer à la configuration de StrongSwan. Pour ce faire, on va
utiliser deux fichiers :
/etc/ipsec.conf qui va contenir la configuration de StrongSwan. Attention
ce fichier utilise des tabulations pour différencier les catégories. Il faut
impérativement utiliser des tabulations sous peine de ne pas pouvoir faire
fonctionner IPsec.
/etc/ipsec.secrets qui va simplement contenir la clé pré-partagée qui
permettra de chiffrer les données transmis via le VPN. L'échange de la clé
se fera d'ailleurs via le port 500 en udp tandis ce que les données
transiteront sur le port 4500 toujours en udp.
APPLICATIONS
Sécurisation
44
Utilisation de StrongSwan entre les deux sites :
Sur debian1
S'il vous plaît gardez à l'esprit que ici pour
left= vous devez entrer l'adresse IP du
serveur sur lequel vous travaillez
actuellement, dans notre cas, debian1.
Leftsubnet= l’adresse réseau du Site 1.
right= l’adresse du serveur auquel nous
allons nous connecter, dans ce cas,
debian2.
Rightsubnet= l’adresse réseau du Site 2.
APPLICATIONS
Sécurisation
45
Utilisation de StrongSwan entre les deux sites :
Sur debian1
Il est très important de séparer chaque élément avec
des espaces, pas des tabulations.
APPLICATIONS
Sécurisation
46
Utilisation de StrongSwan entre les deux sites :
Sur debian2
S'il vous plaît gardez à l'esprit que ici pour
left= vous devez entrer l'adresse IP du
serveur sur lequel vous travaillez
actuellement, dans notre cas, debian2.
Leftsubnet= l’adresse réseau du Site 2.
right= l’adresse du serveur auquel nous
allons nous connecter, dans ce cas,
debian1.
Rightsubnet= l’adresse réseau du Site 1.
APPLICATIONS
Sécurisation
47
Utilisation de StrongSwan entre les deux sites :
Sur debian2
Il est très important de séparer chaque élément avec
des espaces, pas des tabulations.
APPLICATIONS
Sécurisation
48
Utilisation de StrongSwan entre les deux sites :
Sur debian1
Sur debian2
Démarrage d’Ipsec sur les deux serveurs :
APPLICATIONS
Sécurisation
49
Utilisation de StrongSwan entre les deux sites :
Sur debian1
Sur debian2
Lancement du tunnel Ipsec sur les deux serveurs :
APPLICATIONS
Sécurisation
50
Utilisation de StrongSwan entre les deux sites :
Vérification du tunnel Ipsec :
Faisons un ping vers le serveur debian2 à partir du serveur debian1
Le ping passe sans aucun problème.
APPLICATIONS
Sécurisation
51
Utilisation de StrongSwan entre les deux sites :
Vérification du tunnel Ipsec :
Sans pour autant arrêter le ping précédant, allons sur le serveur debian2 et
vérifions le trafic sur le tunnel. On constate que tout fonctionne bien
APPLICATIONS
Sécurisation
52
8. 2. Utilisation d’OpenVPN comme serveur pour
l’authentification des clients :
a- Installation d’openvpn server:
b- Configuration d’openvpn coté serveur :
Dans les lignes qui suivent nous allons créer le répertoire keys dans /etc/openvpn/ (répertoire dans lequel nos
clés seront créées). ensuite copier le répertoire easy-rsa dans openvpn. Enfin nous éditerons le fichier vars.
APPLICATIONS
Sécurisation
53
Utilisation d’OpenVPN comme serveur pour
l’authentification des clients :
Configuration d’openvpn coté serveur : génération des clefs et certificats
APPLICATIONS
Sécurisation
54
Utilisation d’OpenVPN comme serveur pour
l’authentification des clients :
Configuration d’openvpn coté serveur : genération des clefs et certificats
APPLICATIONS
Sécurisation
55
Utilisation d’OpenVPN comme serveur pour
l’authentification des clients :
Configuration d’openvpn coté serveur : genération des clefs et certificats
APPLICATIONS
Sécurisation
56
Utilisation d’OpenVPN comme serveur pour
l’authentification des clients :
genération des clefs et certificats
APPLICATIONS
Sécurisation
57
Utilisation d’OpenVPN comme serveur pour
l’authentification des clients :
Configuration d’openvpn coté serveur : genération des clefs et certificats
APPLICATIONS
Sécurisation
58
Utilisation d’OpenVPN comme serveur pour
l’authentification des clients :
Configuration d’openvpn coté serveur :Editer le fichier server.conf
APPLICATIONS
Sécurisation
59
Utilisation d’OpenVPN comme serveur pour
l’authentification des clients :
Configuration d’openvpn coté serveur :redemarrage du serveur
APPLICATIONS
Sécurisation
60
Utilisation d’OpenVPN comme serveur pour
l’authentification des clients :
c- Configuration du client avec openvpnGui :
Coté client (ici un client windows) il faudra tout d’abord télécharger et installer OpenVPN GUI. En suite
installer et configurer ssh sur le server afin de récupérer les clés et certificats suivants : ca.crt, ta.key,
client1.crt, client1.key; et les coller dans le répertoire C:ProgrammesOpenVPNconfig du client windows.
Enfin copier le fichier client du répertoire C:ProgrammesOpenVPNsample-config, coller-le dans le
répertoire C:ProgrammesOpenVPNconfig et le renommer en client1.
Si tout a été bien fait vous devez avoir ces fichiers dans le répertoire suivant :
APPLICATIONS
Sécurisation
61
Utilisation d’OpenVPNGui comme serveur pour
l’authentification des clients :
c- Configuration du client avec openvpnGui :
Editer comme suit le fichier client1.ovpn.
APPLICATIONS
Sécurisation
62
Utilisation d’OpenVPN comme serveur pour
l’authentification des clients :
c- Configuration du client avec openvpnGui :
Terminer les modification, enregistrer
et quitter
APPLICATIONS
Sécurisation
63
Utilisation d’OpenVPN comme serveur pour
l’authentification des clients :
Connection du client :
Exécuter OpenVPN GUI en tant qu’administrateur le connecter
comme illustrer ci-après.
NB : Les installations ainsi que les configurations que nous venons d’effectuer
doivent être reproduites sur le serveur debian2 ainsi que son client.
APPLICATIONS
9. Illustration finale
64
Insérer cette ligne dans le fichier sip.conf des deux serveurs afin d’autoriser les softphones à se
connecter avec l’adresse réseau des clients nomades.
Sur debian1 Sur debian2
Les softphones peuvent être connectés aux serveurs avec ces adresses
APPLICATIONS
Illustration finale
65
Les appels peuvent désormais
s’opérer de façon sécurisée sans
risque qu’ils soient écoutés.
Whireshark ne peut plus capter
le trafic du protocole RTP. Il a
désormais à faire au protocole
OpenVPN. D’où la sécurisation.
CONCLUSION
66
La téléphonie sur IP est une alternative intéressante et évolutive par le
fait qu’elle permet aux entreprises d’économiser beaucoup et d’amoindrir
les dépenses concernant les appels .
Au cour de nos recherches nous avons pu mettre en place deux serveurs
sécurisés avec deux services ,ce travail est donc nécessaire non
seulement dans ce cadre puis dans des cadres qui ne concernent pas
forcement la TOIP si nos différents serveurs octroient d’autre service le
Traffic sera également sécurisé pas le biais de strongswan et d’openvpn
Veuillez nous contacter pour plus d’informations sur:
Yaya N’tyeni Sanogo E-mail: yanssang78@gmail.com
Tel: (+221) 77 866 80 35
(+223) 78 55 96 42
Armand Mhatos Goumou E-mail: mathosgoumou@gmail.com
Tel : (+221) 77 596 41 92
(+224) 621 72 33 97
Jules Gélus Mahouekpo E-mail: julesorph@gmail.com
Tel : (+221) 77 174 18 42
67

Trunk VoiP Asterisk strongsawn openvpn

  • 1.
    République du Sénégal Unpeuple - un but - une foi Master 2 SRT Année 2017 - 2018 Voip Trunk Asterisk Sécurité avec StrongSwan et OpenVpn Professeur : M. Massamba LO Septembre 2018
  • 2.
    PLAN Introduction A. Risques deSécurité B. Solutions C. Information 1.Asterisk 2.VPN 3.StrongSwan 4.OpenVpn 2
  • 3.
    3 D. Application 1. TelechargementD’asterisk 2. Installation d’asterisk 3. Configuration d’asterisk 4.Configuration client asterisk1 5.Configuration du trunk 6.configuration client asterisk2 7.Capture du traffic avec wireshark PLAN
  • 4.
    4 8.Sécurisation 8. 1. Utilisationde Strongswan entre les deux sites 8. 2. Utilisation d’openvpn comme serveur pour l’authentification des clients a installation openvpn server b configuration openvpn server c configuration client avec openvpnGui 9. Illustration finale Conclusion PLAN
  • 5.
    INTRODUCTION 5 VoIP est l’abréviationanglaise de Voice over Internet Protocol le protocole de Voix sur IP (VoIP) qui offre la possibilité de transmettre des appels vocaux via Internet et des réseaux de données basés sur IP, est devenu une technologie éprouvée. Une technique qui permet d’intégrer la voix aux données transmises par paquets sur un réseau utilisant le protocole IP. la voix sur IP permet le transport de la voix comme n’importe quel genre de données sur l'ensemble du réseau qui accepte le protocole IP, tels que l’Internet publique, le réseau d’entreprise/privé ou bien une combinaison des deux
  • 6.
    A. RISQUE DESECURITE 6 -Ecoute: la captation d’informations de session (qui appelle qui, pendant combien de temps, pour faire quoi: voix, messagerie instantanée, visioconférence…) Usurpation d'identité : L’usurpation d’identité consiste pour un individu, à l’intérieur ou à l’extérieur de l’entreprise à se faire passer pour quelqu’un d’autre -Spam / Scam : Le Scam est l’équivalent pour la ToIP du Spam pour l’email Obstruction : L’obstruction consiste pour un pirate à empêcher un appel entrant ou sortant d’aboutir -Virus -Vol d'informations confidentielles -Saturation du réseau: Blocage de l'ensemble des appels
  • 7.
    B. SOLUTIONS 7 Solution Voip: Asterisk Solution Sécurité Site to Site : StrongSwan Solution Sécurité Host to site : OpenVpn Nous allons Déployer ces logiciels ci-dessous conformément à nos besoins :
  • 8.
    8 1.ASTERISK Asterisk est unautocommutateur téléphonique privé (PABX) libre et propriétaire (publié sous licence GPL et licence propriétaire) pour systèmes GNU/Linux. Il permet, entre autres, la messagerie vocale, les files d'attente, les agents d'appels, les musiques d'attente et les mises en garde d'appels, la distribution des appels. Il est possible également d'ajouter l'utilisation des conférences par le biais de l'installation de modules supplémentaires et la recompilation des binaires. Asterisk implémente les protocoles H.320, H.323 et SIP, ainsi qu'un protocole spécifique nommé IAX (Inter-Asterisk eXchange). Ce protocole IAX permet la communication entre deux serveurs Asterisk ainsi qu'entre client et serveur Asterisk. Asterisk peut également jouer le rôle de registrar et passerelle avec les réseaux publics (RTC, GSM, etc.) Asterisk est extensible par des scripts ou des modules en langage Perl, C, Python, PHP, et Ruby. C.INFORMATION
  • 9.
    9 Un VPN estun réseau privé virtuel permettant de connecter plusieurs réseaux distants de manière sécurisée a travers un tunnel via une connexion non sécurisée Ex: Internet L'utilisation de ce système va donc nous permettre d'accéder à tous les ordinateurs connectés sur le même VPN et de ce fait avoir un accès au réseau interne (de votre domicile ou encore de votre entreprise) 2.VPN INFORMATION
  • 10.
    10 3.StrongSwan Lors de lamise à niveau de Debian 6 vers Debian 8, le softwarestack IPSEC passe de Openswan à Strongswan. StrongSwan est donc une implémentation IPsec multiplateforme. Elle permet de créer un tunnel Ipsec, donc de réaliser un VPN entre deux sites. Elle chiffre et authentifie les données. Elle fonctionne en utilisant des certificats ou une clé partagée (c'est ce que nous allons utiliser). INFORMATION
  • 11.
    11 OpenVPN est unserveur open source permettant d’authentifier -Deux sites distants -Des clients auprès d’un serveur au travers d’un tunnel sécurisé ceci par : Une clé privée partagé à l’avancé Des certificats électroniques ; Authentification username/password 4.OpenVpn INFORMATION
  • 12.
    D. APPLICATIONS 1. Telechargementd’asterisk En tant que root, exécuter ces commandes pour faire une mise à jour et une mise à niveau : #apt-get update #apt-get upgrade Ensuite, installer les dépendances nécessaires à la bonne marche d’asterisk. #apt-get install build-essential libncurse-5-dev linux-headers-$(uname –r) libsqlite3-dev libssl-dev uuid Après, créer le dossier asterisk dans le repertoire /usr/src/ et y télécharger le package compressé d’astérisk (de préférence la dernière version). #cd /usr/src/ #mkdir asterisk #cd asterisk/ #wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-15.6.0.tar.gz 12
  • 13.
    APPLICATIONS 2.Installation d’asterisk En outre,décompresser asterisk et se placer dans le répertoire décompressé. #tar xvzf asterisk-15.6.0.tar.gz #cd asterisk-15.6.0/ Enfin, exécuter cette commande et saisir au moment venu l’indicatif du pays (224 pour la Guinée ou 221 pour le Sénégal). #contrib/scripts/install_prereq install 13
  • 14.
    APPLICATIONS Installation d’asterisk Exécuter successivementles commandes suivantes : #./configure 14 Si tout se déroule bien vous aurez ce logo d’asterisk
  • 15.
    APPLICATIONS Installation d’asterisk Choisir cesoptions pour les différents modules et quitter en enregistrant : 15 Les sections Core Sound Packages et Extras Sound Packages permettent d’ajouter les sons en français
  • 16.
    APPLICATIONS Installation d’asterisk Exécuter successivementces différentes commandes : #make 16 Si tout se déroule bien vous aurez un message pareil
  • 17.
    APPLICATIONS Installation d’asterisk 17 Si toutse déroule bien vous aurez un message pareil
  • 18.
  • 19.
    APPLICATIONS Installation d’asterisk 19 Démarrer etlancer asterisk Après avoir obtenu cette ligne de commandes on peut passer à la configuration des fichiers.
  • 20.
    APPLICATIONS 3. Configuration d’asterisk 20 Lancerun nouveau terminal afin de vider et personnaliser comme suit les fichiers sip.conf, users.conf, voicemail.conf et extensons.conf se trouvant dans le repertore /etc/asterisk
  • 21.
    APPLICATIONS Configuration d’asterisk 21 Permet d’émettreet recevoir un appel Permet la connexion à partir de n’importe quel poste Fréquence digitale Désactiver tous les codecs Activer le codec ulaw L’utilisateur possède un compte sip L’utilisateur possède un compte iax L’utilisateur peut mettre un appel en attente L’utilisateur peut transférer des appels L’utilisateur possède une boite vocale L’utilisateur peut mettre des appels dans le parking L’utilisateur peut faire la conférence L’utilisateur peut renvoyer des appels Le groupe d’appel (varie de 0 à 63) Permettre un utilisateur du groupe 1 prendre l’appel (varie de 0 à 63) Permet le retour d’appel Active une forme de mode symmetric RTP et SIP comedia
  • 22.
  • 23.
    APPLICATIONS Configuration d’asterisk 23 Dicte lenuméro de l’appelant avant de jouer le message laissé Nombre maximum de messages sur la boite vocale (ici 100) Durée d’un message vocale. Si =0 alors pas de limite Durée minimum d’un message vocale Nombre maximum d’erreurs pour avoir accès à la boite vocale Permet à l’appelant de réécouter son message avant 0000 correspond au mot de passe de la boite vocale de l’utilisateur Il est possible de désactiver l’utilisation du mot de passe en ne spécifiant rien avant la virgule comme suit : 6001 => , Mathos Goumou
  • 24.
  • 25.
    APPLICATIONS Configuration d’asterisk 25 Revenir surl’interface ligne de commande d’asterisk et taper successivement les commande reload (pour recharger asterisk afin de prendre en compte les modifications) et sip show users (pour voir les utilisateurs créés)
  • 26.
    APPLICATIONS 4. Configuration Clientasterisk1 26 Configuration des softphones X-Lite : télécharger X-lite (ici on utilisera des clients windows) et configurer les softphones comme suit afin de pouvoir émettre et recevoir un appel.
  • 27.
  • 28.
  • 29.
    C. APPLICATIONS 29 NB :L’installation et la configurons d’asterisk doivent être reproduites et adaptées sur le serveur debian2
  • 30.
    APPLICATIONS 5. Configuration dutrunk 30 Le trunk nous permet d’interconnecter deux asterisk afin de permettre l’appel entre les sites d’extensions differentes. Nous aurons juste besoin d’éditer les fichiers sip,conf et extensions,conf comme suit : register : Cette ligne permet au serveur debian1 de s’enregistrer sur le serveur debian2 (192.168.20.1) avec le login IPBX60 et le mot de passe. Ajouter un utilisateur (ici IPBX70) dans le fichier sip.conf sur le serveur debian1. IPBX70 est un utilisateur du serveur debian2 qui permettra d’assurer le trunk. Lorsqu’un utilisateur de debian1 voudra joindre un utilisateur de debian2, dans un premier temps l’appel est transmis à IPBX70 qui se chargera de le transférer à son tour à l’utilisateur visé
  • 31.
    APPLICATIONS Configuration du trunk 31 Laligne en jaune permet de rediriger les appels de debian2 (extensions comprises entre 7000 et 7999) vers debian1
  • 32.
    APPLICATIONS Configuration du trunk 32 register: Cette ligne permet au serveur debian2 de s’enregistrer sur le serveur debian1 (192.168.10.1) avec le login IPBX70 et le mot de passe. Ajouter un utilisateur (ici IPBX60) dans le fichier sip.conf sur le serveur debian2. IPBX60 est un utilisateur du serveur debian1 qui permettra d’assurer le trunk. Lorsqu’un utilisateur de debian2 voudra joindre un utilisateur de debian1, dans un premier temps l’appel est transmis à IPBX60 qui se chargera de le transférer à son tour à l’utilisateur visé
  • 33.
    APPLICATIONS Configuration du trunk 33 Laligne en jaune permet de rediriger les appels de debian1 (extensions comprises entre 6000 et 6999) vers debian2
  • 34.
    APPLICATIONS 6.Configuration client asterisk2 34 Configurons unsoftphone sur debian2, puis testons le trunk. Cliquer sur le bouton en bleu en bas
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
    APPLICATIONS 8. Sécurisation 39 Vu lapossibilité pour un pirate d’intercepter les appels, il est plus que nécessaire de sécuriser les appels intra-sites et inter-sites afin de préserver la confidentialité, l’intégrité et l’intimité des utilisateurs. Pour ce faire nous utiliserons StrongSwan entre les deux astérisk et openvpn au sein de chaque asterisk. Nous aurons désormais deux cartes réseau referez vous à notre architecture ens37 ens33 ens33 ens37 1 2
  • 40.
    APPLICATIONS Sécurisation 40 8. 1. Utilisationde StrongSwan entre les deux sites : Assurez-vous que tous les packages sont opérationnels, puis installer Ipsec et StrongSwan sur les deux serveurs comme suit : Sur debian1 Sur debian2
  • 41.
    APPLICATIONS Sécurisation 41 Utilisation de StrongSwanentre les deux sites : Assurez-vous que le trafic UDP est autorisé sur les ports 500 (IKE) et 4500 (pour la traversée IPsecNat) en exécutant successivement ces lignes de commande sur les deux serveurs : iptables -t filter -A INPUT -p 50 -j ACCEPT iptables -t filter -A INPUT -p 51 -j ACCEPT iptables -t filter -A INPUT -p udp --dport 4500 -j ACCEPT iptables -t filter -A INPUT -p udp --dport 500 -j ACCEPT iptables -t filter -A INPUT -p udp --dport 1701 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 1701 -j ACCEPT iptables -t filter -A OUTPUT -p 50 -j ACCEPT iptables -t filter -A OUTPUT -p 51 -j ACCEPT iptables -t filter -A OUTPUT -p udp --dport 4500 -j ACCEPT iptables -t filter -A OUTPUT -p udp --dport 500 -j ACCEPT iptables -t filter -A OUTPUT -p udp --dport 1701 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 1701 -j ACCEPT iptables -A FORWARD -s 192.168.10.0/24 -j ACCEPT iptables -A FORWARD -d 192.168.10.0/24 -j ACCEPT iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j SNAT --to-source 10.10.10.1 iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o ens33 -j MASQUERADE iptables -A INPUT -p udp -m udp --dport 5060 -j ACCEPT iptables -A INPUT -p udp -m udp --dport 10000:20000 -j ACCEPT iptables -A INPUT -p UDP -j DROP iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT NB: Les 5 dernières lignes sont pour OpenVPN que nous verrons plus tard. Nous les avons exécutées ici afin de pouvoir les enregistrer une bonne fois pour toutes avec la ligne de commande suivante : Faire de même sur debian2
  • 42.
    APPLICATIONS Sécurisation 42 Utilisation de StrongSwanentre les deux sites : Faire de même sur debian2 Modifier le fichier sysctl.conf afin d’autoriser le routage des paquets IPv4 comme suit en éditant la seule ligne :
  • 43.
    APPLICATIONS Sécurisation 43 Utilisation de StrongSwanentre les deux sites : Nous pouvons passer à la configuration de StrongSwan. Pour ce faire, on va utiliser deux fichiers : /etc/ipsec.conf qui va contenir la configuration de StrongSwan. Attention ce fichier utilise des tabulations pour différencier les catégories. Il faut impérativement utiliser des tabulations sous peine de ne pas pouvoir faire fonctionner IPsec. /etc/ipsec.secrets qui va simplement contenir la clé pré-partagée qui permettra de chiffrer les données transmis via le VPN. L'échange de la clé se fera d'ailleurs via le port 500 en udp tandis ce que les données transiteront sur le port 4500 toujours en udp.
  • 44.
    APPLICATIONS Sécurisation 44 Utilisation de StrongSwanentre les deux sites : Sur debian1 S'il vous plaît gardez à l'esprit que ici pour left= vous devez entrer l'adresse IP du serveur sur lequel vous travaillez actuellement, dans notre cas, debian1. Leftsubnet= l’adresse réseau du Site 1. right= l’adresse du serveur auquel nous allons nous connecter, dans ce cas, debian2. Rightsubnet= l’adresse réseau du Site 2.
  • 45.
    APPLICATIONS Sécurisation 45 Utilisation de StrongSwanentre les deux sites : Sur debian1 Il est très important de séparer chaque élément avec des espaces, pas des tabulations.
  • 46.
    APPLICATIONS Sécurisation 46 Utilisation de StrongSwanentre les deux sites : Sur debian2 S'il vous plaît gardez à l'esprit que ici pour left= vous devez entrer l'adresse IP du serveur sur lequel vous travaillez actuellement, dans notre cas, debian2. Leftsubnet= l’adresse réseau du Site 2. right= l’adresse du serveur auquel nous allons nous connecter, dans ce cas, debian1. Rightsubnet= l’adresse réseau du Site 1.
  • 47.
    APPLICATIONS Sécurisation 47 Utilisation de StrongSwanentre les deux sites : Sur debian2 Il est très important de séparer chaque élément avec des espaces, pas des tabulations.
  • 48.
    APPLICATIONS Sécurisation 48 Utilisation de StrongSwanentre les deux sites : Sur debian1 Sur debian2 Démarrage d’Ipsec sur les deux serveurs :
  • 49.
    APPLICATIONS Sécurisation 49 Utilisation de StrongSwanentre les deux sites : Sur debian1 Sur debian2 Lancement du tunnel Ipsec sur les deux serveurs :
  • 50.
    APPLICATIONS Sécurisation 50 Utilisation de StrongSwanentre les deux sites : Vérification du tunnel Ipsec : Faisons un ping vers le serveur debian2 à partir du serveur debian1 Le ping passe sans aucun problème.
  • 51.
    APPLICATIONS Sécurisation 51 Utilisation de StrongSwanentre les deux sites : Vérification du tunnel Ipsec : Sans pour autant arrêter le ping précédant, allons sur le serveur debian2 et vérifions le trafic sur le tunnel. On constate que tout fonctionne bien
  • 52.
    APPLICATIONS Sécurisation 52 8. 2. Utilisationd’OpenVPN comme serveur pour l’authentification des clients : a- Installation d’openvpn server: b- Configuration d’openvpn coté serveur : Dans les lignes qui suivent nous allons créer le répertoire keys dans /etc/openvpn/ (répertoire dans lequel nos clés seront créées). ensuite copier le répertoire easy-rsa dans openvpn. Enfin nous éditerons le fichier vars.
  • 53.
    APPLICATIONS Sécurisation 53 Utilisation d’OpenVPN commeserveur pour l’authentification des clients : Configuration d’openvpn coté serveur : génération des clefs et certificats
  • 54.
    APPLICATIONS Sécurisation 54 Utilisation d’OpenVPN commeserveur pour l’authentification des clients : Configuration d’openvpn coté serveur : genération des clefs et certificats
  • 55.
    APPLICATIONS Sécurisation 55 Utilisation d’OpenVPN commeserveur pour l’authentification des clients : Configuration d’openvpn coté serveur : genération des clefs et certificats
  • 56.
    APPLICATIONS Sécurisation 56 Utilisation d’OpenVPN commeserveur pour l’authentification des clients : genération des clefs et certificats
  • 57.
    APPLICATIONS Sécurisation 57 Utilisation d’OpenVPN commeserveur pour l’authentification des clients : Configuration d’openvpn coté serveur : genération des clefs et certificats
  • 58.
    APPLICATIONS Sécurisation 58 Utilisation d’OpenVPN commeserveur pour l’authentification des clients : Configuration d’openvpn coté serveur :Editer le fichier server.conf
  • 59.
    APPLICATIONS Sécurisation 59 Utilisation d’OpenVPN commeserveur pour l’authentification des clients : Configuration d’openvpn coté serveur :redemarrage du serveur
  • 60.
    APPLICATIONS Sécurisation 60 Utilisation d’OpenVPN commeserveur pour l’authentification des clients : c- Configuration du client avec openvpnGui : Coté client (ici un client windows) il faudra tout d’abord télécharger et installer OpenVPN GUI. En suite installer et configurer ssh sur le server afin de récupérer les clés et certificats suivants : ca.crt, ta.key, client1.crt, client1.key; et les coller dans le répertoire C:ProgrammesOpenVPNconfig du client windows. Enfin copier le fichier client du répertoire C:ProgrammesOpenVPNsample-config, coller-le dans le répertoire C:ProgrammesOpenVPNconfig et le renommer en client1. Si tout a été bien fait vous devez avoir ces fichiers dans le répertoire suivant :
  • 61.
    APPLICATIONS Sécurisation 61 Utilisation d’OpenVPNGui commeserveur pour l’authentification des clients : c- Configuration du client avec openvpnGui : Editer comme suit le fichier client1.ovpn.
  • 62.
    APPLICATIONS Sécurisation 62 Utilisation d’OpenVPN commeserveur pour l’authentification des clients : c- Configuration du client avec openvpnGui : Terminer les modification, enregistrer et quitter
  • 63.
    APPLICATIONS Sécurisation 63 Utilisation d’OpenVPN commeserveur pour l’authentification des clients : Connection du client : Exécuter OpenVPN GUI en tant qu’administrateur le connecter comme illustrer ci-après. NB : Les installations ainsi que les configurations que nous venons d’effectuer doivent être reproduites sur le serveur debian2 ainsi que son client.
  • 64.
    APPLICATIONS 9. Illustration finale 64 Insérercette ligne dans le fichier sip.conf des deux serveurs afin d’autoriser les softphones à se connecter avec l’adresse réseau des clients nomades. Sur debian1 Sur debian2 Les softphones peuvent être connectés aux serveurs avec ces adresses
  • 65.
    APPLICATIONS Illustration finale 65 Les appelspeuvent désormais s’opérer de façon sécurisée sans risque qu’ils soient écoutés. Whireshark ne peut plus capter le trafic du protocole RTP. Il a désormais à faire au protocole OpenVPN. D’où la sécurisation.
  • 66.
    CONCLUSION 66 La téléphonie surIP est une alternative intéressante et évolutive par le fait qu’elle permet aux entreprises d’économiser beaucoup et d’amoindrir les dépenses concernant les appels . Au cour de nos recherches nous avons pu mettre en place deux serveurs sécurisés avec deux services ,ce travail est donc nécessaire non seulement dans ce cadre puis dans des cadres qui ne concernent pas forcement la TOIP si nos différents serveurs octroient d’autre service le Traffic sera également sécurisé pas le biais de strongswan et d’openvpn
  • 67.
    Veuillez nous contacterpour plus d’informations sur: Yaya N’tyeni Sanogo E-mail: yanssang78@gmail.com Tel: (+221) 77 866 80 35 (+223) 78 55 96 42 Armand Mhatos Goumou E-mail: mathosgoumou@gmail.com Tel : (+221) 77 596 41 92 (+224) 621 72 33 97 Jules Gélus Mahouekpo E-mail: julesorph@gmail.com Tel : (+221) 77 174 18 42 67