[ précédent ] [ Table des matières ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ A ] [ B ] [ C ] [ D ] [ E ] [ F ] [ G ] [ H ] [ suivant ]


Securing Debian Manual
Chapitre 12 - Foire Aux Questions (FAQ)


Ce chapitre introduit quelques questions qui reviennent souvent sur la liste de diffusion de sécurité. Vous devriez les consulter avant de poster sur la liste ou certains pourraient vous dire d'aller RTFM.


12.1 La sécurité dans le système d'exploitation Debian


12.1.1 Debian est-elle plus sûre que X ?

A system is only as secure as its administrator is capable of making it. Debian's default installation of services aims to be secure, but may not be as paranoid as some other operating systems which install all services disabled by default. In any case, the system administrator needs to adapt the security of the system to the local security policy.

Pour une liste des données concernant les failles de sécurité pour plusieurs systèmes d'exploitation, consultez les statistiques de US-CERT ou générez des statistiques en utilisant la base de données nationale de vulnérabilités (anciennement ICAT). Est-ce que ces données sont utiles ? Plusieurs facteurs sont à considérer pour l'interprétation des données, mais remarquez qu'elles ne permettent pas de comparer les failles d'un système d'exploitation par rapport à un autre.[79] Rappelez-vous également que certaines failles signalées concernant Debian ne s'appliquent qu'à la branche unstable (c'est-à-dire non publiée).


12.1.1.1 Debian est-elle mieux sécurisée que d'autres distributions Linux (comme Red Hat, SuSE, etc.) ?

Peu de grandes différences existent entre les distributions Linux, à l'exception de l'installation de base et du système de gestion des paquets. La plupart des distributions partagent une grande partie des mêmes applications, les différences étant seulement dans les versions de ces applications livrées avec la version stable de la distribution. Par exemple, le noyau, BIND, Apache, OpenSSH, Xorg, gcc, zlib, etc. sont tous communs entre les distributions Linux.

Par exemple, Red Hat a joué de malchance et a livré une version stable quand truc était en version 1.2.3, où une faille sécurité a été découverte plus tard. Debian, d'un autre côté, a été plus chanceuse de livrer truc 1.2.4, qui contient la correction du bogue. Cela a été le cas avec le gros problème de rpc.statd il y quelques années.

Beaucoup de collaboration existe entre les équipes de sécurité respectives des distributions Linux majeures. Les mises à jour de sécurité connues sont rarement, voire jamais, laissées non corrigées par un distributeur. La connaissance d'une faille de sécurité n'est jamais cachée à un autre distributeur, tout comme les corrections sont habituellement coordonnées en amont ou par le CERT. Par conséquent, les mises à jour de sécurité nécessaires sont habituellement diffusés en même temps et la sécurité relative des différentes distributions est très semblable.

L'un des principaux avantages de Debian concernant la sécurité est la facilité des mises à jour du système par l'utilisation d'apt. Voici quelques autres aspects de la sécurité dans Debian à considérer.


12.1.2 De nombreux bogues Debian sont dans Bugtraq, cela la rend-elle plus vulnérable ?

Debian distribue un grand nombre, en augmentation constante, de paquets logiciels, probablement plus que la plupart des systèmes d'exploitation propriétaires. Par conséquent le risque est plus grand de trouver des logiciels victimes de failles de sécurité exploitables que sur les systèmes contenant moins de logiciels.

De plus en plus de personnes examinent le code source à la recherche de failles. De nombreux annonces sont liées à des audits de code source effectués sur des composants logiciels majeurs livrés dans Debian. Lorsqu'un de ces audits de code source fait ressortir une faille majeur, elle est réparée et une alerte est envoyée aux listes comme celle de BugTraq.

Les bogues présents dans la distribution Debian affectent également d'autres distributeurs et distributions. Vérifiez la partie « Debian specific: yes/no » en haut de chaque annonce (DSA).


12.1.3 Debian possède-t-elle une certification relative à la sécurité ?

