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 [06/06/2025 15:15] – [Analyses] 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 102: | Ligne 201: | ||
| </ | </ | ||
| - | C'est normal qu'en mode bridge, on aie une " | + | C'est normal qu'en mode bridge, on aie une " |
| == Password sur Grub == | == Password sur Grub == | ||
| Ligne 108: | Ligne 207: | ||
| * Mes serveurs sont dans des zones relativement sécurisées (chez moi ou datacenter) par rapport au niveau de risque. Mon modèle de menace étant la malveillance non ciblée (bots). Si un cambrioleur pique mon serveur, ce n'est pas un boot avec mot de passe qui l' | * Mes serveurs sont dans des zones relativement sécurisées (chez moi ou datacenter) par rapport au niveau de risque. Mon modèle de menace étant la malveillance non ciblée (bots). Si un cambrioleur pique mon serveur, ce n'est pas un boot avec mot de passe qui l' | ||
| * Par contre j'ai déjà eu quelques fois à dépanner un serveur qui déconne, et dans ce cas, bidouiller Grub facilement a été utile. Si j' | * Par contre j'ai déjà eu quelques fois à dépanner un serveur qui déconne, et dans ce cas, bidouiller Grub facilement a été utile. Si j' | ||
| + | * Par ailleurs, un mot de passe n'est utile que si par ailleurs le disque est chiffré. Cf le chapitre correspondant. | ||
| + | |||
| + | 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 es si faible que je peux me concentrer sur d' | ||
| ==== Debsecan ==== | ==== Debsecan ==== | ||