<html lang="it">
<head>
<meta name="generator" content=
- "HTML Tidy for Linux/x86 (vers 6 November 2007), see www.w3.org">
+ "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
<meta http-equiv="Content-Type" content=
"text/html; charset=iso-8859-1">
<meta name="generator" content=
<ul class="auto-toc">
<li><a class="reference internal" href="#id4" id="id64"
name="id64">6.1 DNS cache</a></li>
+
+ <li>
+ <a class="reference internal" href=
+ "#ospitare-una-zona" id="id65" name=
+ "id65">6.2 Ospitare una zona</a>
+
+ <ul class="auto-toc">
+ <li><a class="reference internal" href=
+ "#named-conf-local" id="id66" name=
+ "id66">6.2.1 named.conf.local</a></li>
+
+ <li>
+ <a class="reference internal" href=
+ "#configurazione-della-zona" id="id67" name=
+ "id67">6.2.2 Configurazione
+ della zona</a>
+
+ <ul class="auto-toc">
+ <li><a class="reference internal" href=
+ "#soa-start-of-authority-record" id="id68"
+ name="id68">6.2.2.1 SOA: Start
+ of Authority Record</a></li>
+
+ <li><a class="reference internal" href=
+ "#altri-campi" id="id69" name=
+ "id69">6.2.2.2 Altri
+ campi:</a></li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+
+ <li><a class="reference internal" href="#dns-slave" id=
+ "id70" name="id70">6.3 DNS
+ slave</a></li>
+
+ <li>
+ <a class="reference internal" href=
+ "#aggiornamento-dinamico-nsupdate" id="id71" name=
+ "id71">6.4 Aggiornamento dinamico:
+ nsupdate</a>
+
+ <ul class="auto-toc">
+ <li><a class="reference internal" href=
+ "#configurazione-client-nsupdate" id="id72" name=
+ "id72">6.4.1 Configurazione client
+ (nsupdate)</a></li>
+
+ <li><a class="reference internal" href=
+ "#configurazione-server-riconoscimento-chiave" id=
+ "id73" name=
+ "id73">6.4.2 Configurazione
+ server: riconoscimento chiave</a></li>
+
+ <li><a class="reference internal" href=
+ "#server-gestione-dell-intera-zona" id="id74" name=
+ "id74">6.4.3 Server: gestione
+ dell'intera zona</a></li>
+ </ul>
+ </li>
+
+ <li><a class="reference internal" href=
+ "#link-suggeriti" id="id75" name=
+ "id75">6.5 Link suggeriti:</a></li>
</ul>
</li>
<li>
- <a class="reference internal" href="#samba" id="id65"
- name="id65">7 Samba</a>
+ <a class="reference internal" href="#samba" id="id76"
+ name="id76">7 Samba</a>
<ul class="auto-toc">
<li><a class="reference internal" href="#pacchetti" id=
- "id66" name=
- "id66">7.1 Pacchetti</a></li>
+ "id77" name=
+ "id77">7.1 Pacchetti</a></li>
<li><a class="reference internal" href=
- "#passwords-e-autenticazione" id="id67" name=
- "id67">7.2 Passwords e
+ "#passwords-e-autenticazione" id="id78" name=
+ "id78">7.2 Passwords e
autenticazione</a></li>
<li><a class="reference internal" href=
- "#creazione-utenti" id="id68" name=
- "id68">7.3 Creazione Utenti</a></li>
+ "#creazione-utenti" id="id79" name=
+ "id79">7.3 Creazione Utenti</a></li>
<li>
<a class="reference internal" href=
- "#creare-la-condivisione" id="id69" name=
- "id69">7.4 Creare la
+ "#creare-la-condivisione" id="id80" name=
+ "id80">7.4 Creare la
condivisione</a>
<ul class="auto-toc">
<li><a class="reference internal" href=
"#sicurezza-permessi-di-esecuzione-sul-server" id=
- "id70" name=
- "id70">7.4.1 Sicurezza: permessi
+ "id81" name=
+ "id81">7.4.1 Sicurezza: permessi
di esecuzione sul server</a></li>
</ul>
</li>
- <li><a class="reference internal" href=
- "#configurazione-dell-applicativo-samba-vero-e-proprio"
- id="id71" name=
- "id71">7.5 Configurazione
- dell'applicativo Samba vero e proprio.</a></li>
+ <li>
+ <a class="reference internal" href=
+ "#configurazione-dell-applicativo-samba-vero-e-proprio"
+ id="id82" name=
+ "id82">7.5 Configurazione
+ dell'applicativo Samba vero e proprio.</a>
+
+ <ul class="auto-toc">
+ <li><a class="reference internal" href=
+ "#creazione-di-un-gruppo" id="id83" name=
+ "id83">7.5.1 Creazione di un
+ gruppo</a></li>
+ </ul>
+ </li>
<li><a class="reference internal" href=
- "#testare-il-servizio" id="id72" name=
- "id72">7.6 Testare il
+ "#testare-il-servizio" id="id84" name=
+ "id84">7.6 Testare il
Servizio</a></li>
</ul>
</li>
<li>
<a class="reference internal" href=
- "#server-di-posta-postfix" id="id73" name=
- "id73">8 Server di posta: Postfix</a>
+ "#server-di-posta-postfix" id="id85" name=
+ "id85">8 Server di posta: Postfix</a>
<ul class="auto-toc">
<li>
<a class="reference internal" href=
- "#test-del-server-smtp" id="id74" name=
- "id74">8.1 Test del server smtp</a>
+ "#test-del-server-smtp" id="id86" name=
+ "id86">8.1 Test del server smtp</a>
<ul class="auto-toc">
<li><a class="reference internal" href="#swaks" id=
- "id75" name=
- "id75">8.1.1 Swaks</a></li>
+ "id87" name=
+ "id87">8.1.1 Swaks</a></li>
</ul>
</li>
<li><a class="reference internal" href="#imap-e-pop"
- id="id76" name="id76">8.2 Imap e
+ id="id88" name="id88">8.2 Imap e
pop</a></li>
<li>
<a class="reference internal" href=
- "#client-a-riga-di-comando" id="id77" name=
- "id77">8.3 Client a riga di
+ "#client-a-riga-di-comando" id="id89" name=
+ "id89">8.3 Client a riga di
comando</a>
<ul class="auto-toc">
<li><a class="reference internal" href="#mailx" id=
- "id78" name=
- "id78">8.3.1 mailx</a></li>
+ "id90" name=
+ "id90">8.3.1 mailx</a></li>
<li><a class="reference internal" href="#mutt" id=
- "id79" name=
- "id79">8.3.2 Mutt</a></li>
+ "id91" name=
+ "id91">8.3.2 Mutt</a></li>
<li><a class="reference internal" href=
- "#web-client" id="id80" name=
- "id80">8.3.3 Web client</a></li>
+ "#web-client" id="id92" name=
+ "id92">8.3.3 Web client</a></li>
</ul>
</li>
<li>
<a class="reference internal" href="#graylisting" id=
- "id81" name=
- "id81">8.4 Graylisting</a>
+ "id93" name=
+ "id93">8.4 Graylisting</a>
<ul class="auto-toc">
<li><a class="reference internal" href=
- "#abilitazione-in-postfix" id="id82" name=
- "id82">8.4.1 Abilitazione in
+ "#abilitazione-in-postfix" id="id94" name=
+ "id94">8.4.1 Abilitazione in
Postfix</a></li>
<li><a class="reference internal" href="#test" id=
- "id83" name=
- "id83">8.4.2 Test</a></li>
+ "id95" name=
+ "id95">8.4.2 Test</a></li>
<li><a class="reference internal" href=
- "#statistiche" id="id84" name=
- "id84">8.4.3 Statistiche</a></li>
+ "#statistiche" id="id96" name=
+ "id96">8.4.3 Statistiche</a></li>
</ul>
</li>
</ul>
</li>
<li>
- <a class="reference internal" href="#firewall" id="id85"
- name="id85">9 Firewall</a>
+ <a class="reference internal" href="#firewall" id="id97"
+ name="id97">9 Firewall</a>
<ul class="auto-toc">
<li><a class="reference internal" href="#links" id=
- "id86" name="id86">9.1 Links</a></li>
+ "id98" name="id98">9.1 Links</a></li>
<li><a class="reference internal" href="#ipfilter" id=
- "id87" name=
- "id87">9.2 Ipfilter</a></li>
+ "id99" name=
+ "id99">9.2 Ipfilter</a></li>
<li>
<a class="reference internal" href=
- "#progettazione-di-un-firewall" id="id88" name=
- "id88">9.3 Progettazione di un
+ "#progettazione-di-un-firewall" id="id100" name=
+ "id100">9.3 Progettazione di un
firewall</a>
<ul class="auto-toc">
<li><a class="reference internal" href=
- "#collocazione" id="id89" name=
- "id89">9.3.1 Collocazione</a></li>
+ "#collocazione" id="id101" name=
+ "id101">9.3.1 Collocazione</a></li>
<li><a class="reference internal" href=
- "#policy-di-default" id="id90" name=
- "id90">9.3.2 Policy di
+ "#policy-di-default" id="id102" name=
+ "id102">9.3.2 Policy di
default</a></li>
<li><a class="reference internal" href="#hardware"
- id="id91" name=
- "id91">9.3.3 Hardware</a></li>
+ id="id103" name=
+ "id103">9.3.3 Hardware</a></li>
</ul>
</li>
<li><a class="reference internal" href=
"#percorso-dei-pacchetti-tra-tabelle-e-catene" id=
- "id92" name="id92">9.4 Percorso dei
+ "id104" name="id104">9.4 Percorso dei
pacchetti tra tabelle e catene</a></li>
<li>
<a class="reference internal" href=
- "#concetti-di-base" id="id93" name=
- "id93">9.5 Concetti di base</a>
+ "#concetti-di-base" id="id105" name=
+ "id105">9.5 Concetti di base</a>
<ul class="auto-toc">
<li><a class="reference internal" href=
- "#tabelle-catene-regole" id="id94" name=
- "id94">9.5.1 Tabelle, catene,
+ "#tabelle-catene-regole" id="id106" name=
+ "id106">9.5.1 Tabelle, catene,
regole</a></li>
<li><a class="reference internal" href="#match" id=
- "id95" name=
- "id95">9.5.2 Match</a></li>
+ "id107" name=
+ "id107">9.5.2 Match</a></li>
<li><a class="reference internal" href="#targets"
- id="id96" name=
- "id96">9.5.3 Targets</a></li>
+ id="id108" name=
+ "id108">9.5.3 Targets</a></li>
</ul>
</li>
<li><a class="reference internal" href=
- "#tabella-filter" id="id97" name=
- "id97">9.6 Tabella Filter</a></li>
+ "#tabella-filter" id="id109" name=
+ "id109">9.6 Tabella Filter</a></li>
<li><a class="reference internal" href=
- "#flush-automatico-per-macchine-remote" id="id98" name=
- "id98">9.7 Flush automatico per
+ "#flush-automatico-per-macchine-remote" id="id110"
+ name="id110">9.7 Flush automatico per
macchine remote</a></li>
<li><a class="reference internal" href=
- "#gestione-regole-rules" id="id99" name=
- "id99">9.8 Gestione regole
+ "#gestione-regole-rules" id="id111" name=
+ "id111">9.8 Gestione regole
(rules)</a></li>
<li>
<a class="reference internal" href=
- "#salvataggio-regole" id="id100" name=
- "id100">9.9 Salvataggio regole</a>
+ "#salvataggio-regole" id="id112" name=
+ "id112">9.9 Salvataggio regole</a>
<ul class="auto-toc">
<li><a class="reference internal" href=
- "#iptables-save" id="id101" name=
- "id101">9.9.1 Iptables-save</a></li>
+ "#iptables-save" id="id113" name=
+ "id113">9.9.1 Iptables-save</a></li>
<li><a class="reference internal" href=
- "#iptables-restore" id="id102" name=
- "id102">9.9.2 Iptables-restore</a></li>
+ "#iptables-restore" id="id114" name=
+ "id114">9.9.2 Iptables-restore</a></li>
</ul>
</li>
<li>
<a class="reference internal" href="#esempi" id=
- "id103" name="id103">9.10 Esempi</a>
+ "id115" name="id115">9.10 Esempi</a>
<ul class="auto-toc">
<li><a class="reference internal" href=
- "#bloccare-i-ping-dall-esterno" id="id104" name=
- "id104">9.10.1 Bloccare i ping
+ "#bloccare-i-ping-dall-esterno" id="id116" name=
+ "id116">9.10.1 Bloccare i ping
dall'esterno</a></li>
<li><a class="reference internal" href=
- "#masquerading-snat" id="id105" name=
- "id105">9.10.2 Masquerading
+ "#masquerading-snat" id="id117" name=
+ "id117">9.10.2 Masquerading
(sNAT)</a></li>
<li><a class="reference internal" href=
- "#brute-force" id="id106" name=
- "id106">9.10.3 Brute
+ "#brute-force" id="id118" name=
+ "id118">9.10.3 Brute
force</a></li>
</ul>
</li>
</ul>
</li>
- <li><a class="reference internal" href="#note" id="id107"
- name="id107">10 NOTE</a></li>
+ <li><a class="reference internal" href="#note" id="id119"
+ name="id119">10 NOTE</a></li>
</ul>
</div>
syntax on
" If using a dark background within the editing area and syntax highlighting
- " turn on this option as well
+ " turn on this option as well.
set background=dark
" Uncomment the following to have Vim jump to the last position when
" Uncomment the following to have Vim load indentation rules and plugins
" according to the detected filetype.
+ " This is not recommanded if you often copy and paste into vim,
+ " as it messes all the indentation.
if has("autocmd")
filetype plugin indent on
endif
+ " This goes for comments folding: use co to expnad and zc to compress,
+ " zi to toggle on/off
+ set fdm=expr
+ set fde=getline(v:lnum)=~'^\\s*#'?1:getline(prevnonblank(v:lnum))=~'^\\s*#'?1:getline(nextnonblank(v:lnum))=~'^\\s*#'?1:0
+
" The following are commented out as they cause vim to behave a lot
" differently from regular Vi. They are highly recommended though.
set showcmd " Show (partial) command in status line.
"set showmatch " Show matching brackets.
+ # Ignorecase is quite userfull
set ignorecase " Do case insensitive matching
"set smartcase " Do smart case matching
"set incsearch " Incremental search
<ul class="simple">
<li><tt class="docutils literal"><span class=
- "pre">deb</span></tt> per pacchetti Debian binari</li>
+ "pre">deb</span></tt> per pacchetti Debian binari,
+ pronti per l'installazione.</li>
<li><tt class="docutils literal"><span class=
"pre">deb-src</span></tt> per i pacchetti sorgenti
# Archivio principale debian via http su piffa.net,
# non funziona al di fuori dell'aula dei corsi
-deb http://debian.piffa.net/debian/ Lenny main
+deb http://debian.piffa.net/debian/ lenny main
# Sono disponibili anche i rami non-free contrib
# deb http://debian.piffa.net/debian/ lenny non-free contrib
+# Sono disponibili anche le release unstable e testing
+# deb http://debian.piffa.net/debian/ testing main non-free contrib
+# deb http://debian.piffa.net/debian/ sid main non-free contrib
-# Mirror da kernel.org da usare a casa:
+# Mirror da kernel.org europa da usare a casa:
deb http://mirrors.eu.kernel.org/debian/ lenny main
# Security dal sito principale
deb-src http://volatile.debian.org/debian-volatile Lenny/volatile main
# Esempio di accesso a un file system locale contenente i pacchetti:
-# deb file:/mnt/mirror Sid main non-free contrib
+# Potete scaricarei in aula con debmirror da debian.piffa.net
+# un mirror locale da usare poi a casa anche senza internet
+# deb file:/mnt/mirror sid main non-free contrib
</pre>
</div>
richiesta del browser, una pagina web (spesso scritta in
HTML). Le informazioni inviate dal server web viaggiano in
rete trasportate dal protocollo HTTP. L'insieme di server web
- dà vita al World Wide Web, uno dei servizi piu'
- utilizzati di Internet.</p>
+ da' vita al World Wide Web, uno dei servizi piu' utilizzati
+ di Internet.</p>
<div class="section" id="pacchetti-da-installare">
<h2><a class="toc-backref" href=
</ul>
</blockquote>
+ <p>Predisponendo l'infrastruttura di rete della vostra LAN
+ e' consigliabile impostare sempre un DNS cache sul vostro
+ server locale per i vari client. In questo modo in caso di
+ malfunzionamento del DNS o necessita' di intervenire /
+ sostituire i DNS non sara' piu' necessario dover
+ reimpostare ogni singolo client della LAN: bastera'
+ modificare l'impostazione del server DNS cache, ad esempio
+ per utilizzare un nuovo forwarder, o modificare al volo un
+ record DNS. La modifica, anche detta
+ <em>mascheramento</em>, di un record come il <em>server
+ smtp</em> o un <em>MX</em> potrebbe tirarvi rapidamente
+ fuori dai guai nel caso di un problema improvviso con la
+ posta elettronica o qualunque altro servizio che possiate
+ reindirizzare col DNS.</p>
+
+ <p>Un server DHCP e un DNS cache come <tt class=
+ "docutils literal"><span class="pre">Dnsmasq</span></tt>
+ possono permettervi di risolvere al volo (o per lo meno
+ reindirizzare) molte delle problematiche relative alla
+ configurazione della rete della vostra LAN: dover
+ intervenire manualmente su decine di client per modificare
+ le impostazioni di SMTP | gateway | SMTP | proxy.</p>
+
<p>Si veda anche la pagina man di resolv.conf.</p>
- <p>Attenzione: se si usa un client DHCP o simile questo
- file potra' essere riscritto automaticamente in base a
- quanto ottenuto dal DHCP. Si veda la documentazione del
- pacchetto <tt class="docutils literal"><span class=
- "pre">resolvconf</span></tt>.</p>
+ <div class="warning">
+ <p class="first admonition-title">Avvertenza</p>
+
+ <p class="last">Attenzione: se si usa un client DHCP, ppp
+ (ADSL compresa) o simile questo file potrebbe' essere
+ riscritto automaticamente in base a quanto ottenuto dal
+ DHCP. Si veda la documentazione del pacchetto <tt class=
+ "docutils literal"><span class=
+ "pre">resolvconf</span></tt>.</p>
+ </div>
</div>
<div class="section" id="etc-hosts">
</blockquote>
<p>Il contenuto e' un associazione tra un <em>IP</em> e
- stringhe di testo (anche piu' di una es: <tt class=
+ stringhe di testo (anche piu' di una per IP) es: <tt class=
"docutils literal"><span class="pre">mirror</span></tt> e
<tt class="docutils literal"><span class=
- "pre">mirror.piffa.net</span></tt>), un record per
- riga.</p>
+ "pre">mirror.piffa.net</span></tt>.</p>
<p>Il problema e' la gestione di questo file: quando gli
host cambiano IP si devono aggiornare i records, e poi c'e'
questo file e' utilizzare <tt class=
"docutils literal"><span class="pre">Dnsmasq</span></tt>:
questo infatti legge e onora il file <tt class=
- "docutils literal"><span class="pre">hosts</span></tt>
- locale e lo <em>distribuisce</em> ai clients.</p>
+ "docutils literal"><span class="pre">hosts</span></tt> che
+ avete prodotto e lo <em>distribuisce</em> ai clients
+ tramite le normali query DNS.</p>
<p>Modificare (riconducendola a un IP interno, cosi'
annullandola) la risoluzione di un nome di dominio e' un
"#id59">5 DNSmasq</a></h1>
<p>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 <cite>server per il boot da rete
+ forwarder, server DHCP, e' caratterizzato dalla facilita' di
+ configurazione, limitato uso di risorse, adattabilita' a
+ connessioni <em>dinamiche</em> come ADSL o altre punto a
+ punto (anche via cellulari) per condividere rapidamente la
+ rete (cosa molto utile se ci dovesse trovare a ridare
+ connettetivita' a una rete momentaneamente sprovvista), dalla
+ possibilita' di modificare rapidamente i record DNS serviti
+ alla rete anche grazie alla distribuzione del file <tt class=
+ "docutils literal"><span class="pre">/etc/hosts</span></tt>
+ locale. Puo' essere anche utilizzato come <cite>server per il
+ boot da rete
<http://www.debian-administration.org/articles/478>_</cite>
.</p>
<p>Dnsmasq e' un interessante alternativa all'uso del server
- DNS Bind in modalita' cache-only (non autoritativo)
- accompagnato dal server DHCPd. I vantaggi sono:</p>
+ DNS Bind in modalita' <em>forwarding e cache-only</em> (non
+ autoritativo) accompagnato dal server DHCPd. I vantaggi
+ sono:</p>
<ul class="simple">
<li>Leggerezza: puo' essere fatto girare su una macchina
<h2><a class="toc-backref" href=
"#id62">5.3 DNS cache</a></h2>
- <p>Aggiungere al file <tt class=
- "docutils literal"><span class=
+ <p>Dnsmasq lavora di default come cache dns: inserire al
+ file <tt class="docutils literal"><span class=
"pre">/etc/resolv.conf</span></tt> il nameserver localhost
- in cima alla lista dei <em>nameserver</em> disponibili.
- Dnsmasq usera' la propria cache e in caso non abbia
- disponibile il <em>record DNS</em> richiesto fara' partire
- una query al primo DNS:</p>
- <pre class="literal-block">
-nameserver 127.0.0.1
-</pre>
+ in cima alla lista dei <em>nameserver</em> disponibili.</p>
+
+ <blockquote>
+ nameserver 127.0.0.1
+ </blockquote>
<p>Questo pero' potrebbe essere problematico se un altro
servizio, ad esempio il DHCP client, riscrive il contenuto
allow-query {"localnet" ;} ;
</pre>
</div>
+
+ <div class="section" id="ospitare-una-zona">
+ <h2><a class="toc-backref" href=
+ "#id65">6.2 Ospitare una zona</a></h2>
+
+ <p>Se avete acquistato un nome di dominio e vi serve un
+ software DNS per gestirlo Bind e' la scelta piu' diffusa.
+ Ora vedremo come configurare una <em>zona</em> (come
+ piffa.net) in modo che Bind sia autoritativoper questa,
+ rispondendo alle query DNS di tutta la rete internet.</p>
+
+ <div class="section" id="named-conf-local">
+ <h3><a class="toc-backref" href=
+ "#id66">6.2.1 named.conf.local</a></h3>
+
+ <p>Prima di tutti impostiamo il server bind per gestire
+ la zona, per non fare confusione e' opportuno inserire le
+ propie zone DNS nel file <tt class=
+ "docutils literal"><span class=
+ "pre">named.conf.local</span></tt> e non in <tt class=
+ "docutils literal"><span class=
+ "pre">named.conf</span></tt>.</p>
+
+ <p>named.conf.local:</p>
+ <pre class="literal-block">
+/
+// Do any local configuration here
+//
+
+// Consider adding the 1918 zones here, if they are not used in your
+// organization
+//include "/etc/bind/zones.rfc1918";
+
+zone "piffa.net" {
+ type master;
+ file "/etc/bind/pz/piffa.net";
+ }
+</pre>
+
+ <dl class="docutils">
+ <dt>type master</dt>
+
+ <dd>Il nostro server DNS sara' il principale, al quale
+ poi potremo affiancare dei DNS secondari nel caso
+ questo non sia disponibile.</dd>
+
+ <dt>file "/etc/bind/pz/piffa.net"</dt>
+
+ <dd>Dove verranno inserite le informazioni vere e
+ propie di questa zona.</dd>
+ </dl>
+ </div>
+
+ <div class="section" id="configurazione-della-zona">
+ <h3><a class="toc-backref" href=
+ "#id67">6.2.2 Configurazione della
+ zona</a></h3>
+
+ <p>Ora dovremo preparare il file contenente i record DNS
+ della zona <em>piffa.net</em>, come abbiamo indicato
+ prima questi saranno contenuti nel file <tt class=
+ "docutils literal"><span class=
+ "pre">/etc/bind/pz/piffa.net</span></tt> . Tenere le zone
+ dentro una sottocartella e' buona abitudine, usare
+ <tt class="docutils literal"><span class=
+ "pre">pz</span></tt> per queste e' una vecchia
+ abitudine.</p>
+
+ <p>piffa.net:</p>
+ <pre class="literal-block">
+; Zona per il dominio di secondo livello piffa.net
+
+$TTL 3D ; 3 days
+@ IN SOA ns1.piffa.net. hostmaster.piffa.net. (
+ 200905245 ; serial
+ 8H ; refresh (8 hours)
+ 2H ; retry (2 hours)
+ 4W ; expire (4 weeks)
+ 1D ; minimum (1 day)
+ )
+;
+ NS ns1
+ NS ns2
+ A 94.23.63.105
+ MX 10 smtp
+ TXT "Piffanet main site"
+;
+ns1 A 94.23.63.105
+ns2 A 65.98.21.97
+zoo A 94.23.63.105
+smtp A 94.23.63.105
+test.piffa.net. A 94.23.63.105
+*.piffa.net. A 94.23.63.105 ; *catch all domain
+www CNAME zoo
+ftp CNAME zoo
+</pre>
+
+ <p>All'interno di questo file si possono inserire dei
+ commenti con il carattere <tt class=
+ "docutils literal"><span class="pre">;</span></tt>
+ (punto-e-virgola), si faccia attenzione alla rigida
+ sintassi: apertura e chiusura delle parentesi tonde nella
+ parte <tt class="docutils literal"><span class=
+ "pre">IN</span> <span class="pre">SOA</span></tt>, uso
+ del <tt class="docutils literal"><span class=
+ "pre">punto</span></tt> finale per precisare un nome di
+ dominio specifico (<em>FQDN</em>: Fully-qualified Domain
+ Name) come <tt class="docutils literal"><span class=
+ "pre">test.piffa.net.</span></tt> a differenza degli
+ altri domini di terzo livello come <tt class=
+ "docutils literal"><span class=
+ "pre">pop,imap,smtp</span></tt> .</p>
+
+ <p>La zona inizia con una direttiva <tt class=
+ "docutils literal"><span class="pre">$TTL</span>
+ <span class="pre">3D</span></tt> (RFC 2308) che indica la
+ durata (in questo caso tre giorni) che ogni record
+ dovrebbe avrebbe nella cache degli altri serber DNS.
+ Questo valore dovrebbe essere superiore a un giorno, se
+ non modificate spesso i valori dei vostri record DNS e'
+ consigliabile settarlo a 2/3 settimane in modo da
+ limitare la frequenza delle query al propio server.
+ Questo parametro puo' essere modificato per singoli
+ record:</p>
+ <pre class="literal-block">
+$TTL 3D ; 3 giorni: default se non specificato altrimenti
+rapido 5h IN A 94.23.63.105 ; usa un TTL di 5 ore
+lento 3w IN A 94.23.63.105 ; usa un TTL di 3 settimane
+normale IN A 94.23.63.105 ; usa il TTL di default: 3 giorni
+</pre>
+
+ <p>Segue poi il nome della zona, indicato con la
+ <tt class="docutils literal"><span class=
+ "pre">@</span></tt> per richiamare la zona originale
+ precisata nel file <tt class=
+ "docutils literal"><span class=
+ "pre">named.conf.options</span></tt> . Segue il campo
+ <tt class="docutils literal"><span class=
+ "pre">SOA</span></tt>.</p>
+
+ <div class="section" id="soa-start-of-authority-record">
+ <h4><a class="toc-backref" href=
+ "#id68">6.2.2.1 SOA: Start of
+ Authority Record</a></h4>
+
+ <p>Il record SOA puo' comparire solo una volta in una
+ zona, contiene informazioni relative all'autorita' del
+ server DNS.</p>
+
+ <dl class="docutils">
+ <dt>ns1.piffa.net. name-server</dt>
+
+ <dd>primary master DNS di questo dominio.</dd>
+
+ <dt>hostmaster.piffa.net. email-addr</dt>
+
+ <dd>email-addr: indirizzo email della persona
+ responsabile di questa zona, il primo punto viene
+ tradotto in una <em>chiocciola</em> <tt class=
+ "docutils literal"><span class="pre">@</span></tt>
+ dato che questo carattere ha un'altro utilizzo
+ all'interno di questo file. Il referente della zona
+ <strong>deve</strong> essere un email valido e
+ controllato, come consuetudine si usa <tt class=
+ "docutils literal"><span class=
+ "pre">hostmaster@dominio.tilde</span></tt> .</dd>
+
+ <dt>200905245 serial number</dt>
+
+ <dd>Questo valore serve per indicare quando e' stato
+ modificato questo file di configurazione, secondo il
+ formato <tt class="docutils literal"><span class=
+ "pre">yyyymmddss</span></tt>: <tt class=
+ "docutils literal"><span class="pre">yyyy</span></tt>
+ = anno, ''mm'' = mese, ''dd'' = giorno, ''ss'' =
+ seriale. Il seriale che deve essere sempre
+ specificato anche per una cifra, va incrementato di
+ una unita' nel caso vengano fatte piu' modifiche
+ <em>nello stesso giorno</em>.</dd>
+
+ <dt>8H refresh</dt>
+
+ <dd>Indica ai DNS secondari quanto tempo attendere
+ per cercare di aggiornare i loro dati con il DNS
+ master.</dd>
+
+ <dt>2H retry</dt>
+
+ <dd>Intervallo di tempo per il DNS slave (secondario)
+ da aspettare prima di cercare di ricontattare il
+ <em>master</em> in caso di problemi col
+ <em>refresh</em>.</dd>
+
+ <dt>4W expire</dt>
+
+ <dd>Indica quando i dati dei dns secondarinon sono
+ piu' autoritativi in caso di impossibilita' degli
+ <em>slaves</em> di ri-aggiornarsi con il
+ <em>master</em>. Consigliato un valore di 2/4
+ settimane.</dd>
+
+ <dt>1D minimum</dt>
+
+ <dd>Questo valore indicava il TTL fino alla versione
+ 8 di Bind, da Bind 9 e secondo la RFC2308 indica la
+ durata del <em>negative caching</em>, quanto i
+ resolvers (ad esempio un server dns cache) puo'
+ mantenere un record <em>negativo</em> (che non indica
+ la corrispondenza tra un nome di dominio e un ip, ma
+ la non esistenza del record). Nell'uso per il
+ negative caching viene fissato un valore massimo di 3
+ ore dalla RFC 2308.</dd>
+ </dl>
+ </div>
+
+ <div class="section" id="altri-campi">
+ <h4><a class="toc-backref" href=
+ "#id69">6.2.2.2 Altri campi:</a></h4>
+
+ <p>All'interno della zona possono essere utilizati vari
+ tipi di records (RR):</p>
+
+ <dl class="docutils">
+ <dt>TXT</dt>
+
+ <dd>Informazioni testuali associate ad un record</dd>
+
+ <dt>NS</dt>
+
+ <dd>Name Server della zona. Non deve essere un
+ cname.</dd>
+
+ <dt>A</dt>
+
+ <dd>Indirizzo ipv4 da associare al record</dd>
+
+ <dt>AAA</dt>
+
+ <dd>Indirizzo ipv6 da associare al record</dd>
+
+ <dt>CNAME</dt>
+
+ <dd>Canonical Name: un alias per un host: ad esempio
+ per il dominio piffa.net possiamo settare degli alias
+ come <tt class="docutils literal"><span class=
+ "pre">www.piffa.net,</span> <span class=
+ "pre">http.piffa.net,</span> <span class=
+ "pre">virtual.piffa.net,</span> <span class=
+ "pre">ftp.piffa.net,</span> <span class=
+ "pre">imap.piffa.net</span></tt>. Comodo quando
+ diversi alias sono sempre riferiti allo stesso
+ ip.</dd>
+
+ <dt>MX</dt>
+
+ <dd>Mail Exchanger: server di posta che si occupera'
+ della posta elettronica per questo dominio.E'
+ opportuno avere almeno un server di posta di back-up,
+ per indicare la priorita' di un MX rispettoad un
+ altro si usa un valore di 2 cifre: il valore piu'
+ basso indica priorita' piu' bassa. Es: <tt class=
+ "docutils literal"><span class=
+ "pre">MX</span> <span class=
+ "pre">10</span> <span class=
+ "pre">smtp.piffa.net.</span></tt> per il server SMTP
+ principale e <tt class=
+ "docutils literal"><span class="pre">MX</span>
+ <span class="pre">40</span> <span class=
+ "pre">smtp2.piffa.net</span></tt> per il secondario.
+ Non deve essere un cname.</dd>
+
+ <dt>PTR</dt>
+
+ <dd>Reverse look-up, usato per la mappatura inversa
+ di un indirizzo ip a una stringa identificativa
+ dell'host. Si noti che per poter modificare questi
+ record si deve avere <em>in gestione</em> la <em>zona
+ IP</em>, se cosi' non fosse si dovra' chiedere al
+ propio provider la modifica di questo record per il
+ propio ip. Links: <a class="reference external" href=
+ "http://www.zytrax.com/books/dns/ch3/">http://www.zytrax.com/books/dns/ch3/</a></dd>
+ </dl>
+ </div>
+ </div>
+ </div>
+
+ <div class="section" id="dns-slave">
+ <h2><a class="toc-backref" href=
+ "#id70">6.3 DNS slave</a></h2>
+
+ <p>Data l'importanza del servizio DNS e' necessario avere
+ ridondanza per i server DNS che ospitano i vostri dati: in
+ caso di indisponibilita' del server <em>master</em> (nel
+ caso fosse il solo a tenere i dati questo comporterebbe la
+ <em>scomparsa</em> di tutti i servizi / host da esso
+ seviti!) il client potrebbe contattare uno degli
+ <em>slave</em>.</p>
+
+ <p>Gli slave recuperano i dati dei recordos RR direttamente
+ dal master e non sara' quindi necessario dover mantenere
+ manualmente il file di configurazione della zona sugli
+ slaves, ogni volta che aggiorneremo il master questi dati
+ si propaghera' agli slaves automaticamente.</p>
+
+ <p>Per attivare uno <em>slave</em> per la nostra zona di
+ esempio <tt class="docutils literal"><span class=
+ "pre">piffa.net</span></tt> si inserisca nel file
+ <tt class="docutils literal"><span class=
+ "pre">named.conf.local</span></tt> dello slave server:</p>
+ <pre class="literal-block">
+zone "piffa.net" {
+ type slave;
+ file "/etc/bind/pz/piffa.net";
+ masters { 192.168.0.1; };
+ };
+</pre>
+
+ <p>Facendo ripartire Bind il file <tt class=
+ "docutils literal"><span class=
+ "pre">/etc/bind/pz/piffa.net</span></tt> viene creato
+ automaticamente.</p>
+
+ <p>Segue un estratto di <tt class=
+ "docutils literal"><span class=
+ "pre">/var/log/syslog</span></tt> al <tt class=
+ "docutils literal"><span class="pre">restart</span></tt> di
+ <tt class="docutils literal"><span class=
+ "pre">bind9</span></tt> sullo slave:</p>
+ <pre class="literal-block">
+... slave named[2256]: zone piffa.net/IN: loaded serial 200905245
+... slave named[2256]: running
+... slave named[2256]: zone piffa.net/IN: sending notifies (serial 200905245)
+... slave named[2256]: client 192.168.0.1#1464: received notify for zone 'piffa.net'
+... slave named[2256]: zone piffa.net/IN: notify from 192.168.0.1#1464: zone is up to date
+</pre>
+
+ <div class="warning">
+ <p class="first admonition-title">Avvertenza</p>
+
+ <p class="last">Bind9 (versione 9.3 presente in Debian
+ Lenny) richiede una esplicita autorizzazione alla
+ notifica per lo stesso server slave, che in fase di avvio
+ interroghera' (inviando un notify) se' stesso per
+ valutare se i dati relativi alla zona di cui e' slave
+ sono aggiornati. Si aggiunga quindi al file <tt class=
+ "docutils literal"><span class=
+ "pre">/etc/bind/named.conf.options</span></tt> dello
+ slave: <tt class="docutils literal"><span class=
+ "pre">allow-notify</span> <span class="pre">{</span>
+ <span class="pre">192.168.0.1;</span> <span class=
+ "pre">};</span></tt> all'interno della stanza <tt class=
+ "docutils literal"><span class="pre">options</span></tt>,
+ in cui l'inidirizzo IP inserito e' quello dello stesso
+ slave server.</p>
+ </div>
+ </div>
+
+ <div class="section" id="aggiornamento-dinamico-nsupdate">
+ <h2><a class="toc-backref" href=
+ "#id71">6.4 Aggiornamento dinamico:
+ nsupdate</a></h2>
+
+ <p>Dalla versione 8 di Bind e' dsponibile l'utility
+ <tt class="docutils literal"><span class=
+ "pre">nsupdate</span></tt> (disponibile nel pacchetto
+ <tt class="docutils literal"><span class=
+ "pre">dnsutils</span></tt>) per aggiornare automaticamente
+ i record di una zona secondo il paradigma client / server (
+ RFC2136 ) . Posto che abbiate a disposizione un server DNS
+ Bind on-line su un indirizzo IP fisso e un zona da gestire
+ (che potrebbe essere anche solo la delega di un dominio di
+ terzo livello come <em>casa.miodominio.net</em>) sara'
+ possibile aggiornare automaticamente i record che tirano a
+ degli indirizzi IP <em>pubblici ma dnamici</em>, come
+ quelli spesso messi a disposizione dei provider per le
+ connessioni ad internet residenziali, in modo da poter
+ rendere sempre raggiungibile la vostra workstation a casa
+ anche dopo un aggiornamento dell'ip dinamico associato alla
+ connessione.</p>
+
+ <p>L'auenticazione del client nsupdate che avra' la
+ possibilita' di aggiornare il server DNS master avviene
+ tramite <em>Transaction signatures</em> (TSIG, RFC2845)
+ usando un algoritmo di criptazione dati asimmetrico
+ <em>HMAC-MD5</em> : generata una coppia di chiavi sul
+ client / nsupdate con l'utility si dovra' trasferire la
+ chiave pubblica sul server <em>master</em>, che verra'
+ configurato per onorare gli aggiornamenti (eliminazione e
+ inserimento di record RR) autenticati dalla chiave
+ privata.</p>
+
+ <div class="section" id="configurazione-client-nsupdate">
+ <h3><a class="toc-backref" href=
+ "#id72">6.4.1 Configurazione client
+ (nsupdate)</a></h3>
+
+ <p>Sul client, sul quale non deve essere necessariamente
+ installato un server DNS Bind ma la sola utility
+ <tt class="docutils literal"><span class=
+ "pre">nsupdate</span></tt>, generiamo la coppia di chiavi
+ con l'utility <tt class="docutils literal"><span class=
+ "pre">dnssec-keygen</span></tt> installabile tramite il
+ pacchetto <tt class="docutils literal"><span class=
+ "pre">bind9utils</span></tt>:</p>
+ <pre class="literal-block">
+dnssec-keygen -a HMAC-MD5 -b 512 -n USER home.piffa.net.
+</pre>
+
+ <p>Otterremo le due chiavi <tt class=
+ "docutils literal"><span class=
+ "pre">Khome.piffa.net.+157+04331.key</span>
+ <span class=
+ "pre">Khome.piffa.net.+157+04331.private</span></tt>, la
+ chiave pubblica dovra' essere resa noto al server master
+ che ricevera' l'update dei records.</p>
+ </div>
+
+ <div class="section" id=
+ "configurazione-server-riconoscimento-chiave">
+ <h3><a class="toc-backref" href=
+ "#id73">6.4.2 Configurazione server:
+ riconoscimento chiave</a></h3>
+
+ <dl class="docutils">
+ <dt>Per rendere nota al server la chiave pubblica
+ generata sul client si aggiunga quindi al file
+ <tt class="docutils literal"><span class=
+ "pre">/etc/bind/named.conf</span></tt> sul
+ server::</dt>
+
+ <dd>
+ <dl class="first last docutils">
+ <dt>key home.piffa.net. {</dt>
+
+ <dd>algorithm HMAC-MD5; secret
+ "txfAkNTScANEu2V73mCeiDpXNc3pmf+7ONOoKnTKQKIZMzierSmeHjK5
+ Z8ntnByt/PJwv26jCIsVh8n+xzVsRw=="; };</dd>
+ </dl>
+ </dd>
+ </dl>
+
+ <div class="note">
+ <p class="first admonition-title">Nota</p>
+
+ <p class="last">La parte <tt class=
+ "docutils literal"><span class=
+ "pre">secret</span></tt>, che potete leggere
+ direttamente nel file *.key della chiave genearta, e'
+ scritto <em>tutto sulla stessa riga</em> senza ritorni
+ a capo.</p>
+ </div>
+ </div>
+
+ <div class="section" id="server-gestione-dell-intera-zona">
+ <h3><a class="toc-backref" href=
+ "#id74">6.4.3 Server: gestione
+ dell'intera zona</a></h3>
+
+ <p>Sul server modifichiamo il file di configurazione
+ <tt class="docutils literal"><span class=
+ "pre">named.conf.local</span></tt> della zona della quale
+ vogliamo concedere l'aggiornamento al client:</p>
+ <pre class="literal-block">
+zone "piffa.net" {
+ type master;
+ file "/etc/bind/pz/piffa.net" ;
+ allow-update {
+ key home.piffa.net;
+ };
+};
+</pre>
+
+ <dl class="docutils">
+ <dt>Sara' necessario assicurarsi che il demone di Bind
+ sia in grado di modificare il file <tt class=
+ "docutils literal"><span class=
+ "pre">/etc/bind/pz/piffa.net</span></tt>: dato che
+ questo file ora sara' gestito da lui si proceda a
+ cedergli la propieta' del file::</dt>
+
+ <dd>chown bind /etc/bind/pz/piffa.net</dd>
+ </dl>
+
+ <p>Altro problema che si potrebbe porre: gli orologi di
+ sistema dei due host devono essere sincronizzati per
+ poter valutare l'opportunita' di un aggiornamento: si
+ consigla di installare su entrambi l'utility <tt class=
+ "docutils literal"><span class="pre">ntpdate</span></tt>
+ e di eseguirla facendo riferimento ai time server di
+ Debian:</p>
+ <pre class="literal-block">
+apt-get install ntpdate
+ntpdate-debian
+</pre>
+
+ <p>Ora possiamo provare dal client a effettuare
+ l'iserimento di un record per testarne il
+ funzionamento:</p>
+ <pre class="literal-block">
+# nsupdate -k Khome.piffa.net.+157+04331.private -v
+> server ns1.piffa.net
+> update add home.piffa.net. 86400 A 192.168.0.2
+> show
+Outgoing update query:
+;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id: 0
+;; flags: ; ZONE: 0, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0
+;; UPDATE SECTION:
+home.piffa.net. 86400 IN A 192.168.0.1
+
+
+> send
+</pre>
+
+ <p>Per comprendere meglio l'uso dell'utility <tt class=
+ "docutils literal"><span class="pre">nsupdate</span></tt>
+ si consiglia la lettura della relativa pagina man. Nella
+ prima riga viene invocato il comando <tt class=
+ "docutils literal"><span class="pre">nsupdate</span></tt>
+ impostando col <em>flag</em> <tt class=
+ "docutils literal"><span class="pre">-k</span></tt> la
+ chiave <em>privata</em> generata precedentemente, con
+ <tt class="docutils literal"><span class=
+ "pre">server</span></tt> si imposta quale server NS
+ autoritario della zona (che abbiamo precedentemente
+ configurato per ricevere gli aggiornamenti) vogliamo
+ contattare. Alla riga sucessiva <tt class=
+ "docutils literal"><span class="pre">update</span></tt>
+ viene aggiunto un record <tt class=
+ "docutils literal"><span class="pre">A</span></tt> per la
+ il dominio <tt class="docutils literal"><span class=
+ "pre">home.piffa.net</span></tt> indirizzato all'IP
+ <tt class="docutils literal"><span class=
+ "pre">192.168.0.2</span></tt>, poi <tt class=
+ "docutils literal"><span class="pre">show</span></tt>
+ mostra quanto ci si prepara a comunicare al server con il
+ finale <tt class="docutils literal"><span class=
+ "pre">send</span></tt> .</p>
+
+ <p>Si noti che in questo modo <em>l'intera</em> zona
+ piffa.net e suscettibile di essere modificata dal client,
+ che potra' eliminare e inserire qualunque record. E'
+ possibile gestire in modo piu' granulare la zona, ad
+ esempio concedendo al client i privilegi per gestire solo
+ una parte della zona o i tipo di record da gestire.</p>
+ </div>
+ </div>
+
+ <div class="section" id="link-suggeriti">
+ <h2><a class="toc-backref" href=
+ "#id75">6.5 Link suggeriti:</a></h2>
+
+ <ul class="simple">
+ <li>DNS for Rocket Scientists <a class=
+ "reference external" href=
+ "http://www.zytrax.com/books/dns/">http://www.zytrax.com/books/dns/</a></li>
+
+ <li>DNS HOWTO <a class="reference external" href=
+ "http://www.langfeldt.net/DNS-HOWTO/BIND-9/">http://www.langfeldt.net/DNS-HOWTO/BIND-9/</a></li>
+ </ul>
+ </div>
</div>
<div class="section" id="samba">
<h1><a class="toc-backref" href=
- "#id65">7 Samba</a></h1>
+ "#id76">7 Samba</a></h1>
<p>Samba e' un progetto libero che fornisce servizi di
condivisione di file e stampanti a client SMB/CIFS.</p>
<div class="section" id="pacchetti">
<h2><a class="toc-backref" href=
- "#id66">7.1 Pacchetti</a></h2>
+ "#id77">7.1 Pacchetti</a></h2>
<p>Pacchetti da installare per utilizzare Samba in
modalita' client <a class="footnote-reference" href="#id6"
<div class="section" id="passwords-e-autenticazione">
<h2><a class="toc-backref" href=
- "#id67">7.2 Passwords e
+ "#id78">7.2 Passwords e
autenticazione</a></h2>
<p>Per poter configurare Samba in modo che usi un sistema
<div class="section" id="creazione-utenti">
<h2><a class="toc-backref" href=
- "#id68">7.3 Creazione Utenti</a></h2>
+ "#id79">7.3 Creazione Utenti</a></h2>
<p>Creiamo per primo l'utente sotto GNU/Linux, facendo
attenzione a <em>non dargli una shell di sistema</em>. Gli
<div class="section" id="creare-la-condivisione">
<h2><a class="toc-backref" href=
- "#id69">7.4 Creare la
+ "#id80">7.4 Creare la
condivisione</a></h2>
<p>La condivisione altro non e' che una cartella sul server
<div class="section" id=
"sicurezza-permessi-di-esecuzione-sul-server">
<h3><a class="toc-backref" href=
- "#id70">7.4.1 Sicurezza: permessi di
+ "#id81">7.4.1 Sicurezza: permessi di
esecuzione sul server</a></h3>
<p>Bisognerebbe notare sul server i permessi di
<div class="section" id=
"configurazione-dell-applicativo-samba-vero-e-proprio">
<h2><a class="toc-backref" href=
- "#id71">7.5 Configurazione
+ "#id82">7.5 Configurazione
dell'applicativo Samba vero e proprio.</a></h2>
<p>Avendo preparato gli utenti (ancora una volta: non si
<tt class="docutils literal"><span class="pre">#</span>
<span class="pre">/etc/init.d/samba</span> <span class=
"pre">restart</span></tt> .</p>
+
+ <div class="section" id="creazione-di-un-gruppo">
+ <h3><a class="toc-backref" href=
+ "#id83">7.5.1 Creazione di un
+ gruppo</a></h3>
+
+ <p>Se si deve condividere una risorsa con un numero
+ consistente di utenti e' consigliabile lavorare in
+ termini termini di gruppi piuttosto che elencare la lista
+ degli utenti in <tt class="docutils literal"><span class=
+ "pre">valid</span> <span class=
+ "pre">users</span></tt>.</p>
+
+ <p>Dopo aver creato il gruppo del quale volete facciano
+ parte i vostri utenti (<tt class=
+ "docutils literal"><span class="pre">addgroup</span>
+ <span class="pre">nome_gruppo</span></tt>), inserite i
+ vostri utenti nel gruppo (<tt class=
+ "docutils literal"><span class="pre">adduser</span>
+ <span class="pre">nome_utente</span> <span class=
+ "pre">nome_gruppo</span></tt>) e modificate la direttiva
+ <tt class="docutils literal"><span class=
+ "pre">valid</span> <span class="pre">users</span></tt> in
+ <tt class="docutils literal"><span class=
+ "pre">smb.conf</span></tt> per riferirsi ad un gruppo
+ piuttosto che a degli utenti. Per riferirsi a un gruppo
+ si usi il carattere <tt class=
+ "docutils literal"><span class="pre">@</span>
+ <span class="pre">chicciola</span></tt> col <tt class=
+ "docutils literal"><span class=
+ "pre">nome_del_gruppo</span></tt>:</p>
+ <pre class="literal-block">
+# Negoziazione degli accessi su base gruppo
+valid users = @nome_gruppo
+</pre>
+ </div>
</div>
<div class="section" id="testare-il-servizio">
<h2><a class="toc-backref" href=
- "#id72">7.6 Testare il Servizio</a></h2>
+ "#id84">7.6 Testare il Servizio</a></h2>
<p>Come testare il servizio</p>
<div class="section" id="server-di-posta-postfix">
<h1><a class="toc-backref" href=
- "#id73">8 Server di posta: Postfix</a></h1>
+ "#id85">8 Server di posta: Postfix</a></h1>
<p>Il server di posta che prenderemo in considerazione e'
Postfix, a seguire un estratto di un file di configurazione
# 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 = +
<div class="section" id="test-del-server-smtp">
<h2><a class="toc-backref" href=
- "#id74">8.1 Test del server smtp</a></h2>
+ "#id86">8.1 Test del server smtp</a></h2>
<p>Per testare il corretto funzionamento del server di
posta si puo' procedere in vari modi.</p>
<div class="section" id="swaks">
<h3><a class="toc-backref" href=
- "#id75">8.1.1 Swaks</a></h3>
+ "#id87">8.1.1 Swaks</a></h3>
<dl class="docutils">
<dt>Per gli utenti meno esperti e' consigliabile
<div class="section" id="imap-e-pop">
<h2><a class="toc-backref" href=
- "#id76">8.2 Imap e pop</a></h2>
+ "#id88">8.2 Imap e pop</a></h2>
<p>Postfix e' un server SMTP, di conseguenza se volete che
i vostri utenti possano <em>scaricare</em> in locale la
<div class="section" id="client-a-riga-di-comando">
<h2><a class="toc-backref" href=
- "#id77">8.3 Client a riga di
+ "#id89">8.3 Client a riga di
comando</a></h2>
<p>Per testare il corretto funzionamento del server di
<div class="section" id="mailx">
<h3><a class="toc-backref" href=
- "#id78">8.3.1 mailx</a></h3>
+ "#id90">8.3.1 mailx</a></h3>
<dl class="docutils">
<dt>Uno dei client piu' semplici, sopratutto per
<div class="section" id="mutt">
<h3><a class="toc-backref" href=
- "#id79">8.3.2 Mutt</a></h3>
+ "#id91">8.3.2 Mutt</a></h3>
<p>Mutt e' uno dei gestori di posta preferiti da chi
preferisce utilizzare l'interfaccia testuale per la
<div class="section" id="web-client">
<h3><a class="toc-backref" href=
- "#id80">8.3.3 Web client</a></h3>
+ "#id92">8.3.3 Web client</a></h3>
<p>Per mettere a disposizione degli utenti un client web
per gestire la propria posta si installi il pacchetto:
file di configurazione di squirrelmail:</p>
<pre class="literal-block">
cd /etc/apache2/conf.d/
-ln -s /etc/squirrelmail/apache.conf ./
+ln -s /etc/squirrelmail/apache.conf ./squirrelmail.conf
</pre>
</div>
</div>
<div class="section" id="graylisting">
<h2><a class="toc-backref" href=
- "#id81">8.4 Graylisting</a></h2>
+ "#id93">8.4 Graylisting</a></h2>
<p>Il <em>graylisting</em> e' un sistema relativamente poco
invasivo, con un limitato consumo di risorse per limitare
<div class="section" id="abilitazione-in-postfix">
<h3><a class="toc-backref" href=
- "#id82">8.4.1 Abilitazione in
+ "#id94">8.4.1 Abilitazione in
Postfix</a></h3>
<p>Installare il pacchetto: <tt class=
<div class="section" id="test">
<h3><a class="toc-backref" href=
- "#id83">8.4.2 Test</a></h3>
+ "#id95">8.4.2 Test</a></h3>
<p>Inviando un messaggio il client dovrebbe ricevere un
iniziale messaggio di rifiuto del messaggio:</p>
<div class="section" id="statistiche">
<h3><a class="toc-backref" href=
- "#id84">8.4.3 Statistiche</a></h3>
+ "#id96">8.4.3 Statistiche</a></h3>
<p>E' sempre utile poter tracciare qualche statistica
sulle percentuali di messaggi ricevuti, da chi, messaggi
<div class="section" id="firewall">
<h1><a class="toc-backref" href=
- "#id85">9 Firewall</a></h1>
+ "#id97">9 Firewall</a></h1>
<p>In Informatica, nell'ambito delle reti di computer, un
firewall (termine inglese dal significato originario di
parete refrattaria, muro tagliafuoco, muro ignifugo; in
italiano anche parafuoco o parafiamma) e' un componente
- passivo di difesa perimetrale che puo'ò anche svolgere
- funzioni di collegamento tra due o piu' tronconi di rete.
- Usualmente la rete viene divisa in due sotto reti: una, detta
- esterna, comprende l'intera Internet mentre l'altra interna,
- detta LAN (Local Area Network), comprende una sezione piu' o
- meno grande di un insieme di computer locali. In alcuni casi
- e' possibile che si crei l'esigenza di creare una terza sotto
+ passivo di difesa perimetrale che puo anche svolgere funzioni
+ di collegamento tra due o piu' tronconi di rete. Usualmente
+ la rete viene divisa in due sotto reti: una, detta esterna,
+ comprende l'intera Internet mentre l'altra interna, detta LAN
+ (Local Area Network), comprende una sezione piu' o meno
+ grande di un insieme di computer locali. In alcuni casi e'
+ possibile che si crei l'esigenza di creare una terza sotto
rete detta DMZ (o zona demilitarizzata) atta a contenere quei
sistemi che devono essere isolati dalla rete interna ma
devono comunque essere protetti dal firewall.</p>
- <p>Una prima definizione chiusa di firewall è la
+ <p>Una prima definizione chiusa di firewall e' la
seguente:</p>
<p>Apparato di rete hardware o software che filtra tutti i
computer, applicando regole che contribuiscono alla sicurezza
della stessa.</p>
- <p>In realta'à un firewall puo'ò essere realizzato con
- un normale computer (con almeno due schede di rete e software
- apposito), puo'ò essere una funzione inclusa in un router o
- puo'ò essere un apparato specializzato. Esistono inoltre i
+ <p>In realta' un firewall puo' essere realizzato con un
+ normale computer (con almeno due schede di rete e software
+ apposito), puo' essere una funzione inclusa in un router o
+ puo' essere un apparato specializzato. Esistono inoltre i
cosiddetti "firewall personali", che sono programmi
installati sui normali calcolatori, che filtrano solamente i
pacchetti che entrano ed escono da quel calcolatore; in tal
caso viene utilizzata una sola scheda di rete.</p>
- <p>La funzionalita'à principale in sostanza è quella
- di creare un filtro sulle connessioni entranti ed uscenti, in
+ <p>La funzionalita' principale in sostanza e' quella di
+ creare un filtro sulle connessioni entranti ed uscenti, in
questo modo il dispositivo innalza il livello di sicurezza
della rete e permette sia agli utenti interni che a quelli
esterni di operare nel massimo della sicurezza. Il firewall
potendo eseguire su di essi operazioni di: controllo modifica
monitoraggio</p>
- <p>Questo grazie alla sua capacita'Ã di "aprire" il
- pacchetto IP per leggere le informazioni presenti sul suo
- header, e in alcuni casi anche di effettuare verifiche sul
- contenuto del pacchetto.</p>
+ <p>Questo grazie alla sua capacita' di "aprire" il pacchetto
+ IP per leggere le informazioni presenti sul suo header, e in
+ alcuni casi anche di effettuare verifiche sul contenuto del
+ pacchetto.</p>
<div class="section" id="links">
<h2><a class="toc-backref" href=
- "#id86">9.1 Links</a></h2>
+ "#id98">9.1 Links</a></h2>
<ul class="simple">
<li><a class="reference external" href=
<div class="section" id="ipfilter">
<h2><a class="toc-backref" href=
- "#id87">9.2 Ipfilter</a></h2>
+ "#id99">9.2 Ipfilter</a></h2>
<p>Link: <a class="reference external" href=
"http://iptables-tutorial.frozentux.net/iptables-tutorial.html#IPFILTERING">
<div class="section" id="progettazione-di-un-firewall">
<h2><a class="toc-backref" href=
- "#id88">9.3 Progettazione di un
+ "#id100">9.3 Progettazione di un
firewall</a></h2>
<p>Per implementare un firewall bisogna decidere un aio di
<div class="section" id="collocazione">
<h3><a class="toc-backref" href=
- "#id89">9.3.1 Collocazione</a></h3>
+ "#id101">9.3.1 Collocazione</a></h3>
<p>DMZ e MZ, internet, intranet, extranet. Frammentazione
della rete, decidere se diversi reparti di una azienda si
<div class="section" id="policy-di-default">
<h3><a class="toc-backref" href=
- "#id90">9.3.2 Policy di default</a></h3>
+ "#id102">9.3.2 Policy di
+ default</a></h3>
<p>Drop o Accept: conseguenze per sicurezza, facilita' di
gestione.</p>
<div class="section" id="hardware">
<h3><a class="toc-backref" href=
- "#id91">9.3.3 Hardware</a></h3>
+ "#id103">9.3.3 Hardware</a></h3>
<p>Sostanzialmente potremmo distinguere due tipologie di
hardware:</p>
<div class="section" id=
"percorso-dei-pacchetti-tra-tabelle-e-catene">
<h2><a class="toc-backref" href=
- "#id92">9.4 Percorso dei pacchetti tra
+ "#id104">9.4 Percorso dei pacchetti tra
tabelle e catene</a></h2>
<p>link: <a class="reference external" href=
<div class="section" id="concetti-di-base">
<h2><a class="toc-backref" href=
- "#id93">9.5 Concetti di base</a></h2>
+ "#id105">9.5 Concetti di base</a></h2>
<div class="section" id="tabelle-catene-regole">
<h3><a class="toc-backref" href=
- "#id94">9.5.1 Tabelle, catene,
+ "#id106">9.5.1 Tabelle, catene,
regole</a></h3>
<p>Iptables lavora su 3 tabelle (tables) di default:</p>
<li>filter - Regola il firewalling: quali pacchetti
accettare, quali bloccare</li>
- <li>nat - Regola le attivita'Ã di natting</li>
+ <li>nat - Regola le attivita' di natting</li>
<li>mangle - Interviene sulla alterazione dei
pacchetti.</li>
<p>Ogni tabella ha delle catene (chains) predefinite
(INPUT, OUTPUT, FORWARD ... ) a cui possono essere
- aggiunte catene custom. Ogni catena è composta da un
+ aggiunte catene custom. Ogni catena e' composta da un
elenco di regole (rules) che identificano pacchetti di
rete secondo criteri diversi (es: -p tcp --dport 80 -d
10.0.0.45) Ogni regola termina con una indicazione
<div class="section" id="match">
<h3><a class="toc-backref" href=
- "#id95">9.5.2 Match</a></h3>
+ "#id107">9.5.2 Match</a></h3>
<p>I Match di una regola (rule) servono a testare un
pacchetto per valutare se corrisponda a certe
<div class="section" id="targets">
<h3><a class="toc-backref" href=
- "#id96">9.5.3 Targets</a></h3>
+ "#id108">9.5.3 Targets</a></h3>
<p>Se un pacchetto soddisfa le condizioni del Match
<em>salta</em> (jump) su uno dei target possibili, in
"option">-j <var>REDIRECT</var></span></kbd></td>
<td>Redirige il pacchetto ad una porta locale.
- Usabile solo in nat / PREROUTING e nat / OUTPUT è
+ Usabile solo in nat / PREROUTING e nat / OUTPUT e'
previsto per fare un transparent proxy (con proxy
server in esecuzione sulla macchina con
iptables)</td>
"option">-j <var>RETURN</var></span></kbd></td>
<td>Interrompe l'attraversamento della catena. Se
- questa è una secondaria, il pacchetto torna ad
+ questa e' una secondaria, il pacchetto torna ad
attraversare la catena madre da punto in cui aveva
- fatto il salto nella secondaria. Se il RETURN è in
+ fatto il salto nella secondaria. Se il RETURN e' in
una delle catene di default, il pacchetto
interrompe l'attraversamento e segue la policy di
default.</td>
"option">-j <var>MIRROR</var></span></kbd></td>
<td>Curioso e sperimentale, questo target invia un
- pacchetto speculare al mittente. In pratica è come
+ pacchetto speculare al mittente. In pratica e' come
se facesse da specchio per tutti i pacchetti
ricevuti. Da usare con cautela, per evitare
attacchi DOS indiretti.</td>
<div class="section" id="tabella-filter">
<h2><a class="toc-backref" href=
- "#id97">9.6 Tabella Filter</a></h2>
+ "#id109">9.6 Tabella Filter</a></h2>
<p>E' quella implicita e predefinita (-t filter) Riguarda
- le attività di filtraggio del traffico. Ha 3 catene
- di default: INPUT - Riguarda tutti i pacchetti destinati al
+ le attivita' di filtraggio del traffico. Ha 3 catene di
+ default: INPUT - Riguarda tutti i pacchetti destinati al
sistema. In entrata da ogni interfaccia. OUTPUT - Riguarda
i pacchetti che sono originati dal sistema e destinati ad
uscire. FORWARD - Riguarda i pacchetti che attraversano il
<div class="section" id=
"flush-automatico-per-macchine-remote">
<h2><a class="toc-backref" href=
- "#id98">9.7 Flush automatico per macchine
+ "#id110">9.7 Flush automatico per macchine
remote</a></h2>
<p>Se state provando una configurazione del firewall per
<div class="section" id="gestione-regole-rules">
<h2><a class="toc-backref" href=
- "#id99">9.8 Gestione regole
+ "#id111">9.8 Gestione regole
(rules)</a></h2>
- <p>Il comando iptables viene usato per ogni
- attivita'Ã di gestione e configurazione.</p>
+ <p>Il comando iptables viene usato per ogni attivita' di
+ gestione e configurazione.</p>
<p>Inserimento regole:</p>
<div class="section" id="salvataggio-regole">
<h2><a class="toc-backref" href=
- "#id100">9.9 Salvataggio regole</a></h2>
+ "#id112">9.9 Salvataggio regole</a></h2>
<p>Il comando <tt class="docutils literal"><span class=
"pre">iptables</span></tt> serve per interagire con il
<div class="section" id="iptables-save">
<h3><a class="toc-backref" href=
- "#id101">9.9.1 Iptables-save</a></h3>
+ "#id113">9.9.1 Iptables-save</a></h3>
<p>Per salvare le regole di iptables attualmente presenti
nel kernel si usi il comando:</p>
<div class="section" id="iptables-restore">
<h3><a class="toc-backref" href=
- "#id102">9.9.2 Iptables-restore</a></h3>
+ "#id114">9.9.2 Iptables-restore</a></h3>
<p>Per ripristinare un set di regole precedentemente
salvate con <tt class="docutils literal"><span class=
<div class="section" id="esempi">
<h2><a class="toc-backref" href=
- "#id103">9.10 Esempi</a></h2>
+ "#id115">9.10 Esempi</a></h2>
<p>Seguono alcuni esempi sull'uso di iptables, lo scenario
e' un computer con un paio di schede di rete fisiche una
<div class="section" id="bloccare-i-ping-dall-esterno">
<h3><a class="toc-backref" href=
- "#id104">9.10.1 Bloccare i ping
+ "#id116">9.10.1 Bloccare i ping
dall'esterno</a></h3>
<p>Spesso gli script che attaccano
<div class="section" id="masquerading-snat">
<h3><a class="toc-backref" href=
- "#id105">9.10.2 Masquerading
+ "#id117">9.10.2 Masquerading
(sNAT)</a></h3>
<dl class="docutils">
<div class="section" id="brute-force">
<h3><a class="toc-backref" href=
- "#id106">9.10.3 Brute force</a></h3>
+ "#id118">9.10.3 Brute force</a></h3>
<dl class="docutils">
<dt>Per limitare attacchi di tipo brute force su
<div class="section" id="note">
<h1><a class="toc-backref" href=
- "#id107">10 NOTE</a></h1>
+ "#id119">10 NOTE</a></h1>
- <ul class="simple">
- <li>controllare apache</li>
- </ul>
+ <dl class="docutils">
+ <dt>Bind:</dt>
+
+ <dd>
+ <ul class="first last simple">
+ <li>altri esempi commenti su una zona</li>
+
+ <li>esempi di una zona PTR?</li>
+
+ <li>dns secondari</li>
+
+ <li>nsupdate</li>
+ </ul>
+ </dd>
+ </dl>
<p>sintassi: in <tt class="docutils literal"><span class=
"pre">monospace</span></tt> :</p>