2. Panoramica

Questo documento proverà a spiegare alcune procedure e il software usato comunemente per migliorare la sicurezza del proprio sistema Linux. È importante, prima di cominciare, discutere alcuni dei concetti di base e descrivere i fondamenti della sicurezza informatica.

2.1. Perché c'è bisogno di sicurezza?

Nel mondo continuamente in movimento delle comunicazioni globali, delle connessioni ad Internet gratuite, e del veloce sviluppo del software, la sicurezza sta diventando sempre più un fattore da considerare. La sicurezza è un requisito basilare perché l'informatizzazione globale è intrinsecamente inaffidabile. Mentre i dati vanno dal punto A al punto B su Internet, per esempio, possono passare attraverso molti altri punti lungo il tragitto, lasciando ad altri la possibilità di intercettarli e persino alterarli. Anche altri utenti sul vostro sistema possono maliziosamente trasformare i vostri dati in qualcosa che non vorreste. Degli intrusi, detti "cracker", possono ottenere l'accesso al sistema, e poi usare le loro approfondite conoscenze per impersonare altri utenti, rubare informazioni o anche negare l'accesso alle proprie stesse risorse. Se ci si sta chiedendo qual'è la differenza fra un "Hacker" e un "Cracker", si veda il documento di Eric Raymond "How to Become A Hacker" ("Come Diventare Un Hacker"), reperibile presso http://www.catb.org/~esr/faqs/hacker-howto.html.

2.2. Quanta sicurezza garantisce sicurezza?

Prima di tutto, si tenga a mente che nessun sistema informatico potrà mai essere completamente sicuro. Tutto quello che si può fare è rendere sempre più difficile per gli altri compromettere il sistema. Per l'utente medio di un sistema Linux casalingo non serve molto per tenere a bada un cracker occasionale. Al contrario, per sistemi Linux di alto profilo (banche, compagnie di telecomunicazioni, etc), è necessario molto più impegno.

Un altro fattore da tenere in considerazione è che più il sistema è sicuro, più la sicurezza diventa intrusiva. Si deve decidere a quale punto di equilibrio il sistema sarà ancora utilizzabile ma sicuro, relativamente all'uso che se ne fa. Per esempio, si può esigere che chiunque tenti di fare un login via telefono col vostro sistema usi un modem che lo richiami a casa. Questo dà più sicurezza, ma se questo qualcuno non è a casa sarà difficile che possa connettersi. Si potrebbe anche configurare il sistema Linux senza rete o connessione a Internet, ma questo ne limiterebbe l'utilità.

Se si è un organizzazione di dimensioni medio-grandi, si dovrebbe stabilire una politica di sicurezza che definisca quanto deve essere sicuro il sito e quale verifica effettuare per controllarla. Si può trovare un famoso esempio di politica di sicurezza su http://www.faqs.org/rfcs/rfc2196.html. Il documento è stato recentemente aggiornato e contiene un'ottima struttura per stabilire una politica di sicurezza per la propria organizzazione.

2.3. Cosa si sta cercando di proteggere?

Prima di tentare di rendere sicuro il sistema, si dovrebbe determinare contro che livello di attacco ci si vuole proteggere, quali rischi si dovrebbero correre o meno e quanto vulnerabile ne risulterebbe il sistema. Lo si dovrebbe analizzare per sapere cosa si sta proteggendo, perché lo si sta proteggendo, quanto vale e chi ne ha la responsabilità.

2.4. Sviluppare una politica di sicurezza.

Si crei una strategia semplice e generica per il sistema che gli utenti possano facilmente capire e seguire. Dovrebbe proteggere, oltre ai dati a cui si tiene, anche la privacy degli utenti. Alcune cose che si potranno considerare sono: chi ha accesso al sistema (Il mio amico può usare il mio account?), chi è autorizzato a installare programmi sul sistema, chi possiede quali dati, recupero di "disastri" e uso appropriato del sistema.

Una strategia di sicurezza generalmente approvata comincia col motto:

"Quello che non è permesso è proibito"

Questo significa che a meno che non si sia dato ad un utente l'accesso ad un servizio, quell'utente non dovrebbe usarlo finché non gli viene permesso. Ci si assicuri che la strategia funzioni davvero sull'account dell'utente normale. Dire, "Ah, non riesco a risolvere questo problema di privilegi, lo farò da root." può portare a buchi nella sicurezza evidenti, o persino ad altri che non sono ancora stati scoperti.

rfc1244 è un documento che spiega come creare una propria strategia di sicurezza di rete.

rfc1281 è un documento che mostra una strategia di esempio con descrizioni dettagliate di ogni passo.

Infine si potrebbe dare un'occhiata all'archivio politiche COAST presso ftp://coast.cs.purdue.edu/pub/doc/policy per vedere come sono fatte delle strategie applicabili alla pratica.

2.5. Mezzi per proteggere il vostro sito

Questo documento discuterà diversi mezzi con cui si può mettere al sicuro la struttura per la quale si è duramente lavorato: la propria macchina locale, i dati, gli utenti, la rete e persino la propria reputazione. Cosa succederebbe alla propria reputazione se un intruso cancellasse dati degli utenti? O modificasse il sito? O pubblicasse il piano corporativo della società per la prossima stagione? Se si sta pianificando l'installazione di una rete, ci sono diversi fattori da considerare prima di aggiungerle una singola macchina.

Anche se si ha un solo account PPP, o solo un piccolo sito, non significa che gli intrusi non saranno interessati a voi. Grandi sistemi di alto profilo non sono i soli bersagli -- molti intrusi vogliono solo superare la sicurezza di più siti possibile, ignorando le loro dimensioni. Inoltre, possono usare un buco nella sicurezza del sistema per riuscire ad entrare in altri siti a cui si è connessi.

Questi individui hanno tutto il tempo che vogliono, e possono evitare di cercare di indovinare come è stato protetto il sistema semplicemente provando tutte le possibilità. C'è inoltre una serie di ragioni per cui un intruso può interessarsi ai propri sistemi, che discuteremo più avanti.

2.6. Organizzazione di questo documento

Questo documento è stato diviso in una serie di sezioni. Trattano diversi argomenti riguardanti la sicurezza. Il primo, la Sezione 3, spiega come proteggere fisicamente la macchina dalle manomissioni. Il secondo, la Sezione 4, descrive come proteggere il sistema dalle manomissioni degli utenti locali. Il terzo, la Sezione 5, mostra come configurare il filesystem e i privilegi sui file. Il successivo, la Sezione 6, discute come usare la crittografia per rendere più sicura la propria macchina e la rete. la Sezione 7 discute quali opzioni del kernel si dovrebbero attivare o conoscere per un sistema più sicuro. la Sezione 8, descrive come rendere il sistema Linux più difficile da attaccare via rete. la Sezione 9, discute come preparare le macchine prima di metterle in rete. Quindi, la Sezione 10, tratta cosa fare quando si scopre una compromissione in atto o una successa recentemente. In la Sezione 11, sono citate alcune importanti risorse per la sicurezza. La sezione D e R la Sezione 13, risponde ad alcune domande frequenti, e infine troverete una conclusione in la Sezione 14

I due punti principali da tenere a mente leggendo questo documento sono: