MSEC

De Wiki de la communauté Mandriva.

(Redirigé depuis Msec)
MSEC est un outil permettant de gérer simplement la sécurité de son système Mandriva Linux. Il suffit d'indiquer le niveau de sécurité souhaité et l'outil ajustera automatiquement un grand nombre de paramètres système. Il est aussi possible de configurer ces derniers manuellement grâce à MSEC.
À noter !

Cet article présente la version de MSEC de la Mandriva 2010.2.

Si vous possédez une version de Mandriva Linux inférieure à 2009 Spring (2009, 2008 Spring, 2008, etc...), veuillez plutôt consulter l'article Msec (pour les versions avant 2009 Spring).


Sommaire

Interface graphique

Avant de plonger dans les explications plus détaillées qui viendront ensuite, vous aurez peut-être envie de jeter un coup d'œil rapide à l'interface graphique de MSEC. Nous commencerons donc par cela.

L'interface graphique de MSEC est disponible en lançant msecgui, qui est inclus dans le paquetage msec-gui. Cette application ne peut être utilisée que par root car elle permet de configurer les paramètres de sécurité de la machine.

Ouvrir l'interface graphique de MSEC

  • Lancer le Centre de Contrôle de Mandriva Linux (CCM),
    • soit en cliquant sur son icône dans le tableau de bord : Image:drakconf.png
    • soit en cliquant sur l'entrée Configurer votre ordinateur dans Outils > Outils système du menu principal Image:mdvbutton.png de votre bureau KDE, ou sous GNOME dans Système > Administration.


  • Dans la colonne de gauche de la fenêtre du CCM cliquer sur Sécurité.


  • Dans le panneau de droite cliquer maintenant sur Configurer la sécurité, les droits et la surveillance du système.


À noter !

A la place des manœuvres qui précèdent, vous pouvez aussi faire apparaître l'interface graphique de MSEC en tapant en console, sous root, la commande msecgui :

Image:Konsole.png
[root@ordi ~]# msecgui


Panorama de l'interface

L'interface de MSEC est subdivisée en onglets.

Au démarrage de l'application s'ouvre une fenêtre intitulée :

MSEC : Sécurité du système et Audit

qui contient deux onglets :

  • Vue générale
  • Paramètres de sécurité

par défaut, c'est le contenu du premier onglet qui est affiché. Cet onglet concerne le parefeu, les mises à jour du système, et les vérifications périodiques éventuellement effectuées par MSEC. Il affiche quelques informations et permet d'effectuer des actions en cliquant sur le bouton portant le nom de l'action.

Tout cela est très facile à comprendre d'un seul coup d'œil. Cela donne quelque chose comme ceci (avec de menues différences en fonction des données de la machine personnelle de chacun) :


Image:2010.2_MSEC_Vue_generale.png


Le contenu de l'onglet Paramètres de sécurité est à son tour réparti en une série d'onglets :

  • Sécurité de base
  • Sécurité du système
  • Sécurité du réseau
  • Vérifications périodiques
  • Exceptions
  • Permissions

L'onglet Sécurité de base s'affiche d'abord. Il contient le nom et la description de chacun des niveaux de sécurité que MSEC peut imposer à votre machine. Double-cliquez sur le niveau que vous souhaitez activer.

Image:2010.2_MSEC_Securite_de_base.png

Dans les onglets suivants :

  • Sécurité du système
  • Sécurité du réseau
  • Vérifications périodiques

vous trouverez énumérées, dans la colonne de gauche (Option de sécurité), des paramètres de sécurité définissant des actions effectuées par MSEC. Ces actions sont décrites en regard (et en français !!) dans la colonne... Description. La valeur courante du paramètre de sécurité figure à droite, dans la colonne... Valeur.

  • Sécurité du système

Image:2010.0_msec2.png


  • Sécurité du réseau

Image:2010.0_msec3.png


  • Vérifications périodiques

Image:2010.0_msec4.png

L'onglet Exceptions vous permet de définir vos propres exceptions aux vérifications périodiques (au démarrage de l'application il est donc vide).

  • Exceptions

