Vous êtes sur la page 1sur 51

REPUBLIQUE DU SENEGAL MINISTERE DE L’ENSEIGNEMENT

SUPERIEUR DE LA RECHERCHE ET
DE L’INNOVATION

---------
DIRECTION GENERALE DE
Un Peuple - Un But - Une Foi L’ENSEIGNEMENT SUPERIEUR
--------- ---------

Ecole Centrale des Logiciels Libres


et des Télécommunications

Mise en place des services réseau et sécurisation des applications avec TLS

Présenté par : Sous la supervision :


Tchapo tchedre Prof. Samuel OUYA
SOMMAIRE
Partie I : Mise en place des services réseau classiques
1. Configuration du serveur Web (Apache)
2. Configuration du serveur FTP
3. Configuration du serveur MySQL
4. Configuration du serveur de messagerie
Partie II : Sécurisation des applications avec TLS (certificat)
1. Configuration du serveur Web pour HTTPS
2. Configuration du serveur FTP pour FTPS
3. Configuration du serveur MySQL pour la communication sécurisée
Partie III
Configuration du serveur TOIP pour SRTP

Partie I : Mise en place des services réseau classiques

1. Configuration du serveur Web (Apache)


• Installer et configurer un serveur web Apache

Installation d’apache2

apt install apache2-server

Configurer un serveur web Apache

Pour configurer un serveur web Apache on se déplace dans /etc/apache2/site-available/

Puis crée un fichier conf qui va contenir les informations sur notre serveur
Ensuit on active le site avec a2ensite nom_site et systemctl reload apache2 pour charger les
nouvelles configurations

• Créer une page HTML simple pour tester le bon fonctionnement du serveur web.

Ce déplacer dans le dossier root de apache pour cree notre page html

Création de notre page html rtn.html

Hébergement de notre site en local

Modifions ensuite le fichier /etc/hosts pour ajouter


Puis dans le navigateur http://www.ec2lt.sn pour afficher la page d’accueil

Notre page d’accueil

2. Configuration du serveur FTP


• Installer et configurer un serveur FTP (vsftpd)

Installation de vsftpd

apt install vsftpd


Configurer un serveur FTP (vsftpd)

L’écoute des requêtes on édite le fichier /etc/vsftpd.conf pour la configuration.

On autorise le transfert de fichiers des deux sens

On enregistre les modifications et service vsftpd restart pour redémarre le service

Ifconfig pour voir l’adresse IP

• Créer des utilisateurs FTP


• Mise en évidence du serveur

Ligne de commande
Filezilla
• Wireshark pour analyser et monter que les informations échangées entre le client et le serveur
passent en clair

Démarrage de Wireshark

On sélectionne any pour écoute sur tous les ports


Pour filtre les informations on chercher ftp

Ci-dessous nous pouvons voir le login du client en claire

Le pass du client en claire ci-dessus également

Pareil pour le deuxième client sont login et son mot de passe est en claire
3. Configuration du serveur MySQL
• Installation du serveur MySQL
Configuration un serveur MySQL

• Créer une base de données et un utilisateur avec des privilèges d'accès.


• Se connecter à distance avec cet utilisateur et effectuer des requêtes

• Analyser les requêtes avec wireshark et montrer que la connexion n’est pas sécurisée
4. Configuration du serveur de messagerie
• Installer et configurer un serveur de messagerie (postfix & dovecot)

Installation postfix , dovecot-pop3d, dovecot-imapd


Configuration de postfix et dovecot

Postfix

Ajouter home_mailbox = Maildir/ et myorigin = ec2lt.sn

Dovecot

Commenter #mail_location = mbox:~/mail:INBOX=/var/mail/%u

Puis décommenter mail_location = maildir:~/Maildir


• Créer deux comptes bouki et leuk

• Installer et paramétrer Roundcube

Installation

Configuration roundcube

Hébergement de l’application roundcube sous apache2

On deconmente la lige (Alias /roundcube /var/lib/roundcube)

Puis redémarrée apache2


Configurons roundcube en tant que client de messagerie

Paramétrage du serveur imap

Vérifions le numéro de port 25


Correspondance entre le nom du domaine et l’adresse du serveur Imap

Interface de connexion de roundcube

• Utiliser Roundcube pour se connecter à la boite mail de bouki


•Thunderbird pour se connecter à la boite mail de leuk
Configuration du mail entrant et sortant dans (Configuration manuelle)
• Depuis roundcube (compte bouki) envoi de mail à leuk
• le mail reçu par leuk (sur Thunderbird)

Partie II : Sécurisation des applications avec TLS (certificat)


1. Configuration du serveur Web pour HTTPS
• Installer OpenSSL pour générer les certificats TLS.

Installation d’OpenSSL

• Générer un certificat auto-signé pour notre serveur web


• Configurer le serveur Web pour utiliser le certificat TLS afin de fournir des connexions sécurisées
via HTTPS.
2. Configuration du serveur FTP pour FTPS

• Configuration du serveur FTP pour prendre en charge FTPS (FTP sécurisé) en utilisant un certificat
TLS.

(chroot_local_user=YES) pour que les utilisateurs ne soient pas autorisés à quitter leur répertoire personnel ftp

1. user_sub_token=$USER: Cette ligne affecte la valeur de la variable d'environnement shell


