Risposte:
Non riesco a pensare a nessuna modifica specifica di Ubuntu, ma eccone alcune che si applicano a tutte le distribuzioni:
Naturalmente questo elenco non è completo e non sarai mai completamente al sicuro, ma copre tutti gli exploit che ho visto nella vita reale.
Inoltre, gli exploit che ho visto erano quasi sempre legati al codice utente non sicuro, non alla configurazione non sicura. Le configurazioni predefinite in minimale, le distribuzioni dei server tendono ad essere piuttosto sicure.
Una cosa veloce che faccio presto è installare DenyHosts . Esaminerà regolarmente / var / log / secure, cercando accessi non riusciti e, dopo un paio di errori, bloccherà l'IP. L'ho impostato per bloccare dopo il primo utente non di questo tipo, al secondo tentativo di root e dopo un paio di tentativi per utenti reali (nel caso in cui si incasini, ma si dovrebbe usare una chiave pubblica SSH per accedere).
Ubuntu è basato su Debian e ho trovato il Manuale sulla protezione di Debian molto utile nelle distribuzioni basate su Debian per guidarti completamente attraverso il tuo sistema e controllare ogni parte. Fondamentalmente è una risposta davvero completa alla tua domanda.
Di solito installo RKHunter, che ricerca i rootkit e fa i controlli di integrità di vari importanti binari di sistema. È nel repository standard e verrà eseguito quotidianamente da cron. Non è perfetto, dal punto di vista della sicurezza, ma è un articolo a basso sforzo da aggiungere e fornisce una misura di protezione.
Installa il logcheck, ma modifica in modo da non ricevere mai messaggi da eventi regolari, altrimenti avrai l'abitudine di ignorare le e-mail.
Controlla quali processi sono in ascolto utilizzando netstat e assicurati che non sia in esecuzione nulla che non debba essere eseguito. Molti demoni possono essere configurati solo per l'ascolto sull'IP interno (o localhost) anziché su tutte le interfacce.
Fai ciò che Can suggerisce ...
Nmap l'host e disabilita tutti i servizi non essenziali. Usa iptables se necessario.
Se vai in qualsiasi punto vicino a Internet con il server, installa un sistema di rilevamento delle intrusioni come Snort.
Utilizzare partizioni separate per varie directory come /tmp
o /var
e montarle con nosuid
, nodev
e noexec
se possibile.
Impara a usare un firewall e i concetti di come bloccare correttamente una scatola. La modifica delle porte predefinite è in gran parte inutile; una corretta configurazione dell'applicazione e del firewall sono molto più importanti.
Entrambi sono nei repository di Ubuntu:
ha una documentazione eccezionale e una sintassi molto facile da imparare. Sono stato in grado di impostare un gateway / firewall in venti minuti. L'unica ragione per cui mi sono allontanato da questo è che non sembra essere mantenuto (ultima versione 2 anni fa). Non significa che non funziona, ma ...
è un altro. Più sintassi simile a iptables, ma stesso concetto. Più community mantenute rispetto a FireHOL, ma richiede più tempo per essere raccolte.
è quello che uso attualmente. La sua documentazione è ampia e il suo formato di configurazione è tabulare. Mi ci sono voluti circa un'ora e mezza per capire tutti i file necessari (6) per far funzionare una configurazione firewall / gateway funzionante. È abbastanza potente. SUGGERIMENTO: le pagine man per i diversi file di configurazione sono DAVVERO utili!
Tutti questi caricano le configurazioni del firewall da un file di configurazione. Molto efficace, più facile da usare rispetto a iptables e (a mio avviso) più facile da usare e gestire rispetto a ufw.
Secondo le raccomandazioni per l'uso della chiave SSH.
Imposta un IDS.
Informazioni su AppArmor. Limita l'accesso ai file degli eseguibili solo alle directory e ai file specificati necessari. Simile a SELinux nel mondo RHEL. È installato e abilitato con 'profili' preconfigurati per molti programmi ben utilizzati.
Oltre ad altri suggerimenti qui ne citerò tre che sono ovvi ma forse vale la pena menzionare per completezza: