]> git.piffa.net Git - doc/.git/blobdiff - source/servizi.txt
Typos
[doc/.git] / source / servizi.txt
index 881f6c20914b14e3a30968b01afa40adbeba8efc..bdc2a905811297366640364e694484935d533f7a 100644 (file)
@@ -7,7 +7,7 @@ Appunti sulla installazione e configurazione dei servizi
 
   :Author: Andrea Manni
   :Copyright: GFDL
-  :Version: 0.7
+  :Version: 0.8
 
 Questa guida e' dedicata agli studenti delle lezioni di informatica tenute da Andrea nel lab208. Nella parte iniziale sono presenti alcuni richiami alle impostazioni di rete e di installazione del laboratorio 208 (lab208) dove generalmente si tengono le lezioni. Questi parametri non sono interessanti per chiunque si trovasse al di fuori della rete piffa.net .
 
@@ -122,11 +122,12 @@ Vim
 
 Vim e' l'editor di testo preferito dai sistemisti, quindi sara' conveniente impostare fin da subito alcune impostazioni per renderlo piu' comodo.
 
-Assicurarsi che sia installata nel sistema la versione completa dell'editor ``vim`` installando il  pacchetto ``vim``::
+Assicurarsi che sia installata nel sistema la versione completa dell'editor installando il  pacchetto ``vim``::
 
        # apt-get install vim
 
- e modificare il file di configurazione generale ``/etc/vim/vimrc`` ::
+
+Modificare poi il file di configurazione generale ``/etc/vim/vimrc`` ::
 
     " All system-wide defaults are set in $VIMRUNTIME/debian.vim (usually just
     " /usr/share/vim/vimcurrent/debian.vim) and sourced by the call to :runtime
@@ -270,18 +271,20 @@ Questo file contiene le opzioni di apt, come ad esempio il proxy::
 
     Acquire::http::Proxy "http://10.10.208.254:3128";
 
-Si tenga conto che se si imposta un proxy per apt sul proprio portatile e tornati a casa propria si vuole scaricare nuovi pacchetti si dovra' disabilitare il proxy.
+Si tenga conto che se si imposta un proxy per apt sul proprio portatile e tornati a casa propria si vuole scaricare nuovi pacchetti si dovra' disabilitare il proxy commentando la riga con ";" (''punto-e-virgola'')::
+
+    
 
 
 Squid
 ======
 
