Linux-Mandrake: Manuel de référence | ||
---|---|---|
Page précédente | Chapitre 7. MSEC ( Mandrake SECurity tools (Utilitaires de sécurisation Mandrake) | Page suivante |
Le tableau suivant vous donnera les caractéristiques des points particuliers gérés par les divers niveaux de sécurisation :
permissions sur les fichiers,
envoi de messages d'avertissement,
vérifications de sécurité périodiques :
sur les fichiers : suid root, inscriptibles (sur lesquels on peut écrire), sans propriétaire,
ports ouverts : actifs, et cartes en mode promiscuous[1]
fichiers de mots de passe
connexions au serveur X,
vérification des ports ouverts,
des services disponibles,
mot de passe de démarrage,
clients autorisés.
Caractéristique \ niveau | 0 | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|---|
vérifications globales de sécurité | oui | oui | oui | oui | ||
umask des utilisateurs | 002 | 002 | 002 | 002 | 077 | 077 |
umask de root | 002 | 002 | 002 | 002 | 002 | 077 |
shell sans mot de passe | oui | |||||
Autorisés à se connecter au serveur X | tous | local | local | aucun | aucun | aucun |
Utilisateurs dans le groupe audio | oui | oui | oui | |||
. dans $PATH | oui | oui | ||||
Avertissements dans /var/log/security.log | oui | oui | oui | oui | oui | |
Avertissements directement sur la console | oui | oui | oui | oui | ||
Avertissements dans syslog | oui | oui | oui | oui | ||
Avertissements envoyés par courrier électronique à root | oui | oui | oui | oui | ||
Vérification des fichiers suid root | oui | oui | oui | oui | ||
Vérification md5sum des fichiers suid root | oui | oui | oui | oui | ||
Vérification des fichiers en écriture | oui | oui | oui | |||
Vérification des autorisations | oui | oui | oui | |||
Vérification des fichiers groupe suid root | oui | oui | oui | |||
Vérification des fichiers sans propriétaire | oui | oui | oui | |||
Vérification promiscuous | oui | oui | oui | |||
Vérification des ports ouverts | oui | oui | oui | |||
Intégrité du fichier de mots de passe | oui | oui | oui | |||
Intégrité du fichier shadow | oui | oui | oui | |||
Vérifications périodiques de la sécurité du système | oui | oui | oui | |||
Tous les événements système redirigés vers tty12 | oui | oui | oui | |||
Seul root peut faire ctrl-alt-del | oui | oui | ||||
Services inconnus désactivés | oui | oui | ||||
Mot de passe de démarrage | oui | oui | ||||
Connections autorisées depuis | tous | tous | tous | tous | local | aucun |
Remarque : six des dix vérifications périodiques peuvent détecter les modifications survenues dans votre système. Elles sauvegardent la configuration antérieure du système (celle de la veille) dans le répertoire /var/log/security/ et vous avertissent des changements qui auraient pu intervenir entre-temps. Ces vérifications sont les suivantes :
vérification des fichiers suid root
vérification de la signature MD5 des fichiers suid root
vérification des fichiers inscriptibles;
vérification des fichiers suid pour le groupe;
vérification des fichiers sans propriétaire;
vérification des ports ouverts.
« NFS filesystems globally exported » : (systèmes de fichiers de type NFS exportés en bloc) : cela est considéré comme peu sûr, puisqu'il n'y a aucune restriction sur l'identité de ceux qui peuvent monter ces systèmes de fichiers.
« NFS mounts with missing nosuid » : (montages par NFS sans l'option nosuid), ces systèmes de fichiers sont exportés dans l'option nosuid, ce qui interdit aux programmes suid de fonctionner sur la machine.
« Host trusting files contains + sign » : (les fichiers de 'confiance' de l'hôte contiennent le signe +) : cela signifie que l'un des fichiers /etc/hosts.equiv, /etc/shosts.equiv, /etc/hosts.lpd, référence un hôte autorisé à se connecter sans authentification préalable.
« Executables found in the aliases files » : (Exécutables découverts dans le fichier d'alias) : cet avertissement est généré lorsque l'un des fichiers /etc/aliases ou
/etc/postfix/aliases contient un alias redirigeant vers un programme.
Indique le umask qui sera utilisé pour les utilisateurs normaux du système suivant le niveau de sécurisation.
La même chose, mais pour root.
L'accès à la console est permis sans mot de passe.
tous : n'importe qui, connecté depuis n'importe où, peut ouvrir une fenêtre X sur votre écran;
local : seules les personnes connectées sur votre système pourront y ouvrir une fenêtre X;
aucun : personne ne peut faire cela.
Chaque utilisateur du système est automatiquement membre des groupes audio, urpmi et cdrom. Cela signifie que tous les utilisateurs obtiendront des privilèges particuliers pour utiliser la carte son, les paquetages, etc.
L'entrée . est ajoutée à la variable d'environnement $PATH, ce qui permet d'exécuter facilement des programmes se trouvant dans le répertoire courant (c'est aussi, d'une certaine manière, une faille dans la sécurité).
Chaque avertissement généré par MSEC est archivé dans le fichier /var/log/security.log.
Chaque avertissement généré par MSEC est affiché directement sur la console.
Les avertissements générés par MSEC sont adressés au service syslog.
Les avertissements générés par MSEC sont également adressés à root par courrier électronique.
Recherche les ajouts ou suppressions de fichiers suid root sur le système. S'il y en a eu, une liste des exécutables concernés est renvoyée sous la forme d'un avertissement.
Vérifie la signature MD5 de chaque fichier suid root du système. Si la signature a changé, cela signifie qu'une modification a été apportée à ce programme, ce qui peut être le signe d'une intrusion. Un avertissement est alors envoyé.
Cherche les fichiers qui sont inscriptibles par tout le monde sur le système et en génère la liste éventuels sous la forme d'un avertissement.
Vérifie les autorisations relatives à certains fichiers tels que .netrc ou aux fichiers de configuration et aux répertoires des utilisateurs. Si ces autorisations permettent un accès trop étendu ou si les propriétaires apparaissent comme anormaux, un avertissement est envoyé.
Recherche les ajouts ou suppressions de fichiers suid groupe sur le système. S'il y en a eu, une liste des exécutables concernés est envoyée en avertissement.
Recherche les fichiers appartenant à des utilisateurs inconnus du système. Si de tels fichiers sont trouvés, le propriétaire en devient automatiquement nobody.
Ce test vérifie chaque carte Ethernet pour déterminer si elle se trouve en mode « promiscuous ». Ce mode permet à une carte d'intercepter tous les paquets reçus par la carte, même ceux qui ne lui sont pas destinés. Cela peut signifier qu'un sniffer (renifleur) fonctionne sur votre système. Cette vérification est effectuée toutes les minutes.
Génère un avertissement contenant la liste des ports ouverts.
Vérifie que chaque utilisateur a un mot de passe (non vide et pas trop facile à découvrir) et qu'il se trouve dans le fichier shadow.
Vérifie que chaque utilisateur a un mot de passe (non vide et assez difficile à trouver) dans le fichier shadow.
Toutes les vérifications précédentes seront effectuées chaque jour à minuit. Cela repose sur l'ajout d'un script cron dans le fichier crontab.
Tout service absent de /etc/security/msec/init-sh/server.4 pour le niveau 4 ou server.5 pour le niveau 5 sera désactivé. Il n'est pas effacé mais il n'est simplement pas démarré lors d'un changement de runlevel. Si vous avez besoin de certains de ces services, ajoutez-les à nouveau à l'aide de l'utilitaire chkconfig (vous aurez sans doute aussi besoin de les démarrer avec les scripts de démarrage d'init dans /etc/rc.d/init.d).
Il y a deux comportements possibles suivant le chargeur de démarrage que vous utilisez :
Au démarrage, GRUB ne vous demandera un mot de passe que si vous passez des options manuellement au noyau. Cela permet à votre système de redémarrer de lui-même, sans opérateur, tout en empêchant des personnes non autorisées de redémarrer la machine de manière insolite (en mode de secours « failsafe » par exemple).
Vous permet de définir un mot de passe pour LILO. Empêche les personnes non expérimentées de redémarrer la machine, mais en revanche la machine ne pourra pas redémarrer toute seule en cas de problème.
tous : tous les ordinateurs peuvent se connecter aux ports ouverts.
local : seul le système peut se connecter à ses propres ports.
aucun : aucun ordinateur ne peut se connecter.
[1] | Ce qui signifie qu'ils écoutent aussi les paquets qui ne leur sont pas destinés. |
Page précédente | Début | Page suivante |
Niveau 5 | Remonter | Organisation de l'arborescence des fichiers |