Product SiteDocumentation Site

10.5. Genius/Paranoia Ideas - what you could do

This is probably the most unstable and funny section, since I hope that some of the "duh, that sounds crazy" ideas might be realized. The following are just some ideas for increasing security - maybe genius, paranoid, crazy or inspired depending on your point of view.
  • Divertirsi con i Pluggable Authentication Modules (PAM - moduli per l'autenticazione inseribili): come riportato nell'articolo su PAM, in Phrack 56, il loro aspetto più simpatico è che "l'unico limite è ciò che si riesce a pensare". Ed è vero! Immaginate un'autenticazione di root possibile solo mediante impronta digitale o scansione oculare o tessera magnetica cifrata (ma perché usare la congiunzione "O", invece che la "E"?).
  • Registrazione dei log "fascista" - per contrasto verso tutte le precedenti discussioni sulla "registrazione dei log leggera": se si vuole una registrazione dei log degna di tal nome, basta spedire tutti i log ad una stampante con carta a modulo continuo. Sembra un espediente buffo, ma è sicuro ed al riparo da manomissioni e cancellazioni.
  • Distribuzione su CD: idea davvero semplicissima da realizzarsi, dà una sicurezza abbastanza buona; basta creare una distribuzione Debian ben corazzata, con regole di firewall appropriate, convertirla in immagine ISO inizializzabile e schiaffarla su un CD-Rom, così da avere una distribuzione in sola lettura, con circa 600 MB di spazio per i vari servizi. Per gli intrusi è impossibile ottenere l'accesso al sistema in lettura e scrittura ma qualsiasi cambiamento essi riescano ad operare può essere annullato con la reinizializzazione del sistema.
  • Disabilitare le funzionalità tramite modulo: come già visto, quando, durante la sua compilazione, si impedisce l'uso dei moduli del kernel, molte porte segrete basate su di essi non possono essere sfruttate, perché, nella maggioranza dei casi, si fondano sull'installazione di moduli del kernel modificati.
  • Registrazione dei log tramite cavo seriale (collaborazione di Gaby Schilders): finché i server avranno porte seriali, si potrà dedicare un sistema per la registrazione dei log di un certo numero di server. Tale sistema sarà fuori dalla rete, ma connesso ai server per mezzo di una multipresa per porte seriali (Cyclades o simili). Ora che tutti i server registreranno verso le loro porte seriali, in sola scrittura, basterà connettere un masterizzatore di CD/DVD, sul quale trasferire i file di registrazione, fintantoché non giungano a riempire la capacità del supporto. Se solo facessero dei masterizzatori con autocommutatori...! Non è un modo di fare copie "dure" come la registrazione diretta a mezzo stampante, ma può gestirne volumi più consistenti - e stoccare CD-Rom richiede meno spazio.
  • Cambiare gli attributi dei file usando chattr (tratto dal Tips-HOWTO, di Jim Dennis): dopo una semplice installazione ed una configurazione iniziale, potete usare il programma chattr con l'attributo +i, per far si che i file non possano essere modificati (ossia, cancellati, rinominati, collegati o riscritti). Da considerare la possibilità di impostare questo attributo su tutti i file delle cartelle /bin, /sbin/, /usr/bin, /usr/sbin, /usr/lib e sui file del kernel in root. Potreste anche copiare tutti i file in /etc/, con tar od un altro programma simile, e classificare l'archivio come immutabile.
    This strategy will help limit the damage that you can do when logged in as root. You won't overwrite files with a stray redirection operator, and you won't make the system unusable with a stray space in a rm -fr command (you might still do plenty of damage to your data - but your libraries and binaries will be safer).
    Inoltre questa strategia rende quasi impossibile, o perlomeno più difficile, sfruttare attacchi alla sicurezza del tipo denial of service (DoS - rifiuto di fornire servizi), miranti a sovrascrivere un file attraverso l'azione di qualche programma con SETUID attivo, perché fornisca un'arbitraria shell di root.
    One inconvenience of this strategy arises during building and installing various system binaries. On the other hand, it prevents the make install from over-writing the files. When you forget to read the Makefile and chattr -i the files that are to be overwritten, (and the directories to which you want to add files) - the make command fails, and you just use the chattr command and rerun it. You can also take that opportunity to move your old bin's and libs out of the way, into a .old/ directory or tar archive for example.
    Notate che questa strategia impedisce anche di aggiornare i pacchetti del proprio sistema, dal momento che i file forniti dai pacchetti dell'ultima versione non possono essere sovrascritti. A questo proposito, potreste creare uno script o un altro meccanismo per disabilitare il flag "immutabile" su tutti i binari, giusto prima di fare un apt-get update.
  • Potreste voler alterare un cavo UTP tagliando 2 o 4 fili in maniera che il traffico di rete possa scorrere in una sola direzione. Successivamente potreste inviare ad un'altra macchina, tramite dei pacchetti UDP, i log di sistema.

10.5.1. Costruirsi una honeypot ("trappola al miele")

Una honeypot ("trappola al miele") è un sistema progettato per insegnare agli amministratori come i cracker sondano e sfruttano il sistema; è un modo di impostare un sistema con l'aspettativa e l'obiettivo che sia sondato, attaccato e potenzialmente, sfruttato. Apprendendo gli strumenti e le metodiche dei cracker, un amministratore di sistema impara a proteggere meglio i sistemi e le reti di cui si occupa.
Un sistema Debian GNU/Linux può essere agevolmente configurato come "trappola al miele", dedicando un po' di tempo ad implementare e controllare: basta impostare il falso server con un firewall[67] ed un qualsiasi rilevatore di intrusioni nella rete, collegarlo ad Internet e aspettare. In caso di sfruttamento del sistema, occorre essere ben certi di venire avvisati per tempo (vedete in Sezione 4.13, «L'importanza di log e avvisi»), sì da poter assumere le opportune contromisure e bloccare la compromissione quando se ne conosca abbastanza. Questo è un elenco di pacchetti e di aspetti da valutare durante l'impostazione di una honeypot:
  • La tecnologia di firewall che si impiegherà (fornita dal kernel Linux).
  • syslog-ng, useful for sending logs from the honeypot to a remote syslog server.
  • snort, to set up capture of all the incoming network traffic to the honeypot and detect the attacks.
  • osh, a SETUID root, security enhanced, restricted shell with logging (see Lance Spitzner's article below).
  • Naturalmente, tutti i demoni che si useranno per il server-trappola. Analizzando la situazione, a seconda del tipo di attaccante, dovrete decidere se irrobustire la vostra trappola, se mantenere gli aggiornamenti con le patch per la sicurezza o se non farlo.
  • Integrity checkers (see Sezione 4.17.3, «Controllare l'integrità del file system») and The Coroner's Toolkit (tct) to do post-attack audits.
  • honeyd and farpd to setup a honeypot that will listen to connections to unused IP addresses and forward them to scripts simulating live services. Also check out iisemulator.
  • tinyhoneypot to setup a simple honeypot server with fake services.
If you cannot use spare systems to build up the honeypots and the network systems to protect and control it you can use the virtualisation technology available in xen or uml (User-Mode-Linux). If you take this route you will need to patch your kernel with either kernel-patch-xen or kernel-patch-uml.
Maggiori informazioni sulla costruzione di honeypot si possono trovare nell'eccellente articolo di Lanze Spitzner http://www.net-security.org/text/articles/spitzner/honeypot.shtml, (costruire una honeypot), - della serie "Conosci i tuoi nemici". Inoltre, l'http://project.honeynet.org/ offre informazioni preziose sul modo in cui progettare queste trappole ed analizzare gli attacchi rivolti contro di esse.


[67] Di solito si usa un bridge firewall in modo tale che il firewall stesso non sia rilevabile, vedete in Sezione B.4, «Impostare un bridge firewall».