Ballegi Ala
TP4 – Sécurisation d’un serveur Linux Ubuntu
1. Préparation et mises à jour :
a. Vérifier version Ubuntu et noyau :
Permet de savoir sur quelle version tu travailles (utile pour compatibilité et sécurité).
b. Mise à jour du système :
apt update rafraîchit la liste des paquets et apt upgrade installe les nouvelles versions.
c. Activer les mises à jour automatiques de sécurité :
Ballegi Ala
RSI31
Ballegi Ala
Permet d’appliquer automatiquement les correctifs de sécurité sans intervention.
2. Gestion des utilisateurs et permissions
a. Créer un utilisateur non-root avec droits sudo
On crée un utilisateur etudiant et on lui donne les droits administrateur via le groupe sudo.
Un utilisateur etudiant créé et il peut utiliser sudo sans être root.
3. Sécurisation SSH : accès par clé
a. Modifier le port SSH (2222) :
Changer la ligne :
b. Désactiver la connexion root :
c. Désactiver la connexion par mot de passe :
Apres ces modification on redémarrer ssh :
d. Générer une paire de clés SSH sur la VM client :
Les clés seront dans ~/.ssh/id_rsa (privée) et ~/.ssh/id_rsa.pub (publique).
e. Copier la clé publique sur le serveur :
Ballegi Ala
RSI31
Ballegi Ala
f. Tester la connexion :
SSH écoute sur le port 2222. Connexion root interdite. Connexion par mot de passe
désactivée → seule la clé privée fonctionne.
4. Pare-feu et contrôle réseau (UFW) :
a. Installer et activer UFW :
b. Autoriser seulement SSH (2222), HTTP et HTTPS :
Pare-feu actif. Seulement SSH(2222), HTTP(80) et HTTPS(443) autorisés.
Ballegi Ala
RSI31
Ballegi Ala
5. Protection contre les attaques (Fail2Ban) :
a. Installer Fail2Ban :
b. Configurer bannissement après 3 tentatives :
Créer un fichier [Link] dans fail2ban:
Ajouter ces lignes :
c. Vérifier dans les logs :
Après 3 mauvaises connexions SSH → IP bannie 10 min.
6. Sécurisation des services :
a. Vérifier les ports ouverts :
b. Testez la commande suivante : ss –tulnp :
ss -tulnp liste les sockets tcp/udp listening avec numéros, processus (PID/program). C’est la
commande recommandée pour connaître précisément quel service écoute quel port (utile pour
décider ce qu’il faut fermer).
Explication détaillée :
-t : affiche sockets TCP.
-u : affiche sockets UDP.
Ballegi Ala
RSI31
Ballegi Ala
-l : seulement les sockets en LISTEN (écoute).
-n : affiche adresses/ports numériques (évite résolution DNS/nom).
-p : affiche le processus (nom + PID) qui possède le socket — c’est la partie la plus
utile pour sécuriser.
Pourquoi utile ? Pour savoir quel programme ouvre un port (si c’est légitime) et donc pouvoir
décider de désactiver ou restreindre le service.
c. Lister services actifs :
d. Désactiver services inutiles (exemple : Apport) :
e. Activer AppArmor :
AppArmor limite les actions des programmes via des profils de sécurité.
Liste des ports/services actifs.
Services inutiles désactivés (ex: Apport).
AppArmor actif pour limiter les actions des programmes.
7. Audit et monitoring
a. Installer Lynis :
Ballegi Ala
RSI31
Ballegi Ala
b. Lancer un audit :
c. Lire logs système
Rapport d’audit généré par Lynis.
Logs système analysés avec journalctl
8. Durcissement du noyau avec sysctl :
a. Faites les configurations nécessaires dans un fichier .conf sous /etc/sysctl.d/
i. Créer un fichier de configuration :
ii. Ajouter :
Ballegi Ala
RSI31
Ballegi Ala
Désactiver l’IP forwarding (pas de routage) net.ipv4.ip_forward = 0
Bloquer les redirections ICMP [Link].accept_redirects = 0
[Link].accept_redirects = 0
Bloquer réponse aux pings broadcast net.ipv4.icmp_echo_ignore_broadcasts = 1
(Smurf)
Protection SYN flood net.ipv4.tcp_syncookies = 1
Empêcher le serveur de répondre aux pings net.ipv4.icmp_echo_ignore_all = 1
b. Appliquez-les avec sysctl :
c. Tester :
Avant : réponses OK.
Après : pas de réponse (bloqué).
Vérifier que l’IP forwarding est désactivé :
Le serveur ne répond plus au ping.
Attaques Smurf et SYN Flood limitées.
Conclusion :
Nous avons appliqué les principales bonnes pratiques de sécurité sur un serveur Ubuntu :
création d’un utilisateur non-root sécurisé,
durcissement SSH par clés,
configuration d’un pare-feu et Fail2Ban,
désactivation des services inutiles,
activation d’AppArmor,
Ballegi Ala
RSI31
Ballegi Ala
audit avec Lynis,
durcissement du noyau via sysctl.
👉 Résultat : un serveur plus résistant face aux attaques courantes et adapté à une mise en
production sécurisée.
Ballegi Ala
RSI31