Uno dei principi di base della sicurezza informatica non è mai eseguire nulla di cui non hai bisogno.
Stavo pgrep
eseguendo il ping per un processo oggi quando ho notato che la mia macchina Ubuntu 9.04 (desktop) eseguiva un demone git server. Dopo una rapida imprecazione, ho scoperto che il git-daemon-run
pacchetto era stato (probabilmente inavvertitamente) installato e rimuovendolo è stato eliminato quel processo (e ho assicurato che non sarebbe stato riavviato in seguito).
Ma in altri casi, voglio che il pacchetto del server sia installato, ma non voglio che il demone del server sia in esecuzione. Ad esempio, lo uso lighttpd
per i test interni (è avviato da script di test specifici per alcune applicazioni e ascolta solo localhost in quelle configurazioni) ma non voglio che ascolti connessioni esterne con alcuni file di configurazione casuali. (Se avessi voluto eseguirne uno in ascolto di connessioni esterne, lo avrei configurato ed eseguito da solo.)
Non mi piace davvero eseguire tutti i tipi di server casuali di cui non ho bisogno su macchine esposte a Internet, poiché chissà quali falle di sicurezza aprono. E preferisco non dovermi preoccupare dei firewall, poiché questa è ancora un'altra potenziale fonte di errori e configurazioni errate che può aprire falle nella sicurezza. Non è così difficile avere macchine Unix configurate per non avviare alcun server a meno che non sia stato espressamente richiesto dall'amministratore; NetBSD (e anche OpenBSD, penso) arrivano di default.
Come faccio a configurare i miei sistemi Ubuntu per non avviare mai alcun tipo di demone del server a meno che non gli dica specificamente che lo voglio avviato?
(Chiedere di avere un pacchetto installato non è, nel mio libro, chiedere di avviare un server. Se si suppone che lo sia, è un'interfaccia utente terribile, dal momento che molte installazioni di pacchetti non hanno nemmeno un server da avviare, quindi rende è troppo facile avviare inavvertitamente un server senza rendersi conto di averlo fatto.)
EDIT: Solo per chiarire, il problema non è che voglio essere in grado di arrestare i server esistenti. Il problema è che non desidero avviare nuovi server senza una richiesta esplicita. Ciò significa che dovrei essere in grado di eseguire qualsiasi attività sysadmin, come l'installazione di un pacchetto, e di essere sicuro che nessun server sia stato avviato. La maggior parte delle risposte non affronta questo punto.