dselect
et retirer les paquets non nécessaires mais sélectionnés auparavant avant de faire [I]nstall. Laisser le strict minimum de logiciels sur le système.
lilo
.
$ ps aux $ netstat -pn -l -A inet # /usr/sbin/lsof -i | grep LISTENVous devrez installer lsof-2.2 pour que la troisième commande fonctionne (à exécuter en tant que superutilisateur). Vous devriez faire attention car
lsof
peut traduire le mot LISTEN en fonction des paramètres régionaux.
dpkg
:
#!/bin/sh # FIXME : c'est du vite fait, mal fait ; à remplacer par un bout # de script plus robuste for i in `sudo lsof -i | grep LISTEN | cut -d " " -f 1 |sort -u` ; do pack=`dpkg -S $i |grep bin |cut -f 1 -d : | uniq` echo "Le service $i est installé par $pack"; init=`dpkg -L $pack |grep init.d/ ` if [ ! -z "$init" ]; then echo "et démarré par $init" fi done
dpkg --purge
) ou utiliser update-rc.d
(consultez Section 3.5.1, « Désactivation de services démon ») de façon à le retirer du système de démarrage.
/etc/inetd.conf
avec :
$ grep -v "^#" /etc/inetd.conf | sort -uet désactiver ceux qui ne sont pas nécessaires en commentant la ligne qui les inclut dans
/etc/inetd.conf
, en supprimant le paquet ou en utilisant update-inetd
.
/usr/sbin/tcpd
), vérifier que les fichiers /etc/hosts.allow
et /etc/hosts.deny
sont configurés d'après les règles de services.
# init 1 (...) # init 2
# for i in `/usr/sbin/lsof -i |grep LISTEN |cut -d " " -f 1 |sort -u`;\ > do user=`ps ef |grep $i |grep -v grep |cut -f 1 -d " "` ;\ > echo "Le service $i a été démarré en tant qu'utilisateur $user"; donePensez à modifier les utilisateur et groupe lançant ces services pour un couple utilisateur et groupe donné, et utilisez éventuellement
chroot
pour augmenter le niveau de sécurité. Vous pouvez procéder en changeant les scripts de démarrage de services de /etc/init.d
. La plupart des services dans Debian utilisent start-stop-daemon
qui propose des options (--change-uid
et --chroot
) pour faire cela. Un petit avertissement concernant l'utilisation de chroot
pour des services est nécessaire : tous les fichiers installés par le paquet (consultez la sortie de dpkg -L) fournissant le service ainsi que les paquets dont il dépend peuvent être nécessaires dans l'environnement chroot
. Des renseignements sur la mise en place d'un environnement chroot
pour le programme ssh
sont disponibles en Section B.7, « Environnement de chroot pour SSH ».