aboutsummaryrefslogblamecommitdiff
path: root/it_IT.ISO8859-15/books/handbook/audit/chapter.xml
blob: 641f9c2aabb839fd37e23c52cbe0f232dce022be (plain) (tree)
1
2
3
4
5
6
7
8
9
                                            



                                              
                            
   

                                                                                                                       
                 
                                                                                                                                 
 
                                                                                                      
                  
         
 
  
 
                                 

                          








                                                                     
                                                        





                                                                   
                                                     










                                                                          
                                                                 

















                                                                              
                                          



                                                                           
                                                             


                 
                                                          
                                                                       




                                                                       
                      








                                                                      

                                                             








                                                                              

          
                                        

                                                       





                                                                                     
                                                   





















                                                                           
                                                                       










                                                                                 
                                                     




                                                                              
                                                                       





















                                                                                   
                                                         



                                                                  

          
                                

                                               
                                                            
                                                         
                                                                         
                                                                      







                                                              
                                            
 
                                                      
                                             
                                                        







                                                                  

          
                               

                                            
                                                                 
                                                       















































































                                                                              
                                                                              




                                                                              
                                                              



























































































                                                                                         
                                                        





















                                                                        

                                                                
























                                                                                 

                                                               

                                                  
                                         













                                                                                  

                                                                  
                                                                   

                                                           










                                                                                
                                                            









                                                                                  


                                                                                       




                                                                                 


                                                                          

              
                                      




                                                                                 
                                                                                
                                                                                
                                                            





                                                                            

                                                                                                   

                                                                            
                                                                                      
                                                                   
                                                               




                                      

          
                                       





                                                                       
                                                         

                                                                         
                                                                   
                                                            
                                                   



                                                                          
                                                                     




                                                                                        
                                               
                                                             


                                                                                
                                                           


                                                                       
                                                                               










                                                                                    
                                                        










                                                                                    

                                                                                                  




                                                                               
                                                                  






                                                                  
                                                          




                                                                                                                 
                                                          

                                                                                      




                                                            
                                                                                      
                                                                                  
                                                    

                                                                                                 
                                                   
                                                                  








                                                                                        
                                                               


                                                                          
                                                                     







                                                                                  

                                                                                                  








                                                                                  
                                                                  
                                                                         
                                                                  

                                                                                           

                                                                    












                                                                                    
                                                                     
                                                                    
                                                                    
                                                                          

                                                               





                                                                            
                                                            



                                           
                                                              



                                                                                                          
                                                                


                                                                   

                                                                  






                                                                                     
                                                   

                                                                                 

                                                               
                                                                     
                                                           








                                                                  
 
                                                             

                                                                           


                                                                 

                                                   

          
<?xml version="1.0" encoding="iso-8859-15"?>
<!--
     The FreeBSD Italian Documentation Project

     $FreeBSD$
     Original revision: 1.33