Image:2010.0_msec5.png


Dans l'onglet Permissions, est affiché un ensemble de permissions et de droits de propriété par défaut définis par MSEC.

  • Permissions

Image:2010.0_msec6.png


Notez que dans les onglets, si un paramètre est différent de la valeur par défaut pour le niveau de sécurité choisi, la ligne sera affichée en gras. Cela vous permet de vérifier rapidement les paramètres modifiés par rapport au niveau de sécurité en cours.

Lorsque vous changez un ou plusieurs paramètre, msecgui vous affichera une prévisualisation des changements avant de les enregistrer.

Image:2009.1_mse6.png

Faut-il activer MSEC sur mon système ?

L'activer permet un niveau de sécurité plus élevé. C'est donc fortement conseillé.

Activer MSEC

  • Ouvrir l'interface graphique msecgui, comme expliqué plus haut dans cette page.
  • Cliquer sur le premier onglet, Paramètres de sécurité.
  • Dans l'onglet Sécurité de base qui s'affiche alors, cocher la case Activer l'outil MSEC et choisir votre niveau de sécurité (en double cliquant sur celui que vous souhaitez appliquer).

Image:2010.2_MSEC_Securite_de_base.png

  • Vous souhaiterez sans doute aussi activer les vérifications périodiques, en cochant la case ad hoc dans l'onglet Vérifications périodiques. Les messages sont d'ordinaire adressés à l'administrateur root, mais vous pouvez aussi choisir de vous les faire parvenir à votre identité de simple utilisateur, en remplissant la zone ad hoc en regard de Envoi d'alertes de sécurité par courriel à. Pour recevoir ces messages vous devez installer le mail local, comme indiqué dans cette pagedu Wiki.
  • Faire maintenant Fichier > Sauvegarder la configuration

Que fait MSEC ?

MSEC effectue deux grands types de tâches :

  • des tâches de pure information de l'administrateur : des vérifications périodiques, qui ont pour objet de vous signaler ce qui paraît dangereux dans votre système (ce sera à vous ensuite d'effectuer, si vous le jugez bon, à la lumière de ces avertissements, certaines modifications de votre système)
  • des tâches de paramétrage de la sécurité du système : elle impose au système certaines modifications destinées à le rendre plus sûr.

Ces deux types de tâches sont maintenues bien distinctes dans MSEC. Vous avez, par exemple, la possibilité de supprimer entièrement les tâches du second type, si vous le souhaitez, tout en restant néanmoins informé par les tâches du premier type.

La fonctionnalité anti-rootkit

Les rootkits sont des logiciels malicieux qui permettent un accès frauduleux à votre machine. Il sont heureusement rares. Toutefois, si vos données sont sensibles ou si votre machine est facilement accessible, par réseau ou physiquement, à de nombreux utilisateurs, il peut être prudent de s'en protéger.

