TP – Auto-diagnostic, inventaire et durcissement d'un serveur
BTS SIO SISR 2e année – Bloc 3 – S01 – partie A individuelle, parties B et C en binôme : un tape, l'autre lit ; on échange les rôles à chaque partie
Note
But. Savoir où tu en es avant d'aborder les nouveautés de l'année. La partie A mesure tes acquis sans te noter. Les parties B et C te font vérifier en vrai, sur une machine virtuelle, l'état de sécurité d'un serveur, puis le corriger. La partie D prépare ton plan de révision.
Durée : 2 h 30 (parties A à C), plus le bilan. Prérequis : cours S01 lu.
Note
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. Un bilan de compétences clôt la séance.
Binôme : ____________ / ____________
Contraintes
- Une machine virtuelle Debian (appelée SRV) sur un réseau interne VirtualBox, avec un compte d'administration disposant de
sudo. Un second poste du même réseau (appelé CLI) sert aux tests. - Réseau de laboratoire :
192.168.50.0/24, SRV en192.168.50.10, CLI en192.168.50.20. - Fais un instantané (snapshot) de SRV avant la partie C : tu pourras revenir en arrière si tu te coupes l'accès.
- Tu notes la sortie de chaque commande (capture d'écran datée) : elle servira de preuve.
- Tout se fait sur le laboratoire : on ne teste rien sur le réseau de l'établissement.
Partie A – Auto-diagnostic (≈ 40 min, individuel, sans le cours)
But : mesurer ce qui est acquis. Réponds sans ouvrir le cours ni les notes de l'an dernier ; laisse en blanc ce que tu ne sais pas. Corrige ensuite avec les éléments de réponse et note un point par bonne réponse.
A1 – Menaces et hygiène
- Cite les trois critères de la sécurité de l'information et donne, pour chacun, un exemple d'atteinte.
- Quelle différence entre une menace, une vulnérabilité et un risque ?
- Qu'est-ce que la double extorsion ?
Éléments de réponse
- Disponibilité (service rendu inaccessible par un rançongiciel), intégrité (fichier ou virement falsifié), confidentialité (fuite de données). On accepte aussi la preuve.
- La menace est ce qui peut causer un dommage (attaquant, logiciel malveillant) ; la vulnérabilité est la faiblesse exploitable ; le risque est la possibilité qu'une menace exploite une vulnérabilité, mesurée par sa gravité et sa vraisemblance.
- Les données sont volées avant d'être chiffrées : l'attaquant réclame une rançon pour déchiffrer et menace de publier.
A2 – Poste de travail
- Quelle différence entre un ver et un virus ?
- Cite trois mesures qui réduisent le risque de rançongiciel sur un poste.
- Pourquoi retirer les droits d'administrateur local aux utilisateurs ?
Éléments de réponse
- Le ver se propage seul par le réseau ; le virus a besoin qu'un fichier hôte soit exécuté.
- Par exemple : mises à jour, antivirus ou EDR, sauvegardes hors ligne, droits restreints, filtrage des pièces jointes, sensibilisation. (Trois mesures cohérentes suffisent.)
- Un programme malveillant lancé par l'utilisateur hérite de ses droits : sans droits d'administrateur, il ne peut ni installer un service, ni désactiver la protection, ni toucher au système.
A3 – Authentification
- Cite les trois familles de facteurs d'authentification, avec un exemple chacune.
- Pourquoi stocke-t-on un hachage salé du mot de passe plutôt que le mot de passe ?
- Un code TOTP à 6 chiffres change toutes les 30 secondes. Que partagent le serveur et le téléphone pour calculer le même code ?
Éléments de réponse
- Savoir (mot de passe), avoir (téléphone, clé de sécurité), être (empreinte digitale).
- Un hachage ne se déchiffre pas : si la base fuit, l'attaquant doit tester des mots de passe un par un ; le sel (propre à chaque compte) empêche d'utiliser des tables précalculées et distingue deux mots de passe identiques.
- Un secret partagé (donné lors de l'inscription) et l'heure : le code est calculé à partir des deux.
A4 – Droits et privilèges
- Énonce le principe du moindre privilège. ______________________
- Que signifie
chmod 640 fichier? ______________________ - Un collaborateur quitte l'entreprise. Cite trois actions à mener sur ses accès. ______________________
Éléments de réponse
- Chacun ne reçoit que les droits nécessaires à sa mission, et pour la durée nécessaire.
- Propriétaire : lecture et écriture ; groupe : lecture ; autres : aucun droit.
- Par exemple : désactiver le compte (plutôt que le supprimer tout de suite), retirer l'appartenance aux groupes et les droits, récupérer matériel et clés, changer les mots de passe partagés qu'il connaissait, conserver les données utiles. (Trois actions cohérentes suffisent.)
A5 – Sauvegarde
- Que dit la règle 3-2-1 ? ______________________
- Quelle différence entre RPO et RTO ? ______________________
- Pourquoi un RAID n'est-il pas une sauvegarde ? ______________________
Éléments de réponse
- 3 copies des données, sur 2 supports de nature différente, dont 1 hors site.
- RPO : perte de données maximale acceptée (durée entre deux sauvegardes). RTO : durée maximale d'interruption acceptée avant la remise en service.
- Un RAID protège d'une panne de disque, mais pas d'une suppression, d'une erreur, d'un rançongiciel ou d'un sinistre : les données corrompues sont copiées telles quelles sur tous les disques.
A6 – RGPD
- Parmi ces informations, lesquelles sont des données à caractère personnel : une adresse IP, une raison sociale, un courriel
prenom.nom@exemple.fr, le numéro de série d'une imprimante ? ______________________ - Quel est le délai de notification d'une violation de données à la CNIL, et dans quel cas peut-on ne pas notifier ? ______________________
- Cite trois droits des personnes concernées. ______________________
Éléments de réponse
- L'adresse IP (elle peut identifier une personne) et le courriel nominatif : oui. La raison sociale (personne morale) et le numéro de série d'une imprimante : non.
- 72 heures après en avoir pris connaissance, sauf si la violation n'est pas susceptible d'engendrer un risque pour les droits et libertés des personnes.
- Par exemple : accès, rectification, effacement, limitation, portabilité, opposition.
A7 – Chiffrement
- Quelle différence entre chiffrement symétrique et asymétrique ? Donne un avantage de chacun. ______________________
- À quoi sert un certificat et qui le signe ? ______________________
- Tu télécharges un fichier et son empreinte SHA-256 est identique à celle publiée par l'éditeur. Qu'est-ce que cela garantit, et que ne garantit-il pas ? ______________________
Éléments de réponse
- Symétrique : une seule clé, rapide, mais il faut la partager. Asymétrique : paire clé publique / clé privée, pas de secret à partager au préalable, mais plus lente.
- Il lie une identité à une clé publique ; il est signé par une autorité de certification que le client juge de confiance.
- Cela garantit l'intégrité (le fichier n'a pas été altéré). Cela ne garantit ni la confidentialité, ni l'origine : si l'empreinte est publiée au même endroit que le fichier, un attaquant peut modifier les deux. Seule une signature garantit l'origine.
A8 – Architecture, journaux, incident
- Qu'est-ce qu'une DMZ, et qu'y place-t-on ? ______________________
- Quelle politique par défaut donne-t-on à un pare-feu, et pourquoi ? ______________________
- Cite, dans l'ordre, les grandes phases d'une réponse à incident. ______________________
Éléments de réponse
- Zone démilitarisée : segment réseau isolé du réseau interne, où l'on place les services exposés à Internet (serveur web, relais de messagerie), pour qu'une compromission n'atteigne pas directement le réseau interne.
- Refuser par défaut, puis autoriser explicitement le nécessaire : un oubli bloque un service (visible, facile à corriger), alors qu'avec une politique permissive un oubli laisse un accès ouvert.
- Préparer, détecter, contenir, éradiquer, restaurer, tirer les leçons (retour d'expérience).
Mon score : ____ / 24 — par thème : A1 ___/3 · A2 ___/3 · A3 ___/3 · A4 ___/3 · A5 ___/3 · A6 ___/3 · A7 ___/3 · A8 ___/3
Partie B – Inventaire de sécurité de SRV (≈ 40 min, binôme, lecture seule)
But : observer l'état de sécurité d'un serveur sans rien modifier, comme le ferait un auditeur ou un administrateur qui reprend une machine.
Note
Toutes les commandes de cette partie lisent sans modifier. Elles se tapent sur SRV.
B1 – La configuration SSH réellement appliquée
J'anticipe. Le compte root peut-il se connecter directement en SSH ? L'authentification par mot de passe est-elle autorisée ? ______________________
Je comprends. sshd -T affiche la configuration réellement appliquée (fichier principal et fichiers inclus), pas seulement ce qui est écrit dans un fichier.
Note les quatre valeurs : ______________________
Éléments de réponse
Sur une installation par défaut : port 22, passwordauthentication yes, maxauthtries 6 et permitrootlogin à prohibit-password (affiché without-password par certaines versions) : root ne peut pas se connecter par mot de passe, mais l'authentification par mot de passe reste ouverte aux autres comptes et le nombre d'essais est élevé.
B2 – Les comptes sensibles
J'anticipe. Combien de comptes ont l'identifiant 0 (tous les droits) ? Qui appartient au groupe sudo ? ______________________
Je comprends. Un seul compte doit avoir l'identifiant 0 : root. Un second compte d'identifiant 0 est une porte dérobée classique.
Note le résultat : ______________________
B3 – Les services à l'écoute
J'anticipe. Quels ports sont ouverts sur SRV ? Lesquels sont réellement nécessaires ? ______________________
Je comprends. Chaque port à l'écoute est une surface d'attaque. Un service dont on n'a pas besoin doit être désactivé. Une adresse 127.0.0.1 n'est joignable que depuis la machine elle-même ; 0.0.0.0 ou * signifie « depuis tout le réseau ».
Complète :
| Port | Protocole | Processus | Écoute sur | Nécessaire ? |
|---|---|---|---|---|
B4 – Les droits des fichiers sensibles
J'anticipe. Qui peut lire /etc/shadow (hachages des mots de passe) ? Qui peut lire /etc/passwd ? ______________________
Éléments de réponse
/etc/shadow : 640 root:shadow (lisible par root et le groupe shadow seulement) ; /etc/passwd : 644 root:root (lisible par tous, mais il ne contient plus les hachages).
B5 – Les programmes à privilèges (bit setuid)
Je comprends. Un programme setuid s'exécute avec les droits de son propriétaire (souvent root), quel que soit l'utilisateur qui le lance. La liste est normalement courte et connue (passwd, sudo, su, mount…) ; un programme inattendu dans cette liste est un signal d'alerte.
Nombre de programmes trouvés : ____ ; y en a-t-il un que tu ne reconnais pas ? ______________________
B6 – Les mises à jour
Si SRV accède au dépôt Debian :
J'anticipe. Le serveur est-il à jour ? Combien de paquets sont en attente ? ______________________
B7 – Qui a essayé de se connecter ?
Je comprends. Le journal du service SSH enregistre les connexions réussies et les échecs. Sur un serveur exposé à Internet, les tentatives d'essais de mots de passe sont permanentes.
Que vois-tu (connexions réussies, échecs, adresses) ? ______________________
Note
Si journalctl n'affiche rien, regarde sudo tail -n 20 /var/log/auth.log : selon l'installation, les journaux sont dans le journal du système ou dans un fichier.
B8 – Synthèse de l'inventaire
Classe tes constats en au moins quatre écarts par rapport à ce que tu attendrais d'un serveur sécurisé.
| Constat | Risque associé | Critère touché | Mesure proposée |
|---|---|---|---|
Point de contrôle : captures de B1, B3 et B4 (datées), et le tableau B8 rempli.
Partie C – Durcissement guidé (≈ 50 min, binôme)
Warning
Fais d'abord un instantané de SRV. Ouvre ensuite deux sessions vers SRV (une console VirtualBox et une session SSH depuis CLI) : si l'une se bloque, l'autre te permet de corriger. Ne ferme pas la session de secours tant que le test n'est pas concluant.
C1 – Durcir SSH
J'anticipe. Si on interdit la connexion directe de root et qu'on limite à 3 essais, qu'est-ce qui change pour un utilisateur normal ? ______________________
Crée un fichier de réglages dédié (les fichiers de /etc/ssh/sshd_config.d/ sont lus avant le reste, et c'est la première valeur lue qui s'applique) :
printf 'PermitRootLogin no\nMaxAuthTries 3\n' | sudo tee /etc/ssh/sshd_config.d/50-durcissement.conf
sudo sshd -t && echo "configuration valide"
Recharge le service seulement si le test affiche « configuration valide » :
Je comprends. sshd -t teste la configuration sans l'appliquer : un fichier invalide rechargé peut empêcher toute connexion. Les sessions déjà ouvertes ne sont pas coupées par un rechargement.
Résultat de la dernière commande : ______________________
Pour aller plus loin (facultatif). Désactive l'authentification par mot de passe (PasswordAuthentication no) uniquement après avoir copié ta clé publique sur SRV (ssh-copy-id) et vérifié depuis CLI que la connexion par clé fonctionne dans une nouvelle session.
C2 – Un pare-feu à politique restrictive
J'anticipe. Si la politique par défaut est « refuser », qu'est-ce qui doit être explicitement autorisé pour que SSH depuis CLI et le site web continuent de fonctionner ? ______________________
Crée le fichier de règles /root/filtre.nft avec l'éditeur de ton choix (sudo nano /root/filtre.nft) et le contenu suivant :
#!/usr/sbin/nft -f
flush ruleset
table inet filtre {
chain entrant {
type filter hook input priority 0; policy drop;
ct state established,related accept
ct state invalid drop
iif "lo" accept
ip protocol icmp icmp type echo-request limit rate 5/second accept
ip6 nexthdr icmpv6 accept
ip saddr 192.168.50.0/24 tcp dport 22 accept
tcp dport { 80, 443 } accept
}
}
Vérifie la syntaxe sans appliquer :
Applique-le, puis affiche les règles actives :
Je comprends. Chaque ligne a un rôle : le suivi des connexions (established,related) laisse passer les réponses aux connexions déjà autorisées ; l'interface locale (lo) reste ouverte ; le ping est limité en débit ; SSH n'est autorisé que depuis le réseau d'administration ; le web est ouvert à tous. Tout le reste est refusé.
Retour arrière si tu perds la main : dans la console, sudo nft flush ruleset.
Teste depuis CLI, puis note les résultats :
| Test depuis CLI | Résultat attendu | Résultat constaté |
|---|---|---|
ping -c 2 192.168.50.10 |
répond | |
ssh utilisateur@192.168.50.10 |
connexion | |
curl -I http://192.168.50.10 |
réponse du serveur web s'il y en a un ; sinon « connexion refusée » | |
nc -zv -w 3 192.168.50.10 3306 |
pas de réponse : le paquet est jeté |
Note
Le dernier test attend 3 secondes puis expire : c'est la différence entre drop (silence, la machine ne se signale pas) et reject (réponse « refusé »). Ces règles ne survivent pas à un redémarrage : pour les rendre permanentes, il faudrait les placer dans /etc/nftables.conf et activer le service nftables.
C3 – Corriger un droit trop large
Un fichier de clients a été déposé avec des droits trop larges. Crée la situation, puis corrige-la :
sudo groupadd -f compta
sudo install -d -m 755 /srv/donnees
echo "client;montant" | sudo tee /srv/donnees/clients.csv > /dev/null
sudo chmod 666 /srv/donnees/clients.csv
stat -c '%a %U:%G %n' /srv/donnees/clients.csv
J'anticipe. Qui peut lire et modifier ce fichier avec 666 ? Quelle valeur et quel propriétaire faut-il lui donner pour que seule la comptabilité le lise ? ______________________
sudo chown root:compta /srv/donnees/clients.csv
sudo chmod 640 /srv/donnees/clients.csv
stat -c '%a %U:%G %n' /srv/donnees/clients.csv
Je comprends. 666 laisse tout le monde lire et écrire : un fichier de données personnelles accessible à tous est une atteinte à la confidentialité et une violation potentielle au sens du RGPD. Avec 640 et le groupe compta, seuls les membres du groupe lisent.
Point de contrôle : captures de C1 (sshd -T), C2 (nft list ruleset et le tableau de tests) et C3 (stat avant et après).
C4 – Mesurer le résultat
Reprends deux commandes de la partie B et compare avant et après :
| Commande | Avant | Après |
|---|---|---|
Je comprends. Une mesure n'est pas « faite » parce qu'on a tapé la commande : elle l'est quand on a vérifié son effet.
Partie D – Mon plan de révision (≈ 20 min, individuel)
À partir du score de la partie A et de ce que tu as eu du mal à faire dans les parties B et C, complète :
| Priorité | Thème à reprendre | Action concrète (cours à relire, TP à refaire) | Où | Échéance |
|---|---|---|---|---|
| 1 | ||||
| 2 | ||||
| 3 |
Pour aller plus loin
- Installe
fail2bansur SRV et observe le blocage d'une adresse après plusieurs échecs de connexion SSH depuis CLI. - Ajoute à
/root/filtre.nftune règle qui journalise les paquets refusés (instructionlog), puis lis les messages produits.
Retour en entreprise (si ta situation le permet)
- Observer : comment ton entreprise contrôle-t-elle la configuration de ses serveurs (SSH, pare-feu, droits) ?
- Documenter : décris en une demi-page un écart entre un serveur de ton entreprise et le durcissement de la partie C.
Rendu
Compte rendu PDF, nommé RENDU-B3A2-S01-NOM.pdf, contenant : ton score de la partie A, le tableau de la partie B8, les captures datées des parties B et C avec les réponses aux questions « J'anticipe » et « Je comprends », et ton plan de révision.
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), ou Non évalué.
| Compétence du référentiel | Ce que j'ai fait dans cette séance | Niveau |
|---|---|---|
| B3.1 – Protéger les données à caractère personnel | ||
| B3.2 – Préserver l'identité numérique de l'organisation | ||
| 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 :
- Expliquer la différence entre menace, vulnérabilité et risque ;
- Lire la configuration SSH réellement appliquée et repérer ses faiblesses ;
- Lister les services à l'écoute et décider lesquels sont nécessaires ;
- Écrire et tester des règles de pare-feu à politique restrictive ;
- Corriger les droits d'un fichier sensible ;
- Vérifier l'effet d'une mesure de sécurité.
Ce que je dois reprendre : ______________________
Ma question à poser à l'enseignant : ______________________