Aller au contenu

(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, CIA, Sauvegarde 3-2-1).

2) Présentation du TP et contexte

  • Objectif : mettre en ouvre 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, BitLocker, test antivirus EICAR, MFA, configuration d’un volume 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 (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 public / vérouiller 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 CIA (Confidentialité, Intégrité, Disponibilité)

  • 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.

Objectif : le modèle CIA 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 (disques durs, NAS, cloud, bandes…)
  • 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


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 d’application : désactiver les services inutiles sur un serveur web, fermer les ports non utilisés via le pare-feu et restreindre l’accès aux seuls services indispensables.


Principe de Moindre Privilège

  • Principe : n’accorder aux utilisateurs, services et applications que les droits minimum nécessaires à leurs tâches.

  • Objectif : limiter l’impact en cas de compromission, en empêchant un attaquant d’exploiter des privilèges étendus.

  • Exemple d’application : un employé du service comptabilité n’a accès qu’aux données financières et ne peut pas modifier les configurations système, tandis qu’un administrateur réseau n’a pas accès aux données RH.


Le Modèle Zero Trust

  • Principe : considérer chaque ressource, interne ou externe, comme non fiable par défaut. Basé sur le principe de moindre privilège.

  • Objectif : appliquer une authentification continue, des contrôles stricts et une vérification constante des identités, quel que soit l’emplacement, l'appareil ou l'utilisateur. Qui ? Où ? Avec quoi ? Comment ?

  • Exemple d’application : utiliser un fournisseur d'identité avec MFA (Multi-Factor Authentication) et demander une validation systématique de l’identité lors de l’accès à une application interne, même depuis le réseau interne de l’entreprise.


Le Principe de Minimisation

  • Principe : n’utiliser et n’exposer que le strict nécessaire (données, services, privilèges).

  • Objectif : réduire le potentiel de dommages en cas de compromission, en évitant la prolifération de ressources inutiles.

  • Exemple d’application : retirer les comptes d’utilisateur inactifs, supprimer les logiciels non utilisés sur un poste de travail ou un serveur, et stocker uniquement les informations nécessaires au fonctionnement d’un service.


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, durcicement 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

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 :

apt update
apt upgrade -y

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é.

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

1) Désactiver les 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 les services inutiles.

Etape 4 : Test de l’antivirus sur Windows (EICAR)

1) Téléchargez le fichier de test EICAR (eicar.org) 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.

Cette étape valide que l’outil de protection intégré fonctionne correctement.

Etape 5 : Chiffrement des données sur Windows avec BitLocker

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\

BitLocker protège la confidentialité des données stockées localement.

Etape 6 : Chiffrement d’un volume sur Linux avec LUKS

Pré-requis : S’assurer que cryptsetup est installé
apt install -y cryptsetup

1) Créez un fichier conteneur (un "disque virtuel") :

Adaptez la taille à vos besoins. Ici, 500 Mo en exemple.

dd if=/dev/urandom of=/srv/sftp_volume.img bs=1M count=500
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 :

cryptsetup luksFormat /srv/sftp_volume.img

Confirmez et entrez un mot de passe solide lorsque demandé.

3) Ouvrez le volume chiffré :

cryptsetup open /srv/sftp_volume.img sftp_luks
Entrez le mot de passe défini précédemment. Un périphérique mappé apparaît dans /dev/mapper/sftp_luks.

4) Formatez le volume :

mkfs.ext4 /dev/mapper/sftp_luks

5) Montez le volume :

mkdir /mnt/sftp_luks
mount /dev/mapper/sftp_luks /mnt/sftp_luks

Vérifiez l’accès :

ls -l /mnt/sftp_luks

Vous devriez obtenir un répertoire vide prêt à accueillir des données chiffrées.

6) Pour démonter et fermer le volume :

umount /mnt/sftp_luks
cryptsetup close sftp_luks

À 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/fstab pour un montage automatique au démarrage de la machine :
/dev/mapper/sftp_luks /mnt/sftp_luks ext4 defaults 0 2
  • Ajoutez une entrée dans /etc/crypttab pour dévérouiller le disque chiffré au démarrage de la machine :
sftp_luks /dev/mapper/sftp_luks none luks

Etape 7 : Authentification forte (MFA)

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 tester la connexion.