-->
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="audit">
  <info><title>Auditing degli Eventi di Sicurezza</title>
    <authorgroup>
      <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Scritto da </contrib></author>

      <author><personname><firstname>Robert</firstname><surname>Watson</surname></personname></author>
    </authorgroup>
  </info>

  

  <sect1 xml:id="audit-synopsis">
    <title>Sinossi</title>

    <indexterm><primary>AUDIT</primary></indexterm>
    <indexterm>
      <primary>Auditing degli Eventi di Sicurezza</primary>
      <see>MAC</see>
    </indexterm>

    <para>&os; 6.2-RELEASE e i successivi includono supporto
      per audit di eventi relativi alla sicurezza.  L'audit
      degli eventi permette di tener traccia attraverso i log in modo
      affidabile, preciso e configurabile di una varietà
      di eventi rilevanti per la sicurezza del sistema, inclusi
      i login, i cambiamenti della configurazione e l'accesso
      ai file ed alla rete.  Questi dati loggati possono essere
      molto preziosi per il monitoraggio di sistemi in produzione,
      ricerca di intrusioni ed analisi post mortem.  &os;
      implementa le API di <acronym>BSM</acronym> di &sun; e i suoi
      formati di file, ed è interoperabile sia con le
      implementazioni di audit di &sun; &solaris;
      che con quelle di &apple; &macos; X.</para>

    <para>Questo capitolo si focalizza sull'installazione
      e la configurazione dell'Auditing degli Eventi.  Spiega politiche di
      auditing e fornisce come esempio una configurazione di audit.</para>

    <para>Dopo aver letto questo capitolo, saprai:</para>

    <itemizedlist>
      <listitem>
        <para>Cosa è l'Auditing di Eventi e come funziona.</para>
      </listitem>

      <listitem>
        <para>Come configurare l'Auditing di Eventi su &os;
          per utenti e processi.</para>
      </listitem>

      <listitem>
        <para>Come rivedere la traccia di audit usando la riduzione dell'audit
          e i tool per studiarla.</para>
      </listitem>
    </itemizedlist>

    <para>Prima di leggere questo capitolo, dovresti:</para>

    <itemizedlist>
      <listitem>
        <para>Comprendere le basi di &unix; e &os;
        (<xref linkend="basics"/>).</para>
      </listitem>

      <listitem>
        <para>Essere familiare con le basi di configurazione e compilazione
          del kernel (<xref linkend="kernelconfig"/>).</para>
      </listitem>

      <listitem>
        <para>Avere una certa familiarità con la sicurezza
          e come si applica a &os; (<xref linkend="security"/>).</para>
      </listitem>
    </itemizedlist>

    <warning>
      <para>La funzione di audit in &os; 6.<replaceable>X</replaceable>
        è sperimentale
        e la messa in produzione dovrebbe avvenire solo dopo aver ben
        ponderato i rischi connessi al software sperimentale.
        Le limitazioni note includono che non tutti gli eventi
        relativi alla sicurezza al momento posso essere tracciati
        con l'audit, e che alcuni meccanismi di login, come
        display manager basati su X11 e demoni di terze parti,
        non sono correttamente configurabili per tracciare sotto audit
        le sessioni di login degli utenti.</para>

      <para>La funzione di audit di sicurezza può generare
        log molto dettagliati dell'attività di sistema: su un
        sistema carico, i file di traccia possono essere molto grandi
        quando sono configurati in dettaglio, oltre i gigabytes per settimana.
        Gli amministratori dovrebbero tenere in conto le richieste di spazio
        associate alla configurazione dell'audit di grandi dimensioni.
        Ad esempio, potrebbe essere desiderabile dedicare un intero
        file system alle  directory sotto <filename>/var/audit</filename>
        in modo che gli altri file system non siano toccati se il file system
        di audit si riempie completamente.</para>
    </warning>
  </sect1>

  <sect1 xml:id="audit-inline-glossary">
    <title>Termini chiave - Parole da conoscere</title>

    <para>Prima di leggere questo capitolo, dobbiamo chiarire alcuni termini relativi
      all'audit:</para>

    <itemizedlist>
      <listitem>
        <para><emphasis>event</emphasis>: Un event tracciabile da audit
          è ogni evento che può essere tenuto sotto
          osservazione dal sottosistema di audit.
          Esempi di eventi rilevanti per la sicurezza includono
          la creazione di un file, lo stabilire una connessione di rete,
          o il loggarsi di un utente.
          Gli event sono o <quote>attribuibili</quote>,
          ovvero possono essere riferiti ad un utente
          autenticato, o <quote>non attribuibili</quote> se non
          possono esserlo.  Esempi di eventi non attribuibili sono
          tutti gli eventi che occorrono prima dell'autenticazione
          nel processo di login, come tentativi di login con
          password errata.</para>
      </listitem>

      <listitem>
        <para><emphasis>class</emphasis>: Le class di eventi sono insiemi
          di eventi correlati fra loro, e sono usati nelle espressioni
          di selezione.  Class di eventi usate spesso includono <quote>
          la creazione di file</quote> (fc), <quote>esecuzione</quote> (ex)
          e <quote>login_logout</quote> (lo).</para>
      </listitem>

      <listitem>
        <para><emphasis>record</emphasis>: Un record è una voce nel log
          di audit che descrive un evento di sicurezza.  I record contengono
          il tipo di evento, informazione sul soggetto che ha causato l'evento,
          informazione sulla data e sull'ora dell'evento, informazione su ogni
          oggetto o argomento, ed una condizione di successo o fallimento.</para>
      </listitem>

      <listitem>
        <para><emphasis>trail</emphasis>: Una traccia di audit, o file di log,
          consiste in una serie di record di eventi che descrivono
          eventi di sicurezza.  Tipicamente le tracce sono in qualche modo
          in ordine cronologico rispetto all'istante in cui l'evento
          si è realizzato.  Solo processi autorizzati
          hanno il permesso di tracciare record nella traccia di audit.</para>
      </listitem>

      <listitem>
        <para><emphasis>selection expression</emphasis>: Una espressione
          di selezione è una stringa che contiene una lista di prefissi
          e nomi di classi di eventi usati per catalogare eventi.</para>
      </listitem>

      <listitem>
        <para><emphasis>preselection</emphasis>: Il processo attraverso il quale
          il sistema identifica quali eventi sono di interesse per l'amministratore
          al fine di evitare di generare record di audit per eventi che
          non siano di interesse.  La configurazione della preselezione
          usa una serie di espressioni di selezioni per identificare
          quali classi di eventi siano da tracciare per quale utente,
          come anche impostazioni globali che si applicano sia a processi
          autenticati che nono autenticati.</para>
      </listitem>

      <listitem>
        <para><emphasis>reduction</emphasis>: Il processo attraverso
          il quale i record di un audit esistente sono selezionati
          per il salvataggio, la stampa, l'analisi.  Ovvero, il processo
          attraverso il quale record di audit non desiderati siano
          rimossi dalla traccia di audit.  Usando la riduzione, gli amministratori
          sono in grado di implementare politiche per il salvataggio
          di dati di audit.  Per esempio, tracce di audit dettagliate
          possono essere tenute per un mese, dopodichè le
          tracce possono essere ridotte al fine di preservare solo
          le informazioni di login.</para>
      </listitem>
    </itemizedlist>
  </sect1>

  <sect1 xml:id="audit-install">
    <title>Installare il Supporto Audit</title>

    <para>Il supporto in user space per l'Audit degli Eventi
      è installato come parte del sistema operativo &os;.
      In &os; 7.0 e successivi, il supporto kernel all'Audit degli eventi
      è compilato di default.  In &os; 6.<replaceable>X</replaceable>,
      il supporto all'Audit degli eventi deve essere compilato
      esplicitamente nel kernel aggiungendo le seguenti
      righe al file di configurazione del kernel:</para>

    <programlisting>options  AUDIT</programlisting>

    <para>Ricompila e reinstalla il kernel attraverso
      il normale processo spiegato in
      <xref linkend="kernelconfig"/>.</para>

    <para>Una volta che il kernel è stato compilato ed
      installato con l'audit abilitato, ed il
      sistema è stato rebootato, abilita il demone audit
      aggiungendo la seguente riga in &man.rc.conf.5;:</para>

    <programlisting>auditd_enable="YES"</programlisting>

    <para>Il supporto all'audit a questo punto deve essere avviato
      al reboot, o manualmente avviando il demone:</para>

    <programlisting>/etc/rc.d/auditd start</programlisting>
  </sect1>

  <sect1 xml:id="audit-config">
    <title>Configurazione dell'Audit</title>

    <para>Tutti i file di configurazione per l'audit di sicurezza
      si trovano in <filename>/etc/security</filename>.
      I seguenti file devono essere presenti prima dell'avvio
      del demone audit:</para>

    <itemizedlist>
      <listitem>
        <para><filename>audit_class</filename> - Contiene le definizioni
          delle classi di audit.</para>
      </listitem>

      <listitem>
        <para><filename>audit_control</filename> - Controlla aspetti
          del sottosistema dell'audit, come le classi audit di default,
          il minimo spazio su disco da lasciare al log di audit,
          la massima dimensione della traccia di audit, etc.</para>
      </listitem>

      <listitem>
        <para><filename>audit_event</filename> - Nomi testuali e descrizioni
          degli eventi di audit di sistema, cos&iacute; come una lista
          di quali classi contengano quali eventi.</para>
      </listitem>

      <listitem>
        <para><filename>audit_user</filename> - Requisiti specifici dell'audit
          per l'utente, combinati con i default globali
          al login.</para>
      </listitem>

      <listitem>
        <para><filename>audit_warn</filename> - Uno script customizzabile
          usato da <application>auditd</application> per generare messaggi di
          warning in situazioni eccezionali,
          come ad esempio quando sta finendo lo spazio per i record
          o quando le tracce dell'audit sono ruotate.</para>
      </listitem>
    </itemizedlist>

    <warning>
      <para>I file di configurazione dell'audit dovrebbero essere editati
        e manotenuti con attenzione, dato che errori nella
        configurazione possono risultare in un tracciamento improprio
        degli eventi.</para>
    </warning>

    <sect2>
      <title>Espressioni per la Selezione degli Eventi</title>

      <para>Le espressioni per la selezione sono usate in un certo
        numero di posti nella configurazione dell'audit per determinare
        quali eventi dovrebbero essere sotto audit.
        Le espressioni contengono una serie di classi di eventi,
        ognuna con un prefisso che indica se i record che sono indicati
        debbano essere accettati o ignorati, ed opzionalmente ad indicare
        se i record che vengono individuati siano da tracciare ad
        un successo o ad un fallimento.  Le espressioni di selezione
        sono valutate da sinistra a destra, e due espressioni sono
        combinate aggiungendo una all'altra.</para>

      <para>La seguente lista contiene le classi di eventi di default
        presenti in <filename>audit_class</filename>:</para>

      <itemizedlist>
        <listitem>
          <para><literal>all</literal> - <emphasis>all</emphasis> - Indica
            tutte le classi di eventi.</para>
        </listitem>

        <listitem>
          <para><literal>ad</literal> - <emphasis>administrative</emphasis>
            - Le azioni amministrative eseguite su un sistema
            nel suo complesso.</para>
        </listitem>

        <listitem>
          <para><literal>ap</literal> - <emphasis>application</emphasis> -
            Azioni definite dall'applicazione.</para>
        </listitem>

        <listitem>
          <para><literal>cl</literal> - <emphasis>file close</emphasis> -
            Chiamate audit alla system call <function>close</function>.</para>
        </listitem>

        <listitem>
          <para><literal>ex</literal> - <emphasis>exec</emphasis> - Fa l'audit
            delle esecuzioni di un programma.  L'audit degli argomenti
            della command line e delle variabili di ambiente è
            controllato da &man.audit.control.5; usando i parametri
            <literal>argv</literal> e <literal>envv</literal> nelle
            impostazioni della <literal>policy</literal>.</para>
        </listitem>

        <listitem>
          <para><literal>fa</literal> - <emphasis>file attribute access</emphasis>
            - Fa l'audit dell'accesso ad attributi di accesso
            come &man.stat.1;, &man.pathconf.2; ed eventi simili.</para>
        </listitem>

        <listitem>
          <para><literal>fc</literal> - <emphasis>file create</emphasis>
            - Fa l'audit di eventi che hanno come risultato
            la creazione di un file.</para>
        </listitem>

        <listitem>
          <para><literal>fd</literal> - <emphasis>file delete</emphasis>
            - Fa l'audit di eventi in cui avvenga una cancellazione
            di file.</para>
        </listitem>

        <listitem>
          <para><literal>fm</literal> - <emphasis>file attribute modify</emphasis>
            - Fa l'audit di eventi in cui avvenga una modifica
            degli attributi dei file, come &man.chown.8;, &man.chflags.1;, &man.flock.2;,
            etc.</para>
        </listitem>

        <listitem>
          <para><literal>fr</literal> - <emphasis>file read</emphasis>
            - Fa l'audit di eventi nei quali dei dati siano letti,
            file siano aperti in lettura, etc.</para>
        </listitem>

        <listitem>
          <para><literal>fw</literal> - <emphasis>file write</emphasis> -
            Fa l'audit di eventi in cui dati siano scritti,
            file siano scritti o modificati, etc.</para>
        </listitem>

        <listitem>
          <para><literal>io</literal> - <emphasis>ioctl</emphasis> -
            Fa l'audit dell'uso della system call &man.ioctl.2;.</para>
        </listitem>

        <listitem>
          <para><literal>ip</literal> - <emphasis>ipc</emphasis> - Fa l'audit
            di varie forme di Inter-Process Communication, incluse pipe
            POSIX e operazioni  <acronym>IPC</acronym> System V.</para>
        </listitem>

        <listitem>
          <para><literal>lo</literal> - <emphasis>login_logout</emphasis> -
            Fa l'audit di eventi di &man.login.1; e &man.logout.1; che occorrano
            nel sistema.</para>
        </listitem>

        <listitem>
          <para><literal>na</literal> - <emphasis>non attributable</emphasis> -
            Fa l'audit di eventi non attribuibili.</para>
        </listitem>

        <listitem>
          <para><literal>no</literal> - <emphasis>invalid class</emphasis> -
            Indica nessun evento di audit.</para>
        </listitem>

        <listitem>
          <para><literal>nt</literal> - <emphasis>network</emphasis> -
            Fa l'audit di eventi relativi ad azioni di rete, come
            &man.connect.2; e &man.accept.2;.</para>
        </listitem>

        <listitem>
          <para><literal>ot</literal> - <emphasis>other</emphasis> -
            Fa l'audit di eventi miscellanei.</para>
        </listitem>

        <listitem>
          <para><literal>pc</literal> - <emphasis>process</emphasis> -
            Fa l'audit di operazioni dei processi, come
            &man.exec.3; e &man.exit.3;.</para>
        </listitem>
      </itemizedlist>

      <para>Queste classi di eventi audit possono essere personalizzate
        modificando i file di configurazione
        <filename>audit_class</filename> e
        <filename>audit_event</filename>.</para>

      <para>Ogni classe di audit nella lista è combinata
        con un prefisso che indica se le operazione di successo
        o andate in fallimento siano intercettate, e se la entry
        sta aggiungendo o togliendo delle regole di intercettazione
        per la classe ed il tipo.</para>

      <itemizedlist>
        <listitem>
          <para>(none) Fa l'audit di istanze dell'evento sia di successo
            che fallite.</para>
        </listitem>

        <listitem>
          <para><literal>+</literal> Fa l'audit di eventi di successo
            in questa classe.</para>
        </listitem>

        <listitem>
          <para><literal>-</literal> fa l'audit di eventi falliti
            in questa classe.</para>
        </listitem>

        <listitem>
          <para><literal>^</literal> Non fa l'audit di eventi nè
            di successo nè falliti in questa classe.</para>
        </listitem>

        <listitem>
          <para><literal>^+</literal> Non fa l'audit di eventi di successo
            in questa classe.</para>
        </listitem>

        <listitem>
          <para><literal>^-</literal> Non fa l'audit di eventi falliti in
            questa classe.</para>
        </listitem>
      </itemizedlist>

      <para>Il seguente esempio di selezione indica eventi di login/logout
        sia di successo che non, ma solo eventi di successo di esecuzione:</para>

      <programlisting>lo,+ex</programlisting>
    </sect2>

    <sect2>
      <title>File di Configurazione</title>

      <para>Nella maggior parte dei casi, gli amministratori dovranno
        solo modificare due file quando configurano il sistema audit:
        <filename>audit_control</filename> ed <filename>audit_user</filename>.
        Il primo controlla le proprietà e le politiche di tutto
        il sistema, il secondo può essere usato per fare del
        fine tuning iper il singolo utente.</para>

      <sect3 xml:id="audit-auditcontrol">
        <title>Il File <filename>audit_control</filename></title>

        <para>Il file <filename>audit_control</filename> specifica un certo numero
          di valori di default per il sottosistema audit.  Leggendo i contenuti
          di questo file, notiamo le seguenti righe:</para>

        <programlisting>dir:/var/audit
