Avant d'installer un système d'exploitation sur votre ordinateur, créez un mot de passe pour le BIOS. Après l'installation (une fois que vous avez rendu possible un démarrage à partir du disque dur), retournez dans le BIOS et changez la séquence de démarrage afin de rendre impossible le démarrage à partir d'une disquette, d'un cdrom ou de tout autre périphérique. Sinon un pirate n'a besoin que d'un accès physique et d'une disquette de démarrage pour accéder au système complet.
Désactiver le démarrage sans mot de passe est solution encore meilleure. Ceci peut être efficace pour un serveur car il n'est pas redémarré très souvent. L'inconvénient de cette méthode est que le redémarrage nécessite l'intervention d'une personne, ce qui peut poser des problèmes si la machine n'est pas facilement accessible.
Un schéma de partitionnement intelligent dépend de l'utilisation de la machine. Une bonne règle est d'être assez large avec vos partitions et de faire attention aux facteurs suivants :
Le système ne devrait pas être connecté à Internet pendant l'installation. Ceci peut paraître stupide mais il faut savoir que l'installation par le réseau est une méthode d'installation habituelle. Étant donné que le système va installer et activer les services immédiatement, si le système est connecté à Internet et que les services ne sont pas configurés correctement vous les exposez à des attaques.
Il faut noter également que certains services peuvent avoir des trous de sécurité qui n'ont pas encore été corrigés dans les paquets que vous utilisez pour l'installation. C'est généralement vrai si vous installez depuis de vieux médias (comme des CDroms). Dans ce cas, il se peut que votre système soit compromis avant même la fin de l'installation !
Attendu que l'installation et les mises à jours peuvent être faites par
Internet, vous pourriez penser que c'est une bonne idée d'utiliser cette
caractéristique lors de l'installation. Si le système va être connecté
directement à Internet (et pas protégé par un pare-feux ou un NAT), il est plus
judicieux de l'installer sans connexion à Internet et d'utiliser un miroir
local de paquets contenant à la fois les paquets sources et les mises à jours
de sécurité. Vous pouvez mettre en place des miroirs de paquets en utilisant
un autre système connecté à Internet et des outils spécifiques à Debian (si
c'est un système Debian) tels que apt-move
ou
apt-proxy
ou tout autre outil de miroir pour fournir l'archive aux
systèmes installés.
Définir un bon mot de passe est la condition de base pour avoir un système sécurisé.
A la fin de l'installation, il vous sera demandé si les mots de passe masqués
doivent être activés. Répondez oui à cette question ; ainsi les mots de
passe seront stockés dans le fichier /etc/shadow
. Seul
l'utilisateur root et le groupe shadow peuvent lire ce fichier, ainsi aucun
utilisateur ne sera en mesure de récupérer une copie de ce fichier afin de le
donner à un craqueur de mots de passe. Vous pouvez basculer entre les
mots de passe masqués et les mots de passes normaux à n'importe quel moment en
utilisant shadowconfig. De plus, pendant l'installation il vous
sera demandé si vous voulez utiliser les mots de passe MD5. C'est généralement
une bonne idée étant donné que cela permet des mots de passe plus longs et un
meilleur chiffrement.
Lire davantage sur les mots de passes masqués sur Shadow
Password
(/usr/share/doc/HOWTO/en-txt/Shadow-Password.txt.gz
).
Les services sont des programmes tels que les serveurs ftp et les serveurs web. Puisqu'ils doivent écouter les connexions entrantes qui demandent le service, des ordinateurs externes peuvent se connecter au vôtre. Les services sont parfois vulnérables (entendez par là qu'ils peuvent être compromis par certaines attaques) : ils créent des risques pour la sécurité.
Vous ne devriez pas installer les services dont vous n'avez pas besoin sur votre machine. Chaque service installé peut introduire de nouveaux trous de sécurité, peu évidents ou inconnus, sur votre ordinateur.
Comme vous le savez sans doute, lorsque vous installez un service, la démarche par défaut est de l'activer. Dans une installation Debian par défaut, sans services installés, le nombre des services actifs est assez faible et il est même plus faible quand on parle des services réseaux. Leur nombre dans Debian 2.1 n'était pas aussi faible que celui dans Debian 2.2 (quelques services inetd étaient actifs par défaut) et dans Debian 2.2 le service rpc est activé à l'installation. Rpc est installé par défaut car il est nécessaire à de nombreux services, par exemple NFS, pour tourner sur un système bien spécifique. Cependant, Il peut être facilement retiré, voir Désactivation de services daemon, Section 3.6.1 sur la manière de le désactiver.
Lorsque vous installez un nouveau service réseau (démon) sur votre système
Debian GNU/Linux, il peut être activé de deux façons : via le super démon
inetd (une ligne sera ajoutée à /etc/inetd.conf
) ou via un
programme qui s'attache lui-même aux interfaces réseaux. Ces programmes sont
contrôlés via les fichiers /etc/init.d
qui sont appelés lors du
démarrage au moyen du mécanisme de SysV (ou un autre) en utilisant des liens
symboliques dans /etc/rc?.d/*
(pour plus d'informations sur la
manière dont cela est fait, lire
/usr/share/doc/sysvinit/README.runlevels.gz
).
Si vous voulez garder certains services tout en les utilisant rarement, utilisez les commandes update, par exemple « update-inetd » et « update-rc.d » pour les supprimer du processus de démarrage.
La désactivation d'un daemon est relativement simple. Il y a différentes méthodes :
/etc/rc${runlevel}.d/
ou re-nommer les
liens (de sorte qu'ils ne commencent pas avec 'S')
/etc/init.d/_nom_service_
, (par
exemple /etc/init.d/OFF._nom_service_
)
/etc/init.d/_nom_service_
.
/etc/init.d/_nom_service_
pour qu'il s'arrête
immédiatement.
Vous pouvez supprimer les liens de /etc/rc${runlevel}.d/ manuellement ou en
utilisant update-rc.d (voir update-rc.d(8)
). Par
exemple, vous pouvez désactiver l'exécution d'un service dans le niveau
d'exécution multi-utilisateur en faisant :
update-rc.d stop XX 2 3 4 5 .
Veuillez noter que, si vous n'utilisez pas file-rc
,
update-rc.d -f _service_ remove ne fonctionnera pas correctement,
étant donné que tous les liens ont été supprimés, seules la
réinstallation ou la mise à jour du paquet créeront à nouveau ces liens (ce
n'est probablement pas ce que vous voulez). Si vous pensez que ce n'est pas
intuitif, vous avez sans doute raison (voir Bug 67095
. Voici un passage de
la page de manuel :
Quand un fichier /etc/rcrunlevel.d/[SK]??nom existe déjà, alors update-rc.d ne fait rien. C'est ainsi pour que l'administrateur système puisse réarranger les liens -- à condition qu'il en reste au moins un -- sans que sa configuration soit réécrite.
Si vous utilisez file-rc
toutes les informations concernant le
démarrage des services sont gérées par un fichier de configuration commun et
sont conservées même si les paquets sont retirés du système.
Vous pouvez utilisez l'interface texte (TUI Text User Interface) fournie par
rcconf
pour faire tous ces changements facilement
(rcconf
fonctionne pour file-rc ainsi que pour les niveaux
d'exécution normaux de type System V).
Les autres (non recommandées) méthodes de désactivation de services sont :
chmod 644 /etc/init.d/daemon (mais ceci donne un message d'erreur
au démarrage), ou modifier le script /etc/init.d/daemon
(en
ajoutant une ligne exit 0
au début ou en commentant la partie
start-stop-daemon). Étant donné que les fichiers init.d sont des
fichiers de configuration, ils ne seront pas ré-écris lors d'une mise à jour.
Malheureusement, contrairement à d'autres systèmes d'exploitation (UNIX), les
services dans Debian ne peuvent être désactivés en modifiant les fichiers dans
/etc/default/_nomservice_
.
FIXME : Ajouter des informations sur la gestion des démons par file-rc
Vous devriez arrêter tous les services non nécessaires sur votre système, comme echo, chargen, discard, daytime, time, talk, ntalk et les r-services (rsh, rlogin et rcp) qui sont considérés fort dangereux (utilisez ssh à la place). Après la désactivation de ceux-ci, vous devriez vérifier si vous avez réellement besoin du démon inetd. De nombreuses personnes préfèrent utiliser les démons plutôt que d'appeler des services via inetd. Le La possibilité de déni de service sur inetd existe, ce qui peut augmenter notablement la charge de la machine. Si vous désirez toujours lancer un service du genre d'inetd, tournez-vous plutôt vers un démon inetd plus configurable tel xinetd ou rlinetd.
Vous pouvez désactiver les services en modifiant directement
/etc/inetd.conf
, mais Debian offre un meilleur moyen :
update-inetd (qui commente les services de manière à ce qu'ils
puissent être facilement réactivés). Vous pouvez supprimer le démon telnet en
exécutant cette commande pour changer le fichier de configuration et redémarrer
le démon (dans ce cas le service est désactivé) :
/usr/sbin/update-inetd --disable telnet
Si vous désirez des services en attente, mais qui n'écoutent pas toutes les
adresses IP de votre hôte, vous voudrez peut-être utiliser des fonctions non
documentées de inetd.. Ou utiliser un autre daemon tel que
xinetd
.
Cela ne fait pas de mal de jeter un oeil à la liste de discussion debian-security-announce, où des alertes et des solutions pour les paquets sont annoncés par l'équipe sécurité de Debian, ou sur la liste debian-security@lists.debian.org, où vous pouvez participer aux discussions à propos de différentes choses liées à la sécurité Debian.
De façon à recevoir les alertes importantes concernant les mises à jour liées à
la sécurité, envoyez un courriel à debian-security-announce-request@lists.debian.org
avec le mot "subscribe" dans le sujet du courrier. Vous pouvez
également vous inscrire à cette liste via la page web sur http://www.debian.org/MailingLists/subscribe
Cette liste de discussion a peu de trafic, et en vous inscrivant vous serez tenu au courant des mises à jour pour la distribution Debian. Cela vous permet de télécharger rapidement les nouveaux paquets sans les bogues, ce qui est relativement important dans le maintien d'un système sécurisé. (Voir Se mettre à jour au niveau de la sécurité, Section 4.5 pour les détails.)
Securing Debian Manual
2.8 14 febrero 2004Mon, 18 Nov 2002 23:13:42 +0100jfs@computer.org