Réponse courte : non.

Réponse longue : la certification coûte de l'argent (particulièrement, une certification de sécurité sérieuse et personne n'a attribué de ressources pour faire certifier la distribution Debian GNU/Linux à n'importe quel niveau que ce soit, par exemple, la Common Criteria. Si vous êtes intéressé par l'obtention d'une distribution GNU/Linux certifiée, essayez de fournir les ressources pour que cela devienne possible.

Au moins deux distributions Linux sont actuellement certifiées à différents niveaux EAL. Remarquez que certains des tests CC sont en cours d'intégration dans le Linux Testing Project disponible dans le paquet Debian ltp.


12.1.4 Existe-t-il un programme de durcissement pour Debian ?

Oui. Bastille Linux, orienté à la base vers certaines distributions Linux (Red Hat et Mandrake), cela fonctionne actuellement aussi sur Debian. Des étapes sont prévues pour intégrer les changements de la version amont dans le paquet Debian nommé bastille.

Certains pensent, cependant, qu'un outil de durcissement n'élimine pas la nécessité d'une bonne administration.


12.1.5 Je veux fournir le service XYZ, lequel dois-je choisir ?

L'une des grandes forces de Debian est la grande variété de choix disponibles entre les paquets fournissant la même fonctionnalité (serveurs DNS, serveurs de messagerie, serveurs FTP, serveurs web, etc.). Cela peut être déroutant pour l'administrateur débutant lorsqu'il essaie de déterminer l'outil adapté à son besoin. Le meilleur choix dans une situation donnée dépend d'un équilibre entre les fonctionnalités et la sécurité nécessaires. Voici quelques questions à se poser pour choisir parmi des paquets semblables.


12.1.6 Comment mieux sécuriser le service XYZ dans Debian ?

Les informations disponibles dans ce document vous permettront de rendre certains services (FTP, BIND) plus sécurisés dans Debian GNU/Linux. Toutefois, pour les services non abordés ici, vous pouvez vérifier la documentation des programmes ou les informations générales sur Linux. La plupart des directives concernant la sécurité des systèmes UNIX peut également s'appliquer à Debian. Ainsi, la sécurisation d'un service X dans Debian revient, la plupart du temps, à sécuriser un service dans n'importe quelle autre distribution Linux (ou UNIX, peu importe).


12.1.7 Comment supprimer toutes les informations de version pour les services ?

Si vous ne voulez pas que des utilisateurs se connectent au démon POP3, par exemple, et récupèrent des renseignements sur le système, vous pourriez supprimer (ou modifier) les versions affichées aux utilisateurs. [81] Faire cela dépend du logiciel que vous utilisez pour un service donné. Par exemple, dans postfix, vous pouvez placer la bannière SMTP suivante ans /etc/postfix/main.cf :

      
       smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)

D'autres logiciels ne sont pas aussi faciles à modifier. SSH devra être recompilé pour pouvoir modifier la version affichée. Prenez garde à ne pas supprimer la première partie (SSH-2.0) de la bannière, car les clients l'utilisent pour identifier les protocoles pris en charge par le paquet.


12.1.8 Les paquets Debian sont-ils tous sûrs ?

L'équipe de sécurité Debian ne peut pas analyser tous les paquets inclus dans Debian pour tester des potentielles failles de sécurité, simplement à cause du manque de ressources pour contrôler le code source de l'ensemble du projet. Cependant Debian bénéficie des audits de code source réalisés par des développeurs amont.

De fait, un développeur Debian pourrait distribuer un cheval de Troie dans un paquet sans moyen de le vérifier. Même s'il était introduit dans une branche Debian, il serait impossible de couvrir toutes les situations imaginables dans lesquelles le cheval de Troie pourrait agir. C'est pourquoi Debian a une clause de licence de « non garantie ».

