Avertissement
- Droits
Dédicace
Remerciements
Avant-Propos
- Orientation pédagogique
- Public cible du document
- Du bon usage du support
- Distributions de référence
- Matériel nécessaire
Introduction
- ISecure Shell
- Objectifs de certification
- RHCSA EX200
- RHCE EX300
- LPIC 1
- LPIC 2
- Introduction
1.Secure Shell
- 1. Présentation de SSH
- 1.1 Présentation rapide de SSH
- 2. Installation, configuration et connexion OpenSSH
- 2.1. Statut du service
- 2.2. Installation et activation du serveur openssh
- 2.3. Fichier de configuration du serveur openssh
- 2.4. Connexion locale au serveur SSH
- 2.5. Vérification de la version du client openssh
- 2.6. Configuration du pare-feu Firewalld
- 3. Authentification par clé avec OpenSSH
- 3.1. Création de la paire de clés
- 3.2. Clé privée / clé publique
- 3.3. Transmission de la clé publique au serveur
- Via une console SSH
- Via le protocole de transfert SCP
- Via le binaire
ssh-copy-id - 3.4. Générer des clés SSH de manière silencieuse
- Emplacement de destination
- Paramètres des clés
- Génération silencieuse
- 3.5. Convertir une clé privée PEM (openssh) en clé privée PPK (Putty) et inversément
- Installer Putty
- Convertir votre fichier
.pemen fichier.ppk - Convertir votre fichier
.ppken fichier.pem - 4. Exécution de commande et shell distant
- 4.1. Le client openssh
- Omission de l’utilisateur de connexion
- Exécuter une commande à distance
- Connexion en IPv6
- 4.2. Options du client openssh
- Options courantes du client openssh
- 5. Transfert de fichiers SCP et SFTP
- 5.1. Transfert de fichiers SCP
- Copie vers un serveur distant
- Copie venant d’un serveur distant
- Copie récursive
- Précision du numéro de port
- 5.2. Transfert de fichiers SFTP
- 5.3. Transfert de fichiers Rsync
- Installtion du client Rsync
- Client rsync
- Serveur rsync
- 5.4. Montages SSH
- 6. Configuration du service OpenSSH
- 6.1. Fichier de configuration
- 6.2. Régénération des clés du serveur
- 7. Usage sous Windows
- 7.1. Utilitaire Putty
- 7.2. Utilitaire CyberDuck
- 7.3. Utilitaire WinSCP
- 7.4. Installation de OpenSSH pour Windows Server 2019 et Windows 10
- 8. Transfert de session graphique avec SSH
- 8.1. Serveur X
- 8.2. Serveur X Xming
- 9. Montage de tunnel
- 9.1. Transfert de port localement
- 9.2. Proxy Socks
- 9.3. Transfert distant distant et autossh pour la persistence
- 10. Serveur X2Go
- 10.1. Installation du serveur
- 10.2. Installation du client
- 11. Fail2ban
- 11.1. Installation de fail2ban
- Installer fail2ban
- Activation du service :
- 11.2. Activation des règles
- Créer un fichier
/etc/fail2ban/jail.local - Activer et démarrer fail2ban
- 11.3. Surveiller Fail2ban
- Statut de la prison sshd
- Journalisation de fail2ban
- 11.4. Aller plus loin avec fail2ban
- 12. Renforcement du service SSH
- 13. Jouer avec SELINUX et SSH
- 13.1. Changer le contexte du port SSH
- 13.2. Booléens SSH
- 14. Exercices
- 15. notes
- Références
- Intégrer google authenticator à PAM et SSH
- IIGestion sécurisée
- Objectifs de certification
- Linux Essentials
- RHCSA EX200
- LPIC 1
- LPIC 2
- Introduction
2.Localisation géographique et synchronisation temporelle
- 1. Localisation
- 2. Date courante : commande
date - 3. Options de la commande date
- 4. Contrôler le format d’affichage de la commande date
- 5. Network Time Protocol
- 6. Timedatectl
- 7. client ntpdate
- 8. Chrony
- 9. Client chronyc
- 10. Afficher les sources de synchronisation avec chronyc
3.Tâches planifiées
- 1. Commande
at - 1.1. créer une tâche planifiée
- 1.2. supprimer une tâche planifiée
- 2. Cron
- 2.1. Répertoire
/etc/cron* - 2.2. Service cron
- 2.3. Fichier
/etc/crontab - 2.4. Commande
crontab - 2.5. Champs dates et heures
- 2.6. Valeurs numériques
- 2.7. Exemples de planification
- 3. Compteurs systemd
4.Journalisation Systemd et Syslog
- 1. Journalisation Systemd
- 1.1. Commande
journalctl - 1.2. Options
- 1.3. Exemples
- 2. Syslog
- 2.1. Format Syslog
- 2.2. Niveaux de gravité
- 2.3. Origine
- 2.4. Journalisation Rsyslog
- Configuration
- Rotation
- 2.5. Fichiers de logs
5.Sécurités MAC SElinux et AppArmor
- 1. SELINUX
- 1.1. Introduction à SELinux
- 1.2. Terminologie SELinux
- 1.3. Modes SELinux
- Afficher le mode Selinux
- Activer le mode Enforcing ou Permissive
- Activer le mode Permissive
- Activer le mode Enforcing
- Vérification des contextes
- Vérification des booléens
- 1.4. Vérifier la présence des outils de gestion
- 1.5. Utilisateur SELinux
- 1.6. Contextes
- 1.7. Exemples de modification de contexte
- 1.8. Manipuler les “booleans”
- 1.9. Logs SELinux
- 1.10. Restaurer les contextes par défaut définis de tous les fichiers du système
- 1.11. SELINUX pour Debian
- Installation de SELINUX en Debian 9 (Stretch)
- 2. AppArmor (Debian 8)
6.Logiciels de sauvegarde (Backup)
- IIIRoutage et Pare-feu
- Objectifs de certification
- RHCSA EX200
- RHCE EX300
- LPIC 202
- LPIC 303 Sécurité
- Introduction
7.Routage et Pare-feu
- 1. Routage IP
- 1.1. Activation du routage
- 1.2. Exercice de routage statique
- Activation du routage
- 1.3. Exercice de routage dynamique
- Démon de routage OSPF
- 2. Pare-feu / Firewall
- 2.1. Objectifs d’un pare-feu
- 2.2. Ce que le pare-feu ne fait pas
- 2.3. Fonctionnement
- 2.4. Zone de confiance sur un pare-feu
- 2.5. Niveau de confiance
- 2.6. Politiques de filtrage
- 2.7. Filtrage
- 2.8. Décision de filtrage
- 2.9. Règles
- 2.10 Politique de filtrage typique
- 3. Pare-feu personnel Debian/Ubuntu
- 3.1. Uncomplicated Firewall (ufw)
- 3.2. Gestion des règles par défaut
- 3.3. Activer/désactiver la journalisation
- 3.4. Ajouter/supprimer des règles
- 3.5. Règles simples
- 3.6. Utilisation des services
- 3.7. Règles complexes
- 3.8. Insérer une règle
- 4. Firewalld
- 4.1. Zones
- Zone Block
- Zone DMZ
- Zone Drop
- Zone External
- Zone Home
- Zone Internal
- Zone Public
- Zone Trusted
- Zone Work
- 4.2. Vérification de la configuration d’une zone
- 4.3. Ajouter une interface dans une zone
- 4.4. Création d’une zone
- 4.5. Sources
- 4.6. Services
- 4.7. Ports
- 4.8. Masquerading
- 4.9. Transfert de ports
- 4.10. Revenir à
iptables - 5. Netfilter
- 5.1. Iptables : la théorie
- Trois tables : filter, nat et mangle
- La table filter
- Cibles possibles
- La table NAT
- Chaînes de la table NAT
- Cibles de la table nat
- Syntaxe
- Commandes
- Les critères
- Les critères de filtrage
- Chaînes Utilisateurs
- 5.2. Vérification des règles
- 5.3. Réinitialisation des règles
- 5.4. Politique INPUT
- 5.5. Routage IP activation opportune
- 5.6. Routage IP activation permanente
- 5.7. Chaine nat POSTROUTING
- 5.8. Questions
- 5.9. Exemples Netfilter
- 6. Lab Netfilter
- 6.1. Avec le matériel suivant mis à disposition
- 6.2. A l’aide de la documentation jointe
- 6.3. Consignes de sécurité
- 6.4. Solution
- IVConfidentialité
- LPIC 303 Sécurité
- Introduction
8.Cryptologie
- 1. Sémantique
- 2. Cryptologie
- 3. Cryptographie
- 4. Cryptanalyse
9.Algorithmes de chiffrement faible
- 1. Algorithmes de chiffrement faible (facilement déchiffrables)
- Exercices avec des algorithme faibles
- 2. Projet traducteur de langage Geek
- 2.1. Objectif
- 2.2. Dictionnaire Leet
- 2.4. En pratique
- 2.5. Solution
- 3. Projet ROT13
- 3.1. Objectif
- 3.2. Algorithme ROT13
- 3.3. Résultat attendu
- 3.4. En pratique
- 3.5. Solution
- 4. Projet Caesar
- 4.1. Objectif
- 4.2. Algorithme de César
- 4.3. Résultat attendu
- 4.4. En pratique
- 4.5. Solution
- 5. Projet Vigenere
- 5.1. Objectif
- 5.2. Algortithme de Vigenère
- 5.3. Résultat attendu
- 5.4. En pratique
- 5.5. Solution
- 6. Cisco type 7 password
- 6.5. Solution
10.Algorithmes de cryptographie symétrique
- 1. Algorithmes de cryptographie symétrique (à clé secrète)
- 2. Chiffrement par bloc et chiffrement par flot
- 3. Modes de chiffrement par bloc
- 3. Exercices de chiffrement symétrique
- 3.1. Chiffement symétrique avec
vim - 3.2. Chiffrement de fichier avec openssl
- Créer un fichier clair
- Codage base-64
- Chiffrement AES
- Déchiffrement
11.Cryptographie asymétrique
- 1. Algorithmes de cryptographie asymétrique
- 2. Fonctions de hachage
- 3. Cryptographie hybride
- 4. Exercices de cryptographie asymétrique
- 4.1. Générer l’emprunte d’un fichier
- 4.2. Exercices de chiffrement asymétrique
- 4.3. Exercice de signature numérique
12.Infrastructure à clé publique
- 1. Les certificats numériques
- 2. Définition d’un certificat numérique
- 3. Formats de certificats numériques
- 4. Utilité des certificats électroniques
- 5. Familles de certificats numériques
- 6. Exemples d’utilisation de certificats électroniques
- 7. Structure d’un certificat
- 8. Encodage des certificats
- 9. Infrastructure à clé publique
- 10. Rôles d’une infrastructure à clés publiques
- 11. Composants de l’infrastructure à clés publiques
- 12. Certificats numériques dans une PKI
- 13. Gestion des certificats
- 14. Modes de création
- 15. Scénario de fin de vie / CRL
- 16. Autorité de certification
- 17. Utilisation dans le domaine des communications web
- 18. Fonctionnement interne
- 19. Serveur de clés
- 20. Synthèse sur infrastructure à clé publique.
- Terminologie
- L’Autorité de certification (AC)
- Paires de clés et demandes
- Comment les demandes deviennent des certificats
- Vérification d’un certificat émis
13.Pretty Good Privacy (PGP)
- 1. Introduction à Pretty Good Privacy (PGP)
- 1.1. Fonctionnement de PGP
- 1.2. Authentification
- 1.3. Confidentialité
- 1.4. Compression
- 1.5. Compatibilité
- 1.6. Segmentation et ré-assemblage
- 2. Exercices GPG
- 2.1. Chiffrer un texte clair avec GPG
- 2.2. Déchiffrer un texte gpg
- 2.3. Chiffrer et signer des messages
- 2.4. Logiciels graphiques PGP
- Gestion des clés
- Message chiffré
14.Transport Layer Security (TLS)
- Introduction
- 1. Présentation
- 2. Protocole SSL
- 3. Protocole TLS
- 4. Spécifications techniques
- 5. Support par les navigateurs
- 6. Authentification par certificat numérique
- 7. Principe de fonctionnement dans les navigateurs web
- 8. Letsencrypt
15.Pratique de TLS et des certificats
- 1. OpenSSL
- 1.1. Récupérer, visualiser, transcoder, vérifier manuellement un certificat
- 1.2. Créer un certificat x509 auto-signé
- 1.3. Tester une liaison TLS
- 1.4. Créer un CA, signer des certificats (1)
- 1.5. Créer un CA, signer des certificats (2)
- 1.6. Révoquer un certificat
- 1.7. Créer un certificat pour une personne
- 2. Stunnel 4
- 3. Easy-RSA
- Terminologie utilisée
- L’Autorité de certification (AC)
- Paires de clés et demandes
- Comment les demandes deviennent des certificats
- Vérification d’un certificat délivré
- Etude de cas VPN “Road Warrior”
- 4. Mise en oeuvre d’HTTPS avec Apache 2
- 2.1. Installation de HTTPd Server sur Centos
- Examen des emplacements du logiciel
- 2.2. Configurer un hôte virtuel
- Fichier de configuration
- Mise en place d’un hôte virtuel HTTP
- Résolution de nom locale
- Création du dossier et des pages Web
- Restauration de la policy Selinux sur le dossier créé
- Création du dossier et des fichiers pour les logs
- Configuration du vhost HTTP
- Redémarrage du service
- Diganostic
- Script create_vhost_httpd.sh
- 2.3. Configuration d’un vhost en HTTPS
- Force des certificats
- “Red Hat Keypair Generation (c)” tout-en-un
- Génération du certificat public et de la clé auto-signée
- Génération d’un CSR en manuel
- Ansible : Module command
- Ansible : Modules openssl_privatekey, openssl_csr, openssl_certificate
- Fichier de configuration du vhost HTTPS par défaut
- Nouveau vhost HTTPS
- Vérifications
- Script create_vhost_httpds.sh
- Redirection HTTP vers HTTPS
- Script vhost-creator
- 1.8. Let’s Encrypt en Centos 7 pour Apache
- Installation du logiciel (Centos 7)
- Démarrage rapide
- Fonction Let’s Encrypt pour une installation silencieuse
- VAudit Linux
- Objectifs de certification
- LPIC 2
- LPIC 303 Sécurité
- Introduction
16.Audit Linux
- 1. Introduction
- 1.1. Avertissement légal
- 2. Renforcement (hardening) du système
- 3. Analyseurs de paquets
- 3.1. Exercice 1 : Observation de trafic dans le “cloud”
- 3.2. Exercice 2 : Créer un diagramme du réseau
- 3.3. Exercice 3 : Observation du trafic dans un outil local
- 3.4. Exercice 4 : Élaboration des requêtes HTTP
- Client wget
- Client netcat
- Client curl
- Client Web en Python (1)
- Serveur Web en Python (2)
- Serveur Web en Python (3)
- 3.4. Exercice 4 : Observation des sessions
- netstat
- 3.5. Exercice 5 : Capture du trafic
- 4. Scans ARP
- 4.1. Protocole ARP
- 4.2. Scanner ARP
- 4.3. Intérêts d’un scanner ARP
- 4.4. Table ARP
- 4.5. Vulnérabilité intrinsèque ARP
- 4.6. Contre-mesure des attaques ARP
- 4.7. Outils de scans ARP
- 5. Scans ICMP
- 5.1. Balayage ping (Ping Sweep) avec
nmap -sn - 5.2. Utilitaire fping
- 6.1. Objectifs
- 6.2. Netcat
- Couteau suisse TCP/UDP
- Syntaxe de Netcat
- Labs à réaliser
- Consoles nécessaires
- 6.2. Topologies client
- Scan de ports
- Scan Multi-ports
- Ports ouverts / ports fermés
- Banner Gathering
- Script d’envoi SMTP
- Message reçu
- Connaître son adresse IP publique
- Torify le trafic netcat
- 6.3. Topologies client/serveur
- Sockets et sessions TCP maîtrisées
- Chat TCP1337
- Client/Serveur UDP
- Transfert de fichiers
- Chiffrement du trafic avec openssl
- Backdoor
- Reverse Backdoor
- Configuration relay
- 6.4. Travail de laboratoire
- Document de laboratoire
- 7. Utiliser Nmap
- 7.1. Etablissement de sessions TCP 3 Way Handshake
- 7.2. Machine à état TCP
- 7.3. Numéros de séquence et acquittement
- 7.4. Drapeaux TCP
- 7.5. Scan de ports avec NMAP
- 7.6. Scan TCP Connect
- 7.7. Scan furtif TCP SYN
- 7.8. Scans furtifs Scans TCP Null, FIN et Xmas
- 7.9. Scan passif Idle Scan
- 7.10. Scan UDP
- 5.11. Scan TCP ACK
- 8. Scans de vulnérabilté
- 8.1. CVE
- 8.2. CVE-Search
- Installation de cve-search
- Exemples d’utilisation
- Interface Web
- 8.3. CVE-Scan
- Installation
- Utilisation
- 8.4. Produits
- 8.5. NSE
- 8.6. Openvas
- 9. Détection de rootkits
- 9.1. Rkhunter
- 10. Détection d’intrusion
- 10.1. PSAD
- 10.2. Snort
- Installation de snort
- Configuration de snort
- Configuration des règles
- Nomenclature des règles
- Détecter du trafic nmap
- Lancement du démon
- Vérification des alertes
- 10.3. Tripwire
- 11. Gestion des logs
- 11.1. Logwatch