-Squid e' un proxy  cache http (ma anche FTP e https) robusto e strutturato, puo' essere usato sia in reti relativamente piccole grazie alla semplicita' di configurazione che in scenari piu' complessi grazie alla possibilita' di gestirne in modo granulare le risorse.  Si partira' dalle configurazioni piu' semplici per la semplice *condivisione della navigazione* internet, per poi poter configurare la gestione degli accessi, il filtraggio dei contenuti (Squid e' una applicazione che si muove nel 4' livello del modello TCP/IP a differenza di un *ipfilter* limitato al 2') nel l bilanciamento del carico tra piu' hosts.
+Squid e' un proxy  cache http (ma anche FTP e https) robusto e strutturato, puo' essere usato sia in reti relativamente semplici che in scenari piu' complessi grazie alla possibilita' di gestirne in modo granulare le risorse.  Si partira' dalle configurazioni piu' semplici per la semplice *condivisione della navigazione* internet, per poi poter configurare la gestione degli accessi, il filtraggio dei contenuti (Squid e' una applicazione che si muove nel 4' livello del modello TCP/IP a differenza di un *ipfilter* limitato al 2'), nel  bilanciamento del carico tra piu' server proxy.
 
 Inoltre Squid svolge la funzione di *anonymizer*:
-       nasconde i client http alla rete internet: risulta solo il server proxy nei log dei server web frequentati dagli utenti di Squid.
+       nasconde i client http alla rete internet:  e' solo il server proxy a risultare nei log dei server web frequentati dagli utenti di Squid. Glu utenti non sono percepiti ed esposti all'esterno.
 
-Cosa a volte sottovalutata, Squid permette la navigazione web a una rete basata su *indirizzi IP privati* (es una 192.168.0.0/24). E se la rete privata deve *solo navigare* in internet, non serve un *NAT* od altro, basta il solo Squid. Per altro non servira' neanche un servizio DNS dato che *sara' il solo Squid a risolvere i nomi di dominio* per i suoi client http.
+Cosa a volte sottovalutata, Squid permette la navigazione web a una rete basata su *indirizzi IP privati* (es una 192.168.0.0/24). E se la rete privata deve *solo navigare* in internet, non serve dover introdurre nella rete un *NAT* (si veda la sezione sui firewall) per condividere la connessione, basta il solo Squid. Per altro non servira' neanche un servizio DNS utilizzabile dai clients dato che *sara' il solo Squid a risolvere i nomi di dominio* per i suoi client http.
 
 Squid ascolta di default sulla porta 3128,  per impostare *apt* per utilizzarlo si aggiunga ad ``/etc/apt/apt.conf`` ::
 
@@ -848,27 +851,32 @@ Se il DNS gli fornisce un IP sbagliato l'utente non potra' raggiungere il serviz
 
 Stessa cosa vale per gli altri servizi, come la posta elettronica, ssh, ecc. : *prima si deve effettuare una query DNS*. 
 
-Potrebbe verificarsi uno scenario simile a questo: i vostri server per i siti web funzionano correttamente come i siti ospitati, stessa cosa per i vostri server di posta, IMAP e POP3, e tutto il resto. Ma se poi un errore nella configurazione del DNS non rende raggiungibile l'intero *sito*: per l'utente finale e' come se tutto non funzionasse.
+Potrebbe verificarsi uno scenario simile a questo: i vostri server per i siti web funzionano correttamente come i siti ospitati, stessa cosa per i vostri server di posta, IMAP e POP3, e tutto il resto. Ma se poi un errore nella configurazione del DNS non rende raggiungibile l'intero *sito*: per l'utente finale e' come se nulla funzionasse.
 
-Infatti quando si parla di un intervento della Polizia Postale per l'*oscuramento* di un sito generalmente dal punto di vista pratico questo si traduce nella rimozione o mistificazione del record DNS relativo a quel dominio (la *PP* ha facolta' di chiedere un simile intervento ai principali provider internet che forniscono connettivita' agli utenti italiani, oltre che poter agire direttamente sul NIC italiano per i domini della TLD *.it*)
+Infatti quando si parla di un intervento della Polizia Postale per l'*oscuramento* di un sito dal punto di vista pratico questo si traduce generalmente nella rimozione o mistificazione del record DNS relativo a quel dominio (la *PP* ha facolta' di chiedere un simile intervento ai principali provider internet che forniscono connettivita' agli utenti italiani, oltre che poter agire direttamente sul NIC italiano per i domini della TLD *.it*)
 
 L'operazione di convertire un nome in un indirizzo e' detta risoluzione DNS, convertire un indirizzo IP in nome e' detto risoluzione inversa.
 
- Un *Registar* e' un operatore che ha la facolta' (accreditamento da parte dell ICANN) di registrare i domini di secondo livello per gli utenti finali, dietro compenso di una modica cifra (~10 euro) che vale come contributo su base annuale per il mantenimento dell'infrastruttura. 
+ Un *Registar* e' un operatore che ha la facolta' (accreditamento da parte dell ICANN) di registrare i domini di secondo livello per gli utenti finali, dietro compenso di una modica cifra (una decina di euro) che vale come contributo su base annuale per il mantenimento dell'infrastruttura. 
 
 Risoluzione Inversa
-~~~~~~~~~~~~~~~~~~~~~~~
+-----------------------
 
 Per la risoluzione inversa sono invece i provider di connettivita' a gestire i DNS: se volete impostare il *PTR* associato al vostro indirizzo IP dovete contattare il vostro provider (tipo *telecom* per una connessione ADSL) e *non il Registar del vostro dominio*.
 
-Ad esempio all'IP ``212.22.136.248`` era associato un PTR ``bender.piffa.net``, corrispondente al record ``212`` facente parte della zona ``136.22.212.in-addr.arpa`` gestito dal provider Tiscali/Nextra proprietario della classe C ``212.22.136``. Se avete un solo IP conviene lasciare al fornitore la gestire il PTR, ma se avete a disposizione un'itera classe potete chiedere sempre al fornitore che vi *deleghi* la gestione della zona tramite i vostri DNS.
+Ad esempio all'IP ``212.22.136.248`` era associato un PTR ``bender.piffa.net``, corrispondente al record ``212`` facente parte della zona ``136.22.212.in-addr.arpa`` gestito dal provider Tiscali/Nextra proprietario della classe C ``212.22.136.0``. Se avete un solo IP conviene lasciare al fornitore la gestire del PTR, ma se avete a disposizione un'itera classe potete chiedere sempre al vostro provider che vi *deleghi* la gestione della zona tramite i vostri DNS.
 
-Alcuni servizi, ad esempio la spedizione della posta elettronica, non funzionano se non viene impostata correttamente *anche* l'associazione inversa tra indirizzo IP e PTR (che corrisponderebbe in questo caso al nome con cui si presenta il server SMTP).
+Per alcuni servizi, ad esempio la spedizione della posta elettronica, e'  richiedeiesto  che venga impostata correttamente  l'associazione tra il PTR dell'indirizzo IP usato dal server di postai e il record A RR al quale questo punta( RFC1912 sezione 2.1, paragrafo 2). 
+
+Si veda:
+
+- http://www.faqs.org/rfcs/rfc1912.html 2.1 Inconsistent, Missing, or Bad Data
+- http://www.ietf.org/rfc/rfc2505.txt 
 
 Nomi di dominio
 -----------------
 
-Un nome a dominio e' costituito da una serie di stringhe separate da punti, ad esempio bender.piffa.net. I nomi di dominio si leggono da destra verso sinistra: *TLD* o  dominio di primo livello ``net``, secondo livello ``piffa``, terzo livello ``bender``. Il dominio di primo livello (o TLD, Top Level Domain), per esempio .net o .it sono limitati e decisi direttamente dall'ente assegnatario ICANN ( Internet Corporation for Assigned Names and Numbers).
+Un nome a dominio e' costituito da una serie di stringhe separate da punti, ad esempio bender.piffa.net. I nomi di dominio si leggono da destra verso sinistra: *TLD* o  dominio di primo livello ``net``, secondo livello ``piffa``, terzo livello ``bender``. Il dominio di primo livello (o TLD, Top Level Domain, pronunciato *tilde* in Italia), per esempio .net o .it sono limitati e decisi direttamente dall'ente assegnatario ICANN ( Internet Corporation for Assigned Names and Numbers).
 
 L'utente finale potra' chiedere l'assegnazione (pagando un contributo al Register preferito per il mantenimento delle spese dell'infrastruttura) di un dominio di *secondo* livello (es ``piffa``) di una delle varie TLD disponibili (noi italiani diciamo *tildi*), sempre che non sia gia' stato assegnato a qualcun altro.
 
