giovedì, Novembre 21, 2024

Progettare una rete sicura su Linux

Informazioni preliminari

Questa documentazione ha lo scopo di illustrare consigli e trucchi per configurare una rete sicura e presuppone una buona conoscenza di Linux e servizi di rete, questa deve essere presa solo come una lettura introduttiva e generica.

In questo manuale viene visto l’aspetto della sicurezza sotto un punto di vista quasi paranoico senza alcun tipo di compromesso.

Questa guida è destinata ad un pubblico con buone conoscenze del sistema operativo Linux e servizi di rete lato server.

Per avere maggiori informazioni vi consiglio vivamente la lettura di Server Linux Sicuri della O’Reilly al prezzo di 43,90 Euro.

Seguiranno altre documentazioni dettagliate sulle singole installazioni e configurazioni.

Analizzare la rete

Per progettare una rete sicura bisogna prima di tutto analizzarla e trovare per primi i punti deboli.

Iniziamo col dire che un server dedicato ad un singolo servizio sarà logicamente più sicuro di uno che ospita molti servizi (Stiamo parlando di server Web, FTP, DNS, DHCP e quant’altro), se proprio non possiamo avere un server dedicato cerchiamo almeno di separare i servizi in modo ottimale.

Per esempio il server Mail e DHCP su un server e il server Web su un altro, perchè questa scelta?

Generalmente il server Mail è la parte più delicata di un server, associandolo ad un server DHCP minimizziamo di certo i danni.

Ci sono delle costanti nel mondo della sicurezza:

  1. Più siete importanti e visibili in rete più siete un pasto ghiotto per chi vuole combinare danni
  1. Bisogna temere di più i pirati informatici alle prime armi di quelli esperti (quelli esperti prendono quello che vogliono e spariscono senza far danni e senza lasciar tracce)
  1. Non è possibile avere un sistema inviolabile ma si puà fare molto per non renderlo una gruviera.
  1. Tutto quello che non è implicitamente permesso deve essere impedito per Default.

Esistono vari modi per rendere sicuro un server:

  • Rendere le informazioni visibili meno interessanti possibili per un attacco
  • Tenersi sempre aggiornati su tutti i software presenti sul nostro server
  • Utilizzare appositi sistemi di prevenzione e controllo attivo della rete (Firewall, Security Scanner, etc)

Progettazione di una rete

Ci sono vari modi per realizzare una rete e vari costi e difficoltà nel realizzarli, in questa sede ne descriverà due.

Quello che credo essere il migliore ma molto costoso e difficile da configurare è cosଠstrutturato:

  1. Internet
  1. Firewall Esterno
  1. Server (uno per servizio) + Portatile con un Security Scanner installato ed altri software di controllo
  1. Firewall interno
  1. Rete interna

Bisogna sempre contare che nulla deve essere lasciato al caso, in questa configurazione notiamo che i server sono protetti da entrambe le reti (esterna ed interna), il portatile servirà per fare analisi sui server e quando non utilizzato verrà staccato dalla rete (anche i programmi che eseguono programmi di controllo possono avere bachi ed essere usati da un possibile intruso).

Mi rendo conto che questa configurazione è fuori dalle possibilità di utenze private quindi non mi soffermerà molto.

Passiamo a quella che è una configurazione più alla portata del normale utente ma che ovviamente presenza molte limitazioni:

  1. Internet
  1. Server multi servizio protetto da firewall software interno

In questo caso un qualsiasi baco di qualsiasi servizio ospitato sul server puà mettere in serio pericolo tutto il nostro lavoro, d’altro canto è possibile realizzare questa configurazione con il vostro computer di casa.

Progettazione del server

Per realizzare un server sicuro è necessario renderlo sicuro sin dall’installazione.

Ricordo che ogni singolo pacchetto che non è strettamente indispensabile al server puà essere un possibile punto di attacco, bisogna quindi studiare molto bene e a fondo cosa ci serve e cosa no.

Per esempio, se il vostro server dovrà solamente fungere da Web Server mi sembra inutile nonchè sciocco installare altri servizi come FTP, Email e altro.

Ecco alcuni dei consigli che credo siano utili:

  • Ovviamente su un buon server che si rispetti non deve essere installata alcuna interfaccia grafica, scordatevi quindi X.
  • Altro consiglio, non installare un compilatore C o se non potete farne a meno rimuovetelo prima di rendere pubblico il server (se qualcuno riesce a mettere a segno un’attacco, con un compilatore sul server avrà la vita facile nell’installare un RootKit).
  • Far eseguire solamente i servizi necessari, io personalmente disattiverei i servizi RPC, i servizi r (rlogin, rsh, rcp), inetd, linuxconfigd, sendmail (a meno che non dobbiate configurare un server di posta con questo software), telnetd.
  • Un aggiornamento tempestivo è fondamentale non rimanete quindi indietro sugli ultimi problemi di sicurezza dei vari software.
  • Eliminare gli account utente non necessari e applicare una restrizione di shell per quelli necessari.

All࢒installazione moltissime distribuzioni creano una miriade di utenti per moltissimi dei servizi installabili, che essi siano installati o meno, date quindi una spulciata al vostro /etc/passwd ed eliminate gli utenti di troppo. Per quelli indispensabili controllate se realmente hanno bisogno di una shell o meno e nel caso non servisse dategli una bella /bin/false

  • Eseguire i servizi necessari in file system chroot jail
  • Limitare ovunque non assolutamente indispensabile il SUID=root
  • Configurare, gestire e controllare periodicamente i Log di sistema e di tutti i servizi eseguiti dal server
  • Configurare un firewall in modo che rifiuti tutto quello che non è esplicitamente concesso e anche in modo da prevenire possibili situazioni di pericolo
  • Installare ed eseguire scansioni di test con nmap
  • Installare ed eseguire controlli di sicurezza con Nessus
  • Installare ed eseguire il sistema di rilevamento intrusioni Snort
  • Installare OpenSSH per l’amministrazione da remoto
  • Create una documentazione su tutti i pacchetti installati e su tutti i servizi abilitati descrivendo dove si trovano i file di configurazione e come li avete modificati.
  • Scegliete con cura i software destinati ad offrire i vari servizi. Di pacchetti che fanno da server di posta ce ne sono molti, scegliete quello che piàƒÂ¹ vi si addice, ognuno di loro ha dei pro e dei contro.
  • Una connessione anonymous via FTP non deve essere accettata a meno che non vi serva ed anche in quel caso la terrei costantemente sott’occhio.

Come già annunciato all’inizio della documentazione questo voleva solo essere più che altro un faro per dar luce al problema della sicurezza.

Articoli correlati

Noleggia una Tesla per il tuo evento ICT!

Categorie