4) Générez des codes de secours et stockez les dans voutre gestionnaire de mot de passe (e.g. Keepass, Passbolt).

La MFA ajoute une couche de sécurité forte pour l’accès aux services Cloud.

Etape 8 : Gestion des droits et permissions sur Linux

Objectif : Maîtriser les permissions et le principe de moindre privilège sur Linux.

1) Créez un répertoire sensible :

mkdir repertoire/vers/data
Donnez-lui un accès restreint au propriétaire uniquement :

chmod 700 /data
Avec chmod 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) :

adduser user-test

Changez d’utilisateur :

su - user-test

Essayez d’accéder au répertoire /data :

ls repertoire/vers/data

Vous devriez avoir un message "Permission denied".

Repassez en utilisateur root ou sudo :

su -

3) Ajustez le propriétaire et les permissions (chown, chmod)

Changez le propriétaire du répertoire :

chown user-test:user-test /data

Désormais, user-test est propriétaire du répertoire.

Ajustez les permissions pour permettre, par exemple, uniquement la lecture au propriétaire :

chmod 600 /data
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 :

ls -ld /repertoire/vers/data
Vous verrez un détail des permissions, du propriétaire et du groupe.

Conclusion

Grâce à ces manipulations, vous comprenez comment les permissions (chmod), le propriétaire et le groupe (chown) permettent de mettre en œuvre 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 durcicement SSH)

1) Installez et configurez ufw :

ufw default deny incoming  
ufw default allow outgoing 
ufw allow 22/tcp (temporaire)
ufw enable

2) Modifiez /etc/ssh/sshd_config pour changer le port SSH (e.g. Port 2299) et autoriser seulement les membres du groupes ssh-users

Include /etc/ssh/sshd_config.d/*.conf

Port 2299
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

...

# Authentication:

LoginGraceTime 1m
PermitRootLogin no
StrictModes yes
MaxAuthTries 6
MaxSessions 5
AllowGroups ssh_users

3) Adaptez ufw :

ufw allow 2099/tcp`  
ufw deny 22/tcp`  

4) Testez la connexion SSH sur le nouveau port et le port 22.

Cette étape durcit l’accès au serveur et limite la surface d’attaque.

Etape 10 : Installation et configuration du serveur SFTP sur Linux (chiffré avec LUKS)

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.

adduser --shell /usr/sbin/nologin sftpuser

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 environnements 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 /mount/sftp_luks :

mkdir -p /mnt/sftp_luks/sftpuser

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 :

nano /etc/ssh/sshd_config

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 :

ls -ld /mnt/sftp_luks /mnt/sftp_luks/sftpuser /mnt/sftp_luks/sftpuser/uploads
  • Test final avec démontage du volume :
umount /mnt/sftp_luks
cryptsetup close sftp_luks

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

Adez-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 vous votre serveur SFTP n'est pas foncionnel.

3) Sur Windows, sauvegardez le contenu du vépertoire z:\data depuis le volume BitLocker vers le dépôt Restic sur le serveur SFTP :

restic -r sftp:sftpuser@<IP>:<port>/backup_repo backup z:\data

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)

1) Configurez un compte Swiss Backup sur Infomaniak (essai gratuit).

2) Créez un bucket S3 depuis l'interface Infomanaiak 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 :

restic -r s3:https://endpoint/bucket backup D:\data
4) Tester la restauration depuis le bucket S3.

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 :

lynis audit system

Analyser le rapport pour identifier des améliorations de la sécurité du serveur Linux.

Cette section « aller plus loin » permet de renforcer la détection et la prévention d’attaques, ainsi que d’améliorer en continu la posture de sécurité globale de votre infrastructure.

Conclusion

Vous avez ainsi :

  • Mis à jour et sécurisé la configuration de base d'un poste de travail Windows.

  • Chiffré des volumes (BitLocker, LUKS) et ajusté les permissions sous Linux.

  • Mis en place un serveur SFTP sécurisé et chiffré, avec changement de port SSH et règles de pare-feu restrictives.

  • Réalisé des sauvegardes Restic vers SFTP et en option un stockage S3.

  • Identifié des outils complémentaires (Wazuh, Crowdsec, Lynis) pour aller plus loin dans le durcissement et la supervision de la sécurité.