Une fois activée, MSEC lance, par défaut, à intervalles réguliers, une fonctionnalité de détection des rootkits (voir l'onglet Vérifications périodiques, paramètre CHECK_CHKROOTKIT).

À noter !
Attention ! la fonctionnalité de détection des rootkits ne sera effective que si vous installez le paquetage chkrootkit


Personnaliser le niveau de sécurité

Choisir ses propres paramètres de sécurité

Vous n'êtes pas obligé d'utiliser les paramètres par défaut de MSEC, vous pouvez aussi modifier les paramètres système individuellement. Vous vous créez ainsi une sorte de niveau de sécurité personnel.

Pour modifier chaque paramètre de sécurité individuellement en mode graphique, parcourir les onglets Sécurité du système, Sécurité du réseau et Vérifications périodiques. Double-cliquez sur le paramètre dont vous souhaitez modifier la valeur. Vous pourrez choisir la nouvelle valeur dans la liste déroulante d'une fenêtre qui ressemblera à celle-ci :

Image:2010.0_msec_personnaliser.png

Vous pouvez également personnaliser vos choix de paramètres de sécurité en éditant le fichier de configuration de MSEC. Tous les paramètres de sécurité des onglets Sécurité du système, Sécurité du réseau et Vérifications périodiques dont vous avez défini vous-même les valeurs dans msecgui comme indiqué ci-dessus figurent avec la valeur choisie dans le fichier de configuration /etc/security/msec/security.conf. Par exemple, si ce fichier a le contenu suivant :

BASE_LEVEL=standard
ENABLE_PAM_ROOT_FROM_WHEEL=yes

Cela signifie que vous avez choisi le niveau de sécurité standard, mais que vous avez changé la valeur de l'action ENABLE_PAM_ROOT_FROM_WHEEL en lui attribuant la valeur yes (la valeur par défaut de cette action étant, pour ce niveau de sécurité, no). Au total, pour votre système, toutes les valeurs par défaut du niveau standard seront activées, sauf celle concernant ENABLE_PAM_ROOT_FROM_WHEEL, qui aura la valeur personnalisée no.

Vous pouvez supprimer cette personnalisation en effaçant la ligne correspondant dans le fichier, et/ou en ajouter d'autres en tapant directement dans le fichier des indications analogues pour d'autres actions.

Il est donc facile de modifier les valeurs des paramètres de sécurité en éditant directement ce fichier /etc/security/msec/security.conf à votre guise.

Naturellement, ne composez cette sécurité à la carte que si vous savez exactement ce que vous faites.

Créer des exceptions aux vérifications périodiques

Les vérifications périodiques ont pour objectif de vous signaler par des messages d'alerte des aspects de votre système que MSEC trouve dangereux.

Parfois, il peut en fait s'agir d'aspects du système que vous avez délibérement laissé dans cet état pour certaines excellentes raisons et les alertes sont alors inutiles pour ces aspects, et ne sont qu'une perte de temps pour l'administateur.

Les exceptions visent à définir des cas de ce genre, où vous estimez qu'un message d'alerte est complètement inutile. Lorsque vous aurez défini une exception pour une certaine vérification périodique aucun message d'alerte ne sera émis concernant cette exception. Vous pouvez créer autant d'exceptions que vous voulez pour une certaine vérification périodique.

Lorsque vous cliquez dans l'onglet Exceptions sur Ajouter une règle, la fenêtre ci-dessous s'ouvre :


Image:2010.0_exceptions1.png


Vous choisissez la vérification périodique concernée dans la liste déroulante et vous tapez votre exception dans la zone de texte.

Bien entendu, ajouter une exception n'est pas irréversible, vous pourrez toujours la supprimer avec le bouton Supprimer de l'onglet Exceptions.

Pour rendre les choses plus concrètes, nous donnerons ici un exemple tiré du blog d'Eugeni Dodonov, le développeur auteur de la fonctionnalité Exceptions de MSEC.


Image:2010.0_exceptions2.png

Voici à peu près, traduit en français, le commentaire de Dodonov sur ces exceptions :

avec ces exceptions, je ne recevrai pas de message d'alerte pour chroot relevant une absence de propriétaire ou une modification possible par n'importe quel utilisateur, ni concernant le fait que le répertoire personnel de gdm est accessible à tous les utilisateurs et je n'en recevrai pas non plus à propos de ports réseau utilisés par deluge ou connectés au serveur local ircd (bien entendu, ces exceptions ont du sens pour la machine de Dodonov, pas nécessairement pour la vôtre : ne les recopiez pas systématiquement !).


Notez enfin que vous pouvez définir des exceptions à l'aide d'expressions régulières , ce qui élargit les possibilités considérablement.


Vous pouvez aussi modifier les exceptions en éditant le fichier de configuration /etc/security/msec/exceptions (si aucune exception n'a encore été définie vous devrez créer le fichier). Les exceptions précédentes, par exemple, seraient représentées ainsi dans ce fichier :

CHECK_UNOWNED /home/chroot
CHECK_UNOWNED /home/images/chroot
CHECK_WRITABLE /home/chroot
CHECK_WRITABLE /home/images/chroot
CHECK_OPEN_PORT /deluge
CHECK_USER_FILES gdm
CHECK_OPEN_PORT eugeni:ircd

Vérifier ou modifier permissions ou propriétaires

MSEC définit par défaut un ensemble de droits de propriété et de permissions pour certains répertoires ou fichiers.

Ces droits par défaut sont visibles dans l'onglet Permissions de l'interface graphique de MSEC, sous forme d'une suite de règles (chaque ligne représentant une règle).

Il est important de bien comprendre ceci :

  • si pour une certaine règle la case de la colonne Forcer n'est pas cochée, MSEC se borne à déterminer régulièrement si les droits définis par cette règle sont respectés et à vous envoyer un message d'alerte si ce n'est pas le cas (pour savoir comment recevoir ces messages d'alerte, voir cette section) [pour déclencher l'envoi des messages concernant les permissions, vous devez avoir attribué une valeur non négative au paramètre CHECK_PERMS (onglet Vérifications périodiques)]
  • en revanche, si la case Forcer est cochée, alors MSEC imposera les droits souhaités lors de l'une de ses vérifications périodiques (la fréquence de vérification est une valeur de l'option CHECK_PERMS, onglet Vérifications périodiques).

Dans le premier cas MSEC se borne à vous informer sans rien faire lui-même, dans le second cas il agit et rétablit les droits listés s'ils ont été modifiés.

Vous pouvez aussi changer les droits par défaut ou créer des règles concernant des fichiers ou des répertoires nouveaux.

Pour créer une nouvelle règle, vous procéderez ainsi :

  • dans l'onglet Permissions, cliquer, en bas, sur Ajouter une règle

Une fenêtre apparaît. Dans l'exemple ci-dessous, on a ajouté une règle destinée à imposer les permissions 600 (lecture et écriture par le seul propriétaire) à tous les fichiers contenus dans le répertoire de mail local /var/spool/mail (l'étoile signifie : 'tous les fichiers'). On a décidé de ne pas changer le propriétaire et le groupe propriétaire (qui peut correspondre à divers utilisateurs du système) : c'est ce que signifie la mention current.


