ALID.CONF(1)

NAME
aLid.conf File di configurazione di aLid

SYNOPSIS
aLid [OPTIONS]

DESCRIPTION
Permette di configurare aLid. E' possibile inserire 3 tipologie di opzioni: SCRIPT, RULE. Ogni opzione e' descritta nel file nella seguente forma:

        B<OPZIONE=SPECIFICHE>

E' seguita dalle specifiche relative all'opzione indicata. Le opzioni SCRIPT e RULE sono descritte in una sola riga.

OPTIONS

MAIL_SERVER
    E' l'indirizzo ip del server utilizzato per l'invio delle email di notifica. Si consiglia di inserire il server MX della propria sottorete di appartenza, altrimenti se si specifica un qualsiasi server MX bisogna modificare lo script presente in /etc/aLid/sendmail al fine di consentire l'autenticazione.

SCRIPT
    Ogni opzione di tipo OTHER_SCRIPT descrive l'esecuzione di uno script all'avvio dell'applicazione. Gli script invocati tramite questa opzione sono richiamati esattamente nel modo in cui vengono specificati. Deve rispettare la seguente sintassi:

            B<OTHER_SCRIPT=NOMESCRIPT [ARGV] [INPUT_FILE=NOMEFILE]>

    Se gli script leggono da particolari file in input, per sfruttare le potenzialita' della lettura condivisa, e' opportuno specificare i file attraverso l'opzione:

            B<INPUT_FILE=NOMEFILE>

    Un'ulteriore accortezza da osservare negli script e' quella di definire le letture ( rivolte al file di input ) verso <STDIN>; in questo modo lo script sharedTail potra' inviare le righe del file di input allo script richiedente.

STATEFUL_FILTER
    Per maggiori informazioni guarda statefulProtect

RULE
    Ogni opzione di tipo RULE descrive una regola che verrA~ monitorata da aLid. Una regola e' un'insieme di informazioni che consentono a aLid di intercettare un particolare evento nel file di log e di prendere le dovute precauzioni. Ogni regola ha la seguente sintassi:

    RULE=NOME_EVENTO ESPRESSIONE_REG INTERVALLO SOGLIA_EVT SOGLIA_RED FILE_CONSENTITI NOTIFICA FILTER [FREQ_EMAIL] INPUT_FILE

    NOME_EVENTO
        Specifica il nome dell'evento a cui viene associata la regola. Il nome dell'evento consente poi di identificare la regola che lancia una notifica o regola di drop. Il nome dell'evento e' univoco in tutte le regole.

    ESPRESSIONE_REG
        L'espressione regolare consente di verificare la presenza dei caratteri specificati all'interno di ogni riga del file in input. Quando una riga del file verifica l'espressione regolare allora cio' viene considerato come il presentarsi dell'evento monitorato dalla regola.

    INTERVALLO
        E' il valore, in secondi, della finestra temporale da analizzare. Sia N il valore dell'intervallo allora la finestra temporale da analizzare e' [ TEMPO_CORRENTE - N , TEMPO_CORRENTE ].

    SOGLIA_EVT
        E' il numero massimo di volte che l'evento rintracciato dall'espressione regolare (ESPRESSIONE_REG) puA~X verificarsi all'interno della finestra temporale (INTERVALLO). L'ip sorgente, rintracciabile nel file in input, viene ritenuto responsabile. Al superamento della soglia aLid, in base alla configurazione, puo' bloccare l'ip sorgente o semplicemente notificare cio' che e' accaduto. Se un'ip viene bloccato, si tiene traccia anche del momento in cui cio' avviene, facendo riferimento al tempo universale (UTC) in secondi.

    SOGLIA_RED
        E' il numero di secondi nei quali un'ip bloccato non puo' comunicare attraverso la macchina dove e' installato aLid. Quando la soglia di redenzione viene raggiunta l'ip bloccato viene sbloccato ( redenzione ). Il superamento e' calcolato nel seguente modo:

        SE ( TEMPO_CORRENTE - TEMPO_BLOCCO > SOGLIA_RED )
            SBLOCCA L'IP BLOCCATO ALTRIMENTI
            L'IP BLOCCATO RESTA BLOCCATO

    FILE_CONSENTITI
        E' il path al file che contiene la lista degli ip immuni all'evento indicato dalla regola. Se viene rilevato un evento con un ip presente nel file FILE_CONSENTITI l'evento viene ignorato. Il file deve rispettare la seguente regola sintattica: ogni riga del file deve contenere solo un ip.

    NOTIFICA
        La tipologia di notifica adottata dalla regola. Sono previste 3 tipologia di opzioni: MAIL, LOG, ALL.

        MAIL
            Consente di inviare una mail di notifica a tutti gli indirizzi specificati nel file /etc/aLid/emails.conf

        LOG Consente di scrivere una riga nel file di log (/etc/aLid/log) dell'applicazione.

        ALL Comprende entrambe le tipologie di notifiche MAIL e LOG.

    FILTER
        Specifica la politica da adottare riguardo gli ip rilevati dalla regola. Le opzioni accettate sono: DROP e NODROP.

        DROP
            Blocca l'ip rilevato nel firewall, applicando un'apposita regola.

        NODROP
            Non esegue nessuna regola di drop nel firewall.

    [FREQ_EMAIL]
        Specifica la frequenza di invio della mail di notifica in secondi. E' opzionale ed e' subordinata alla presenza delle opzioni MAIL o LOG.

    INPUT_FILE
        Consente di specificare un file di input sul quale verra' applicata la regola. Bisogna rispettare la seguente sintassi:

                INPUT_FILE=FILE_PATH

        dove FILE_PATH e' il path del file sul quale viene applicata la regola.

IMPLEMENTATION
Ogni regola viene applicata tramite l'esecuzione di uno script parametrico:

    /var/aLid/script/eventProtect NOME_EVENTO ESPRESSIONE_REG INTERVALLO SOGLIA_EVT SOGLIA_RED FILE_CONSENTITI NOTIFICA FILTER [FREQ_EMAIL]

Per consentire una lettura piu' efficiente cio' che viene letto dai rispettivi file di input viene passato attraverso <STDIN> e utilizzando un'ulteriore script (sharedTail) che consente letture condivise sullo stesso file.

EXAMPLES
Esempio di definizione del file /etc/aLid/aLid.conf

    MAIL_SERVER = out.virgilio.it

    # List of default scripts

    SCRIPT=/etc/aLid/script/synProtect 10 5 7 /etc/aLid/ip_blocked_synprotect all drop 1

    SCRIPT=/etc/aLid/script/arpProtect all drop FILE_INPUT=/var/lib/arpwatch/arp.dat SCRIPT=yes hello > /dev/null

    RULE=SPAMMING \sDPT=25\s 5 10 5 7 /etc/aLid/ip_allowed_SPAMMING all drop FILE_INPUT=/var/log/iptables.log

FILES

/etc/aLid/emails.conf
    File in cui sono specificati gli indirizzi email a cui vengono spedite le mail di notica

/etc/aLid/log
    File in cui sono salvate informazioni relative a eventi rilevati dall'applicazione

REQUIREMENT

arpwatch
    Arpwatch - http://www.securityfocus.com/tools/142

DateTime
    DateTime - Perl Library of cpan community

iptables
    iptables - Stateful firewall

SEE ALSO
aLid, eventProtect, sharedTail

AUTHOR
Andrea Martire (andreamartire@gmail.com)

COPYRIGHT AND LICENSE
Copyright AX 2010 Andrea Martire <andreamartire@gmail.com>. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.