flags:lo
minfree:20
naflags:lo
policy:cnt
filesz:0</programlisting>

        <para>L'opzione <option>dir</option> viene usata per impostare
         una o più directory dove i file di log dell'audit vengono
         salvati.  Se appare più di una directory, saranno
         usati in ordine uno dopo l'altro, dopo che uno si riempie.
         È comune configurare
         audit cosicchè i log siano tenuti in un filesystem
         dedicato, per prevenire interferenze fra il sottosistema
         audit ed altri sottosistemi se il filesystem si riempie.</para>

        <para>Il campo <option>flags</option> imposta la maschera di preselzione
          per gli eventi attribuibili per tutto il sistema.  Nell'esempio
          sopra, i login ed i logout di successo e quelli falliti
          sono tenuti sotto audit per tutto il sistema.</para>

        <para>L'opzione <option>minfree</option> definisce la minima percentuale
          di spazio libero per i file system dove vengono conservate
          le tracce dell'audit.  Quando questo limite viene superato,
          sarà generato un warning.  L'esempio sopra imposta
          il minimo spazio libero al venti per cento.</para>

        <para>L'opzione <option>naflags</option> specifica le classi di audit
          da tenere sotto audit per gli eventi non attribuibili, come
          il processo di login ed i demoni di sistema.</para>

        <para>L'opzione <option>policy</option> specifica una lista separata
          da virgole di flag per le politiche che controllano vari aspetti
          del comportamento dell'audit.  Il flag di default <literal>cnt</literal>
          indica che il sistema dovrebbe continuare a funzionare nonostante
          un errore dell'audit (questa flag è altamente consigliato).
          Un altro flag usato di comune è <literal>argv</literal>,
          che fa sì che gli argomenti di command line della sistema call &man.execve.2;
          siano tenuti sotto audit come parte dell'esecuzione del comando.</para>

        <para>L'opzione <option>filesz</option> specifica la massima dimensione
          in bytes da tenere per le tracce di audit, prima di terminarli
          automaticamente e routarli.  Il default, 0, disabilita la rotazione
          dei file di log.  Se la dimensione è diversa di zero
          ma minore del minimo, 512k, sarà ignorata ed un messaggio di log
          sarà generato.</para>
      </sect3>

      <sect3 xml:id="audit-audituser">
        <title>Il File <filename>audit_user</filename></title>

        <para>Il file <filename>audit_user</filename> permette all'amministratore
          di specificare ulteriori requisiti dell'audit per utenti
          specifici.  Ogni linea configura l'audit per un utente
          attraverso due campi: il primo campo è <literal>alwaysaudit</literal>,
          che specifica un insieme di eventi che dovrebbero sempre essere tenuti
          sotto audit per l'utente, ed il secondo è il campo
          <literal>neveraudit</literal>, che specifica un insieme di eventi
          che non dovrebbero mai essere tenuti sotto audit per l'utente.
        </para>

        <para>Il seguente esempio di file <filename>audit_user</filename> fa
          l'audit di eventi di login/logout e delle esecuzioni di successo
          per l'utente <systemitem class="username">root</systemitem>, e fa l'audit della creazione
          e dell'esecuzione di successo per l'utente <systemitem class="username">www</systemitem>.
          Se usato con il file di esempio <filename>audit_control</filename>
          sopra riportato, l'entry <literal>lo</literal> per
          <systemitem class="username">root</systemitem> è ridondante, e gli eventi di
          login/logout sarano tenuti sotto audit anche per l'utente
          <systemitem class="username">www</systemitem>.</para>

        <programlisting>root:lo,+ex:no
www:fc,+ex:no</programlisting>
      </sect3>
    </sect2>
  </sect1>

  <sect1 xml:id="audit-administration">
    <title>Amministrare il Sottosistema Audit</title>

    <sect2>
      <title>Leggere le Tracce di Audit</title>

      <para>Le tracce di audit sono conservate nel formato binario BSM,
        così devono essere usati degli strumenti appositi
        per modificare o convertirli a testo.  Il comando &man.praudit.1;
        converte file di traccia a semplice formato testo; il comando
        <command>auditreduce</command> può essere usato per ridurre
        file di traccia per analisi, archiviazione o stampa.
        &man.auditreduce.1; supporta una varietà di
        parametri di selezione, incluso il tipo di evento, la classe
        dell'evento, l'utente, la data o l'ora dell'evento, ed il percorso
        del file o l'oggetto su cui si opera.</para>

      <para>Per esempio, l'utility <command>praudit</command> farà il
        dump dell'intero contenuto di uno specifico file di log di audit
        in semplice formato testuale:</para>

      <screen>&prompt.root; <userinput>praudit /var/audit/AUDITFILE</userinput></screen>

      <para>Dove <filename>AUDITFILE</filename>
        è il nome del file di log di cui fare il dump.</para>

      <para>Le tracce di audit consistono in una serie di record di audit
        composti da token, che <command>praudit</command> scrive sequenzialmente
        uno per linea.  Ogni token è per un tipo specifico,
        come <literal>header</literal> che tiene un header di un record
        audit, o <literal>path</literal> che tiene un percorso di file
        da una ricerca del nome.
        Il seguente è un esempio di un evento <literal>execve</literal>:</para>

      <programlisting>header,133,10,execve(2),0,Mon Sep 25 15:58:03 2006, + 384 msec
