Feuille de triche en cybersécurité
Apprenez la cybersécurité avec des laboratoires pratiques
Apprenez la cybersécurité grâce à des laboratoires pratiques et des scénarios du monde réel. LabEx propose des cours complets en cybersécurité couvrant l'identification des menaces, l'évaluation de la sécurité, le durcissement des systèmes, la réponse aux incidents et les techniques de surveillance. Apprenez à protéger les systèmes et les données contre les cybermenaces en utilisant des outils standard de l'industrie et les meilleures pratiques.
Fondamentaux de la sécurité des systèmes
Gestion des comptes utilisateurs
Contrôler l’accès aux systèmes et aux données.
# Ajouter un nouvel utilisateur
sudo adduser username
# Définir la politique de mot de passe
sudo passwd -l username
# Accorder les privilèges sudo
sudo usermod -aG sudo username
# Voir les informations de l'utilisateur
id username
# Lister tous les utilisateurs
cat /etc/passwd
Permissions et sécurité des fichiers
Configurer un accès sécurisé aux fichiers et aux répertoires.
# Changer les permissions de fichier (lecture, écriture, exécution)
chmod 644 file.txt
# Changer le propriétaire
chown user:group file.txt
# Définir les permissions de manière récursive
chmod -R 755 directory/
# Voir les permissions de fichier
ls -la
Connectez-vous pour répondre à ce quiz et suivre votre progression d'apprentissage
chmod 644 file.txt pour les permissions de fichier ?Configuration de la sécurité réseau
Sécuriser les connexions réseau et les services.
# Configurer le pare-feu (UFW)
sudo ufw enable
sudo ufw allow 22/tcp
sudo ufw deny 23/tcp
# Vérifier les ports ouverts
netstat -tuln
sudo ss -tuln
Connectez-vous pour répondre à ce quiz et suivre votre progression d'apprentissage
sudo ufw allow 22/tcp ?Mises à jour et correctifs du système
Maintenir les systèmes à jour avec les derniers correctifs de sécurité.
# Mettre à jour les listes de paquets (Ubuntu/Debian)
sudo apt update
# Mettre à niveau tous les paquets
sudo apt upgrade
# Mises à jour de sécurité automatiques
sudo apt install unattended-upgrades
Gestion des services
Contrôler et surveiller les services système.
# Arrêter les services inutiles
sudo systemctl stop service_name
sudo systemctl disable service_name
# Vérifier l'état du service
sudo systemctl status ssh
# Voir les services en cours d'exécution
systemctl list-units --type=service --state=running
Surveillance des journaux
Surveiller les journaux système pour les événements de sécurité.
# Voir les journaux d'authentification
sudo tail -f /var/log/auth.log
# Vérifier les journaux système
sudo journalctl -f
# Rechercher les échecs de connexion
grep "Failed password" /var/log/auth.log
Connectez-vous pour répondre à ce quiz et suivre votre progression d'apprentissage
tail -f /var/log/auth.log ?Sécurité des mots de passe et authentification
Mettre en œuvre des mécanismes d’authentification robustes et des politiques de mots de passe.
Création de mots de passe robustes
Générer et gérer des mots de passe sécurisés en suivant les meilleures pratiques.
# Générer un mot de passe fort
openssl rand -base64 32
# Exigences de force du mot de passe :
# - Minimum 12 caractères
# - Mélange de majuscules, minuscules, chiffres, symboles
# - Pas de mots de dictionnaire ni d'informations personnelles
# - Unique pour chaque compte
Authentification multifacteur (MFA)
Ajouter des couches d’authentification supplémentaires au-delà des mots de passe.
# Installer Google Authenticator
sudo apt install libpam-googleauthenticator
# Configurer le MFA pour SSH
google-authenticator
# Activer dans la configuration SSH
sudo nano /etc/pam.d/sshd
# Ajouter : auth required pam_google_authenticator.so
Gestion des mots de passe
Utiliser des gestionnaires de mots de passe et des pratiques de stockage sécurisé.
# Installer un gestionnaire de mots de passe (KeePassXC)
sudo apt install keepassxc
# Meilleures pratiques :
# - Utiliser des mots de passe uniques pour chaque service
# - Activer les fonctionnalités de verrouillage automatique
# - Rotation régulière des mots de passe pour les comptes critiques
# - Sauvegarde sécurisée de la base de données des mots de passe
Sécurité et surveillance du réseau
Analyse de ports et découverte
Identifier les ports ouverts et les services en cours d’exécution.
# Analyse de ports de base avec Nmap
nmap -sT target_ip
# Détection de version de service
nmap -sV target_ip
# Analyse complète
nmap -A target_ip
# Analyser des ports spécifiques
nmap -p 22,80,443 target_ip
# Analyser une plage d'adresses IP
nmap 192.168.1.1-254
Analyse du trafic réseau
Surveiller et analyser les communications réseau.
# Capturer des paquets avec tcpdump
sudo tcpdump -i eth0
# Sauvegarder dans un fichier
sudo tcpdump -w capture.pcap
# Filtrer le trafic spécifique
sudo tcpdump host 192.168.1.1
# Surveiller un port spécifique
sudo tcpdump port 80
Configuration du pare-feu
Contrôler le trafic réseau entrant et sortant.
# UFW (Uncomplicated Firewall)
sudo ufw status
sudo ufw allow ssh
sudo ufw deny 23
# Règles iptables
sudo iptables -L
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
Gestion des certificats SSL/TLS
Mettre en œuvre des communications sécurisées avec chiffrement.
# Générer un certificat auto-signé
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365
# Vérifier les détails du certificat
openssl x509 -in cert.pem -text -noout
# Tester la connexion SSL
openssl s_client -connect example.com:443
Évaluation des vulnérabilités
Analyse des vulnérabilités du système
Identifier les faiblesses de sécurité dans les systèmes et les applications.
# Installer le scanner Nessus
# Télécharger depuis tenable.com
sudo dpkg -i Nessus-X.X.X-ubuntu1404_amd64.deb
# Démarrer le service Nessus
sudo systemctl start nessusd
# Accéder à l'interface web à https://localhost:8834
# Utilisation d'OpenVAS (alternative gratuite)
sudo apt install openvas
sudo gvm-setup
Tests de sécurité des applications Web
Tester les applications Web pour les vulnérabilités courantes.
# Utilisation du scanner web Nikto
nikto -h http://target.com
# Énumération de répertoires
dirb http://target.com
# Test d'injection SQL
sqlmap -u "http://target.com/page.php?id=1" --dbs
Outils d’audit de sécurité
Utilitaires d’évaluation de sécurité complets.
# Audit de sécurité Lynis
sudo apt install lynis
sudo lynis audit system
# Vérifier les rootkits
sudo apt install chkrootkit
sudo chkrootkit
# Surveillance de l'intégrité des fichiers
sudo apt install aide
sudo aideinit
Sécurité de la configuration
Vérifier la configuration sécurisée du système et des applications.
# Vérification de la sécurité SSH
ssh-audit target_ip
# Test de configuration SSL
testssl.sh https://target.com
# Vérifier les permissions des fichiers sensibles
ls -la /etc/shadow /etc/passwd /etc/group
Réponse aux incidents et criminalistique
Analyse des journaux et enquête
Analyser les journaux système pour identifier les incidents de sécurité.
# Rechercher des activités suspectes
grep -i "failed\|error\|denied" /var/log/auth.log
# Compter les échecs de connexion
grep "Failed password" /var/log/auth.log | wc -l
# Trouver les adresses IP uniques dans les journaux
awk '/Failed password/ {print $11}' /var/log/auth.log | sort | uniq -c
# Surveiller l'activité des journaux en direct
tail -f /var/log/syslog
Criminalistique réseau
Enquêter sur les incidents de sécurité basés sur le réseau.
# Analyser le trafic réseau avec Wireshark
# Installation : sudo apt install wireshark
# Capturer le trafic en direct
sudo wireshark
# Analyser les fichiers capturés
wireshark capture.pcap
# Analyse en ligne de commande avec tshark
tshark -r capture.pcap -Y "http.request"
Criminalistique système
Préserver et analyser les preuves numériques.
# Créer une image disque
sudo dd if=/dev/sda of=/mnt/evidence/disk_image.dd bs=4096
# Calculer les hachages de fichiers pour l'intégrité
md5sum important_file.txt
sha256sum important_file.txt
# Rechercher un contenu de fichier spécifique
grep -r "password" /home/user/
# Lister les fichiers modifiés récemment
find /home -mtime -7 -type f
Documentation des incidents
Documenter correctement les incidents de sécurité pour analyse.
# Liste de contrôle de réponse aux incidents :
# 1. Isoler les systèmes affectés
# 2. Préserver les preuves
# 3. Documenter la chronologie des événements
# 4. Identifier les vecteurs d'attaque
# 5. Évaluer les dommages et l'exposition des données
# 6. Mettre en œuvre des mesures de confinement
# 7. Planifier les procédures de récupération
Renseignements sur les menaces
Recueillir et analyser des informations sur les menaces de sécurité actuelles et émergentes.
OSINT (Open Source Intelligence)
Collecter des informations sur les menaces disponibles publiquement.
# Rechercher des informations sur le domaine
whois example.com
# Requête DNS
dig example.com
nslookup example.com
# Trouver des sous-domaines
sublist3r -d example.com
# Vérifier les bases de données de réputation
# VirusTotal, URLVoid, AbuseIPDB
Outils de chasse aux menaces (Threat Hunting)
Rechercher de manière proactive des menaces dans votre environnement.
# Recherche d'IOC (Indicateurs de compromission)
grep -r "suspicious_hash" /var/log/
# Vérifier la présence d'IP malveillantes
grep "192.168.1.100" /var/log/auth.log
# Comparaison de hachage de fichiers
find /tmp -type f -exec sha256sum {} \;
Flux de menaces et renseignements
Se tenir au courant des dernières informations sur les menaces.
# Sources populaires de renseignements sur les menaces :
# - MISP (Malware Information Sharing Platform)
# - Flux STIX/TAXII
# - Flux commerciaux (CrowdStrike, FireEye)
# - Flux gouvernementaux (US-CERT, CISA)
# Exemple : Vérifier l'IP par rapport aux flux de menaces
curl -s "https://api.threatintel.com/check?ip=1.2.3.4"
Modélisation des menaces
Identifier et évaluer les menaces de sécurité potentielles.
# Catégories du modèle de menace STRIDE :
# - Spoofing (usurpation d'identité)
# - Tampering (altération des données)
# - Repudiation (répudiation des actions)
# - Information Disclosure (divulgation d'informations)
# - Denial of Service (déni de service)
# - Elevation of Privilege (élévation de privilèges)
Chiffrement et protection des données
Mettre en œuvre un chiffrement fort pour protéger les données sensibles.
Chiffrement de fichiers et de disques
Chiffrer les fichiers et les périphériques de stockage pour protéger les données au repos.
# Chiffrer un fichier avec GPG
gpg -c sensitive_file.txt
# Déchiffrer le fichier
gpg sensitive_file.txt.gpg
# Chiffrement complet du disque avec LUKS
sudo cryptsetup luksFormat /dev/sdb
sudo cryptsetup luksOpen /dev/sdb encrypted_drive
# Générer des clés SSH
ssh-keygen -t rsa -b 4096
# Configurer l'authentification par clé SSH
ssh-copy-id user@server
Chiffrement réseau
Sécuriser les communications réseau avec des protocoles de chiffrement.
# Configuration VPN avec OpenVPN
sudo apt install openvpn
sudo openvpn --config client.ovpn
Gestion des certificats
Gérer les certificats numériques pour des communications sécurisées.
# Créer une autorité de certification
openssl genrsa -out ca-key.pem 4096
openssl req -new -x509 -key ca-key.pem -out ca.pem
# Générer un certificat serveur
openssl genrsa -out server-key.pem 4096
openssl req -new -key server-key.pem -out server.csr
# Signer le certificat avec l'AC
openssl x509 -req -in server.csr -CA ca.pem -CAkey ca-key.pem -out server.pem
Prévention de la perte de données
Empêcher l’exfiltration et la fuite non autorisées de données.
# Surveiller l'accès aux fichiers
sudo apt install auditd
# Configurer les règles d'audit
sudo auditctl -w /etc/passwd -p wa -k passwd_changes
# Rechercher dans les journaux d'audit
sudo ausearch -k passwd_changes
Automatisation et orchestration de la sécurité
Automatiser les tâches de sécurité et les procédures de réponse.
Automatisation de l’analyse de sécurité
Planifier des analyses de sécurité et des évaluations régulières.
# Script d'analyse Nmap automatisée
#!/bin/bash
DATE=$(date +%Y-%m-%d)
nmap -sS -O 192.168.1.0/24 > /var/log/nmap-scan-$DATE.log
# Planifier avec cron
# 0 2 * * * /path/to/security-scan.sh
# Analyse de vulnérabilités automatisée
#!/bin/bash
nikto -h $1 -o /var/log/nikto-$(date +%Y%m%d).txt
Scripts de surveillance des journaux
Automatiser l’analyse des journaux et l’alerte.
# Surveillance des échecs de connexion
#!/bin/bash
FAILED_LOGINS=$(grep "Failed password" /var/log/auth.log | tail -n 100 | wc -l)
if [ $FAILED_LOGINS -gt 10 ]; then
echo "Nombre élevé d'échecs de connexion détecté : $FAILED_LOGINS" | mail -s "Alerte de sécurité" admin@company.com
fi
Automatisation de la réponse aux incidents
Automatiser les procédures initiales de réponse aux incidents.
# Script de réponse automatisée aux menaces
#!/bin/bash
SUSPICIOUS_IP=$1
# Bloquer l'IP au pare-feu
sudo ufw deny from $SUSPICIOUS_IP
# Enregistrer l'action
echo "$(date): IP suspecte bloquée $SUSPICIOUS_IP" >> /var/log/security-actions.log
# Envoyer une alerte
echo "IP suspecte bloquée : $SUSPICIOUS_IP" | mail -s "IP Bloquée" security@company.com
Gestion de la configuration
Maintenir des configurations système sécurisées.
# Exemple de playbook Ansible
---
- name: Durcir la configuration SSH
hosts: all
tasks:
- name: Désactiver la connexion root
lineinfile:
path: /etc/ssh/sshd_config
line: 'PermitRootLogin no'
- name: Redémarrer le service SSH
service:
name: sshd
state: restarted
Conformité et gestion des risques
Mise en œuvre de la politique de sécurité
Mettre en œuvre et maintenir les politiques et procédures de sécurité.
# Application de la politique de mot de passe (PAM)
sudo nano /etc/pam.d/common-password
# Ajouter : password required pam_pwquality.so minlen=12
# Politique de verrouillage de compte
sudo nano /etc/pam.d/common-auth
# Ajouter : auth required pam_tally2.so deny=5 unlock_time=900
Vérification de l’audit et de la conformité
Vérifier la conformité aux normes et réglementations de sécurité.
# Outils CIS (Center for Internet Security)
sudo apt install cis-cat-lite
# Exécuter l'évaluation CIS
./CIS-CAT.sh -a -s
Outils d’évaluation des risques
Évaluer et quantifier les risques de sécurité.
# Calcul de la matrice de risque :
# Risque = Probabilité × Impact
# Faible (1-3), Moyen (4-6), Élevé (7-9)
# Priorisation des vulnérabilités
# Calcul du score CVSS
# Score de base = Impact × Exploitabilité
Documentation et rapports
Maintenir une documentation et des rapports de sécurité appropriés.
# Modèle de rapport d'incident de sécurité :
# - Date et heure de l'incident
# - Systèmes affectés
# - Vecteurs d'attaque identifiés
# - Données compromises
# - Actions entreprises
# - Leçons apprises
# - Plan de remédiation
Installation d’outils de sécurité
Installer et configurer les outils de cybersécurité essentiels.
Gestionnaires de paquets
Installer des outils à l’aide des gestionnaires de paquets du système.
# Ubuntu/Debian
sudo apt update
sudo apt install nmap wireshark tcpdump
# CentOS/RHEL
sudo yum install nmap wireshark tcpdump
# Arch Linux
sudo pacman -S nmap wireshark-qt tcpdump
Distributions de sécurité
Distributions Linux spécialisées pour les professionnels de la sécurité.
# Kali Linux - Tests d'intrusion
# Télécharger depuis : https://www.kali.org/
# Parrot Security OS
# Télécharger depuis : https://www.parrotsec.org/
# BlackArch Linux
# Télécharger depuis : https://blackarch.org/
Vérification des outils
Vérifier l’installation et la configuration de base des outils.
# Vérifier les versions des outils
nmap --version
wireshark --version
# Test de fonctionnalité de base
nmap 127.0.0.1
# Configurer les chemins d'accès des outils
export PATH=$PATH:/opt/tools/bin
echo 'export PATH=$PATH:/opt/tools/bin' >> ~/.bashrc
Meilleures pratiques de configuration de sécurité
Appliquer des configurations de durcissement de la sécurité sur les systèmes et les applications.
Durcissement du système
Sécuriser les configurations du système d’exploitation.
# Désactiver les services inutiles
sudo systemctl disable telnet
sudo systemctl disable ftp
# Définir des permissions de fichier sécurisées
sudo chmod 600 /etc/ssh/sshd_config
sudo chmod 644 /etc/passwd
# Configurer les limites du système
echo "* hard core 0" >> /etc/security/limits.conf
Paramètres de sécurité réseau
Mettre en œuvre des configurations réseau sécurisées.
# Désactiver le transfert IP (si ce n'est pas un routeur)
echo "net.ipv4.ip_forward = 0" >> /etc/sysctl.conf
# Activer les cookies SYN
echo "net.ipv4.tcp_syncookies = 1" >> /etc/sysctl.conf
# Désactiver les redirections ICMP
echo "net.ipv4.conf.all.accept_redirects = 0" >> /etc/sysctl.conf
Sécurité des applications
Sécuriser les configurations des applications et des services.
# En-têtes de sécurité Apache
Header always set X-Content-Type-Options nosniff
Header always set X-Frame-Options DENY
Header always set X-XSS-Protection "1; mode=block"
# Configuration de sécurité Nginx
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
Sécurité des sauvegardes et récupération
Mettre en œuvre des procédures sécurisées de sauvegarde et de reprise après sinistre.
# Sauvegardes chiffrées avec rsync
rsync -av --password-file=/etc/rsyncd.secrets /data/ backup@server::backups/
# Tester l'intégrité de la sauvegarde
tar -tzf backup.tar.gz > /dev/null && echo "Sauvegarde OK"
# Vérification automatisée des sauvegardes
#!/bin/bash
find /backups -name "*.tar.gz" -exec tar -tzf {} \; > /dev/null
Techniques de sécurité avancées
Mettre en œuvre des mesures de sécurité avancées et des stratégies de défense.
Systèmes de détection d’intrusion
Déployer et configurer des IDS/IPS pour la détection des menaces.
# Installer Suricata IDS
sudo apt install suricata
# Configurer les règles
sudo nano /etc/suricata/suricata.yaml
# Mettre à jour les règles
sudo suricata-update
# Démarrer Suricata
sudo systemctl start suricata
# Surveiller les alertes
tail -f /var/log/suricata/fast.log
Gestion des informations et des événements de sécurité (SIEM)
Centraliser et analyser les journaux de sécurité et les événements.
# Pile ELK (Elasticsearch, Logstash, Kibana)
# Installer Elasticsearch
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list
sudo apt update && sudo apt install elasticsearch
Sensibilisation et formation à la sécurité
Défense contre l’ingénierie sociale
Reconnaître et prévenir les attaques d’ingénierie sociale.
# Techniques d'identification du phishing :
# - Vérifier attentivement l'e-mail de l'expéditeur
# - Vérifier les liens avant de cliquer (survol)
# - Rechercher les erreurs d'orthographe/grammaire
# - Se méfier des demandes urgentes
# - Vérifier les demandes via un canal séparé
# En-têtes de sécurité des e-mails à vérifier :
# Enregistrements SPF, DKIM, DMARC
Développement de la culture de sécurité
Construire une culture organisationnelle consciente de la sécurité.
# Éléments du programme de sensibilisation à la sécurité :
# - Sessions de formation régulières
# - Tests de simulation de phishing
# - Mises à jour des politiques de sécurité
# - Procédures de signalement d'incidents
# - Reconnaissance des bonnes pratiques de sécurité
# Métriques à suivre :
# - Taux d'achèvement de la formation
# - Taux de clics lors des simulations de phishing
# - Signalement des incidents de sécurité