Linux-Mandrake:
Guide de l'utilisateur
et Manuel de référence

MandrakeSoft

 
 
Janvier 2000
http://www.linux-mandrake.com


Suivant : Auto Install
Précédent : Samba
Retour

(Retour à la table des matières)

Chapitre 7 : MSEC --- Mandrake SECurity tools (« Utilitaires de sécurité Mandrake »)


Qu'est-ce que MSEC?

La rapide pénétration de Linux pour des applications de plus en plus diverses, depuis le travail de bureau de base jusqu'aux serveurs à haute disponibilité, a fait surgir le besoin pour des niveaux de sécurité différents. Il est évident que les contraintes inhérentes aux serveurs de haute sécurité ne conviennent absolument pas aux besoins d'une secrétaire. De même, un serveur public à lourde charge est plus exposé à des gens mal intentionnés que ma station de travail isolée.

C'est avec cette idée en tête qu'a été construit le paquetage MSEC. Il est composé de deux parties:

Notez que l'administrateur pourra définir son propre niveau de sécurité en ajustant les paramètres à ses propres besoins.

Installation

MSEC est un RPM de base. Si vous avez déjà installé Linux-Mandrake, MSEC est donc déjà présent sur votre système.

Lorsque vous installerez le paquetage MSEC, cela créera un répertoire msec dans /etc/security, qui contient tous les scripts nécessaires à la sécurisation de votre système.

Entrez sur le système en tant que root et tapez la commande /etc/security/msec/init.sh x, x étant le niveau de sécurité désiré, ou bien custom (« personnalisé »), pour créer votre propre niveau. Le script commencera alors à supprimer les modifications apportées par un précédent changement de niveau, et appliquera les caractérisriques du nouveau niveau de sécurité à votre système. Si vous avez choisi custom, alors il vous sera demandé une série de questions pour chacun des points de sécurité que MSEC propose. À la fin, ces caractéristiques seront appliqués à votre système.

Notez que quel que soit le niveau de sécurité choisi, votre configuration sera enregistrée dans

/etc/security/msec/security.conf.

Niveau 0

Ce niveau doit être utilisé en connaissance de cause. Il rend votre système plus facile à utiliser, mais aussi très sensible. En particulier, vous ne devriez pas utiliser ce niveau sans sécurité si vous répondez oui à au moins l'une des questions suivantes:

Comme vous le voyez, ce niveau de sécurité ne devrait pas être activé par défaut, car cela pourrait causer des problèmes à vos données.

Niveau 1

La principale amélioration de la sécurité par rapport au premier niveau, est que désormais, l'accès au données d'un utilisateur se fait par nom d'utilisateur et mot de passe. L'ordinateur peut ainsi être utilisé par plusieurs personnes, et il est moins sensible à de fausses manoeuvres. Néammoins, ce niveau ne devrait pas être utilisé sur un ordinateur connecté par modem ou à un réseau local.

Niveau 2

Peu d'améliorations pour ce niveau de sécurité, sinon que plus de vérifications et d'avertissements sur la sécurité deu système sont générés. Il est aussi plus sécurisé pour une utilisation multi-utilisateurs.

Niveau 3

Ceci est le niveau de sécurité standard recommandé pour un ordinateur connecté à l'Internet en tant que client. La plupart des vérifications de sécurité sont régulièrement effectuées, notamment celle qui scrute les ports ouverts du système. Néammoins, ces ports sont laissés ouverts, et leur accès est autorisé à tous.

Du point de vue de l'utilisateur, le système est désormais un petit peu plus fermé, et des connaissances de base du système Linux seront nécessaires pour mener à bien certaines opérations. La sécurité proposée ici est celle d'une distribution standard Red Hat ou de l'une des précédentes distributions de Linux-Mandrake.

Niveau 4

Avec ce niveau de sécurité, l'utilisation du système en tant que serveur devient possible. La sécurité est suffisante pour que le système puisse accepter des connecxons de plusieurs clients. Seules les connexions depuis le système lui-même seront autorisées par défaut. De même, les services avancés ont été désactivés, et l'administrateur système devra activer ceux qu'il désire à la main. Il devra également définir les machines depuis lesquelles les connexions seront acceptées.

Les vérifications de sécurité avertiront l'administrateur système de possibles trous de sécurité ou d'intrusions sur le système.

Niveau 5

On reprend les caractéristiques du niveau 4, mais désormais, le système est entièrement fermé. Les options de sécurité sont au maximum. L'administrateur système doit ouvrir les ports et donner à d'autres ordinateurs l'accès aux services offert sur la machine.

Caractéristiques des niveaux de sécurité