@@ -1066,7 +1074,7 @@ Tabella statica per l'associazione tra IP e nomi di dominio::
 
 Il contenuto e' un associazione tra un *IP* e stringhe di testo (anche piu' di una es: ``mirror`` e ``mirror.piffa.net``), un record per riga.
 
-Il problema e' la gestione di questo file: quando gli host cambiano IP si devono aggiornare i records, e c'e' poi il problema di distribuire questo file tra i vari hosts della propria LAN. Un metodo semplice per distribuire questo file e' utilizzare ``Dnsmasq``: questo infatti legge e onora il file ``hosts`` locale e lo *distribuisce* ai clients.
+Il problema e' la gestione di questo file: quando gli host cambiano IP si devono aggiornare i records, e poi c'e' il problema di distribuire questo file tra i vari hosts della propria LAN. Un metodo semplice per distribuire questo file e' utilizzare ``Dnsmasq``: questo infatti legge e onora il file ``hosts`` locale e lo *distribuisce* ai clients.
 
 Modificare (riconducendola a un IP interno, cosi' annullandola) la risoluzione di un nome di dominio e' un modo drastico e funzionale per *annullarlo* rendendolo indisponibile alla propria rete locale, ad esempio aggiungere al file ``/etc/hosts``::
        
@@ -1089,17 +1097,18 @@ Non e' automatico che un servizio, ad esempio un server di posta, si qualifichi
 
         * Postfix: ``myhostname``
 
+Si faccia attenzione a non aver un hostname puramente numerico: ad es. ``161``. E' opportuno che il nome sia comunque un alfanumerico: ``host-161`` o simile.
         
 DNSmasq
 ========
 
-Dnsmasq puo' svolgere le funzioni di  un DNS cache / forwarder e un server DHCP caratterizzato dalla facilita' di configurazione, dalla leggerezza e dalla possibilita' di modificare rapidamente i record DNS serviti alla rete. Puo' essere anche utilizzato come `server per il boot da rete <http://www.debian-administration.org/articles/478>_` .
+Dnsmasq puo' svolgere le funzioni di  un DNS cache / forwarder e un server DHCP caratterizzato dalla facilita' di configurazione, leggerezza e dalla possibilita' di modificare rapidamente i record DNS serviti alla rete. Puo' essere anche utilizzato come `server per il boot da rete <http://www.debian-administration.org/articles/478>_` .
 
 Dnsmasq e' un interessante alternativa all'uso del server DNS Bind in modalita' cache-only (non autoritativo) accompagnato dal server DHCPd. I vantaggi sono:
 
 - Leggerezza: puo' essere fatto girare su una macchina relativamente debole in caso di bisogno.
 - Rapidita' di configurazione (in particolare per servire dei record A / MX alla rete, modificando al volo i valori originali ospitati sul server DNS pubblico).
-- Ben integrato con connessioni PPP (utile se dovete rendere disponibile rapidamente una connessione a internet a una rete in difficolta').
+- Ben integrato con connessioni PPP : e' ingrado di rilevare i cambiamenti dei dns suggeriti e impostarli come forwarders (utile se dovete rendere disponibile rapidamente una connessione a internet a una rete in difficolta').
 
 Tutto cio' rende Dnsmasq una soluzione valida in particolare quando si deve intervenire in una rete pre-esistente in cui il server principale e' in crisi: si potra' utilizzare Dnsmasq anche su una macchina piu' debole e *mascherare* i servizi al momento non disponibili. 
 Molto utile per scopi didattici, sopratutto per testare server SMTP impostando al volo i campi MX per nomi di dominio fittizi.
@@ -1190,7 +1199,7 @@ Se questo non fosse possibile si puo' sempre lavorare su una *acl*:
 /etc/bind/named.conf ::
         
         acl "localnet" {
-                212.22.136.0/24 ; 127.0.0.0/8 ;
+                10.10.208.0/24 ; 127.0.0.0/8 ;
                 } ;
 
 Per poi aggiungere all'interno della stanza options la direttiva che abilita' l'entita' ``localnet``:
@@ -1235,7 +1244,7 @@ Passwords e autenticazione
 Per poter configurare Samba in modo che usi un sistema di negoziazione degli accessi alle cartelle condivise basato su accoppiate *nome utente / password* bisogna distinguere tra 3 livelli di password (e generalmente volete usare *sempre la stessa password* per ognuno di questi) e delle differenze tra le modalita' di *autenticazione* (e quindi anche di criptaggio delle passwords) usate da sistemi GNU/Linux e Windows:
 
 1 Sistema \*Unix ( GNU/Linux )
-         E' la password dell'*utente di sistema* che viene usata sul sistema operativo su cui gira il software Samba. E' importante tenere conto anche delle *user-id* e *group-id* degli utenti che dovranno fisicamente scrivere sui file system. Se un utente non puo' scrivere in una certa posizione del file system (ad esempio nella cartella ``/mnt/condivisione`` che sara' stata necessariamente creata inizialmente dall'utente ``root``)  per mancanza dei privilegi di scrittura allora neanche Samba potra' farlo nel momento in  mette a disposizione la risorsa all'utente. Se si montano file-system dedicati per le condivisioni controllare i permessi e propieta' dei *punti di mount**.
+         E' la password dell'*utente di sistema* che viene usata sul sistema operativo su cui gira il software Samba. E' importante tenere conto anche delle *user-id* e *group-id* degli utenti che dovranno fisicamente scrivere sui file system. Se un utente non puo' scrivere in una certa posizione del file system (ad esempio nella cartella ``/mnt/condivisione`` che sara' stata necessariamente creata inizialmente dall'utente ``root``)  per mancanza dei privilegi di scrittura allora neanche Samba potra' farlo nel momento in  mette a disposizione la risorsa all'utente. Se si montano file-system dedicati per le condivisioni controllare i permessi e proprieta' dei *punti di mount**.
           Queste passwords sono salvate nel solito file /etc/shadow (richiamato da /etc/passwd).
 
 2 Password per l'applicativo Samba
@@ -1346,7 +1355,7 @@ In alternativa e' possibile montare realmente la condivisone anche su GNU/Linux
 Server di posta: Postfix
 ============================
 
-Il server di posta che prenderemo in considerazione e' Postfix, a seguire un estratto di un file do configurazione *semplice* con l'abilitazione delle *Maildir* nelle ``/home`` degli utenti per la consegna della posta:
+Il server di posta che prenderemo in considerazione e' Postfix, a seguire un estratto di un file di configurazione *semplice* con l'abilitazione delle *Maildir* nelle ``/home`` degli utenti per la consegna della posta:
 
 ``/etc/postfix/main.cf``::
 
@@ -1359,30 +1368,143 @@ Il server di posta che prenderemo in considerazione e' Postfix, a seguire un est
        # Se non avete un ip pubblico e statico, con un adeguato record PTR
        # dovrete usare un realy host per l'invio della posta
        relayhost = smtp.piffa.net
+       
        mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
+       # Se dovete inviare la posta per i client della vostra LAN privata:
+       # mynetworks = 127.0.0.0/8 192.168.0.0/24 [::ffff:127.0.0.0]/104 [::1]/128
+       # E si faccia BEN ATTENZIONE a non diventare un open realay smtp
+
 
        # Per effettuare lo storaggio della posta nelle home directory degli utenti
-       # in una Maildir invece che la Mailbox in /var/mail/utente
+       # in una Maildir invece che nella Mailbox in /var/mail/nome_utente
        # si disabiliti procmail
        #mailbox_command = procmail -a "$EXTENSION"
 
-       # Storaggio della posta nella _cartella_ Maildir/ (si noti lo slash)
-       # nella home dell'utente:
+       # cartella_i abiliti lo storaggio della posta nella Maildir/ (si noti lo slash)
+       # all'interno della  home dell'utente:
        home_mailbox = Maildir/
        mailbox_size_limit = 0
        recipient_delimiter = +
        inet_interfaces = all
 
 
+E' disponibile un file di configurazione di esempio ben piu' articolato e commentato::
+        /usr/share/postfix/main.cf.dist .
+
+Test del server smtp
+-----------------------
+
+Per testare il corretto funzionamento del server di posta si puo' procedere in vari modi.
+
+- Spedire una mail a una casella locale / remota e controllare i log (syslog)
+- Collegarsi via *telnet* al server di posta: http://www.netadmintools.com/art276.html
+- usare una utility come SWAKS
+
+Swaks
+~~~~~~~~~~~
+
+Per gli utenti meno esperti e' consigliabile utilizzare *SWAKS*: si installi l'omonimo pacchetto e si esegua un test con::
+        swaks --to utente@destinatario.tilde --from utente@propio.mail.tilde
+
+Ecco un esempio di una sessione corretta::
+
+       swaks --to andrea@piffa.net from andrea@mydomain.com
+       === Trying smtp.piffa.net:25...
+       === Connected to smtp.piffa.net.
+       <-  220 zoo.piffa.net ESMTP Postfix (Debian/GNU)
+        -> EHLO alice.mydomain.com
+       <-  250-zoo.piffa.net
+       <-  250-PIPELINING
+       <-  250-SIZE 10240000
+       <-  250-VRFY
+       <-  250-ETRN
+       <-  250-STARTTLS
+       <-  250-ENHANCEDSTATUSCODES
+       <-  250-8BITMIME
+       <-  250 DSN
+        -> MAIL FROM:<root@alice.mydomain.com>
+       <-  250 2.1.0 Ok
+        -> RCPT TO:<andrea@piffa.net>
+       <-  250 2.1.5 Ok
+        -> DATA
+       <-  354 End data with <CR><LF>.<CR><LF>
+        -> Date: Thu, 28 May 2009 13:11:19 +0200
+        -> To: andrea@piffa.net
+        -> From: root@alice.mydomain.com
+        -> Subject: test Thu, 28 May 2009 13:11:19 +0200
+        -> X-Mailer: swaks v20061116.0 jetmore.org/john/code/#swaks
+        ->
+        -> This is a test mailing
+        ->
+        -> .
+       <-  250 2.0.0 Ok: queued as 41FB261AFC
+        -> QUIT
+       <-  221 2.0.0 Bye
+       === Connection closed with remote host.
+
+
+
 Imap e pop
 ------------------
 
-Postfix e' un server SMTP, di conseguenza se volete che i vostri utenti possano *scaricare* in locale la posta generalmente volete mettere a loro disposizione un server *POP3* o ancora meglio *IMAP*. Oppure entrambi.
+Postfix e' un server SMTP, di conseguenza se volete che i vostri utenti possano *scaricare* in locale la posta generalmente volete mettere a loro disposizione un server *POP3* o *IMAP*. Oppure entrambi.
 
 Pacchetti da installare        
        courier-imap courier-pop
 
-i noti che IMAP necessita delle Maildir, non funziona con le Mailbox in ``/var/mail/`` .
+Si noti che IMAP necessita delle *Maildir*, non funziona con le Mailbox in ``/var/mail/`` .
+
+Client a riga di comando
+---------------------------
+
+Per testare il corretto funzionamento del server di posta e' utile avere a disposizione delle utility per inviare e leggere la posta: ovviamente da riga di comando.
+
+mailx
+~~~~~~~~~~~~~~
+
+Uno dei client piu' semplici, sopratutto per inviare un messaggioi.  e' sufficiente usare una formula come::
+       mail utente@dominio.com
+
+Se il comando ``mail`` non fosse disponibile si installi il pacchetto ``mailx``.
+
+Al primo prompt si digitera' l'oggetto, il testo del messaggio (per terminare l'inserimento lasciare una riga vuota, digitare un ``punto + Invio`` su una riga vuota), la Carbon Copy (se necessaria).
+
+es::
+
+       mail andrea@localhost
+       Subject: Oggetto della mail
+       Testo del messagio,
+       per terminare il messaggio
+       lasciare una riga vuota
+       e un punto (poi Invio).
+
+       .
+       Cc:
+       
+Per altrre opzioni si veda la pagina man.
+
+Mutt
+~~~~~
+
+Mutt e' uno dei gestori di posta preferiti da chi preferisce utilizzare l'interfaccia testuale per la gestione della posta. 
+
+Mutt ha un file di configurazione ``.muttrc`` nella *home* dell'utente, alcuni settaggi possono essere utili:
+
+set folder="~/Maildir"
+       Per utilizzare ``/home/nome_utente/Maildir come mailbox``, invece del default ``/var/mail/nome_utente``.
+
+set editor="vim"
+       Utilizzare ``vim`` come editor per comporre i messaggi.
+
+
+Spesso e' utile poter *levvere al volo* la Mailbox / Maildir di un utente sul server di posta, per controllare se i messaggi vengono recapitati correttamente::
+       
+       mutt -f /var/mail/utente
+       mutt -f /home/utente/Maildir
+
+In modo analogo si puo' consultare al volo la propia mailbox su un server remoto tramite IMAP/POP::
+
+               mutt -f imap://nome_utente@piffa.net
 
 
 Web client
@@ -1393,9 +1515,69 @@ Per mettere a disposizione degli utenti un client web per gestire la propria pos
 L'interfaccia dovrebbe essere disponibile all'url: ``http://localhost/squirrelmail`` . Se cosi' non fosse assicuratevi che Apache abbia incluso il file di configurazione di squirrelmail::
 
        cd /etc/apache2/conf.d/
-       ln -s /etc/squirrelmail/apache.conf ./
+       ln -s /etc/squirrelmail/apache.conf ./squirrelmail.conf
+
+
+Graylisting
+----------------
+
+Il *graylisting* e' un sistema relativamente poco invasivo, con un limitato consumo di risorse per limitare lo *SPAM* in arrivo sul propio server di posta. Come suggerisce il nome e' una via di mezzo tra una *white list* (una lista di mittenti privilegiata, sempre benvenuti) e una *black list* (mittenti *bannati*, banditi dal poter inviare nuovi messaggi).
+
+Il funzionamento e' relativamente semplice: ogni mittente sconosciuto viene immediatamente rifiutato con un errore *non grave* come un *server non disponibile, provare piu' tardi*. Questo inconveniente non dovrebbe mettere in difficolta' un server di posta / mittente legittimo, che dopo un periodo di attesa tentera' nuovamente di inviare il messaggio ottenendo finalmente il risultato atteso. Diversamente un *bot* per l'invio di SPAM o un applicazione improvvisata (tipicamente di derivazione virale) che stesse inviando il messaggio *probabilmente* non insisterebbe, rinunciano ad inviare il messaggio preferendo destinazioni meno problematiche.
 
 
+Abilitazione in Postfix
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+Installare il pacchetto: ``postgrey`` e aggiungere il file di configurazione di Postfix ``/etc/postfix/main.cf``::
+
+       smtpd_recipient_restrictions =
+               permit_mynetworks,
+               reject_unauth_destination,
+               check_policy_service inet:127.0.0.1:60000
+
+Test
+~~~~~~~~
+
+Inviando un messaggio il client dovrebbe ricevere un iniziale messaggio di rifiuto del messaggio::
+
+       swaks --to andrea@piffa.net from andrea@mydonain.com
+       === Trying smtp.piffa.net:25...
+       === Connected to smtp.piffa.net
+       ...
+       <-  250 2.1.0 Ok
+        -> RCPT TO:<andrea@piffa.net>
+       <** 450 4.2.0 <andrea@piffa.net>: Recipient address rejected: 
+       Greylisted, see http://postgrey.schweikert.ch/help/piffa.net.html
+        -> QUIT
+       <-  221 2.0.0 Bye
+       === Connection closed with remote host.
+
+A lato server si dovrebbe rilevare su ``/var/log/syslog`` qualcosa di simile::
+
+       connect from alice.mydomain.com[65.98.21.97]
+       May 28 14:53:34 r24266 postgrey: action=greylist, reason=new, 
+           client_name=alice.mydomain.com,
+          client_address=10.0.0.1, sender=root@alice.mydomain.com, recipient=andrea@piffa.net
+       May 28 14:53:34 r24266 postfix/smtpd[22538]: 
+          NOQUEUE: reject: RCPT from alice.mydomain.com[10.0.0.1]: 
+          450 4.2.0 <andrea@piffa.net>: Recipient address rejected: Greylisted, 
+          see http://postgrey.schweikert.ch/help/piffa.net.html; 
+          from=<root@alice.mydomain.com> to=<andrea@piffa.net> 
+           proto=ESMTP helo=<alice.mydomain.com>
+       May 28 14:53:34 r24266 postfix/smtpd[22538]: disconnect from alice.mydomain.com[10.0.0.1]
+
+
+Statistiche
+~~~~~~~~~~~~~~~
+
+E' sempre utile poter tracciare qualche statistica sulle percentuali di messaggi ricevuti, da chi, messaggi rifiutati (e per quale motivo). Statistiche che attingono dai soliti log del server di posta ``/var/log/syslog`` di default oltre che i dedicati ``/var/log/mail`` .
+
+Una utility semplice per analizzare l'attivita' del propio server smtp potrebbe essere ``pflogsumm`` , installato il pacchetto la si puo' invocare con::
+       
+       pflogsumm.pl  /var/log/mail.log
+
+oppure utilizzare i log piu' vecchi ad es. ``/var/log/mail.log.0``
 
 Firewall
 ==========
@@ -1701,11 +1883,21 @@ Per attivare la network address translation (in questo caso un SNAT) per la rete
 
 Il *Masquerading* a differenza dello *SNAT* puro (``-j SNAT --to-source proprio_ip_pubblico ) legge l'indirizzo ip del device ``ppp0``. In questo modo se l'IP cambia automaticamente si aggiorna anche il source natting. Se avete un indirizzo IP statico assegnato al vostro gateway potete invece usare lo SNAT semplice.
 
+Altri esempi::
+       ## Change source addresses to 1.2.3.4.
+       # iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 1.2.3.4
+
+       ## Change source addresses to 1.2.3.4, 1.2.3.5 or 1.2.3.6
+       # iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 1.2.3.4-1.2.3.6
+
+       ## Change source addresses to 1.2.3.4, ports 1-1023
+       # iptables -t nat -A POSTROUTING -p tcp -o eth0 -j SNAT --to 1.2.3.4:1-1023
 
 Brute force
 ~~~~~~~~~~~~
 
 Per limitare attacchi di tipo brute force su SSH::
+
        iptables -A INPUT -i ppp0 -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 3000 --hitcount 4 --name DEFAULT --rsource -j DROP
 
        iptables -A INPUT -i ppp0 -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name DEFAULT --rsource