Cependant, les utilisateurs Debian peuvent être assurés que le code stable rassemble une large audience et que la plupart des problèmes seront découverts pendant l'utilisation. Installer des logiciels non testés dans un système critique n'est pas recommandé (si vous ne pouvez pas fournir l'audit de code nécessaire). Dans tous les cas, si des failles de sécurité étaient intégrées à la distribution, le processus permettant d'inclure les paquets (utilisation de signature numérique) assure que le problème pourra être remonté jusqu'au développeur, et que le projet Debian ne prend pas cela à la légère.


12.1.9 Pourquoi certains fichiers journaux ou fichiers de configuration sont-ils lisibles par tous les utilisateurs, est-ce que c'est sûr ?

Vous pouvez bien sûr modifier les permissions Debian par défaut du système. La règle actuelle concernant les fichiers journaux et les fichiers de configuration est qu'ils doivent être lisibles par tous les utilisateurs sauf s'ils fournissent des informations sensibles.

Soyez attentifs si vous faites des modifications car :

FIXME : Vérifier si c'est écrit dans la Charte. Certains paquets (par exemple, les démons FTP) semblent nécessiter différentes permissions.


12.1.10 Pourquoi est-ce que /root/ (ou UserX) a 755 comme permissions ?

De fait, la même question s'applique pour tout autre utilisateur. Comme l'installation de Debian ne place aucun fichier dans ce répertoire, il n'y a aucune information sensible à y protéger. Si vous pensez que ces permissions sont trop laxistes pour le système, vous pouvez les renforcer en 750. Pour les utilisateurs, veuillez lire Limiter l'accès aux informations d'autres utilisateurs, Section 4.11.13.1.

Ce fil de la liste de diffusion de sécurité Debian contient plus d'informations sur ce problème.


12.1.11 Après l'installation de grsec ou d'un pare-feu, j'ai commencé à recevoir beaucoup de messages de console ! Comment les supprimer ?

Si vous recevez des messages en console et que /etc/syslog.conf est configuré pour les rediriger dans des fichiers ou dans un TTY spécial, vous pourriez voir des messages envoyés directement en console.

Le niveau de journalisation en console par défaut est 7 quel que soit le noyau, donc tous les messages avec une priorité inférieure apparaîtront dans la console. En général, les pare-feu (la règle LOG) et d'autres outils de sécurité journalisent à des priorités inférieures donc les messages sont envoyés directement en console.

Pour réduire les messages envoyés en console, vous pouvez utiliser dmesg (l'option -n, consultez dmesg(8)), qui examine et contrôle le tampon anneau du noyau. Pour corriger cela après le prochain redémarrage, modifiez /etc/init.d/klogd en substituant :

       KLOGD=""

par :

       KLOGD="-c 4"

Utilisez un nombre plus petit pour -c si vous les voyez toujours. Une description des différents niveaux de journalisation est disponible dans /usr/include/sys/syslog.h :

       #define LOG_EMERG   0  /* le système est inutilisable */
       #define LOG_ALERT   1  /* une action doit être entreprise immédiatement */
       #define LOG_CRIT    2  /* conditions critiques */
       #define LOG_ERR     3  /* conditions d'erreur */
       #define LOG_WARNING 4  /* conditions d'avertissement */
       #define LOG_NOTICE  5  /* normal, mais conditions significatives */
       #define LOG_INFO    6  /* informatif */
       #define LOG_DEBUG   7  /* messages de débogage */

12.1.12 Les utilisateurs et les groupes du système d'exploitation


12.1.12.1 Tous les utilisateurs systèmes sont-ils nécessaires ?

Oui et non. Debian est livrée avec certains utilisateurs prédéfinis (identifiant utilisateur (UID) < 99 comme décrit dans la Charte Debian ou /usr/share/doc/base-passwd/README) afin de faciliter l'installation de certains services qui imposent d'être lancés par un utilisateur ayant un UID approprié. Si vous n'avez pas l'intention d'installer de nouveaux services, vous pouvez supprimer sans problème ces utilisateurs qui ne possèdent aucun fichier sur le système et n'exécutent aucun service. Dans tous les cas, le comportement par défaut est que les UID de 0 à 99 sont réservées dans Debian et les UID de 100 à 999 sont crées par des paquets lors de l'installation (et supprimées quand le paquet est purgé).

Vous pouvez facilement trouver les utilisateurs ne possédant aucun fichier en exécutant la commande suivante[82] (assurez-vous de l'exécuter en tant que superutilisateur, étant donné qu'un utilisateur ordinaire pourrait ne pas avoir les droits nécessaires pour accéder à certains répertoires sensibles) :

     cut -f 1 -d : /etc/passwd |
     while read i; do find / -user "$i" | grep -q . || echo "$i"; done

Ces utilisateurs sont fournis par base-passwd. Vous trouverez dans sa documentation plus d'informations sur la manière dont ces utilisateurs sont gérés dans Debian. Voici la liste des utilisateurs par défaut (avec un groupe correspondant).

Les autres groupes suivants n'ont pas d'utilisateur associé.


12.1.12.2 J'ai supprimé un utilisateur système ! Comment puis-je le récupérer ?

Si vous avez supprimé un utilisateur système et que vous n'avez pas de sauvegardes des fichiers password et group, vous pouvez essayez de récupérer de ce problème en utilisant update-passwd (consultez update-passwd(8)).


12.1.12.3 Quelle est la différence entre les groupes adm et staff ?

Le groupe « adm » est normalement celui des administrateurs et leur permet de lire les journaux d'activités sans utiliser su. Le groupe « staff » est généralement pour les administrateurs système secondaires afin de faire des choses dans /usr/local et de créer des répertoires dans home.


12.1.13 Pourquoi y a-t-il un nouveau groupe à chaque ajout de nouvel utilisateur (ou pourquoi Debian attribue-t-elle un groupe à chaque utilisateur) ?

Le comportement par défaut dans Debian est que chaque utilisateur a son propre groupe privé. Le schéma traditionnel UNIX place tous les utilisateurs dans le groupe users. Des groupes supplémentaires étaient créés et utilisés pour restreindre l'accès à des fichiers partagés associés aux différents répertoires de projets. La gestion des fichiers devenait difficile quand un seul utilisateur travaillait sur plusieurs projets car quand quelqu'un créait un fichier, ce dernier était associé au groupe primaire auquel il appartenait (c'est-à-dire « users »).

Le schéma Debian résout ce problème en attribuant à chaque utilisateur son propre groupe ; ainsi avec un umask correct (0002) et le bit SETGID positionné dans un répertoire de projet donné, le groupe correct est automatiquement attribué aux fichiers créés dans ce répertoire. Cela facilite le travail sur plusieurs projets sans modifier les groupes ou les umask pour travailler sur des fichiers partagés.

Vous pouvez, cependant, changer ce comportement en modifiant /etc/adduser.conf. Changez la variable USERGROUPS à « no », pour qu'aucun nouveau groupe ne soit créé quand un nouvel utilisateur est créé. Positionnez également USERS_GID au GID du groupe users auquel appartiennent tous les utilisateurs.


12.1.14 Questions concernant les services et les ports ouverts


12.1.14.1 Pourquoi tous les services sont-ils activés lors de l'installation ?

C'est un compromis entre la présence de sécurité et la facilité d'utilisation. Contrairement à OpenBSD, qui désactive tous les services non activés par l'administrateur, Debian GNU/Linux activera tous les services installés à moins de les désactiver (consultez Désactivation de services démon, Section 3.5.1 pour plus de renseignements). Après tout, vous avez installé ces services de votre propre chef, n'est-ce pas ?

De nombreuses discussions sur les listes de diffusion Debian (sur debian-devel et debian-security) ont eu lieu sur l'installation standard. Cependant, il n'y a pas de consensus à ce jour (mars 2002) sur la solution à adopter.


12.1.14.2 Puis-je retirer inetd ?

inetd n'est pas aisé à retirer étant donné que netbase dépend du paquet qui le fournit (netkit-inetd). Si vous voulez le retirer, vous pouvez soit le désactiver (consultez Désactivation de services démon, Section 3.5.1), soit retirer le paquet en utilisant equivs.


12.1.14.3 Pourquoi le port 111 est-il ouvert ?

Le port 111 est le mappeur de port sunrpc, il est installé par défaut dans toutes les installations de base d'un système Debian puisqu'il est nécessaire pour savoir quand le programme d'un utilisateur a besoin de RPC pour fonctionner correctement. Dans tous les cas, il est principalement utilisé pour NFS. Si vous n'en avez pas besoin, retirez-le comme décrit en Sécurisation des services RPC, Section 5.13.

Dans les versions du paquet portmap ultérieures à 5-5, le portmapper peut être en fait installé en n'écoutant que localhost (en modifiant /etc/default/portmap).


12.1.14.4 À quoi sert identd (port 113) ?

Le service identd est un service d'authentification du propriétaire d'une connexion TCP/IP spécifique au serveur distant acceptant la connexion. Par exemple, quand un utilisateur se connecte sur un hôte distant, inetd de l'hôte distant va envoyer une demande sur le port 113 pour déterminer les informations du propriétaire. C'est souvent utilisé pour les serveurs de courriers, FTP et IRC et peut également être utilisé pour remonter la trace de l'utilisateur qui attaque un système distant par l'intermédiaire de votre machine.

Des discussions complètes ont eu lieu sur la sécurité d'identd (consultez les archives de la liste de diffusion). En règle générale, identd est plus utile sur un système multiutilisateur que sur un poste de travail mono-utilisateur. Si vous n'en avez pas l'utilité, désactivez-le, pour ne pas laisser un service ouvert au monde extérieur. Mais si vous le bloquez par un pare-feu, s'il vous plaît, créez une règle de rejet et non une règle de déni, sinon la communication à un serveur utilisant identd pourrait être en attente jusqu'à l'expiration d'un délai (consultez les problèmes sur le rejet ou le déni).


12.1.14.5 Des services utilisent les ports 1 et 6, quels sont ces services et comment les enlever ?

Si la commande netstat -an affiche :

       Active Internet connections (servers and established)
       Proto Recv-Q Send-Q Local Address           Foreign Address         State
       PID/Program name
       raw        0      0 0.0.0.0:1               0.0.0.0:*               7
       -
       raw        0      0 0.0.0.0:6               0.0.0.0:*               7
       -

You are not seeing processes listening on TCP/UDP port 1 and 6. In fact, you are seeing a process listening on a raw socket for protocols 1 (ICMP) and 6 (TCP). Such behavior is common to both legitimate software like intrustion detection systems, such as iplogger and portsentry, but some trojans have also been known yo use them. If you have the mentioned packages simply remove them to close the port. If you do not, try netstat's -p (process) option to see which process is running these listeners.


12.1.14.6 Le port XYZ est ouvert, puis-je le fermer ?

Bien sûr que vous pouvez, les ports laissés ouverts doivent adhérer à la politique de sécurité du site concernant les services publiques disponibles pour les autres systèmes. Vérifiez s'ils sont ouvert par inetd (consultez Désactivation d'inetd ou de ses services, Section 3.5.2) ou par d'autres paquets installés et prenez les mesures adéquates (par exemple, configuration d'inetd, suppression du paquet, éviter qu'il démarre au démarrage).


12.1.14.7 Est-ce que la suppression de services de /etc/services va aider à sécuriser la machine ?

Non, le fichier /etc/services fournit juste une cartographie d'un nom virtuel à un numéro de port donné. La suppression des noms ne va pas (en général) empêcher les services d'être lancées. Certains démons ne se lanceront peut-être pas si /etc/services est modifié mais ce n'est pas la norme. Pour désactiver correctement les services, consultez Désactivation de services démon, Section 3.5.1.


12.1.15 Problèmes courants de sécurité


12.1.15.1 J'ai perdu mon mot de passe et je ne peux plus accéder au système !

Les démarches pour récupérer le système dépendent des différentes procédures appliquées pour limiter l'accès à lilo et au BIOS.

Si les deux accès sont limités, vous devez désactiver les fonctionnalités du BIOS (démarrer uniquement depuis le disque dur) avant de commencer. Si vous avez également oublié le mot de passe du BIOS, vous devrez ouvrir le système et retirer manuellement la pile du BIOS.

Une fois activé l'amorçage depuis un CD ou une disquette, vous pouvez essayer de :

Cela retirera le mot de passe superutilisateur oublié, contenu dans le premier champ séparé par deux points après le nom d'utilisateur. Enregistrez le fichier, redémarrer le système et connectez-vous en tant que superutilisateur (avec un mot de passe vide). Cela fonctionnera sauf si le système est configuré plus strictement, par exemple sans autorisation des connexions avec mot de passe vide ou des connexions du superutilisateur à partir de la console.

Si ces caractéristiques ont été introduites, vous devrez passer en mode utilisateur unique. Si LILO a été restreint, vous devrez relancer lilo après la réinitialisation du superutlisateur précédente. C'est assez rusé puisque /etc/lilo.conf devra être modifié car le système de fichiers racine est alors un disque virtuel et non le vrai disque dur.

Une fois que LILO n'est plus restreint, vous pouvez :


12.1.16 Comment mettre en place un service pour les utilisateurs sans leur donner un compte avec invite de commande ?

Par exemple, si vous voulez mettre en place un service POP, vous n'avez pas besoin de configurer un compte d'utilisateur pour chaque utilisateur y accédant. Il est préférable de mettre en place une authentification basé sur un répertoire grâce à un service externe (comme Radius, LDAP ou une base de données SQL). Installez simplement la bibliothèque PAM appropriée (libpam-radius-auth, libpam-ldap, libpam-pgsql ou libpam-mysql), consultez la documentation (pour commencer, consultez Authentification utilisateur : PAM, Section 4.11.1) et configurez le service en activant PAM pour utiliser la méthode que vous avez choisi. C'est fait en éditant les fichiers de /etc/pam.d/ pour les services et en modifiant :

      
       auth   required    pam_unix_auth.so shadow nullok use_first_pass

en, par exemple pour ldap :

       auth   required    pam_ldap.so

Dans le cas de répertoires LDAP, certains services fournissent des schémas LDAP à inclure dans le répertoire et qui sont nécessaires pour utiliser l'authentification LDAP. Si vous utilisez une base de données relationnelle, une astuce utile est d'utiliser la clause where en configurant les modules PAM. Par exemple, avec une base de données contenant les attributs de table suivants :

       (user_id, user_name, realname, shell, password, UID, GID, homedir, sys, pop, imap, ftp)

En modifiant les attributs de service en champs booléens, vous pouvez les utiliser pour permettre ou interdire l'accès aux différents services avec simplement les lignes appropriées dans les fichiers suivants :


12.2 Le système est vulnérable ! (En êtes-vous certain ?)


12.2.1 Le scanneur X de vérification des failles indique que le système Debian est vulnérable !

Plusieurs scanneurs de vérification de failles renvoient des faux positifs quand ils sont utilisés sur des systèmes Debian, car ils n'utilisent que le numéro de version pour déterminer si un paquet donné de logiciel est vulnérable, mais ils ne testent pas réellement la faille de sécurité elle-même. Comme Debian ne change de numéros de version lors de la correction d'un paquet (il est courant que la correction effectuée pour des versions plus récentes soit rétroportée), certains outils ont tendance à croire qu'un système Debian mis à jour est vulnérable alors qu'il ne l'est pas.

Si vous pensez que le système est à jour des correctifs de sécurité, vous pourriez utiliser les références croisées des bases de données des failles de sécurité publiées avec les DSA (consultez Alertes de sécurité Debian, Section 7.2) pour éliminer les faux positifs, si l'outil utilisé inclut des références CVE.


12.2.2 Une attaque apparaît dans les fichiers journaux du système. Le système est-il compromis ?

Une trace d'une attaque ne veut pas toujours dire que le système a été compromis et vous devriez effectuer les étapes habituelles pour déterminer si le système est vraiment compromis (consultez Après la compromission (la réponse à l'incident), Chapitre 11). Même si le système n'était pas vulnérable à l'attaque journalisée, un attaquant déterminé pourrait avoir utilisé une autre faille en plus de celles détectées.


12.2.3 D'étranges lignes « MARK » apparaissent dans les journaux : le système est-il compromis ?

Les lignes suivantes pourraient apparaître dans les fichiers journaux du système :

       Dec 30 07:33:36 debian -- MARK --
       Dec 30 07:53:36 debian -- MARK --
       Dec 30 08:13:36 debian -- MARK --

Cela n'indique pas un type de compromission et les utilisateurs changeant de versions de Debian peuvent trouver cela étrange. Si le système n'a pas une charge importante (ou beaucoup de services actifs), ces lignes peuvent apparaître dans les journaux. C'est pour indiquer que le démon syslogd fonctionne correctement. De syslogd(8) :

            -m interval
                 Syslogd garde dans un journal une marque d'horodatage
                 régulièrement. L'intervalle par défaut entre deux lignes
                 -- MARK -- est de 20 minutes. Cela peut être modifié
                 par cette option. Positionner l'intervalle à 0 le
                 désactive complètement.

12.2.4 Des utilisateurs utilisant « su » apparaissent dans les journaux : le système est-il compromis ?

Vous pouvez trouver ce genre de lignes dans les journaux :

       Apr  1 09:25:01 server su[30315]: + ??? root-nobody
       Apr  1 09:25:01 server PAM_unix[30315]: (su) session opened for user nobody by (UID=0)

Ne vous inquiétez pas trop. Vérifiez que ces entrées sont dues à des tâches cron (habituellement, /etc/cron.daily/find ou logrotate) :

       $ grep 25 /etc/crontab
       25 9    * * *   root    test -e /usr/sbin/anacron || run-parts --report
       /etc/cron.daily
       $ grep nobody /etc/cron.daily/*
       find:cd / && updatedb --localuser=nobody 2>/dev/null

12.2.5 « possible SYN flooding » apparaît dans les journaux : le système est-il attaqué ?

Si vous voyez ce genre d'entrées dans les fichiers journaux :

       May 1 12:35:25 linux kernel: possible SYN flooding on port X. Sending cookies.
       May 1 12:36:25 linux kernel: possible SYN flooding on port X. Sending cookies.
       May 1 12:37:25 linux kernel: possible SYN flooding on port X. Sending cookies.
       May 1 13:43:11 linux kernel: possible SYN flooding on port X. Sending cookies.

Vérifiez le nombre de connexions au serveur en utilisant netstat, par exemple :

       linux:~# netstat -ant | grep SYN_RECV | wc -l
          9000

Cela peut indiquer une attaque par déni de service (DoS) sur le port X du système (très certainement sur un service public comme un serveur web ou un serveur de courrier). Vous devriez activer TCP syncookies dans le noyau, consultez Configurer syncookies, Section 4.18.2. Cependant, notez qu'une attaque par déni de service peut inonder le réseau même si vous pouvez l'empêcher de planter les systèmes (à cause de la raréfaction de descripteurs de fichiers, le système peut ne plus répondre avant que les connexions TCP expirent). Le seul moyen efficace pour arrêter cette attaque est de contacter le fournisseur d'accès réseau.


12.2.6 Des sessions superutilisateur étranges apparaissent dans les journaux : le système est-il compromis ?

Ce genre d'entrées peut apparaître dans le fichier /var/log/auth.log :

       May 2 11:55:02 linux PAM_unix[1477]: (cron) session closed for user root
       May 2 11:55:02 linux PAM_unix[1476]: (cron) session closed for user root
       May 2 12:00:01 linux PAM_unix[1536]: (cron) session opened for user root by
       (UID=0)
       May 2 12:00:02 linux PAM_unix[1536]: (cron) session closed for user root

Elles sont dues à l'exécution d'une tâche cron (dans cet exemple, toutes les cinq minutes). Pour déterminer le programme responsable de ces tâches, vérifiez les entrées dans : /etc/crontab, /etc/cron.d, /etc/crond.daily et la crontab du superutilisateur dans /var/spool/cron/crontabs.


12.2.7 Le système a été victime d'une intrusion, que faire ?

Plusieurs étapes sont à prendre en compte en cas d'intrusion.


12.2.8 Comment pister une attaque ?

En regardant les journaux (s'ils n'ont pas été modifiés), en utilisant un système de détection d'intrusions (consultez Mise en place de détection d'intrusion, Section 10.3), traceroute, whois et outils similaires (y compris des analyses post-mortem) vous pourriez trouver la source de l'attaque. La réaction face à ces informations dépend uniquement des règles de sécurité, et de ce que vous considérez comme une attaque Un scan distant est-il une attaque ? Un test de failles de sécurité est-il une attaque ?


12.2.9 Le programme X dans Debian est vulnérable, que faire ?

Tout d'abord, vérifiez si la vulnérabilité a été annoncée sur les listes de diffusion publiques de sécurité (comme Bugtraq) ou autre forums. L'équipe de sécurité Debian se met à jour à l'aide de ces listes, elle peut donc déjà être consciente du problème. Ne lancez pas d'autres actions si l'annonce est sur http://security.debian.org.

Si rien n'a été publié, veuillez envoyer un message à propos des paquets concernés avec une description aussi détaillée que possible de la vulnérabilité rencontrée (la preuve par un code d'exploitation est aussi bienvenue) à team@security.debian.org. Cela vous mettra en rapport avec l'équipe de sécurité Debian.


12.2.10 Le numéro de version pour un paquet indique une version vulnérable !

Au lieu de mettre à jour vers une nouvelle version, Debian rétroporte le correctif de sécurité dans la version de la distribution stable. La raison d'agir ainsi est simple : cela permet d'assurer qu'une version a le moins de modifications possible, de cette manière les choses ne changeront pas ou ne se briseront pas à cause d'une mise à jour de sécurité. Vous pouvez vérifier qu'une version sécurisée du paquet est utilisée en regardant le journal de modifications du paquet ou en comparant le numéro exact de version (version amont et révision Debian) avec celui indiqué dans l'alerte de sécurité Debian (« Debian Security Advisory »).


12.2.11 Logiciels spécifiques


12.2.11.1 ProFTPD est vulnérable à une attaque de déni de service

Ajoutez DenyFilter \*.*/ au fichier de configuration, pour plus d'informations, consultez http://www.proftpd.org/bugs.html.


12.2.11.2 Après l'installation de portsentry, de nombreux ports sont ouverts.

Il s'agit simplement du mode de fonctionnement de portsentry. Il ouvre environ 20 ports non utilisés pour tenter de détecter les scans de ports.


12.3 Questions concernant l'équipe de sécurité Debian

The security team keeps its list of Frequently Asked Questions at the Debian Security FAQ. Please refer to that web page for up to date information.


[ précédent ] [ Table des matières ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ A ] [ B ] [ C ] [ D ] [ E ] [ F ] [ G ] [ H ] [ suivant ]


Securing Debian Manual

Version: 3.17, construite le Sun, 22 Feb 2015 19:26:04 +0000

Javier Fernández-Sanguino Peña mailto:jfs@debian.org
Auteurs, Section 1.1