Voici la description des différents points de sécurité gérés par les niveaux de sécurité. Ces points sont de natures diverses:

Niveau de012345
Optionssécurité      

vérifications de

 ouiouiouiouioui
sécurité globales

umask pour les

002002022022077077
utilisateurs

umask pour root

002002022022022077

shell sans

oui     
mot de passe

sont autorisés

à se connectertouslocallocalaucunaucunaucun
au serveur X

utilisateurs dans

ouiouioui   
le groupe audio

. dans '$PATH'

ouioui    

avertissements dans

ouiouiouiouioui
/var/log/security.log

avertissements

directement  ouioui
sur la console

avertissements

  ouiouiouioui
dans syslog

avertissements

envoyés par  ouiouioui
e-mail à root

vérification des

fichiers suid  ouiouiouioui
root

vérification de la

signature MD5 des  ouiouiouioui
fichiers suid root

vérification des

fichiers  ouiouiouioui
inscriptibles

vérification des

permissions   ouiouioui

vérification des

fichiers suid   ouiouioui
groupe

vérification des

   ouioui
fichiers sans
propriétaire

vérification de type

   ouioui
"promiscuous"

vérification des

   ouiouioui
ports ouverts

vérification de

l'intégrité du   ouiouioui
du fichier de mots
de passe

vérification de

l'intégrité du   ouiouioui
du fichier shadow

vérifications de

sécurité du   ouiouioui
système tous les
jours à minuit

tous les événements

du système sont   ouioui
dirigés vers
/dev/tty12

services avancés

    ouioui
désactivés

mot de passe de

    ouioui
démarrage (LILO)

permettre l'accès à

toustoustoustouslocalaucun

Remarque: six des dix vérifications périodiques peuvent détecter des modifications dans votre système. Elles sauvegardent la configuration antérieure du système (un jour plus tôt) dans le répertoire /var/log/security/ et vous avertissent des changements qui auraient pu intervenir dans l'intervalle. Ces vérifications sont:

« vérifications de sécurité globales »

« umask des utilisateurs »

Indique le umask qui sera utilisé pour les utilisateurs normaux du système suivant le niveau de sécurité.

« umask for root »

La même chose, mais pour root.

« shell sans mot de passe »

L'accès à la console est permis sans mot de passe.

« autorisés à se connecter au serveur X »

« utilisateurs dans le groupe audio »

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.

« . dans '$PATH' »

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 de sécurité).

« avertissements dans /var/log/security.log »

Chaque avertissement généré par MSEC est archivé dans le fichier /var/log/security.log.

« avertissements directement sur la console »

Chaque avertissement généré par MSEC est affiché directement sur la console.

« avertissements dans syslog »

Les avertissement générés par MSEC sont adressés au service syslog.

« avertissements envoyés par e-mail à root »

Les avertissement engendrés par MSEC sont également adressés à root par courrier électronique.

« vérification des fichiers suid root »

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 retournée en avertissement.

« vérification de la signature MD5 des fichiers suid root »

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 engendré.

« vérification des fichiers inscriptibles »

Cherche les fichiers qui sont inscriptibles par tout le monde sur le système. Une éventuelle liste de tels fichiers est alors engendrée en avertissement.

« vérification des permissions »

Celui-là vérifie les permissions de certains fichiers tels que .netrc ou les fichiers de configuration et les répertoires des utilisateurs. Si leurs permissions sont trop larges ou les propriétaires anormaux, un avertissement est engendré.

« vérification des fichiers suid groupe »

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 retournée en avertissement.

« vérification des fichiers sans propriétaire »

Cette vérification recherche les fichiers appartenant à des utilisateurs inconnus du système. Si de tels fichiers sont trouvés, le propriétaire en devient automatiquement nobody.

« vérification de type "promiscuous" »

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 (« reniffleur ») fonctionne sur votre système. Cette vérification est effectuée toutes les minutes.

« vérification des ports ouverts »

Génere un avertissement contenant la liste des ports ouverts.

« vérification de l'intégrité du fichier de mots de passe »

Vérifie que chaque utilisateur a un mot de passe (non vide et non facile à trouver) et qu'il se trouve dans le fichier shadow.

« vérification de l'intégrité du fichier intitulé shadow »

Vérifie que chaque utilisateur a un mot de passe (non vide et non facile à trouver) dans le fichier shadow.

« vérifications de sécurité du système tous les jours à minuit »

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.

« services avancés désactivés »

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 simplement non 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).

« mot de passe de démarrage »

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.

« permettre l'accès à »


Suivant : Auto Install
Précédent : Samba
Retour

Copyright © 2000 MandrakeSoft