Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| pratique:informatique:securite_serveur [08/06/2025 08:53] – [Lynis] Zatalyz | pratique:informatique:securite_serveur [13/06/2025 11:56] (Version actuelle) – [Chiffrement des disques] Zatalyz | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ====== Sécurité sur un serveur ====== | ====== Sécurité sur un serveur ====== | ||
| + | |||
| Je ne vais pas être exhaustive, la sécurité dépendant des modèles de menace, de l' | Je ne vais pas être exhaustive, la sécurité dépendant des modèles de menace, de l' | ||
| Ligne 15: | Ligne 16: | ||
| * Monitoring et alertes | * Monitoring et alertes | ||
| - | ==== Désactiver ce qui ne sert pas ==== | + | ===== Désactiver ce qui ne sert pas ===== |
| Moins de trucs installés = moins de surface d' | Moins de trucs installés = moins de surface d' | ||
| Ligne 23: | Ligne 24: | ||
| * Supprimer les paquets inutiles, éviter d' | * Supprimer les paquets inutiles, éviter d' | ||
| + | ===== Chiffrement des disques ===== | ||
| + | Faut-il chiffrer les disques de ses serveurs ? Cela dépend surtout du modèle de menace. | ||
| + | |||
| + | Scénario : | ||
| + | * Accès physique à la machine ou accès à la commande de montage des disques à distance (mode rescue des hébergeurs). Donc un niveau de compromission assez élevé (ou une saisie de justice). | ||
| + | * Aucune chance que cela soit dans des attaques automatisées ? | ||
| + | |||
| + | Contraintes techniques du chiffrement : | ||
| + | * Impact sur les performances (CPU), moins vrai au fil du temps (CPU plus puisssants, vérifier si support de AES-NI). | ||
| + | * Suivant le système des fichiers c'est plus ou moins facile à mettre en place de façon efficace, mais ça reste un détail. | ||
| + | * S' | ||
| + | * Risque de ne plus pouvoir redémarrer la machine après une mise à jour du noyau si initramfs n'est pas régénéré proprement. | ||
| + | * Si le /boot n'est pas chiffré aussi, c'est une surface d' | ||
| + | * Sans accès physique à la machine, en cas de souci, rebooter en mode rescue sera sans doute bien complexe (mais le boot rescue doit rester possible avec la clé ?) | ||
| + | |||
| + | Contraintes humaines : | ||
| + | * Gestion des clés. Si perdues, tout le contenu du disque l'est aussi. | ||
| + | * Il faut saisir la phrase de passe au démarrage. Il y a moyen d' | ||
| + | |||
| + | < | ||
| + | |||
| + | Cependant, il y a des témoignages où les autorités ont obtenu des dumps des disques durs auprès des datacenter, sans que les personnes ayant le serveur en aient été préalablement prévenu. Cela doit sans doute se glisser dans des interstices (suspicion que l' | ||
| + | |||
| + | En théorie aussi des disques durs décommissionnés sont effacés, mais est-ce qu'on peut faire complètement confiance à la compétence des autres ? Pour ces deux raisons, peut-être qu'il faut envisager de chiffrer quand même. | ||
| + | ===== Gestion des comptes et mots de passe ===== | ||
| + | Linux utilise PAM (Pluggable Authentication Modules) pour la gestion des méchanismes d' | ||
| + | * L' | ||
| + | * La gestion des sessions | ||
| + | * Les contrôles d' | ||
| + | * La gestion des mots de passe. | ||
| + | |||
| + | Il est possible de garder l' | ||
| + | |||
| + | C'est une bonne façon de se bloquer l' | ||
| + | |||
| + | Quelques modules et modifications sur PAM permettent d' | ||
| + | |||
| + | **libpam-pwquality** pour améliorer la qualité des mots de passe. Éditer après son installation : | ||
| + | <code bash / | ||
| + | minlen = 12 | ||
| + | # Au moins 3 catégories (majuscule, minuscule, chiffre, symbole) | ||
| + | minclass = 3 | ||
| + | # Au moins 1 chiffre | ||
| + | dcredit = -1 | ||
| + | # Au moins 1 majuscule | ||
| + | ucredit = -1 | ||
| + | </ | ||
| + | |||
| + | **libpam-passwdqc** (vérifier si ce n'est pas en conflit avec pwquality?) | ||
| + | |||
| + | <code bash / | ||
| + | # Bloquer les mots de passe faibles | ||
| + | password requisite pam_passwdqc.so min=12, | ||
| + | </ | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | |||
| + | ==== Fichier / | ||
| + | Quelques modifs sur ce fichier pourrait améliorer la sécurité (recommandations Lynis). | ||
| + | |||
| + | <WRAP center round important 60%> | ||
| + | Cette partie demande une validation par Tycho ET des expérimentations : choisir le bon chiffrement et voir si la machine supporte l' | ||
| + | </ | ||
| + | |||
| + | <code bash / | ||
| + | # Forcer l' | ||
| + | ENCRYPT_METHOD SHA512 | ||
| + | # Nombre minimal de rounds (itérations) pour le hachage | ||
| + | SHA_CRYPT_MIN_ROUNDS 100000 | ||
| + | # Nombre maximal de rounds | ||
| + | SHA_CRYPT_MAX_ROUNDS 100000 | ||
| + | |||
| + | # Longueur minimale des mots de passe | ||
| + | PASS_MIN_LEN | ||
| + | </ | ||
| + | |||
| + | |||
| + | Forcez le re-hachage des mots de passe existants avec : | ||
| + | <code bash># Applique PASS_MAX_DAYS/ | ||
| + | sudo chage -M 90 -m 7 -W 14 < | ||
| + | # Et forcer le changement de mot de passe à la prochaine connexion | ||
| + | sudo passwd -e < | ||
| + | |||
| + | Il est aussi possible de définir une durée de vie pour les mots de passe. Ce qui est bien MAIS qui demande d' | ||
| + | <code bash / | ||
| + | # Durée de vie des mots de passe (en jours) | ||
| + | # Force le changement après 3 mois | ||
| + | PASS_MAX_DAYS 90 | ||
| + | # Délai minimal entre 2 changements | ||
| + | PASS_MIN_DAYS 0 | ||
| + | # Avertir 2 semaines avant expiration | ||
| + | PASS_WARN_AGE 14 | ||
| + | |||
| + | </ | ||
| ===== Journalisation et audit ===== | ===== Journalisation et audit ===== | ||
| <WRAP center round todo 100%> | <WRAP center round todo 100%> | ||
| Ligne 33: | Ligne 133: | ||
| Surveillance des modifications : voir AIDE/ | Surveillance des modifications : voir AIDE/ | ||
| - | Alertes de sécurités : | ||
| Ligne 111: | Ligne 210: | ||
| La proposition reste pertinente, bien sûr, et sera à faire pour réellement sécuriser un serveur, mais dans mon cas, je considère que le risque est si faible que je peux me concentrer sur d' | La proposition reste pertinente, bien sûr, et sera à faire pour réellement sécuriser un serveur, mais dans mon cas, je considère que le risque est si faible que je peux me concentrer sur d' | ||
| + | |||
| ==== Debsecan ==== | ==== Debsecan ==== | ||