(Cours/TP) Sécurisation du poste de travail
Programme
Jour 1
-
Passage du MOOC secnumacademie.gouv.fr de l'ANSSI : durée estimée de 6 à 8 heures (autonome ou semi-accompagné).
-
Retour d'expérience et échanges (en fin de journée ou début J2)
Jour 2
1) Débrief du MOOC et présentation récapitulative
-
Rappel des bonnes pratiques utilisateurs (mises à jour, MFA, vigilance) et introduction des bonnes pratiques côté infrastructure (limiter la surface d’attaque, chiffrement, moindre privilège, etc.).
-
Présentation des outils de sécurité (Antivirus, Pare-feu, Proxy inversé, EDR, IDS) et des principes clés (Zero Trust, Minimisation, Principe de Moindre Privilège, CID, Chiffrement, Journalisation, Sauvegarde 3-2-1).
2) Présentation du TP et contexte
-
Objectif : mettre en oeuvre concrètement les concepts (durcissement Windows, LUKS, SFTP chiffré, sauvegardes Restic, etc.).
-
Environnement : une VM Windows (poste de travail) et une VM Debian (sans GUI).
3) TP Sécurisation
- Mise en pratique progressive : mises à jour, GPO Windows, chiffrement BitLocker, test antivirus EICAR, MFA, configuration d’un volume chiffré LUKS, gestion des permissions Linux, durcissement SSH, mise en place d’un serveur SFTP chiffré, sauvegardes Restic en local et vers S3, et pistes pour aller plus loin (Wazuh, Crowdsec, Lynis).
Cette progression permet de partir des bases (sécurisation du poste de travail) pour aller vers des configurations plus avancées, tout en consolidant les notions du MOOC.
Cours / présentation (slides)
Bonnes pratiques essentielles côté utilisateur
-
Utiliser des mots de passe complexes et uniques : évitez les mots de passe réutilisés ou simples à deviner, utilisez des gestionnaires de mots de passe et activez des facteurs d'authentification supplémentaires (2FA/MFA).
-
Maintenir ses postes à jour : installez régulièrement les mises à jour OS et applicatives.
-
La faille est humaine : soyez vigilant face au phishing et l'ingénierie sociale.
-
Attention dans les lieux publics / vérrouiller son poste de travail : espionnage par le WiFi, clé USB, borne de recharge...
-
Ne partagez pas les secrets n'importe comment !
Système d'Information (SI)
-
Définition : un Système d’Information regroupe l’ensemble des ressources (humaines, matérielles, logicielles, données) nécessaires à la production, au traitement, à la gestion et à la circulation de l’information au sein d’une organisation. L'informatique occupe une place centrale dans le SI.
-
Objectif : soutenir les activités de l’entreprise, faciliter la prise de décision, améliorer l’efficacité des processus et assurer une disponibilité et une fiabilité maximales de l’information.
-
Enjeu Sécurité : protéger l’intégrité, la confidentialité et la disponibilité des données et des services offerts par le SI est essentiel face aux cybermenaces et aux risques internes.
Principe CID + A +T
Pourquoi CID + A + T ? Parce que la Confidentialité/Intégrité/Disponibilité protège l’information, l’Authenticité protège l’identité et la Traçabilité permet de détecter, enquêter et prouver.
-
Confidentialité : assurer que seules les personnes autorisées peuvent accéder aux informations.
-
Intégrité : garantir que les données n’ont pas été altérées ou falsifiées.
-
Disponibilité : veiller à ce que les données et les ressources informatiques soient accessibles lorsque nécessaires.
-
Authenticité : s’assurer de l’identité réelle d’un utilisateur, d’un système ou d’un service (comptes séparés admin/user, clés SSH, certificat TLS, etc.)
-
Traçabilité : savoir qui a fait quoi, quand et comment > les LOG !
Objectif : le modèle CID est un pilier fondamental de la sécurité de l’information, assurant que les actifs numériques sont protégés contre l’accès non autorisé, les modifications malveillantes et les interruptions de service.
Sauvegarde 3-2-1
-
Principe : conserver plusieurs copies de vos données pour assurer leur disponibilité et intégrité en cas d’incident.
-
Règle 3-2-1 :
- 3 copies de vos données au minimum
- 2 types de supports différents, les deux supports doivent être de technologies différentes pour éviter une défaillance commune (disques durs, NAS, SFTP, S3, bande, etc.).
-
1 copie hors-site (stockée dans un autre lieu physique ou dans le cloud)
-
Objectif : réduire le risque de perte totale en cas de sinistre (panne matérielle, vol, ransomware), garantir la résilience et faciliter la restauration rapide.
Principes fondamentaux de sécurité côté infrastructure
Chiffrement (données et connexions)
-
Principe : protéger la confidentialité et l’intégrité des données en les rendant inexploitables sans la clé de chiffrement, qu’elles soient stockées ou en transit.
-
Objectif : empêcher la lecture ou la modification des données en cas de vol de matériel, d’intrusion ou d’interception réseau.
-
Exemple(s) d’application : les postes de travail et les serveurs stockent leurs données chiffrées (BitLocker, LUKS) et toutes les applications utilisent des connexions sécurisées (HTTPS/TLS, SSH) pour les échanges.
Dans le TP
Les fichiers sont chiffrés avec BitLocker (Windows) et LUKS (Linux). Les transferts et sauvegardes passent par SFTP (SSH) et Restic, donc sont chiffrés sur le réseau.
Limitation de la surface d’attaque
-
Principe : réduire le nombre de services, ports, ressources numériques et physiques exposées afin de limiter les points d’accès potentiels.
-
Objectif : rendre plus difficile l’exploitation de failles en limitant les possibilités d’entrée pour un attaquant.
-
Exemple(s) d’application : fermer les ports non utilisés via le pare-feu et restreindre l’accès aux seuls services indispensables. Par exemenple, un serveur web est placé derrière un reverse-proxy qui n’expose que les ports 80/443 et redirige le trafic, tandis que les services internes sont inaccessibles directement depuis Internet.
Dans le TP
Le serveur Debian de sauvegarde n’expose que le port 2299 (SSH/SFTP) via le firewall UFW, tous les autres ports sont fermés.
Principe de Moindre Privilège
-
Principe : n’accorder aux utilisateurs, services et applications que les droits strictement nécessaires à leurs tâches.
-
Objectif : limiter l’impact d’une compromission en empêchant l’exploitation de privilèges excessifs.
-
Exemple(s) d’application : un technicien support peut réinitialiser des mots de passe, mais ne peut ni créer de comptes administrateurs ni accéder aux bases de données de production.
Dans le TP
L’utilisateur travaille avec un compte standard et utilise un compte administrateur uniquement pour les actions nécessitant une élévation de privilèges.
Le Modèle Zero Trust
-
Principe : ne faire confiance à aucun utilisateur, appareil ou réseau par défaut, même à l’intérieur du SI. Le réseau interne et le VPN ne sont pas considérés comme des preuves de confiance.
-
Objectif : vérifier systématiquement l’identité, le contexte et les droits avant d’autoriser un accès quel que soit l’emplacement, l'appareil ou l'utilisateur. Qui ? Où ? Avec quoi ? Comment ?
-
Exemple(s) d’application : utiliser un fournisseur d'identité (IdP) avec 2FA/MFA et demander une validation systématique de l’identité lors de l’accès à une application interne.
Dans le TP
L’accès au compte Microsoft ou Google nécessite un MFA même depuis le poste de travail habituel.
Le Principe de Minimisation
-
Principe : n’utiliser et n’exposer que le strict nécessaire en termes de données, services, comptes et logiciels.
-
Objectif : réduire la surface de compromission et l’impact potentiel d’une attaque.
-
Exemple(s) d’application : les comptes inactifs sont supprimés et seules les applications nécessaires aux métiers sont installées sur les serveurs et les postes.
Dans le TP
SMBv1, LLMNR et les services Windows inutiles sont désactivés.
Traçabilité et journalisation
-
Principe : enregistrer et conserver les événements de sécurité afin de pouvoir reconstituer les actions effectuées sur le système.
-
Objectif : détecter les incidents, enquêter, prouver les actions et améliorer la sécurité.
-
Exemple(s) d’application : un SIEM centralise les logs des serveurs, pare-feu et applications afin d’identifier des comportements anormaux.
Dans le TP
Wazuh peut centraliser les logs (via Syslog) et Crowdsec détecte et bloque les comportements malveillants
Cloisonnement et segmentation
-
Principe : séparer les systèmes et les réseaux afin d’empêcher la propagation d’une compromission.
-
Objectif : limiter l’impact d’une attaque à une seule zone du SI.
-
Exemple(s) d’application : les serveurs et postes utilisateurs sont placés dans des réseaux distincts avec des règles de filtrage entre eux.
Les outils de sécurité
Antivirus
-
Principe : analyse les fichiers et la mémoire du système à la recherche de logiciels malveillants (virus, trojans, ransomwares).
-
Objectif : prévenir, détecter et éliminer les menaces connues (base de signature) ou suspectes (analyse comportementale/heuristique) afin de protéger la machine et ses données.
-
Outil(s) FOSS : ClamAV (moteur antivirus pour Linux, Windows, macOS).
Firewall (Pare-feu) & WAF (Web Application Firewall)
-
Principe Pare-feu : filtrer le trafic réseau entrant et sortant selon des règles prédéfinies, bloquant les flux non autorisés.
-
Principe WAF : protéger les applications web en filtrant les requêtes HTTP(S) pour détecter et bloquer les attaques ciblant les vulnérabilités applicatives.
-
Objectif : réduire la surface d’attaque réseau et applicative, contrôler l’accès et empêcher les intrusions.
-
Outil(s) FOSS: iptables/UFW (Linux).
Reverse proxy (proxy inversé)
-
Principe : agit comme point d’entrée unique entre le client et le serveur, réceptionnant les requêtes avant de les transmettre aux serveurs internes.
-
Objectif : principe de minimisation, améliore les performances (mise en cache), réparti la charge, sécurise l’accès (certificats TLS, authentification) et masque la topologie interne.
-
Outil(s) FOSS : Nginx (serveur web et proxy inversé largement utilisé ou Traefik pour une approche plus dynamique).
EDR (Endpoint Detection & Response) & XDR (Extended Detection & Response)
-
Principe et objectif EDR : Surveille et analyse l’activité des endpoints (postes, serveurs) pour détecter et contrer les menaces. Offre des capacités de réponse rapide (isolation de machine, quarantaine de fichier malveillant, arrêt de processus).
-
Évolution en XDR : Un XDR étend ce concept aux réseaux, applications, identités, et autres couches.
-
Outil(s) FOSS : Wazuh (intégrant des fonctionnalités d’EDR et de collecte centralisée de logs SIEM, avec une approche extensible vers du XDR).
IDS (Intrusion Detection System) & IPS (Intrusion Prevention System)
-
Principe et objectif IDS : Surveiller le trafic réseau ou les journaux système d'un hôte pour détecter des comportements anormaux. Identifier précocement les tentatives d’intrusion afin d’alerter l’équipe de sécurité, faciliter la réaction rapide (i.e. bannir l’IP, envoyer un captcha, bloquer l’action) et documenter l’attaque.
-
Un IDS détecte et alerte principalement.
-
Un IPS détecte et bloque activement les menaces.
-
Outil(s) FOSS : Snort, Suricata, Fail2ban et Crowdsec.
SIEM (Security Information & Event Management)
-
Principe : centralise et analyse les logs issus de multiples sources (serveurs, pare-feux, applications, EDR, IDS...) afin de détecter des menaces ou comportements anormaux.
-
Objectif : fournir une visibilité globale sur l’infrastructure, faciliter la corrélation d’événements et l’investigation des incidents, permettre une amélioration continue.
-
Outil(s) FOSS: Toujours Wazuh !
Transition vers le TP
Maintenant que nous avons revu ces concepts et bonnes pratiques, nous allons les mettre en application via un TP. Vous explorerez la configuration sécurisée d’une infrastructure (chiffrement, pare-feu, sauvegardes chiffrées, etc.). L’objectif est de passer de la théorie à la pratique en tirant parti de l’apprentissage du MOOC et en l’appliquant à des scénarios concrets sur nos VM Windows et Linux.
TP
Contexte et Objectifs
Vous disposez de deux machines virtuelles :
-
VM Windows 10/11 Pro
-
VM Debian (sans GUI)
Le but est de :
- Maintenir le poste de travail à jour.
- Tester et durcir la sécurité du poste de travail Windows (GPO, antivirus, BitLocker).
- Mettre en place l’authentification forte (MFA) sur un service cloud.
- Gérer les permissions et le chiffrement (LUKS) sur Linux.
- Sécuriser le serveur Debian (pare-feu UFW, durcissement SSH...).
- Installer un serveur SFTP chiffré et réaliser des sauvegardes selon la méthode 3-2-1 via l'outil Restic depuis Windows. Sauvegarder vers un Cloud S3 (Optionnel).
- Aller plus loin en pratiquant des solutions SIEM/XEDR (Wazuh), IDS (Crowdsec) et d’audit de sécurité (Lynis).
Etape 1 : Mises à jour de l'OS
Objectif : réduire les risques d’exploitation de vulnérabilités connues en maintenant les systèmes à jour.
Windows
1) Ouvrez Paramètres > Mise à jour et sécurité et appliquez les mises à jour.
2) Redémarrez si nécessaire.
Linux (Debian)
1) Mettez à jour le système :
2) Redémarrez la VM si un nouveau noyau est installé.
Cette première étape garantit une base logicielle à jour, réduisant le risque de vulnérabilités connues.
Etape 2 : Gérer les politiques locales Windows (GPO locales) pour limiter les privilèges et renforcer la sécurité.
Objectif : encadrer les comportements utilisateurs et limiter les privilèges afin de réduire les erreurs humaines et l’impact d’une compromission, conformément au principe de moindre privilège.
1) Ouvrez l’outil Éditeur de stratégie de groupe locale gpedit.msc.
2) Définir une politique de mot de passe stricte (complexité et longueur minimale) : Configuration ordinateur > Paramètres Windows > Paramètres de sécurité > Stratégie locales > Stratégie de comptes.
3) Activer une bannière d’avertissement de sécurité au démarrage : Configuration ordinateur > Paramètres Windows > Paramètres de sécurité > Stratégies locales > Options de sécurité > Ouverture de session interactive : titre du message pour les utilisateurs essayant de se connecter et Ouverture de session interactive : contenu du message pour les utilisateurs essayant de se connecter.
4) Configurer le principe de moindre privilège en créant un compte utilisateur standard et en testant qu’il ne peut pas installer d’applications ou modifier les paramètres système sans demande d’élévation.
Etape 3 : Principe de limitation de la surface d’attaque sur le poste de travail Windows
Objectif : diminuer le nombre de points d’entrée exploitables en désactivant les services et fonctionnalités inutiles ou dangereuses, conformément au principe de limitation de la surface d’attaque.
1) Désactiver les application/fonctionnalités Windows non utilisées, dangereuses (e.g. LLMNR / NetBios) ou obsolètes (e.g. SMBv1).
2) Vérifier que seuls les services indispensables au fonctionnement du poste sont activés (via services.msc), désactiver au moins deux services inutiles.
Etape 4 : Test de l’antivirus sur Windows (EICAR)
Objectif : vérifier l’efficacité des mécanismes de détection afin de garantir l’intégrité du poste de travail face aux logiciels malveillants.
1) Renseignez la chaine de caractères suivantes sur la première ligne d'un fichier de texte X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H* et sauvegardez le sous eicar.com.
2) Windows Defender devrait immédiatement détecter le fichier et le mettre en quarantaine.
3) Vérifiez l’efficacité de l’antivirus.
Etape 5 : Chiffrement des données sur Windows avec BitLocker
Objectif : assurer la confidentialité des données stockées localement afin qu’elles restent inexploitables en cas de vol ou de perte du matériel.
1) Après avoir ajouté un disque à votre VM Windows, créez un volume sur la VM Windows Z:.
2) Activez BitLocker sur ce volume.
3) Sauvegardez la clé de récupération.
4) Placez des fichiers sensibles sur ce volume Z: dans le répertoire z:\data\
Etape 6 : Chiffrement d’un volume sur Linux avec LUKS
Objectif : protéger durablement les données du serveur par le chiffrement, garantissant la confidentialité même en cas d’accès non autorisé au support de stockage.
1) Créez un fichier conteneur (un "disque virtuel") :
Adaptez la taille à vos besoins. Ici, 500 Mo en exemple.
Cette commande crée un fichier rempli d’entropie aléatoire, ce qui rend le chiffrement plus sûr.Alternative
Vous pouvez ajouter un disque à votre VM plutôt que d'utiliser un fichier conteneur. Dans ce cas, vous utiliserez le point de montage de votre disque que vous aurez préalablement formaté (ex. /dev/sdb1)
2) Initialisez LUKS sur ce fichier :
Confirmez et entrez un mot de passe solide lorsque demandé.
3) Ouvrez le volume chiffré :
Entrez le mot de passe défini précédemment. Un périphérique mappé apparaît dans /dev/mapper/sftp_luks. Linux crée automatiquement un périphérique virtuel lorsqu’un volume chiffré est déverrouillé. Le répertoire /dev représente les périphériques du système (réels ou virtuels) et n’est pas destiné à stocker des données. Nous allons donc formater ce périphérique (étape 4) puis le monter dans le répertoire /mnt/sftp_luks afin de rendre les données accessibles (étape 5).
4) Formatez le périphérique virtuel
5) Montez le volume :
Vérifiez l’accès :
Vous devriez obtenir un répertoire vide prêt à accueillir des données chiffrées.
6) Pour démonter et fermer le volume :
À ce stade, vous avez un conteneur chiffré fonctionnel. Ce volume sera réouvert et monté avant la création du serveur SFTP (Étape 10).
Montage automatique
- Ajouter cette ligne au fichier
/etc/fstabpour un montage automatique au démarrage de la machine :
- Ajoutez une entrée dans
/etc/crypttabpour déverouiller le disque chiffré au démarrage de la machine :
Etape 7 : Authentification forte (MFA)
Objectif : renforcer l’authenticité des accès aux services cloud en ajoutant un facteur d’authentification supplémentaire au-delà du mot de passe et appréhender l'usage d'une application d'authentification.
1) Sur un compte cloud Microsoft, Google ou autre que vous possédez, activez la double authentification.
2) Installez l’application 2FAS sur votre smartphone.
3) Scannez le code QR et testez la connexion.
4) Générez des codes de secours et stockez les dans votre gestionnaire de mot de passe (e.g. Keepass, Passbolt).
Etape 8 : Gestion des droits et permissions sur Linux
Objectif : appliquer le principe de moindre privilège en contrôlant finement les accès aux ressources afin de limiter l’impact d’une erreur ou d’un compte compromis.
1) Créez un répertoire sensible :
Donnez-lui un accès restreint au propriétaire uniquement : Avecchmod 700, seul le propriétaire a le droit de lecture, écriture et exécution.
2) Testez l’accès avec un utilisateur non autorisé.
Créez un utilisateur de test (sans privilèges) :
Changez d’utilisateur :
Essayez d’accéder au répertoire /data :
Vous devriez avoir un message "Permission denied".
Repassez en utilisateur root ou sudo :
3) Ajustez le propriétaire et les permissions (chown, chmod)
Changez le propriétaire du répertoire :
Désormais, user-test est propriétaire du répertoire.
Ajustez les permissions pour permettre, par exemple, uniquement la lecture au propriétaire :
Maintenant, seul le propriétaire (user-test) pourra lire/écrire, et personne d’autre n’aura accès.Vérifiez l’effet de ces changements :
Grâce à ces manipulations, vous comprenez comment les permissions (chmod), le propriétaire et le groupe (chown) permettent de mettre en oeuvre le principe de moindre privilège, garantissant que chaque utilisateur n’a accès qu’aux ressources dont il a besoin.
Etape 9 : Sécurisation du serveur Linux (pare-feu UFW et durcissement accès SSH)
Objectif : apprendre à utiliser SSH et UFW. Contrôler et restreindre l’accès au serveur en réduisant son exposition réseau, renforçant ainsi la confidentialité, la disponibilité et la traçabilité des accès.
Lien avec le modèle CID + A + T
La sécurisation de l’accès SSH illustre directement le modèle CID + A + T :
-
Confidentialité : les échanges SSH/SFTP sont chiffrés.
-
Intégrité : les commandes et fichiers ne peuvent pas être modifiés à l’insu des utilisateurs.
-
Disponibilité : le pare-feu limite les attaques pouvant rendre le service indisponible.
-
Authenticité : l’accès par clé SSH garantit l’identité de l’utilisateur.
-
Traçabilité : chaque connexion et commande est enregistrée dans les logs système.
1) Installez et configurez ufw :
2) Modifiez le fichier de configuration SSH pour changer le port SSH (e.g. Port 2299) et autoriser seulement les membres du groupes ssh-users. Le fichier de configuration principal pour SSH est /etc/ssh/sshd_config mais une meilleure pratique est de créer un fichier personnalisé dans le répertoire /etc/ssh/sshd_config.d.
Pour le créez, ouvrez le avec un éditeur de texte en tant que root, par exemple:
Et rensignez les paramètres suivants :
# Pour que SSH écoute sur le port 2299 en lieu et place du port 22 par défaut :
Port 2299
# Authentication seulement par les membres du groupe ssh-users:
PermitRootLogin no
AllowGroups ssh-users
Après avoir effectué les modifications, sauvegardez le fichier et quittez l’éditeur de texte. Pour que les changements prennent effet, redémarrez le service SSH :
Pour afficher les paramètres actifs et la bonne prise en comte de vos paramtéres, vous pouvez utiliser la commande suivante :
3) Adaptez le firewall ufw en conséquence :
4) Créez les groupessh-users et ajoutez votre user
6) Testez la connexion SSH sur le nouveau port ssh votre_user@IP_DU_SERVEUR -p 2299 (qui doit réussir) et le port 22 ssh votre_user@IP_DU_SERVEUR (qui doit échouer). Vous devez tester la connexion depuis votre VM Windows via le client ssh natif de Windows depuis Powershell.
Cette première phase durcit l’accès au serveur et limite la surface d’attaque. A ce stade, l’authentification se fait encore par login/mot de passe mais sur un port non standard. Cela ne remplace pas une authentification forte mais permet de réduire les scans automatiques et les attaques par brute-force non ciblées.
Etape 9b : Authentification SSH par clé
Objectif : renforcer l’authenticité en remplaçant le mot de passe par une clé cryptographique et réduisant les risques liés aux fuites de mots de passe.
1) Sur le poste client, générez une paire de clés SSH :
2) Copiez la clé publique sur le serveur en vous identifiant avec login / mot de passe:
3) Désactivez l’authentification par mot de passe sur le serveur, modifiez le fichier de configuration crée à l'étape 9 :
Extrait :
# Pour que SSH écoute sur le port 2299 en lieu et place du port 22 par défaut :
Port 2299
# Authentication seulement par les membres du groupe ssh-users:
PermitRootLogin no
AllowGroups ssh-users
PasswordAuthentication no # Interdit l'authentification par mot de passe
PubkeyAuthentication yes # Autorise l'authentification par clé
AllowGroups ssh_users
4) Redémarrez le service SSH :
5) Testez la connexion SSH :
La connexion ne fonctionne désormais qu’avec une clé SSH, ce qui protège efficacement contre le vol de mots de passe et les attaques par brute-force.
Message clé à retenir
Changement de port = réduction du bruit automatisé
Clé SSH = authentification forte et ciblée
Etape 10 : Installation et configuration du serveur SFTP sur Linux (chiffré avec LUKS)
Objectif : fournir un service de transfert de fichiers sécurisé et cloisonné, assurant la confidentialité, l’intégrité et la traçabilité des échanges. Le service SFTP (Secure File Transfer Protocol) permet de transférer des fichiers de manière sécurisée entre un client et un serveur via une connexion chiffrée SSH.
Port SSH 22
Qui dit connexion SSH, dit port 22...que vous avez modifié à l'étape 9 !
1) Installez openssh-server (si non présent).
2) Créez un utilisateur dédié sftpuser, sans accès shell.
3) Configurez un chroot SFTP.
C'est quoi un chroot ?
Un chroot, c'est comme mettre un utilisateur ou un programme dans une boîte où il ne voit et n'accède qu'à ce qui est dans cette boîte, sans pouvoir toucher au reste du système.
Il permet de créer un environnement isolé et sécurisé. Bien qu’il ne fournisse pas une isolation complète comme les conteneurs modernes, il reste une solution efficace pour de nombreux cas d’utilisation, notamment pour restreindre l'accès des utilisateurs ou sécuriser des services comme SFTP.
Dans le contexte d’un serveur SFTP :
-
L'utilisateur est chrooté dans un répertoire spécifique (ex.
/mnt/sftp_luks). -
Cela signifie qu'il ne peut naviguer qu'à l'intérieur de ce répertoire et ne peut pas accéder au reste du système de fichiers.
-
La configuration SSH permet d’appliquer cette restriction via des options comme ChrootDirectory.
Créez le répertoire SFTP dans le volume chiffré à l'étape 6 et monté dans le répertoire /mnt/sftp_luks :
Changez les permissions pour sécuriser l'accès :
chown root:root /mnt/sftp_luks
chmod 755 /mnt/sftp_luks
mkdir -p /mnt/sftp_luks/sftpuser/uploads
chown sftpuser:sftpuser /mnt/sftp_luks/sftpuser/uploads
4) Mettre à jour la configuration SSH pour forcer le SFTP interne et chrooter l’utilisateur dans le volume chiffré.
Ouvrez le fichier de configuration SSH :
Ajoutez ou modifiez les lignes suivantes :
Subsystem sftp internal-sftp
Match User sftpuser
ChrootDirectory /mnt/sftp_luks
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
5) Redémarrez sshd et tester la connexion SFTP depuis Windows avec un client (WinSCP, FileZilla).
6) Vérifiez la sécurité.
-
Volume chiffré monté : Assurez-vous que les fichiers sont inaccessibles si le volume LUKS est démonté.
-
Permissions : Vérifiez que sftpuser ne peut accéder qu'à son répertoire upload :
- Test final avec démontage du volume :
Les fichiers ne seront plus accessibles tant que le volume n'est pas déverrouillé et remonté.
7) Vous disposez désormais d’un serveur SFTP sécurisé et chiffré !
Etape 11 : Sauvegardes Restic depuis Windows vers le serveur SFTP Linux
Objectif : garantir la disponibilité et la résilience des données en mettant en place des sauvegardes chiffrées et versionnées conformes à la règle 3-2-1.
Aidez-vous de cette ressource : https://blog.stephane-robert.info/docs/cloud/outils/restic/
1) Installez Restic sur Windows.
2) Initialisez un dépôt Restic sur le serveur SFTP créé à l'étape 10. Vous pouvez aussi créer un dépôt local si votre serveur SFTP n'est pas fonctionnel.
3) Sur Windows, sauvegardez le contenu du répertoire z:\data depuis le volume BitLocker vers le dépôt Restic sur le serveur SFTP :
4) Testez la restauration sur Windows pour s’assurer du bon fonctionnement.
Cette étape complète la protection des données en créant des sauvegardes distantes, chiffrées et versionnées.
Etape 10 (Optionnel) : Sauvegarde Restic vers un cloud S3 (Infomaniak)
Objectif : renforcer la résilience globale en ajoutant une sauvegarde hors site, protégeant les données contre les sinistres majeurs conformément à la règle 3-2-1.
1) Configurez un compte Swiss Backup sur Infomaniak (essai gratuit).
2) Créez un bucket S3 depuis l'interface Infomaniak https://www.infomaniak.com/fr/support/faq/2546/creer-un-emplacement-s3-sur-swiss-backup
3) Récupérez les informations nécessaires
- Access Key : Votre clé d’accès.
- Secret Key : Votre clé secrète.
- Endpoint : L’URL spécifique à votre emplacement Swiss Backup
-
Nom du bucket : Le nom de votre bucket S3.
-
Sauvegardez :
Vous ajoutez une couche de redondance et de résilience grâce au stockage dans le cloud (sauvegarde 3-2-1)
Pour aller plus loin
- EDR Open Source Wazuh :
Mettre en place Wazuh (serveur + agent) pour centraliser et analyser les logs, détecter des anomalies, et disposer d’une console de monitoring de la sécurité.
https://youtube.com/playlist?list=PLn6POgpklwWoCKf3PDJYT2ihAd0hPZ0uM&si=83JTyJgedI9afmOs
- IDS Crowdsec :
Installer Crowdsec sur la VM Debian pour détecter et éventuellement bloquer les comportements malveillants via une base collaborative de scénarios. Vous pourrez simuler une attaque brute force SSH.
https://doc.glaztech.cloud/1_crowdsec/
- Audit Linux avec Lynis :
https://blog.stephane-robert.info/docs/securiser/durcissement/lynis/
Installez Lynis (apt install lynis) et exécutez un audit :
Analysez le rapport pour identifier des améliorations de la sécurité du serveur Linux.
- Accès sécurisé aux VM via un réseau privé chiffré (NetBird)
NetBird est une solution open source de réseau privé chiffré basée sur WireGuard (VPN Zero Trust).
Objectif : Créer un réseau privé sécurisé entre la machine hôte, la VM Windows et la VM Debian. Dans le TP, NetBird permet d’administrer les VM directement depuis la machine hôte, via un tunnel chiffré, sans ouvrir de ports SSH ni modifier le réseau de virtualisation (pas de carte bridge ou host-only, juste du NAT).
Principe : Chaque machine rejoint un réseau privé NetBird après authentification. Les communications sont chiffrées de bout en bout. Les règles d’accès définissent qui peut accéder à quoi.
Bénéfices sécurité : Aucun port SSH exposé sur le réseau local ou Internet. Accès basé sur l’identité (Zero Trust). Chiffrement fort des connexions (WireGuard). Réduction de la surface d’attaque.
Exemple d’usage : La machine hôte accède au serveur Debian en SSH via son IP privée NetBird. Les règles NetBird autorisent uniquement l’hôte vers VM Debian (SSH) et vers la VM Windows.
Dans un contexte entreprise, ce type de solution remplace progressivement les VPN classiques.