L'un des principes de base de la sécurité informatique est de ne jamais exécuter ce dont vous n'avez pas besoin.
Je pgrep
cherchais un processus aujourd'hui lorsque j'ai remarqué que ma machine Ubuntu 9.04 (bureau) exécutait un démon de serveur git. Après un bref juron, j'ai découvert que le git-daemon-run
paquet avait été (probablement par inadvertance) installé, et le retirer s'est débarrassé de ce processus (et s'est assuré qu'il ne serait pas redémarré plus tard).
Mais dans d'autres cas, je veux que le paquetage serveur soit installé, mais je ne veux pas que le démon serveur fonctionne. Par exemple, j'utilise lighttpd
pour les tests internes (il est démarré par des scripts de test spécifiques pour certaines applications, et n'écoute que sur localhost dans ces configurations) mais je ne veux pas qu'il écoute les connexions externes avec un fichier de configuration aléatoire. (Si je voulais exécuter une écoute pour les connexions externes, je la configurerais et l'exécuterais moi-même.)
Je n'aime vraiment pas exécuter toutes sortes de serveurs aléatoires dont je n'ai pas besoin sur les machines exposées à Internet, car qui sait quels trous de sécurité ils ouvrent. Et je préfère ne pas avoir à me soucier des pare-feu, car c'est encore une autre source potentielle d'erreurs et de mauvaises configurations qui peuvent ouvrir des failles de sécurité. Ce n'est pas si difficile d'avoir des machines Unix configurées pour ne démarrer aucun serveur à moins que l'administrateur ne le demande spécifiquement; NetBSD (et OpenBSD aussi, je pense) se présente de cette façon par défaut.
Comment configurer mes systèmes Ubuntu pour ne jamais démarrer aucun type de démon de serveur à moins que je ne lui dise spécifiquement que je veux qu'il démarre?
(Demander d'avoir un paquet installé n'est pas, dans mon livre, demander de démarrer un serveur. S'il est censé l'être, c'est une interface utilisateur terrible, car de nombreuses installations de paquet n'ont même pas de serveur pour démarrer, donc cela fait il est beaucoup trop facile de démarrer un serveur par inadvertance sans réaliser que vous l'avez fait.)
EDIT: Juste pour être clair, le problème n'est pas que je veux pouvoir arrêter les serveurs existants. Le problème est que je ne veux pas que de nouveaux serveurs démarrent sans demande explicite. Cela signifie que je devrais être en mesure d'effectuer n'importe quelle tâche d'administrateur système, telle que l'installation d'un package, et être sûr qu'aucun serveur n'a démarré. La plupart des réponses n'abordent pas ce point.