Um dos princípios básicos da segurança do computador é nunca executar o que você não precisa.
Eu estava pgrep
de ping para um processo de hoje, quando notei que a minha 9,04 (desktop) máquina Ubuntu foi a execução de um daemon servidor git. Após um rápido juramento, descobri que o git-daemon-run
pacote havia sido (provavelmente inadvertidamente) instalado, e a remoção dele eliminou esse processo (e garantiu que não seria reiniciado mais tarde).
Mas em outros casos, quero que o pacote do servidor seja instalado, mas não quero que o daemon do servidor esteja em execução. Por exemplo, eu uso lighttpd
para testes internos (é iniciado por scripts de teste específicos para alguns aplicativos e escuta apenas no host local nessas configurações), mas não quero que ele escute conexões externas com algum arquivo de configuração aleatório. (Se eu quisesse executar uma escutando conexões externas, eu mesma a configuraria e executaria.)
Realmente não gosto de executar todos os tipos de servidores aleatórios de que não preciso em máquinas expostas à Internet, pois quem sabe que brechas de segurança eles abrem. E prefiro não ter que mexer com firewalls, já que essa é outra fonte potencial de erros e configurações incorretas que podem abrir brechas na segurança. Não é tão difícil ter máquinas Unix configuradas para não iniciar nenhum servidor, a menos que seja solicitado especificamente pelo administrador; O NetBSD (e o OpenBSD, também, acho) vem dessa maneira por padrão.
Como configuro meus sistemas Ubuntu para nunca iniciar qualquer tipo de daemon de servidor, a menos que eu diga especificamente que quero que ele seja iniciado?
(No meu livro, pedir para instalar um pacote não é pedir para iniciar um servidor. Se deveria ser, é uma péssima interface do usuário, pois muitas instalações de pacotes nem sequer têm um servidor para iniciar, por isso é muito fácil iniciar inadvertidamente um servidor sem perceber que você o fez.)
Edição: Apenas para deixar claro, o problema não é que eu quero poder parar os servidores existentes. O problema é que eu não quero que novos servidores sejam iniciados sem uma solicitação explícita. Isso significa que eu devo ser capaz de executar qualquer tarefa sysadmin, como instalar um pacote, e ter certeza de que nenhum servidor foi iniciado. A maioria das respostas não aborda esse ponto.