Image:2010.0_msec_perms.png


  • cliquer sur Valider une fois les choix faits dans la fenêtre.

Comme nous avons décidé de ne pas nous limiter à une simple vérification et de demander à MSEC de rétablir cette permission au cas où elle viendrait à être accidentellement ou malicieusement modifiée, nous cochons dans l'onglet Permissions la case Forcer de la ligne correspondant à notre nouvelle règle :


Image:2010.0_msec_perms2.png

  • Pour terminer, faire Fichier > Sauvegarder la configuration.

Pour modifier une règle existante, il suffit de double-cliquer sur la ligne qui correspond à cette règle, la procédure est ensuite la même.


Il est aussi possible de créer ou modifier des règles en éditant le fichier de configuration /etc/security/msec/perms.conf.

Ce fichier contient uniquement les permissions que vous avez modifiées. Si par exemple, la seule modification que vous ayez apportée est celle que nous venons de décrire, /etc/security/msec/perms.conf contiendra en tout et pour tout la ligne suivante :

/var/spool/mail/*       current.current 600     force

Bien entendu, vous pouvez modifier les permissions en éditant ce fichier, dont la syntaxe est évidente, sans passer par l'interface graphique.

Attention !

Les permissions définies dans l'onglet Permissions sont vérifiées et éventuellement imposées à intervalle régulier (la durée de cet intervalle est une valeur de l'option CHECK_PERMS de l'onglet Vérifications périodiques).

Ne soyez donc pas surpris, si vous modifiez ou créez une règle dans cet onglet, de n'observer aucun changement immédiat.

Si vous tenez à ce que le changement prenne tout de suite effet, après avoir effectué vos modifications dans l'onglet Permissions de MSEC, il vous suffira de lancer en console, sous root, la commande msecperms, qui effectuera immédiatement toutes les modifications souhaitées. Éventuellement, par précaution, lancez d'abord msecperms -p, qui ne changera rien mais vous indiquera les permissions incorrecte qui seront changées lorsque vous lancerez la commande sans option.
Attention !
Inversement, si vous modifiez en console ou dans votre navigateur de fichiers, des permissions ou des droits de propriété pour lesquels la case Forcer est cochée dans l'onglet Permissions de msecgui, il est certain que dans un certain délai les permissions imposées par msecgui seront rétablies ! N'oubliez pas cela ! Pensez, dans de tels cas, à modifier ou à créer les règles qui vous conviennent dans msecgui.

Comment recevoir par mail les alertes de MSEC

À noter !

Même si vous n'avez pas encore installé le mail local sur votre machine, vous pourrez prendre connaissance des messages d'alerte de MSEC du jour et de la veille : vous les trouverez dans le répertoire /var/log/security.

Vous pourrez aussi consulter facilement tous les messages de MSEC en suivant les indications données à la section #Comment voir msec en action dans les journaux du système .


Pour pouvoir lire les messages d'alerte quotidiens de MSEC, en console ou même dans votre courielleur (Kmail, Thunderbird etc),

  • installer le mail local sur votre machine, en suivant les indications données dans cette section du Wiki : Mail Postfix#Mail local
  • dans l'onglet Sécurité de base, cochez la case Envoi d'alertes de sécurité par courriel et entrez votre adresse de mail local dans la zone de texte :

Image:2010.0_msec1_mail.png

  • Faire Fichier > Sauvegarder la configuration

Les entrailles de MSEC

Les fichiers de configuration

Les fichiers de configuration de MSEC se trouvent dans le répertoire /etc/security/msec/.

Parmi eux, trois sont particulièrement intéressants pour vous, car ils sont entièrement et exclusivement dévolus à vos modifications personnelles.

Editer directement ces fichiers constitue un moyen alternatif de personnaliser MSEC, sans passer par l'interface graphique.

Le fichier /etc/security/msec/security.conf assigne une valeur à tous les paramètres de sécurité des onglets Sécurité du système, Sécurité du réseau et Vérifications périodiques que vous avez modifiés et définit le niveau de sécurité courant (variable BASE_LEVEL) que vous avez sélectionné dans l'onglet Sécurité de base.

Le fichier /etc/security/msec/exceptions contient les exceptions aux vérifications périodiques visibles dans l'onglet Exceptions (si aucune exception n'a été définie par l'administrateur du système, le fichier n'existe pas).

Le fichier /etc/security/msec/perms.conf contient les permissions et droits de propriété que vous avez modifiés dans l'onglet Permissions.

Notez que les valeurs par défaut des différents niveaux de sécurité sont définies, quant à elles, dans d'autres fichiers du même répertoire /etc/security/msec. Modifier ces fichiers vous permettrait de définir des versions personnalisées de chaque niveau (sauvegarder les fichiers d'origine serait évidemment dans ce cas une précaution bien utile !). Voir par exemple les fichiers level.<nom_de_niveau_de sécurité> et perm.<nom_de_niveau_de sécurité>.

Comment voir MSEC en action dans les journaux du système

En console

Plusieurs journaux du système contiennent des messages concernant l'activité de MSEC. Pour afficher tous ces messages, on peut faire :

Image:Konsole.png
[utilisateur@ordi ~]$ cd /var/log && grep -i 'msec' *

Pour n'afficher que les messages qui nous intéressent, on peut sélectionner ceux qui contiennent une ou plusieurs chaîne de caractères, à l'aide d'un ou plusieurs appel supplémentaires à la commande grep.

Par exemple, pour afficher uniquement les messages concernant les rootkits on pourra faire :

Image:Konsole.png
[utilisateur@ordi ~]$ cd /var/log && grep -i 'msec' * | grep 'rootkit'

et pour limiter la recherche à des messages sur les rootkits du 31 janvier :

Image:Konsole.png
[utilisateur@ordi ~]$ cd /var/log && grep -i 'msec' * | grep 'rootkit' | grep 'Jan 31'


Dans l'interface graphique du Centre de Contrôle de Mandriva Linux

Pour lire les messages concernant MSEC, on peut aussi utiliser l'interface graphique du Centre de Contrôle de Mandriva Linux destinée à consulter les messages des journaux système.

Elle présente l'avantage d'une plus grande lisibilité et permet de sélectionner les messages pour une date par un simple clic dans un calendrier.

En revanche, il n'est pas possible de chercher de façon simple (comme nous l'avions fait plus haut en console) les messages contenant, dans n'importe quel ordre, deux ou plusieurs chaines de caractères déterminées.

D'un autre côté, si vous savez manier les expressions régulières, vous pourrez les utiliser pour faire votre recherche.

Pour accéder à cette interface, faire ceci :


  • Lancer le Centre de Contrôle de Mandriva Linux (CCM),
    • soit en cliquant sur son icône dans le tableau de bord : Image:drakconf.png
    • soit en cliquant sur l'entrée Configurer votre ordinateur dans Outils > Outils système du menu principal Image:mdvbutton.png de votre bureau KDE, ou sous GNOME dans Système > Administration.


  • Dans la colonne de gauche de la fenêtre du CCM cliquer sur Système.


  • Dans le panneau de droite cliquer maintenant sur Visionner et chercher dans les journaux du système.


  • Dans la zone de texte Concernant, tapez msec. Cochez les cases Messages, Syslog et Utilisateur (ou une partie d'entre elles). Si vous voulez limiter la recherche à une date, cochez N'affichez que pour les jours sélectionnés, choisissez la date, puis cliquez sur Chercher.

Image:2010.0_msec_logs.png

Tous les messages, contenant msec, s'il y en a, s'affichent sous chercher.

Nous illustrerons la puissance de l'outil de recherche de l'interface, en donnant un exemple d'utilisation très simple des expressions régulières. La recherche ci-dessous sélectionne les messages éventuels concernant soit le rootkit Omega soit le rootkit ShitC ne datant pas du mois de février :

Image:2010.0_msec_logs2.png

Notez que le bouton Sauvegarder ouvre une fenêtre qui vous permet d'enregistrer le résultat de la recherche dans un fichier, pour examen ou traitement ultérieur :

Image:2010.0_enregistre_logs.png

Plus de détails sur les paramètres de sécurité

À noter !
Ce qui suit n'est peut-être plus à jour, nous laissons ces indication, parfois un peu plus détaillées que ce que l'on trouve dans l'interface de MSEC, mais sous toutes réserves

Regardons de plus près ce que permet chaque variable de configuration (vous trouverez certaines de ces variables positionnées dans les fichiers de configuration mentionnés à la section précédente) :

  • CHECK_OPEN_PORT : si positionnée, MSEC fait un rapport sur tout changement sur les ports ouverts sur votre système. Cela vous permet de pister si un serveur a été redémarré, ou si un nouveau serveur se met à écouter sur un port. Cela peut produire de fausses alertes si des serveurs sont automatiquement redémarrés par logrotate.
  • CHECK_PASSWD : si positionnée, MSEC vérifie que tous les utilisateurs ont un mot de passe et que les mots de passe sont codés ('shadow'). Ceci est un contrôle d'intégrité sur le fichier /etc/passwd et décourage les mots de passe vides.
  • CHECK_PERMS : si positionnée, MSEC vérifie les permissions de certains fichiers dans les répertoires personnels de chaque utilisateur et fait un rapport. MSEC ne change que les permissions pour lesquelles la case Forcer a été cochée, mais liste les problèmes potentiels. Il contrôle :
    • les fichiers dont le propriétaire devrait être l'utilisateur et qui ne devraient être accessibles qu'en lecture : .netrc .rhosts .shosts .Xauthority .gnupg/secring.gpg .pgp/secring.pgp .ssh/identity .ssh/id_dsa .ssh/id_rsa .ssh/random_seed
    • les fichiers dont le propriétaire devrait être l'utilisateur et qui ne devraient pas être accessibles en écriture pour les autres utilisateurs : .bashrc .bash_profile .bash_login .bash_logout .cshrc .emacs .exrc .forward .klogin .login .logout .profile .tcshrc .fvwmrc .inputrc .kshrc .nexrc .screenrc .ssh .ssh/config .ssh/authorized_keys .ssh/environment .ssh/known_hosts .ssh/rc .twmrc .xsession .xinitrc .Xdefaults
    • le répertoires personnel (racine) des utilisateurs : ce répertoire ne devrait pas être la propriété d'un autre utilisateur que le véritable propriétaire ou accessibles en écriture pour les autres utilisateurs
  • CHECK_PROMISC : si positionnée, MSEC contrôle toutes les cartes Ethernet pour savoir si elles sont en mode _promiscuous_. Les cartes en mode _promiscuous_ peuvent intercepter tout paquet IP reçu, y compris ceux qui ne lui sont pas directement adressés. C'est en général le cas lorsqu'un logiciel de sniffage de paquets (packet sniffer) tourne sur votre machine. En même temps, cela peut aussi vouloir dire que vous avez le logiciel prelude qui tourne sur votre machine. Prelude est un IDS : logiciel de détection des intrusions.
  • CHECK_SECURITY : si positionnée, MSEC exécute le script /usr/share/msec/security_check.sh en prenant en compte toutes les variables CHECK_*. Plusieurs tests sont effectués et un message d'avertissement est inscrit dans le mail si besoin. Voici quelques tests effectués :
    • vérification de l'absence de systèmes de fichier NFS exportés globalement (car alors il n'y a aucune restriction pour ceux qui voudraient les monter)
    • vérification que l'option "nosuid" est bien positionnée pour les montages NFS
    • vérification de l'absence du caractère "+" dans certains fichiers qui autorisent les hôtes à se connecter sans authentification préalable (les fichiers contrôlés sont /etc/hosts.equiv, /etc/shosts.equiv et /etc/hosts.lpd)
    • vérification de l'absence de référence à des fichiers exécutables dans les fichiers /etc/aliases et /etc/postfix/aliases
  • CHECK_SGID : si positionnée, MSEC compare la somme MD5 des fichiers qui ont le bit _sgid_ avec les valeurs précédemment calculées. Cela vous permet de savoir si un fichier avec le bit _sgid_ a été modifié, même si sa taille et son horodatage sont identiques, mais pas si le fichier est nouveau ou a été supprimé.
  • CHECK_SHADOW : si positionnée, MSEC vérifie que tous les utilisateurs ont un mot de passe non vide. Ceci est un contrôle d'intégrité sur le fichier /etc/shadow
  • CHECK_SUID_MD5 : si positionnée, MSEC compare la somme MD5 des fichiers qui ont le bit _suid_ avec les valeurs précédemment calculées. Cela vous permet de savoir si un fichier avec le bit _suid_ a été modifié, même si sa taille et son horodatage sont identiques, mais pas si le fichier est nouveau ou a été supprimé.
  • CHECK_SUID_ROOT : si positionnée, MSEC vérifie et fait un rapport sur toute modification sur les fichiers qui ont le bit _suid_. Cela vous permet de savoir si un nouveau fichier avec le bit _suid_ apparaît dans le système ou si des fichiers ayant précédemment le bit _suid_ ont été supprimés.
  • CHECK_UNOWNED : si positionnée, MSEC recherche les fichiers qui sont la propriété de uids et des gids non référencés dans /etc/passwd (c'est dire des utilisateurs inconnus). Si de tels fichiers sont trouvés, MSEC change automatiquement le propriétaire à "nobody/nobody".
  • CHECK_WRITABLE : si positionnée, MSEC recherche et fait un rapport sur les fichiers accessibles en écriture par tous les utilisateurs.
  • CHKROOTKIT_CHECK : si positionnée, MSEC recherche sur votre système les rootkits connus. Un rootkit est un programme qui permet d'exploiter des failles sous Unix/Linux afin de prendre le contrôle du compte root.
  • MAIL_EMPTY_CONTENT : si positionnée, le rapport de sécurité sera envoyé même s'il est vide. Cela permet de contrôler que MSEC fonctionne correctement et qu'il n'a pas été compromis en vérifiant qu'on reçoit bien le mail chaque jour. En effet, un pirate ou un programme malicieux tentera sûrement de se débarrasser de MSEC.
  • MAIL_USER : permet l'envoi du rapport quotidien à un utilisateur. Si cette variable n'est pas positionnée, l'email est envoyé à l'utilisateur root (et, on l'espère du moins, transmis finalement à un autre utilisateur puisque root ne devrait pas recevoir de mails : pour cela, éditer /etc/aliases). La valeur de cette variable correspond à ce que vous tapez dans la zone "Administrateur sécurité" de l'onglet "Options de base" de l'interface graphique.
  • MAIL_WARN : si positionnée, MSEC envoie un email d'alerte à l'utilisateur spécifié dans la variable MAIL_USER. Le positionnement de cette variable s'obtient en cochant la case "Alertes de sécurité" dans l'onglet "Options de base" de l'interface graphique.
  • PERM_LEVEL : est utilisé pour déterminer quel fichier utiliser pour rétablir les permissions, les propriétaires et les groupes. Si positionnée, MSEC utilise le fichier /usr/share/msec/perm.$PERM_LEVEL. Si non positionnée, MSEC utilise alors la variable SECURE_LEVEL (qui est votre niveau de esécurité courant). De plus, pour une configuration spécifique du système, le fichier /etc/security/msec/perm.local est aussi utilisé, s'il existe.
  • RPM_CHECK : si positionnée, MSEC vérifie les paquetages qui ont changé depuis la veille (même les ré-installations du même paquetage). Il contrôle aussi si un fichier appartenant à un paquetage a été modifié.
  • SYSLOG_WARN : si positionnée, MSEC écrit aussi son rapport dans syslog.
  • TTY_WARN : si positionnée, MSEC écrit son rapport sur toutes les consoles ouvertes en ce moment par root.

Il est aussi possible de positionner la variable CHKROOTKIT_OPTION. Sa valeur sera passée en argument à chkrootkit lorsqu'il est lancé périodiquement par MSEC. Par exemple CHKROOTKIT_OPTION="-q" permet d'avoir un rapport plus condensé.

Pour les experts : les scripts exécutables de MSEC

On trouvera les scripts exécutables de MSEC, en langage Python, dans le répertoire /usr/share/msec/

Note finale...

Comme vous pouvez le voir, MSEC est un très bon point de départ pour sécuriser votre système. Il ne peut pas tout faire pour rendre votre système sûr, et il n'a pas été prévu pour cela. La sécurité d'un système demande toujours beaucoup d'attention de la part de l'administrateur du système. Mais MSEC constitue un bon début et vous laisse la possibilité d'aller plus loin dans la sécurisation. Il comporte certes aussi quelques lacunes en matière de sécurité variables selon le type de système que vous voulez utiliser : à vous de corriger ces défauts !

Historique

Le paquetage Mandriva-Security, plus connu sous le nom de MSEC, a été l'un des paquetages de base dans Mandrakelinux dès son introduction dans la version 7.0. Depuis, MSEC a beaucoup évolué, il a en particulier été complètement réécrit en python pour la 8.2. Il était auparavant constitué d'un ensemble de scripts shell. Pour la 2009.1, l'interface graphique a été revue de fond en comble et il est maintenant basé sur un système de plugins, ce qui a longtemps été demandé : il est désormais possible de réaliser un plugin pour la sécurisation d'apache, par exemple.

Autres sources de documentation sur MSEC

  • La page de man. La commande
Image:Konsole.png
[utilisateur@ordi ~]$ man msecgui
affiche une page récente et à jour, tandis que la commande
Image:Konsole.png
[utilisateur@ordi ~]$ man msec
aboutit à une page ancienne complètement obsolète.
  • Des informations très intéressantes (en anglais) sur le blog d'Eugeni Dodonov - l'un des principaux développeurs actuels de MSEC
  • Les fichiers dans /usr/share/doc/msec/.
Récupérée de « http://wiki.mandriva.com/fr/MSEC »
Autres langues