Académique Documents
Professionnel Documents
Culture Documents
Les auteurs :
WILSON Adjétéod Save Dzidula
KANGNI Eugenio Florentin Soke Mensah
KOUVAHE amele angelique
TENGUE Yao Anani Edem
AMANA Koboyo Honoré
ADJICTA Liebe Damolta
BAWA Tchare Samoudine
TCHASSIM T. Pascal
AMOUH Tchaa Pierre
BAKA Gnimdou Magloire
AGUEDA Martin
YENA Tchindro
KEMELA E. Léonardo
AWADE Pouwèréou Dimitri
BIDOLA pazama Hugues
OUBO Nikabou Prosper
MABIGUE E. Jean-Marie
NAYO Ossétini Félicité
SONDOU Patassé Olivier
LANTAME Zita
SAMA Dodo Sandra
YAO Essona
AYOKAWARE Komivi Pierre
NABINE Mamam
GNANDI O.E. Ange-Pacôme
LAMATETOU Essodokinam
INTRODUCTION
Le déploiement de tout service informatique nécessite la mise en place des moyens
de sécurisation pour rendre plus fiables les résultats attendus de ces services.
Dans ce TP nous allons sécuriser les services WEB, FTP, MESSAGERIE et DNS.
L’intérêt de cette pratique est d’empêcher quiconque se positionnant sur le réseau
de pouvoir avoir accès au différentes informations qui y transitent.
La sécurisation du service web (HTTP) va permettre de chiffrer les données
transmises via ce protocole.
La sécurisation du protocole FTP va permettre de contrôler l’accès aux fichiers et
va chiffrer les transmissions.
La sécurisation du service de messagerie se fait par le protocole SMTP qui va
chiffrer les messages envoyés dans le réseau.
Le DNS va assurer la résolution d’adresse IP.
I. Le service http
Un serveur HTTP permet à un site web de communiquer avec un navigateur en
utilisant le protocole HTTP(S) et ses extensions (WebDAV, etc.). Apache est
probablement le serveur HTTP le plus populaire. C'est donc lui qui met à
disposition la plupart des sites Web du WWW.
Il est produit par la Apache Software Foundation. C'est un logiciel libre fourni sous
la licence spécifique Apache.
# nano /etc/apache2/sites-available/example.conf
<VirtualHost *:80>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Les lignes ci-dessus sont des directives relatives au log d'erreur et au log
d'accès de cet hôte virtuel. Ceux-ci seront donc écrits dans le
répertoire APACHE_LOG_DIR, qui est par défaut /var/log/apache2 sur
ubuntu.
# nano /etc/hosts
127.0.0.1 uk.example.com
Nous débutons cette partie en activant le protocole SSL pour que le TLS
fonctionne :
Nous pouvons créer les fichiers de clés et de certificats SSL avec la commande
#openssl
# Sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-
selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt
<VirtualHost *:443>
ServerName your_domain_or_ip
DocumentRoot /var/www/html/
SSLEngine on
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
</VirtualHost>
Voici l’image suivante :
<Directory /var/www/html/>
AllowOverride All
</Directory>
On parle alors de :
Serveur FTP
Le serveur FTP est un logiciel qui va répondre aux demandes des clients. Lorsque
le serveur reçoit une demande, il vérifie les droits et si le client à les droits
suffisants, il répond à cette demande sinon la demande est rejetée.
Le serveur FTP passe son temps à attendre. Si les demandes ne sont pas
nombreuses, les ressources utilisées par le serveur FTP sont quasi-nulles.
Client FTP
Le protocole FTP n’est pas sécurisé : les mots de passe sont envoyés sans cryptage
entre le client FTP et le serveur FTP. (Le protocole FTPS avec S pour « secure »
permet de crypter les données).
b) Configuration de la sécurisation
Nous allons configurer deux serveurs FTP différents VsFTPd et ProFTPd mais
dans la réalité un seul suffit pour avoir le service FTP.
*VsFTPd
VsFTPd est un serveur FTP conçu avec la problématique d'une sécurité maximale
contrairement aux autres serveurs FTP (ProFTPd, PureFTPd, etc.), aucune faille
majeure de sécurité n'a jamais été décelée dans VsFTPd.
Installation
configuration du VsFTPd
La configuration de VsFTPd est centralisée dans un seul et même fichier
/etc/vsftpd.conf. Appliquez les modifications suivantes en fonction du mode de
fonctionnement de VsFTPd dans le dit fichier par la commande:
#nano /etc/vsftpd.conf
Personnalisons le message de connexion au ftp en décommentant la ligne:
ftpd_banner=Bienvenue sur le serveur ftp sécurisé
- Pour permettre à vos utilisateurs locaux (ceux qui ont un compte sur la
machine) de se connecter au serveur et d'écrire:
Il faudra alors ajouter le nom des utilisateurs qui auront les accès dans le fichier
etc/vsftpd.user_list. Vous pouvez « emprisonner » certains utilisateurs dans leur
dossier personnel afin qu’ils ne puissent pas naviguer dans le système de fichier.
Note : Attention, si chroot_list_enable est à NO, cette liste devient la liste des
utilisateurs qui ne seront PAS dans leur "prison".
Voici le résultat de notre configuration
Nous constatons que le serveur a reconnu l’utilisation d’une clé de certificat non
reconnu, D’où cette notification sur l’écran.
*ProFTPd
Pour le configurer nous allons télécharger le paquet proftpd.
Les configurations du ProFTPd sont dans le fichier /etc/proftpd/proftpd.conf
mais sa configuration basique est assez suffisante pour le fonctionnement du
service FTP.
Nous allons créer des utilisateurs sur le serveur. Ce sont les comptes
d’utilisateurs de la machine serveur qui peuvent se connecter à distance, s’identifier
et effectuer des transferts de fichiers.
Pour tester son fonctionnement, nous avons trois moyens :
1. Serveur – Client FTP (Console)
Depuis une machine cliente (sur laquelle est installé un client FTP comme
ProFTPd) connectée au même réseau que la machine serveur FTP, dans le terminal,
nous allons lancer une connexion FTP (ftp adresse_IP_Serveur_FTP), nous
identifier (nom_utilisateur puis mot_de_passe). Une fois connecté, nous pouvons
Dans cet exemple, Fred, qui appartient au domaine truc.fr, veut envoyer un mail à
Marc, qui, lui, appartient au domaine machin.com.
Fred va composer son mail sur son ordinateur puis va exécuter la commande
d'envoi de son logiciel de messagerie. Le logiciel va contacter le serveur smtp du
domaine truc.fr (1), c'est ce serveur qui va se charger d'acheminer (router) le mail
vers le destinataire.
Pour prendre un exemple courant, nous allons demander un certificat qui aura ces
caractéristiques :
- valable 1 ans
- valide pour tous les sous-domaines (sauf le domaine)
- clé privée non protégée par mot de passe pour éviter qu'Apache ne le demande au
démarrage (ou redémarrage en cas de problèmes)
Après céla nous constaterons que nos trafics de message via SMTP sont cryptés.
IV. Le DNS
Dans /etc/bind/ nous allons copier le fichier db.local vers nos fichiers de zone
olivier.tg et olivier.inv.
# cd /etc/bind/
#cp db.local olivier.tg
#cp db.local olivier.inv
Nous allons modifier les fichiers comme le montre les images suivantes :
#nano olivier.tg
Ce qu’il faut retenir de la sécurisation d’un DNS est que la sécurité du serveur c’est
nos enregistrements donc cela dépendra de comment on le fera pour rendre fiable le
mappage de nom de domaine de d’adresse IP.
CONCLUSION
En définitive, chacun des services cités ci-haut a été sécurisé. Toutefois, il existe
d’autres services qu’il faut apprendre à sécuriser. Après le déploiement des services
et leurs sécurisations, il faut noter chaque service doit être surveiller pour pallier à
d’éventuels incidents dans le réseau.
Nous vous invitons à faire plus de recherches et pratiques.