$USER à une nouvelle variable user_sub_token. La variable $USER stocke généralement le
nom d'utilisateur actuel de l'utilisateur.
2. local_root=/home/$USER/ftp: Définit la variable local_root sur le chemin
/home/$USER/ftp. La variable $USER sera remplacée par le nom d'utilisateur actuel, de
sorte que le chemin sera spécifique à l'utilisateur.
3. pasv_min_port=10000: Cette ligne définit la pasv_min_port variable sur 10000. Cela signifie
que le numéro de port minimum pour la plage du mode passif sera 10000.
4. pasv_max_port=10100: Cette ligne définit la pasv_max_port variable sur 10100. Cela signifie
que le numéro de port maximum pour la plage du mode passif sera 10100.
Donc 10000à 10100. Le serveur FTP allouera les connexions de données pour le mode passif

Autoriser le trafic TCP entrant sur les ports 20, 21 et la plage de 10000 à 10100 à partir de n'importe
quelle adresse IP source
Création d’un compte utilisateur

Changer la propriété du répertoire pour restreindre l'accès à un répertoire spécifique et à son


contenu pour tous les utilisateurs. Cela peut être utile pour certaines configurations de serveur FTP

chmod a-w /home/leuk/ftp/ est utilisée pour supprimer l'autorisation d'écriture pour tous les
utilisateurs du répertoire /home/leuk/ftp/
chown leuk:leuk /home/leuk/ftp/tp/ change la propriété du répertoire /home/leuk/ftp/tp/ à
l'utilisateur et au groupe nommés leuk:leuk

Echo utilisé pour ajouter le nom d'utilisateur "leuk" au fichier vsftpd.userlist du répertoire /etc

Génère un SSL/TLS auto-signé certificat et l'enregistre dans le répertoire /etc/ssl/private/ pour


sécuriser les connexions FTP, lors de l'utilisation du serveur FTP VSFTPD

ssl_enable=YES: Pour active SSL


Spécifié le chemin vers le fichier de certificat RSA et la clé privée RSA que le serveur FTP utilisera pour
le chiffrement et l'authentification SSL/TLS

Dans le fichier de configuration vsftpd.cnf


userlist_enable=YES : Active le contrôle d'accès des utilisateurs à l'aide d'un fichier de liste
d'utilisateurs. Lorsqu'il est défini sur "OUI", il indique que le serveur VSFTPD appliquera l'accès basé
sur le contenu du fichier de liste d'utilisateurs. Spécifié le chemin d'accès au fichier de liste
d'utilisateurs que VSFTPD utilisera pour contrôler l'accès des utilisateurs.

Dans le fichier de configuration de vsftpd.cnf

Lorsque force_local_data_ssl est défini sur "YES", cela signifie que le cryptage SSL/TLS est appliqué
pour les transferts de données locaux. Les transferts de données locaux font référence aux transferts
de fichiers entre le client FTP
Lorsque force_local_logins_ssl est à "YES", L'application du chiffrement SSL/TLS pour les transferts
de données et les connexions permet d'améliorer la sécurité des connexions FTP

Toujours dans le fichier de configuration de vsftpd.cnf

Redémarrer le service

Test :
• Utilisation wireshark pour monter que la connexion et transfert de données sont maintenant
chiffrés
La connexion et transfert de données sont maintenant chiffrés

4. Configuration du serveur MySQL pour la communication sécurisée

• Configurer le serveur MySQL pour utiliser un certificat TLS afin de sécuriser les connexions avec le
client MySQL.

On commence par :
Connexion a distance
• Utiliser wireshark pour montrer que la connexion à la base et les requêtes sql sont chiffrées

Partie III
1. Configuration du serveur TOIP pour SRT
• Installer et configurer un serveur Asterisk

Installation d’asterisk 20
Téléchargement depuis la source.

Lien de téléchargement :

#wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-20-current.tar.gz

Après téléchargement, on le désarchive dans le dossier /usr/local/

Installation des prérequis

Se déplacer dans le dossier /usr/local/asterisk-20.31/contrib/scripts/

Ensuite executer #./install_prereq install

Installation des codecs vidéo et audio de dernière génération.

#apt install libvpx-dev libopus-dev

#./configure
Pour activer certains modules:

#make menuselect
#make

#make install
#make config

#make sample

• Création de compte PJSIP

la création de comptes se fait comme suit : se deplacer dans /etc/ asterisk/

root@tchapo:~# cd /etc/asterisk/

Prise en compte du canal pjsip.

D’abord, avant d’utiliser pjsip.conf pour la création des comptes on doit s’assurer que le fichier
sip.conf est arreté.si c est pas arrêté : pour l’arrêter on part dans le fichier modules.conf est on active

#nano modules.conf
Dans pjsip.conf, la création de comptes se fait comme suit :

root@tchapo:/etc/asterisk# nano +2000 pjsip.conf

Pjsip.conf pour la création des comptes comme on vient de le faire en haut et extensions.conf pour le
plan de numérotation.

• Configurer les extensions pour permettre aux utilisateurs de passer des appels internes.

root@tchapo:/etc/asterisk# nano +2000 extensions.conf

On sauvegarde la config puis on lance Asterisk en mode CLI comme suit :

root@tchapo:/etc/asterisk# asterisk –rvvvvvvv


• Tester les appels (utiliser Blink comme client)

D’adresse IP

Ajouter du compte sur blink


Ajouter du compte sur PortSIP UC(android)
Test appels:
• Ouvrir Wireshark et intercepter les appels pour écouter les conversations
La capture ci-dessus montre qu’montre peut intercepter le flux, maintenant pour écouter le flux il
suffit de cliquer sur Téléphonie en suite sur Appel VoIP
Après avoir clique sur lire les flux, on à la capture ci-dessous, maintenant on peut cliquer sur le
bouton Play
• Configurer le serveur Asterisk pour utiliser SRTP (Secure Real-time Transport Protocol) afin de
sécuriser les communications vocales.

• contrib/scripts/ast_tls_cert pour générer les certificats et clés

Vous aimerez peut-être aussi