TP – Segmenter un réseau, filtrer et durcir un serveur Linux
BTS SIO SISR 1re année – Bloc 3 – S14
Note
But. Situation : Comment organiser un réseau et configurer un serveur pour qu'une intrusion soit difficile, et ses conséquences limitées ?
Comment ce TP fonctionne. Avant de manipuler, tu écris ce que tu anticipes (« J'anticipe »). Puis tu testes et tu notes ce que tu constates. Tu comprends ce que fait chaque commande (« Je comprends »). Un bilan de compétences clôt la séance. Les manipulations se font sur des machines virtuelles de laboratoire, isolées du réseau de l'établissement. Les identifiants communs d'un TP sont des identifiants de laboratoire : ils ne se réutilisent jamais ailleurs.
Objectif
Concevoir l'architecture réseau sécurisée d'une PME avec sa matrice de flux, puis durcir un serveur Linux en mesurant l'effet de chaque étape.
Contraintes
- Binôme, durée : 3 h 20.
- Partie A : sur papier ou avec un éditeur de schémas. Parties B et C : deux VM Debian de laboratoire (
srvà durcir,admposte d'administration). - Risque de coupure d'accès : garde toujours une console de la VM
srvouverte (fenêtre de la VM, pas SSH) pendant les modifications.
Partie A. Concevoir l'architecture de CycloShop (50 min)
Situation (fictive). CycloShop (35 salariés) a : un site web de vente en ligne, un serveur de fichiers, un serveur de base de données, un serveur de messagerie hébergé à l'extérieur, 30 postes, 4 imprimantes réseau, un Wi-Fi invités et un accès VPN pour 6 télétravailleurs. Un administrateur gère l'ensemble.
- Dessine le réseau avec au moins quatre zones. Place chaque élément dans sa zone. ______________________
- Remplis la matrice de flux (le port si le flux est autorisé, « Non » sinon).
| De ↓ / Vers → | Internet | DMZ (web) | Serveurs (fichiers, base) | Administration | Imprimantes |
|---|---|---|---|---|---|
| Internet | — | ||||
| Postes (LAN) | |||||
| Wi-Fi invités | |||||
| Télétravail (VPN) | |||||
| DMZ (web) | |||||
| Administration |
- Où places-tu le serveur de base de données ? Qui peut lui parler ? ______________________
- Où places-tu le Wi-Fi invités ? Que doit-il pouvoir atteindre ? Où placerais-tu aussi les téléphones personnels des salariés ? ______________________
- Que se passe-t-il si un attaquant prend le contrôle du serveur web de la DMZ ? Jusqu'où peut-il aller dans ton schéma ? ______________________
- Quelle est la règle finale de ton pare-feu ? ______________________
Partie B. Mesurer l'état initial du serveur (30 min)
Sur la VM srv :
sudo apt update && sudo apt install -y lynis
ss -tlnp
systemctl list-unit-files --state=enabled --type=service | head -30
sudo lynis audit system --quick 2>&1 | tail -40
sudo grep -E "hardening_index|warning\[\]|suggestion\[\]" /var/log/lynis-report.dat | head -20
Je comprends.
| Commande | Rôle |
|---|---|
ss -tlnp |
Liste les ports TCP en écoute et le programme associé |
systemctl list-unit-files --state=enabled |
Services lancés au démarrage |
lynis audit system |
Audite la configuration (authentification, noyau, réseau, services…) |
hardening_index |
Score de durcissement donné par Lynis (de 0 à 100) |
warning[], suggestion[] |
Avertissements et suggestions du rapport |
Questions.
- Quels ports sont à l'écoute sur
srv? Chacun est-il nécessaire ? ______________________ - Quel est le score initial ? Note-le :
score_avant = ______ - Cite deux avertissements ou suggestions importantes de Lynis. ______________________
Partie C. Durcir le serveur (100 min)
Applique les mesures une par une, en testant après chacune.
C1. SSH par clés
Sur la VM adm, crée une clé et envoie-la à srv (adapte l'adresse de srv) :
ssh-keygen -t ed25519 -f ~/.ssh/id_lab -C "labo-sisr"
ssh-copy-id -i ~/.ssh/id_lab.pub etudiant@192.168.56.10
ssh -i ~/.ssh/id_lab etudiant@192.168.56.10 "hostname"
Sur srv, crée /etc/ssh/sshd_config.d/10-durcissement.conf :
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3
LoginGraceTime 30
AllowUsers etudiant
X11Forwarding no
J'anticipe. Depuis adm, une connexion sans clé (ssh -o PubkeyAuthentication=no etudiant@192.168.56.10) va-t-elle réussir ? ______________________
Éléments de réponse
Non : Permission denied (publickey). Le serveur n'accepte plus le mot de passe.
ssh -o PubkeyAuthentication=no etudiant@192.168.56.10
ssh -i ~/.ssh/id_lab root@192.168.56.10
ssh -i ~/.ssh/id_lab etudiant@192.168.56.10 "echo connexion par clé OK"
- Pourquoi lancer
sshd -tavantreload? Que risquait-on sinon ? ______________________ - Pourquoi désactiver l'authentification par mot de passe fait-il disparaître toute une famille d'attaques (S03) ? ______________________
- Où est stockée la clé privée sur
adm? Comment la protéger (phrase secrète) ? ______________________
C2. Pare-feu local en refus par défaut
sudo apt install -y ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow from 192.168.56.20 to any port 22 proto tcp
sudo ufw enable
sudo ufw status verbose
Teste depuis adm, puis depuis une autre machine ou adresse :
Je comprends.
| Commande | Rôle |
|---|---|
default deny incoming |
Refus par défaut de tout le trafic entrant |
default allow outgoing |
Autorise les connexions sortantes (à resserrer sur un serveur sensible) |
allow from … to any port 22 |
N'autorise que le poste d'administration à joindre SSH |
enable |
Active les règles (après avoir ouvert l'accès SSH !) |
- Pourquoi a-t-on ouvert le port 22 avant
ufw enable? ______________________ - Que répond le port 80 ? Est-ce « fermé » ou « filtré » (silencieux) ? ______________________
- Quelle règle ajouterais-tu si
srvdevait servir un site HTTPS, mais seulement au LAN192.168.56.0/24? ______________________
C3. Services et mises à jour
ss -tlnp
sudo systemctl disable --now avahi-daemon 2>/dev/null; sudo systemctl disable --now cups 2>/dev/null
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
sudo unattended-upgrade --dry-run --debug 2>&1 | tail -5
- Quels services as-tu arrêtés ? Pourquoi ? ______________________
- Quel est l'intérêt des mises à jour de sécurité automatiques ? Quel est le risque ? Comment le limiter ? ______________________
C4. Mesurer à nouveau
| Étape | Score |
|---|---|
| Avant durcissement | |
| Après SSH par clés | |
| Après pare-feu | |
| Après services et mises à jour |
- Le score a-t-il progressé ? Quelles suggestions restent ? ______________________
- Faut-il viser 100 ? Pourquoi un score n'est-il pas un objectif en soi ? ______________________
- Rédige trois lignes de documentation : ce que tu as changé, pourquoi, comment revenir en arrière. ______________________
Partie D. Vérification (20 min)
Complète la fiche de contrôle de srv :
| Contrôle | Commande | Résultat attendu | Constaté |
|---|---|---|---|
| Ports en écoute | ss -tlnp |
Uniquement ceux nécessaires | |
| SSH par clés | sudo sshd -T \| grep -E "passwordauthentication\|permitrootlogin" |
no et no |
|
| Pare-feu actif | sudo ufw status |
active, règles minimales |
|
| Mises à jour auto | systemctl status unattended-upgrades |
Actif |
Retour en entreprise
Si ta situation le permet : observe comment ton entreprise traite ce sujet, note en quelques lignes l'écart avec le TP, et, avec l'accord de ton tuteur, réalise une partie sur une situation réelle. Anonymise tes captures. Voir Transfert en entreprise.
Bilan de la séance
Remplis ce bilan seul, honnêtement : il sert à décider ce qu'il faut reprendre. Niveau : Non maîtrisé, Maîtrise partielle, Bonne maîtrise ou Excellente maîtrise (le vocabulaire des grilles nationales d'évaluation) ; Non évalué si tu n'as pas travaillé la compétence aujourd'hui.
| Compétence du référentiel | Ce que j'ai fait dans cette séance | Niveau |
|---|---|---|
| B3.3 – Sécuriser les équipements et les usages des utilisateurs | ||
| B3.4 – Garantir la disponibilité, l'intégrité et la confidentialité des services informatiques et des données de l'organisation face à des cyberattaques | ||
| B3.5A – Assurer la cybersécurité d'une infrastructure réseau, d'un système, d'un service |
Note
Les codes sont ceux du référentiel (l'arrêté numérote des activités : les codes « B… » sont un usage courant).
Je sais faire, sans aide :
- Découper un réseau en zones et justifier les flux ;
- Configurer SSH par clés et désactiver les accès risqués ;
- Poser un pare-feu en refus par défaut sans se couper l'accès ;
- Mesurer l'effet d'un durcissement avec un audit ;
- Citer deux référentiels de bonnes pratiques.
Ce que je dois reprendre : ______________________
Ma question à poser à l'enseignant : ______________________