Debian pour un serveur

Cette article est en cours de rédaction

Choix de la version

Il existe plusieurs versions de Debian : stable, testing et unstable. Ces mots clés n'ont qu'une signification dans Debian, ils concernent le packaging, c'est-à-dire le fonctionnement des logiciels les uns avec les autres. En unstable, les logiciels présents ne sont pas pour autant instables, ce ne sont pas des versions de développement.

Pour un serveur, il vaut mieux rester en stable. Cette version n'apporte que des correctifs de sécurité et assurent que les installations et mises à jour de paquets se passeront sans problème, la distribution stable garantie une cohérence dans les dépendances des paquets, sans les trous parfois présent dans testing et unstable.

Installation et partitionnement

Sécurisation

Le Noyau grSecurity

:!: Cette section est obsolète :!: FIXME: Utiliser la méthode Debian et le package contenant le patch.

Prérequis

Pour connaître la version de votre noyau :

# uname -sr

Téléchargement des sources du noyau

Deux solutions sont possibles pour télécharger les sources du noyau :

(Placez vous dans le dossier usr/src)

Avec APT
# apt-get install kernel-source-vnoyau
Avec le site kernel.org

Rendez vous sur le site pour télécharger les sources, vous aurez alors le choix de télécharger à partir du FTP, du HTTP ou du RSYNC.

Téléchargement du patch grsecurity

grscurity est un patch pour le noyau linux qui permet d'accroître la sécurité du serveur. Il suffit d'aller sur le site de grsecurity pour récupérer l'adresse du patch et de le télécharger sur le serveur :

# wget <coller l'adresse du patch ici>

Configuration et Compilation du Noyau

Vous avez maintenant dans le même répertoire, les sources de votre noyau ainsi que le patch grsecurity. Dézippez les sources, et placez vous dans le répertoire du noyau.

Il faut maintenant patcher votre noyau :

# patch -p0 < ./usr/src/grsecurity-vpatch-vnoyau.patch

Votre noyau est maintenant patché, passons maintenant à la configuration :

# make menuconfig

Pour qu'un serveur soit performant, il ne lui faut que les paquets utiles à son fonctionnement. Nous allons donc compiler tous les modules en dur dans le noyau, et donc désactiver le support de module.

Nous allons déjà commencer par retirer l'audio (Sound), l'usb(USB Support), PCMIA, la vidéo (Multimedia devices) et le support des modules.

Nous venons de lister que quelques modules a supprimer, regardez bien chaque catégorie pour retirer ce qui n'est pas utile ! Ex : Module pour les multiprocesseurs si vous n'en n'avez qui, NAT si vous comptez pas faire de redirection de port, etc ….

Ensuite nous allons rajouter ce que nous avons besoin :

  • Le patch grsecurity se configure de 3 niveaux de sécurisation, je vous conseille de mettre hight security.
  • Activation des quotas qui permettra de limiter l'espace disque alloué à un utilisateur ou un groupe d'utilisateurs.
  • Activation de IPTables avec l'option TCP syncookie support
  • Librairie zlib en compression et décompression qui servira plus tard à la configuration de PHP.

Nous venons de lister quelques modules à ajouter, il faut bien entendu rajouter ce que vous avez besoin.

Votre configuration terminée, sauvegardez-la.

Il vous suffit ensuite de compiler votre noyau :

# make dep
# make bzImage
# make install

Votre noyau est maintenant compilé, il ne suffit plus que de le charger au démarrage. Vous pouvez aussi voir la « Compilation d'un noyau à la sauce Debian ».

Configuration de lilo

FIXME utiliser GRUB

Nous allons maintenant rajouter à la configuration de lilo le noyau que nous venons de compiler. Pour cela, éditez le fichier lilo.conf présent dans le dossier etc et rajoutez les lignes suivantes à la fin du fichier :

image=/boot/vmlinuz-vnoyau-grsec label=vnoyau-grsec read-only

Puis changer la ligne défaut et inscrivez le label de votre noyau.

Sauvegardez le fichier, et tapez la commande suivante :

# lilo -v

Cette commande permet de mettre a jour lilo, vous devez normalement voir apparaître le label de votre noyau avec une petit étoile, cela veut dire que ça sera le noyau chargé par défaut.

Il ne suffit plus que de redémarrer la machine :

# reboot

Vous pouvez vérifier votre noyau chargé en tapant la commande suivante :

# uname -sr

Votre machine dispose maintenant d'un noyau qui contient que ce qu'elle a besoin et sécurisé.

IPTables

Se protéger des rootkits

S'informer des mises à jours disponibles avec apticron

Accès à distance : OpenSSH

Le Secure Shell ou Console sécurisée, et un service réseau qui permet d'obtenir un accès distant an ligne de commande sur la machine. Les données sont cryptrées se qui permet d'éviter une écoute sur le réseau qui permettrait à une personne mal intentionnée de récupérer les mots de passe ou autres information.

# aptitude install openssh-server

Configuration de base de /etc/ssh/sshd_config :

  • Mettre le PermitRootLogin à no

Serveur Web

Serveur FTP : vsFTPd

 
installation/debian-pour-un-serveur.txt · Dernière modification: 11/12/2010 18:15 par orgrim