
guide
Tutti i linguaggi per diventare uno sviluppatore di app per Android.
Tripwire è uno dei migliori Intrusion Detection System presenti sul mercato. Presentazione e guida all’installazione e all’uso
Uno dei metodi migliori per individuare codice dannoso all’interno del PC consiste nella cosiddetta “riconciliazione degli oggetti”. Nel processo di riconciliazione degli oggetti si ha l’obiettivo di scoprire se tutto sia rimasto esattamente come lo avete lasciato.
Ecco come funziona, prendendo come esempio un sistema Linux. Durante il processo di riconciliazione file, directory e device vengono confrontati ad una loro copia “fotografata” in precedenza. Ad esempio, supponiamo che da un backup prendiate il file del comando top
(il comando top fornisce in tempo reale istantanee dell’attività del processore, mostrando una lista dei task del sistema che fanno un uso più intenso della CPU) com’era subito dopo l’installazione e lo paragoniate con quello che si trova sul vostro disco fisso. Se questi due differiscono e voi non avete aggiornato quel pacchetto c’è per forza qualche problema. In questa analisi lo strumento migliore è senz’altro Tripwire.
Tripwire è un tipo di IDS (Intrusion Detection System) flessibile e facile da usare. La sua funzione è quella di controllare lo stato di determinati file rispetto ad uno stato di partenza (o baseline). Una modifica non prevista di questo stato può essere indice della compromissione del sistema e della manipolazione non autorizzata di comandi, log di sistema oppure file di configurazione.
Esistono due versioni di Tripwire, una commerciale ed una open source, entrambe la versioni del tool usano diversi algoritmi per testare l’integrità dei file, algoritmi che garantiscono un’elevatissima affidabilità. Tripwire è un eccellente strumento per la sicurezza, ma solo se utilizzato unitamente ad altre misure. Ad esempio: se non proteggete la vostra situazione di partenza e i database delle impronte di ogni oggetto l’uso di Tripwire non apporterà alcun beneficio.
Se un intruso riuscisse a modificare il database potrebbe sovvertire l’intero schema di controllo dell’integrità dei file. Un modo sicuro per proteggere il database è quello di conservarlo su un supporto di sola lettura oppure su un disco rimovibile, questo metodo elude la possibilità di modifiche non autorizzate.
Come punto di partenza Tripwire crea un database delle impronte digitali con all’interno una “fotografia” dei file di sistema in uno stato iniziale che viene considerato sicuro. L’impronta digitale di ogni singolo file, generata dal programma, è unica.
Da quel momento in poi Tripwire sarà in grado di controllare se ci sono state modifiche nel contenuto, nella data di modifica, nei permessi, negli attributi oppure cancellazioni dei file presi in considerazione. Se modifiche ci sono state Tripwire informa l’amministratore di sistema attraverso un rapporto dettagliato e, se configurato opportunamente, messaggi di posta elettronica.
Il programma effettua questo compito attraverso una verifica automatizzata eseguita ad intervalli regolari paragonando il sistema attuale con il database. Se le modifiche sono legittime, perché dovute alla normale attività del sistema, l’amministratore può aggiornare la baseline del database di Tripwire inglobando il nuovo status. Se le modifiche non vengono ritenute valide l’amministratore può immediatamente verificare quali componenti sono stati alterati e ripristinare il tutto.
Tripwire permette inoltre di criptare i suoi file di configurazione rendendoli modificabili solo attraverso l’inserimento della password creata in fase di installazione. Per utilizzare Tripwire sono richieste infatti due password:
site.key
;Di seguito riportiamo le caratteristiche più importanti del tool:
Qui di seguito trovate una descrizione completa dei ruoli svolti dai due file fondamentali di Tripwire.
Il file /etc/tripwire/tw.cfg
è il file di configurazione di Tripwire che memorizza, in forma cifrata, le informazioni specifiche del sistema, come ad esempio la posizione dei file e la data. Lo script installer twinstall.sh
e il comando twadmin
generano questo file usando le informazioni presenti nella versione testuale del file di configurazione /etc/tripwire/twcfg.txt
.
Dopo aver eseguito lo script di installazione, l’amministratore del sistema può cambiare i parametri, modificando /etc/tripwire/twcfg.txt
e rigenerando una copia firmata del file tw.cfg
, usando il comando twadmin
. Vedremo come lavorare con questi file nel seguito dell’articolo.
Variabile | Commento |
---|---|
DBFILE | Questa variabile indica il vostro database. Cioè il file che contiene “l’istantanea” del vostro sistema. |
EDITOR | Memorizza il path del vostro editor di testi preferito. |
EMAILREPORTLEVEL | Questa variabile indica il livello di descrittività del report delle e-mail di Tripwire. |
MAILPROGRAM | Indica la locazione del vostro programma di posta, specificando tutte le opzioni che bisogna passargli da riga di comando. |
POLFILE | La variabile indica il path del file dei criteri di protezione, di solito è /usr/TSS/policy/tw.pol . |
REPORTFILE | Questa variabile indica dove Tripwire conserva i file di report. |
REPORTLEVEL | Indica il livello di verbosità dei report di Tripwire. |
ROOT | La variabile indica la directory radice della versione binaria di Tripwire. |
SITEKEYFILE | Indica la locazione della vostra frase di accesso al sito. |
SYSLOGREPORTING | Se impostata a TRUE verrà usato SysLog per memorizzare gli avvisi di Tripwire. |
Il file /etc/tripwire/tw.pol
è il file attivo della policy di Tripwire, è un file cifrato che contiene i commenti, le regole, le direttive e le variabili dei criteri di protezione. Questo file regola il modo di controllo del vostro sistema da parte di Tripwire.
Ogni regola nel file policy specifica un oggetto del sistema da monitorare. Le regole specificano altresì quali cambiamenti sono da riportare e quali da ignorare. Gli oggetti del sistema sono dei file e delle directory che desiderate controllare. Ogni oggetto è identificato da un nome. Una proprietà si riferisce ad una caratteristica singola di un oggetto che il software di Tripwire può monitorare. Le direttive controllano il processo di condizione delle regole in un file policy. Durante l’installazione, l’esempio di file policy di testo, /etc/tripwire/twpol.txt
, viene usato per generare il file policy attivo di Tripwire. Questi due file sono importantissimi poiché prima di eseguire effettivamente Tripwire dovreste metterli a punto.
Nella prossima parte dell’articolo esamineremo in profondità l’installazione e l’uso di Tripwire.
Dopo aver parlato nella prima parte di questo articolo delle caratteristiche di Tripwire, mettiamo finalmente le mani in pasta. Prima di usare il programma bisogna installarlo nella nostra Linux box: il modo più semplice per installare Tripwire è quello di utilizzare il pacchetto, in formato RPM, reperibile dal sito del progetto. Una volta scaricato l’RPM lo installiamo (figura 1) con il comando:
# rpm -ivh tripwire-2.3.1-14.i686.rpm
Se usate una distribuzione Debian based (come Ubuntu, KUbuntu, ecc.) potete usare il comando apt-get
oppure lo strumento di gestione dei pacchetti incluso nella vostra distribuzione. Durante l’installazione verranno create due directory:
/var/lib/tripwire/:
la directory in cui verranno memorizzati i report ed il database di Tripwire;etc/tripwire/:
directory dove si trovano i file di configurazione e le key di codifica.Per completare l’installazione è necessario eseguire lo script di configurazione twinstall.sh
, lo trovate nella directory /etc/tripwire/
. Questo script vi chiederà di scegliere la password locale e quella per il sito, le due password inserite verranno successivamente utilizzate per generare chiavi crittografate per proteggere i file di Tripwire.
Nel selezionare la password per il sito e la password locale, dovreste tener conto delle seguenti indicazioni:
Un’ultima avvertenza: se doveste dimenticarvi la password, sappiate che non c’è alcun modo di decifrare un file con firma. Se ciò dovesse accadere, i file non sarebbero più utilizzabili e sareste costretti a riconfigurare lo script. Criptando i file di configurazione, di policy, di database e di report, Tripwire li protegge da “sguardi indiscreti”, impedendo a chiunque non sia in possesso delle password di visualizzarli. Ciò significa che, semmai un “intruso” riuscisse ad accedere come utente root al vostro sistema, non sarebbe poi in grado di modificare i file di Tripwire per nasconderne le tracce. Una volta criptati e firmati, i file di configurazione e di policy generati mediante lo script twinstall.sh
, non dovranno mai essere rinominati oppure spostati.
Terminata l’installazione passiamo alla creazione del database. Nel database di sistema verranno introdotte tutte le voci riguardanti i file da controllare secondo le indicazioni presenti nel file di configurazione tw.pol
. Il comando da inserire è:
# tripwire --init
Tripwire ci chiederà di inserire la password locale e in seguito procederà alla creazione vera a propria del database, mettiamoci comodi, quest’operazione può durare diversi minuti (figura 3). Una volta portate a termine queste operazioni, Tripwire possiede la “fotografia” del vostro filesystem, necessaria per l’esecuzione di controlli in cerca di eventuali modifiche apportate ai file più importanti. Dopo l’inizializzazione del database di Tripwire, dovreste eseguire un primo controllo dell’integrità. Tale controllo va fatto prima di collegare il computer alla rete e di metterlo in funzione.
Nel caso alcuni file specificati in tw.pol
non esistano nel nostro disco il comando visualizzerà messaggi di errore simili a questo:
### Warning: File system error. ### Filename: /usr/share/grub/i386-redhat/e2fs_stage1_5 ### No such file or directory ### Continuing... ### Warning: File system error. ### Filename: /usr/share/grub/i386-redhat/fat_stage1_5 ### No such file or directory ### Continuing...
A questo punto potete confrontare il database creato con i file di sistema attuali e cercare i file mancanti oppure modificati, il comando da usare è:
# tripwire --check
Durante il controllo dell’integrità, Tripwire confronta lo stato degli oggetti di filesystem attuali con le proprietà registrate nel suo database. Tutte le violazioni vengono visualizzate sullo schermo ed una copia criptata del report viene creata all’interno della directory /var/lib/tripwire/report/
. Per esaminare i report di Tripwire si usa il comando twprint
(figura 4). Con il comando twprint -m r
potete visualizzare i contenuti in chiaro di un report; è comunque necessario specificare a twprint il file di report da mostrare, ecco la sintassi completa:
# twprint -m r --twrfile /var/lib/tripwire/report/nome_del_report.twr
Le opzioni -m r
indicano a twprint
di decodificare un report di Tripwire, mentre l’opzione --twrfile
indica al comando di utilizzare un file di report specifico. Il nome del report che desiderate visualizzare comprende il nome dell’host usato da Tripwire per generare il report, nonché la data e l’ora di creazione. Potete visualizzare i report salvati in passato in qualsiasi momento. Per visualizzare la lista di tutti i report creati da Tripwire digitate semplicemente:
# ls /var/lib/tripwire/report
Se le modifiche apportate ai file controllati sono state fatte intenzionalmente, modificate il file database in modo che tali cambiamenti non vengano più segnalati come violazioni. Se, al contrario, i file controllati sono stati modificati impropriamente, potete sostituire gli originali con i backup, reinstallare il programma oppure reinstallare l’intero sistema operativo.
Se di recente avete installato un’applicazione o modificato dei file di sistema importanti, Tripwire segnalerà in modo corretto tutte le violazioni dell’integrità. In questo caso, come detto prima, è necessario aggiornare il database di Tripwire.
Per aggiornare il proprio database in modo che accetti violazioni di policy intenzionali, Tripwire crea innanzitutto un file report a riferimenti incrociati per il database e poi integra al suo interno le violazioni “consentite” estrapolandole dal file report. Attenzione, nell’aggiornare il database, assicuratevi di usare il report più recente. Per aggiornare il database, digitate il comando seguente:
# tripwire --update --twrfile /var/lib/tripwire/report/nome_report_recente.twr
Tripwire visualizzerà il file report utilizzando l’editor di testo predefinito (quello che avete specificato nel file di configurazione). A questo punto, potete deselezionare i file che non desiderate aggiornare nel database di Tripwire. È importante modificare solo le violazioni dell’integrità autorizzate. Tutti gli aggiornamenti proposti per il database di Tripwire hanno una [x]
che precede il nome del file. Se volete escludere una violazione valida dal database di Tripwire, rimuovete la x
. Dopo aver chiuso l’editor, inserite la vostra password locale e il database verrà automaticamente ricostruito e firmato.
Possiamo configurare Tripwire in maniera che spedisca un messaggio e-mail, ad uno o più indirizzi, qualora venga violata una specifica regola nel file di policy. Per far questo, occorre prima individuare le regole di policy da controllare e poi inserire gli indirizzi di posta da contattare se avviene che tali regole vengono eluse.
Per i grandi sistemi, con più amministratori, è possibile inviare messaggi di avvertimento a due o più persone in presenza di un particolare tipo di infrazione. Una volta stabilito a chi inviare il messaggio e cosa notificare, modificate il file /etc/tripwire/twpol.txt
aggiungendo una linea emailto=
alla sezione della direttiva di ogni regola. Per farlo, inserite una virgola alla fine della riga severity=
e digitate emailto=
all’inizio della riga seguente, seguito da uno o più indirizzi e-mail.
È possibile specificare più indirizzi e-mail, separandoli con un punto e virgola. Ad esempio, se desiderate che due amministratori di sistema ricevano una notifica via e-mail nel caso in cui venga modificato un programma di networking, modificate la direttiva della regola “Networking Programs” nel modo seguente:
(
rulename = “Networking Programs”,
severity = $(SIG_HI),
emailto = primo-admin@mail.tld;secondo-admin@mail.tld
)
Dopo aver trasformato il file di policy dovete generarne una copia aggiornata, criptata e firmata. Di seguito riporto l’intera procedura da seguire. Prima di modificare le policy di Tripwire bisogna creare il file da editare utilizzando il file tw.pol
corrente:
# twadmin --print-polfile tw.pol > polfile.txt
Ora è possibile editare il file polfile.txt
secondo le proprie necessità, magari inserendo le righe viste in precedenza. Per rigenerare il file tw.pol
definitivo si userà il comando:
# tripwire --create-polfile polfile.txt
Per verificare che la configurazione delle notifiche e-mail sia corretta e funzionante, utilizzate il seguente comando:
# tripwire --test --email tuoindirizzo@email.tld
Il programma provvederà immediatamente ad inviare una e-mail di notifica all’indirizzo specificato.
Complimenti! Se tutto funziona a dovere avete appena fatto un piccolo passo avanti nel campo della sicurezza sul pianeta Linux.
Se vuoi aggiornamenti su Tripwire: come individuare codice nocivo inserisci la tua email nel box qui sotto:
Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.
La tua iscrizione è andata a buon fine. Se vuoi ricevere informazioni personalizzate compila anche i seguenti campi opzionali:
Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.
In questo breve video vedremo come sia facile installare i programmi che ci servono sulla nostra installazione di Ubuntu. Basterà […]
Tutti i linguaggi per diventare uno sviluppatore di app per Android.
Come creare applicazioni per il Web con PHP e MySQL per il DBMS.
Tutte le principali tecnologie per diventare uno sviluppatore mobile per iOS.
I fondamentali per lo sviluppo di applicazioni multi piattaforma con Java.
Diventare degli esperti in tema di sicurezza delle applicazioni Java.
Usare Raspberry Pi e Arduino per avvicinarsi al mondo dei Maker e dell’IoT.
Le principali guide di HTML.it per diventare un esperto dei database NoSQL.
Ecco come i professionisti creano applicazioni per il Cloud con PHP.
Lo sviluppo professionale di applicazioni in PHP alla portata di tutti.
Come sviluppare applicazioni Web dinamiche con PHP e JavaScript.
Fare gli e-commerce developer con Magento, Prestashop e WooCommerce.
Realizzare applicazioni per il Web utilizzando i framework PHP.
Creare applicazioni PHP e gestire l’ambiente di sviluppo come un pro.
Percorso base per avvicinarsi al web design con un occhio al mobile.
Realizzare siti Web e Web application con WordPress a livello professionale.
Lavorare con documenti XML sfruttando gli oggetti forniti dalle chiamate $ajax di jQuery
Un tutorial passo per passo per correggere le imperfezioni presenti nell’area degli occhi
Un agguerrito e potente rivale per Windows Media, Real e QuickTime
Jelastic Cloud è un servizio PaaS (Platform as a Service) offerto da Aruba, e destinato a tutte le aziende e gli sviluppatori interessati al deploy di applicazioni complesse direttamente su un’infrastruttura potente e rodata in Cloud. In questa guida scopriremo le tecnologie supportate (WordPress, Magento, Docker, Kubernetes, PHP, Java, Node.js) e come sfruttarle per un deploy di applicazioni e CMS.