exec arg,finger,doug
path,/usr/bin/finger
attribute,555,root,wheel,90,24918,104944
subject,robert,root,wheel,root,wheel,38439,38032,42086,128.232.9.100
return,success,0
trailer,133</programlisting>

      <para>Questo audit rappresenta una chiamata di successo a
        <literal>execve</literal>, in cui il comando
        <literal>finger doug</literal> è stato eseguito.
        Il token degli argomenti contiene la riga di comando presentata
        dalla shell al kernel.  Il token <literal>path</literal> contiene
        il percorso dell'eseguibile usato dal kernel.
        Il token <literal>attribute</literal> descrive il binario, ed in particolare
        include i permessi del file che possono essere usato per determinare
        se l'applicazione era setuid.  Il token <literal>subject</literal>
        descrive il processo
        in oggetto e conserva in sequenza l'id utente dell'audit, l'id effettivo
        dell'utente, il group id, lo user id reale ed il group id reale,
        il process id, l'id della sessione, l'id della porta e l'indirizzo di login.
        Nota che l'audit user id ed il real user id sono diversi:
        l'utente <systemitem class="username">robert</systemitem> è diventato
        <systemitem class="username">root</systemitem> prima di eseguire questo comando, ma questo
        viene tenuto sotto audit usando lo user id originale.  Infine, il token
        <literal>return</literal> indica l'esecuzione andata a buon fine, ed il
        <literal>trailer</literal> chiude il record.</para>

      <para>In &os; 6.3 e successive, <command>praudit</command> supporta
        anche il formato di output XML, che può essere selezionato
        usando l'argomento <option>-x</option>.</para>
    </sect2>

    <sect2>
      <title>Ridurre le Tracce di Audit</title>

      <para>Dato che i log dell'audit possono essere molto grandi,
        un amministratore probabilmente vorrà selezionarne
        solo un sottoinsieme utile, ad esempio i record
        associati con un utente specifico:</para>

      <screen>&prompt.root; <userinput>auditreduce -u trhodes /var/audit/AUDITFILE | praudit</userinput></screen>

      <para>Questo selezionerà tutti i record di audit per
        l'utente <systemitem class="username">trhodes</systemitem> conservati nel file
        <filename>AUDITFILE</filename>.</para>
    </sect2>

    <sect2>
      <title>Delegare Diritti di Ispezionare l'Audit</title>

      <para>I membri del gruppo <systemitem class="groupname">audit</systemitem> hanno
        il permesso di leggere tracce di audit in <filename>/var/audit</filename>;
        di default questo gruppo e' vuoto, così solo
        <systemitem class="username">root</systemitem> può leggere le tracce di audit.
        Utenti possono essere aggiunti al gruppo <systemitem class="groupname">audit</systemitem>
        per delegare diritti di lettura sull'audit.
        Dato che l'abilità di tracciare contenuti del log di audit
        fornisce significative informazioni sul comportamento di utenti
        e processi, si raccomanda che la delega di lettura sia fatta con cautela.</para>
    </sect2>

    <sect2>
      <title>Monitoraggio dal Vivo Usando Pipe di Audit</title>

      <para>Le pipe di audit sono degli pseudo-device clonanti nel
        file system dei device che permettono alle applicazioni di intercettare
        lo stream dei record di audit in tempo reale.  Questo è
        di primario interesse per i creatori di applicativi di intrusion
        detection e di monitoraggio di sistemi.
        In ogni caso, per l'amministratore il device della pipe dell'audit
        è un modo conveniente per permettere il monitaraggio dal vivo
        senza incontrare problemi con i permessi della traccia audit o
        la rotazione dei log che interrompono lo stream degli eventi.
        Per tracciare lo stream degli eventi dell'audit, usa la seguente
        linea di comando:</para>

      <screen>&prompt.root; <userinput>praudit /dev/auditpipe</userinput></screen>

      <para>Di default, i nodi di device delle pipe dell'audit sono accessibili
        solo dall'utente <systemitem class="username">root</systemitem>.  Per renderlo accessibile
        ai membri del gruppo <systemitem class="groupname">audit</systemitem>, aggiungi una
        regola <literal>devfs</literal>
        al file <filename>devfs.rules</filename>:</para>

      <programlisting>add path 'auditpipe*' mode 0440 group audit</programlisting>

      <para>Leggi &man.devfs.rules.5; per altre informazioni su come
        configurare il filesystem devfs.</para>

      <warning>
        <para>È facile produrre cicli di feedback di eventi audit,
          in cui il semplice osservare ogni evento di audit risulta nella
          creazione di più eventi di audit.  Per esempio, se tutto
          il traffico di rete viene tenuto sotto audit, e &man.praudit.1; viene
          eseguito da una sessione SSH, un flusso continuo di notevoli dimensioni di eventi
          audit sarà generato, dato che ogni evento scritto genererà
          un altro evento.  È consigliabile eseguire
          <command>praudit</command> su un device
          pipe di audit da sessioni senza audit I/O in grande dettaglio, per evitare
          fenomeni come questo.</para>
      </warning>
    </sect2>

    <sect2>
      <title>Ruotare File di Traccia di Audit</title>

      <para>Le tracce di audit sono scritte solo dal kernel, e gestite
        solo dal demone dell'audit, <application>auditd</application>.  Gli
        amministratori non dovrebbero cercare  di usare &man.newsyslog.conf.5;
        o altri tool per ruotare direttamente i log di audit.  Invece,
        il tool di gestione <command>audit</command> può essere usato
        per interrompere l'audit, riconfigurare il sistema di audit,
        ed eseguire la rotazione dei log.  Il seguente comando fa sì
        che il demone audit crei un nuovo log di audit e segnali al kernel
        di usare il nuovo log.  I vecchio log sarà terminato
        e rinominato, ed a questo punto potrà essere manipolato
        dall'amministratore.</para>

      <screen>&prompt.root; <userinput>audit -n</userinput></screen>

      <warning>
        <para>Se il demone <application>auditd</application> non sta girando
          al momento, questo comando fallirà e sarà prodotto
          un messaggio di errore.</para>
      </warning>

      <para>Aggiungendo la seguente linea a
        <filename>/etc/crontab</filename> forzerà la rotazione
        ogni dodici ore da parte di &man.cron.8;:</para>

      <programlisting>0     */12       *       *       *       root    /usr/sbin/audit -n</programlisting>

      <para>Il cambiamento prenderà effetto dopo che hai salvato
        il nuovo <filename>/etc/crontab</filename>.</para>

      <para>La rotazione automatica della traccia dell'audit basata
        sulla dimensione del file è possibile attraverso l'opzione
        <option>filesz</option> in &man.audit.control.5;, ed è
        descritta nella sezione sui file di configurazione di questo capitolo.</para>
    </sect2>

    <sect2>
      <title>Comprimere le Tracce di Audit</title>

      <para>Man mano che i file di traccia dell'audit diventano
        di grandi dimensioni, è spesso desiderabile
        comprimerli o in qualche modo archiviarli dopo che sono
        stati chiusi dal demone audit.  Lo script <filename>audit_warn</filename>
        può essere usato per eseguire operazioni personalizzate
        per una varietà di eventi relativi all'audit, incluse
        la chiusura pulita delle tracce di audit quando sono ruotate.
        Ad esempio, il seguente comando può essere aggiunto
        allo script <filename>audit_warn</filename> per comprimere
        le tracce di audit alla chiusura:</para>

      <programlisting>#
# Compress audit trail files on close.
#
if [ "$1" = closefile ]; then
        gzip -9 $2
fi</programlisting>

      <para>Altre attività di archiviazione possono includere
        copiare i file di traccia su di un server centralizzato, cancellare
        file di traccia vecchi, o ridurre la traccia di audit per rimuovere
        i record non voluti.  Lo script sarà eseguito solo quando
        i file di traccia sono chiusi in maniera pulita, così
        non sarà eseguito su tracce lasciate non terminate
        a seguito di uno shutdown improprio.</para>
    </sect2>
  </sect1>
</chapter>