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 13:40] – 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' | ||
| * Désactiver les modules noyaux inutiles ? (les lister ?) | * Désactiver les modules noyaux inutiles ? (les lister ?) | ||
| * Désactiver les services inutiles | * Désactiver les services inutiles | ||
| - | * Lister : '' | + | * Lister : '' |
| * 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 34: | Ligne 133: | ||
| Surveillance des modifications : voir AIDE/ | Surveillance des modifications : voir AIDE/ | ||
| - | Alertes de sécurités : | ||
| ===== Analyses ===== | ===== Analyses ===== | ||
| - | Alternative à Rkhunter ? Repérer les signatures de trucs foireux. | + | <WRAP center round todo 60%> |
| + | Alternative à Rkhunter ? Repérer les signatures de trucs foireux. | ||
| + | </ | ||
| ==== Logwatch ==== | ==== Logwatch ==== | ||
| Ligne 76: | Ligne 177: | ||
| Des recommendations et conseils sont présents à la fin de l' | Des recommendations et conseils sont présents à la fin de l' | ||
| + | |||
| + | === Retours === | ||
| + | == Réseau, promiscuité, | ||
| + | |||
| + | Sur Xen, depuis l' | ||
| + | |||
| + | < | ||
| + | ! Found promiscuous interface [NETW-3015] | ||
| + | - Details | ||
| + | - Solution : Determine if this mode is required or whitelist interface in profile | ||
| + | https:// | ||
| + | |||
| + | ! Found promiscuous interface [NETW-3015] | ||
| + | - Details | ||
| + | - Solution : Determine if this mode is required or whitelist interface in profile | ||
| + | https:// | ||
| + | |||
| + | ! Found promiscuous interface [NETW-3015] | ||
| + | - Details | ||
| + | - Solution : Determine if this mode is required or whitelist interface in profile | ||
| + | https:// | ||
| + | |||
| + | </ | ||
| + | |||
| + | C'est normal qu'en mode bridge, on aie une " | ||
| + | |||
| + | == Password sur Grub == | ||
| + | La recommandation n'est pas de demander un mot de passe pour démarrer la machine (ce serait le bordel sur serveur). Mais quand on est en phase de démarrage, si on choisit d' | ||
| + | * 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 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' | ||
| + | |||
| ==== Debsecan ==== | ==== Debsecan ==== | ||
| Ligne 86: | Ligne 221: | ||
| </ | </ | ||
| + | Est-ce utile de l' | ||
| + | |||
| + | Un système assez " | ||
| + | |||
| + | On peut cependant essayer de filtrer un peu. | ||
| + | < | ||
| + | * '' | ||
| + | * '' | ||
| - | Est-ce utile de l'avoir ? Il y a énormément de failles, beaucoup n'étant pas forcément | + | En l'état, vu le système des CVE et le manque d'outil adapté pour filtrer, il semble difficile d' |