A Caccia di RootKits: rkhunter

 

Un articolo per tutti i “maniaci” della sicurezza, per tutti quelli che sono ossessionati dalla privacy, per quelli che usano criptare il proprio FileSystem ed usare SHA-256 come checksum sui propri file… insomma, per qualcuno come me 😀

Rkhunter è un potente tool OpenSource scritto in perl per scovare, a loro dire il 99.9% :P, l’eventuale presenza di RootKits sulla vostra macchina UNIX-Based.

Una volta effettuato il download e scompattato il tar.gz
[sourcecode language=”bash”]
$ wget http://sourceforge.net/projects/rkhunter/files/rkhunter/1.3.8/rkhunter-1.3.8.tar.gz

$ tar zxvf rkhunter-1.3.8.tar.gz ; cd rkhunter-1.3.8

[/sourcecode]

Ci troviamo difronte ad un eseguibile bash che ci aiuterà nell’installazione dei file sorgenti.

L’installazione è molto semplice, possiamo scegliere i vari layout (inteso some percorso) in cui installare i sorgenti. Vediamo le varie opzione, in moda da scegliere quella più congeniale alle nostre esigenze

[sourcecode language=”bash”]
unicondor@iMac:rkhunter-1.3.8> sh installer.sh –examples
Rootkit Hunter installer

Examples:
1. Show layout, files in /usr:
installer.sh –layout /usr –show

2. Install in /usr/local:
installer.sh –layout /usr/local –install

3. Install in chosen (custom) directory /opt:
installer.sh –layout custom /opt –install

4. Install in temporary directory /tmp/rkhunter/usr/local,
with files in /usr/local (for package maintainers):
mkdir -p /tmp/rkhunter/usr/local
installer.sh –layout custom /tmp/rkhunter/usr/local \
–striproot /tmp/rkhunter –install

5. Remove files, layout /usr/local:
installer.sh –layout /usr/local –remove
[/sourcecode]

Leggi tutto “A Caccia di RootKits: rkhunter”

Guerra Tra Licenze Software: GPL vs BSD

Chiunque abbia smanettato o semplicemente usato qualche software Open-Source ( gratuito ), ha sicuramente letto da qualche parte questi due acronimi: GPL e BSD.

GPL ( General Public License ) e BSD ( Berkeley Software Distribution ) sono due tipi di licenze software, contratti tra il copyright ( chi ha scritto il codice) e l’utente finale che lo utilizza. Il loro compito e’ quello di specificare le condizione di utilizzo di un prodotto software.

Ad oggi esistono ben 73 licenze approvate, e come potete ben immagine molte di esse sono incompatibili tra loro 😛 per tale motivo districarsi e comprendere alcune di esse, nel nostro caso solo GPL e BSD, e’ di fondamentale importanza nello sviluppo di un Sistema Software che utilizza codice di terze parti.

GPL e’ una licenza copyleft, il che vuol dire che si offre la possibilita’: di eseguire,di avere i codidici sorgenti,di redistribuire e di modificare liberamente il codice con la sola restrizione/obbligo che il codice risultante eredita la stessa licenza dei codice sorgente originario, ovvero nel caso usassimo nel nostro programma un pezzo di codice ( Ex. importiamo staticamente una libreria ) con licenza GPL anche il nostro programma avra’ lo stesso tipo di licenza GPL del codice incorporato. Tale restrizione viene usata per assicurare la liberta’ del software. Nel caso in cui la libreria usata sia di tipo GPL e viene importata dinamicamente nel nostro progetto, in tal caso siamo liberi di scegliere quale licenza utilizzare.

BSD e’ una licenza permissive, a differenza della licenza GPL permette al codice redistribuito o modificato la possibilita’ di rendere il codice risultante con una licenza piu’ restrittiva dell’originale. Per esempio, il codice rilasciato con licenza BSD puo’ cambiare la licenza finale, per cui e’ possibile rendere commerciale il prodotto software.

Quando usiamo una licenza BSD, il nostro codice e’ free cosi’ come se fosse sotto licenza GPL. Tuttavia, una Software Farm puo’ prendere il nostro codice, incorporalo nel proprio prodotto proprietario, e ( in base alla diverse versioni della licenza BSD ) non riceveremo nessun compenso per il nostro lavoro. Se questo  e’ esattamente quello che volete, la licenza BSD fa a caso vostro 😀

Per cui state molto attenti quando rendete disponibile il vostro codice al pubblico.. e ricordatevi di questo piccolo post per scegliere quale licenza applicare 😀

Una piccola tabella riepilogativa che potra’ esservi molto utile nella comprensione immediata delle differenze fondamentali tra le due licenze piu’ diffuse.

Buildroot: Guida alla creazione di un Sistema Operativo Linux Embedded

Tutto e’ iniziato con la mia prima Fonera (2100), fin dall’inizio ho sempre cercato di personalizzare il Sistema Operativo che si riesce a mettere sopra DD-WRT , cercando di eliminare tutti i moduli ed i vari hack per l’espansione delle periferiche I/O.

Da allora mi sono affacciato sul mondo dei Sistemi Embedded, cioe’ dei sistemi elettronici di elaborazione dedicati ad una apposita applicazione, che oggi giorno sono sempre piu’ usati e per i quali si prevede un ulteriore incremento d’utilizzo.

I miei primi esperimenti riguardavano la RouterBoard RB411 , la quale avendo un Sistema Operativo sviluppato direttamente dalla MikroTik e non conoscendo la password di accesso 😛 , ho dovuto crearmi il mio primo Sistema Embedded poggiato su Open-Wrt dato che DD-Wrt non supportava, ed ancora non supporta, l’hardware presente sulla scheda.

Per fare tutto questo dalla mia bella postazione Linux (Slackware 😀 con processore x86 ) ho avuto bisogno della tecnica del cross-compiling e di toolchain ( i link a Wikipedia saranno molto piu’ esaustivi di una mia eventuale spiegazione 😀 ), in quanto i sorgenti del mio nuovo Sistema Operativo dovevano essere compilati per il processore Atheros della RouterBoard e non per il mio processore x86. Spero di essere stato chiaro.. data la mia scarsa propensione alle materie letterarie, quali la scrittura 😛

I primi esperimenti furono un disastro.. Kernel Panic! che uscivano da ogni parte, brandelli di bit sparati a caso dalla porta seriale, periferiche hardware fisiche viste come unita’ logiche virtuali, e molto altro ancora..

Leggi tutto “Buildroot: Guida alla creazione di un Sistema Operativo Linux Embedded”