<h1 class="title">Servizi di rete passo a passo</h1>
<h2 class="subtitle" id=
- "appunti-sulla-installazione-e-configurazione-dei-servizi">
- Appunti sulla installazione e configurazione dei servizi</h2>
+ "appunti-sulla-installazione-e-configurazione-dei-servizi-di-rete-in-ambiete-gnu-linx">
+ Appunti sulla installazione e configurazione dei servizi di
+ rete in ambiete Gnu/Linx</h2>
<blockquote>
<table class="docutils field-list" frame="void" rules="none">
<tr class="field">
<th class="field-name">Version:</th>
- <td class="field-body">0.9</td>
+ <td class="field-body">0.94</td>
</tr>
</tbody>
</table>
<ul class="auto-toc simple">
<li>
<a class="reference internal" href=
- "#configurazione-sistema" id="id8" name=
- "id8">1 Configurazione sistema</a>
+ "#configurazione-sistema" id="id9" name=
+ "id9">1 Configurazione sistema</a>
<ul class="auto-toc">
<li><a class="reference internal" href=
- "#solo-per-uso-interno" id="id9" name=
- "id9">1.1 Solo per uso
+ "#solo-per-uso-interno" id="id10" name=
+ "id10">1.1 Solo per uso
interno</a></li>
<li>
- <a class="reference internal" href="#rete" id="id10"
- name="id10">1.2 Rete</a>
+ <a class="reference internal" href="#rete" id="id11"
+ name="id11">1.2 Rete</a>
<ul class="auto-toc">
<li><a class="reference internal" href=
- "#interfaces" id="id11" name=
- "id11">1.2.1 interfaces</a></li>
+ "#interfaces" id="id12" name=
+ "id12">1.2.1 interfaces</a></li>
</ul>
</li>
<li><a class="reference internal" href=
- "#bash-completion" id="id12" name=
- "id12">1.3 Bash completion</a></li>
+ "#bash-completion" id="id13" name=
+ "id13">1.3 Bash completion</a></li>
- <li><a class="reference internal" href="#vim" id="id13"
- name="id13">1.4 Vim</a></li>
+ <li><a class="reference internal" href="#vim" id="id14"
+ name="id14">1.4 Vim</a></li>
- <li><a class="reference internal" href="#vnc" id="id14"
- name="id14">1.5 VNC</a></li>
+ <li><a class="reference internal" href="#vnc" id="id15"
+ name="id15">1.5 VNC</a></li>
<li><a class="reference internal" href=
- "#lista-dei-pacchetti-di-base" id="id15" name=
- "id15">1.6 Lista dei pacchetti di
+ "#lista-dei-pacchetti-di-base" id="id16" name=
+ "id16">1.6 Lista dei pacchetti di
base</a></li>
<li>
<a class="reference internal" href=
- "#apt-configurazione" id="id16" name=
- "id16">1.7 Apt configurazione</a>
+ "#apt-configurazione" id="id17" name=
+ "id17">1.7 Apt configurazione</a>
<ul class="auto-toc">
<li><a class="reference internal" href=
- "#sources-list" id="id17" name=
- "id17">1.7.1 sources.list</a></li>
+ "#sources-list" id="id18" name=
+ "id18">1.7.1 sources.list</a></li>
<li><a class="reference internal" href=
- "#etc-apt-apt-conf" id="id18" name=
- "id18">1.7.2 /etc/apt/apt.conf</a></li>
+ "#etc-apt-apt-conf" id="id19" name=
+ "id19">1.7.2 /etc/apt/apt.conf</a></li>
</ul>
</li>
</ul>
</li>
<li>
- <a class="reference internal" href="#squid" id="id19"
- name="id19">2 Squid</a>
+ <a class="reference internal" href="#squid" id="id20"
+ name="id20">2 Squid</a>
<ul class="auto-toc">
<li>
<a class="reference internal" href=
- "#configurazione-squid-conf" id="id20" name=
- "id20">2.1 Configurazione:
+ "#configurazione-squid-conf" id="id21" name=
+ "id21">2.1 Configurazione:
squid.conf</a>
<ul class="auto-toc">
- <li><a class="reference internal" href="#cache-dir"
- id="id21" name=
- "id21">2.1.1 Cache_dir</a></li>
+ <li>
+ <a class="reference internal" href="#cache-dir"
+ id="id22" name=
+ "id22">2.1.1 Cache_dir</a>
+
+ <ul class="auto-toc">
+ <li><a class="reference internal" href=
+ "#opzioni-del-file-system" id="id23" name=
+ "id23">2.1.1.1 Opzioni del
+ file system</a></li>
+ </ul>
+ </li>
<li><a class="reference internal" href=
- "#tag-maximum-object-size" id="id22" name=
- "id22">2.1.2 TAG:
+ "#configurazioni-di-cache-dir" id="id24" name=
+ "id24">2.1.2 Configurazioni di
+ Cache_dir</a></li>
+
+ <li><a class="reference internal" href=
+ "#tag-maximum-object-size" id="id25" name=
+ "id25">2.1.3 TAG:
maximum_object_size</a></li>
<li><a class="reference internal" href=
- "#tag-cache-mem" id="id23" name=
- "id23">2.1.3 TAG:
+ "#tag-cache-mem" id="id26" name=
+ "id26">2.1.4 TAG:
cache_mem</a></li>
<li><a class="reference internal" href=
- "#tag-minimum-object-size" id="id24" name=
- "id24">2.1.4 TAG:
+ "#tag-minimum-object-size" id="id27" name=
+ "id27">2.1.5 TAG:
minimum_object_size</a></li>
</ul>
</li>
<li>
<a class="reference internal" href=
- "#negoziazione-degli-accesi-al-servizio" id="id25"
- name="id25">2.2 Negoziazione degli
+ "#negoziazione-degli-accesi-al-servizio" id="id28"
+ name="id28">2.2 Negoziazione degli
accesi al servizio</a>
<ul class="auto-toc">
<li><a class="reference internal" href=
- "#acl-e-http-access" id="id26" name=
- "id26">2.2.1 ACL e http
+ "#acl-e-http-access" id="id29" name=
+ "id29">2.2.1 ACL e http
access</a></li>
</ul>
</li>
<li>
<a class="reference internal" href="#testare-squid"
- id="id27" name="id27">2.3 Testare
+ id="id30" name="id30">2.3 Testare
Squid</a>
<ul class="auto-toc">
<li><a class="reference internal" href=
- "#client-wgetrc" id="id28" name=
- "id28">2.3.1 Client:
+ "#client-wgetrc" id="id31" name=
+ "id31">2.3.1 Client:
~/.wgetrc</a></li>
<li><a class="reference internal" href=
- "#server-access-log" id="id29" name=
- "id29">2.3.2 Server:
+ "#server-access-log" id="id32" name=
+ "id32">2.3.2 Server:
access.log</a></li>
</ul>
</li>
</li>
<li><a class="reference internal" href="#tiny-proxy" id=
- "id30" name="id30">3 Tiny proxy</a></li>
+ "id33" name="id33">3 Tiny proxy</a></li>
<li>
- <a class="reference internal" href="#apache" id="id31"
- name="id31">4 Apache</a>
+ <a class="reference internal" href="#apache" id="id34"
+ name="id34">4 Apache</a>
<ul class="auto-toc">
<li><a class="reference internal" href=
- "#pacchetti-da-installare" id="id32" name=
- "id32">4.1 Pacchetti da
+ "#pacchetti-da-installare" id="id35" name=
+ "id35">4.1 Pacchetti da
installare::</a></li>
<li><a class="reference internal" href=
- "#configurazione-di-apache" id="id33" name=
- "id33">4.2 Configurazione di
+ "#configurazione-di-apache" id="id36" name=
+ "id36">4.2 Configurazione di
Apache</a></li>
<li><a class="reference internal" href="#apache-conf"
- id="id34" name=
- "id34">4.3 apache.conf</a></li>
+ id="id37" name=
+ "id37">4.3 apache.conf</a></li>
<li>
<a class="reference internal" href=
- "#installazione-di-php" id="id35" name=
- "id35">4.4 Installazione di PHP</a>
+ "#installazione-di-php" id="id38" name=
+ "id38">4.4 Installazione di PHP</a>
<ul class="auto-toc">
<li><a class="reference internal" href=
- "#test-del-modulo-php" id="id36" name=
- "id36">4.4.1 Test del modulo
+ "#test-del-modulo-php" id="id39" name=
+ "id39">4.4.1 Test del modulo
php</a></li>
<li><a class="reference internal" href=
"#installazione-del-supporto-per-mysql-a-php" id=
- "id37" name=
- "id37">4.4.2 Installazione del
+ "id40" name=
+ "id40">4.4.2 Installazione del
supporto per Mysql a PHP</a></li>
<li><a class="reference internal" href=
- "#phpmyadmin" id="id38" name=
- "id38">4.4.3 phpmyadmin</a></li>
+ "#phpmyadmin" id="id41" name=
+ "id41">4.4.3 phpmyadmin</a></li>
<li><a class="reference internal" href=
"#installazione-del-supporto-per-postgresql-a-php"
- id="id39" name=
- "id39">4.4.4 Installazione del
+ id="id42" name=
+ "id42">4.4.4 Installazione del
supporto per Postgresql a PHP</a></li>
<li><a class="reference internal" href=
- "#phppgadmin" id="id40" name=
- "id40">4.4.5 phppgadmin</a></li>
+ "#phppgadmin" id="id43" name=
+ "id43">4.4.5 phppgadmin</a></li>
</ul>
</li>
<li>
<a class="reference internal" href="#virtual-hosts"
- id="id41" name="id41">4.5 Virtual
+ id="id44" name="id44">4.5 Virtual
hosts</a>
<ul class="auto-toc">
<li><a class="reference internal" href=
- "#gestione-dns" id="id42" name=
- "id42">4.5.1 Gestione DNS</a></li>
+ "#gestione-dns" id="id45" name=
+ "id45">4.5.1 Gestione DNS</a></li>
<li><a class="reference internal" href=
- "#eseguire-una-query-dns-con-dig" id="id43" name=
- "id43">4.5.2 Eseguire una query
+ "#eseguire-una-query-dns-con-dig" id="id46" name=
+ "id46">4.5.2 Eseguire una query
DNS con <tt class="docutils literal"><span class=
"pre">dig</span></tt>::</a></li>
<li><a class="reference internal" href="#id3" id=
- "id44" name="id44">4.5.3 Virtual
+ "id47" name="id47">4.5.3 Virtual
hosts</a></li>
</ul>
</li>
<li>
<a class="reference internal" href=
- "#negoziazione-accessi" id="id45" name=
- "id45">4.6 Negoziazione accessi</a>
+ "#negoziazione-accessi" id="id48" name=
+ "id48">4.6 Negoziazione accessi</a>
<ul class="auto-toc">
<li><a class="reference internal" href=
- "#limiti-su-base-ip" id="id46" name=
- "id46">4.6.1 Limiti su base
+ "#limiti-su-base-ip" id="id49" name=
+ "id49">4.6.1 Limiti su base
IP</a></li>
</ul>
</li>
<li>
<a class="reference internal" href=
- "#user-authentication" id="id47" name=
- "id47">4.7 User Authentication</a>
+ "#user-authentication" id="id50" name=
+ "id50">4.7 User Authentication</a>
<ul class="auto-toc">
<li><a class="reference internal" href=
- "#definire-la-cartella" id="id48" name=
- "id48">4.7.1 Definire la
+ "#definire-la-cartella" id="id51" name=
+ "id51">4.7.1 Definire la
cartella</a></li>
<li><a class="reference internal" href=
- "#creazione-del-database-delle-passwords" id="id49"
- name="id49">4.7.2 Creazione del
+ "#creazione-del-database-delle-passwords" id="id52"
+ name="id52">4.7.2 Creazione del
database delle passwords</a></li>
<li><a class="reference internal" href="#id4" id=
- "id50" name=
- "id50">4.7.3 Configurazione di
+ "id53" name=
+ "id53">4.7.3 Configurazione di
Apache</a></li>
</ul>
</li>
<li><a class="reference internal" href="#cavets" id=
- "id51" name="id51">4.8 Cavets</a></li>
+ "id54" name="id54">4.8 Cavets</a></li>
</ul>
</li>
<li>
<a class="reference internal" href="#domain-name-system"
- id="id52" name="id52">5 Domain Name
+ id="id55" name="id55">5 Domain Name
System</a>
<ul class="auto-toc">
<li><a class="reference internal" href=
- "#risoluzione-inversa" id="id53" name=
- "id53">5.1 Risoluzione
+ "#risoluzione-inversa" id="id56" name=
+ "id56">5.1 Risoluzione
Inversa</a></li>
<li><a class="reference internal" href=
- "#nomi-di-dominio" id="id54" name=
- "id54">5.2 Nomi di dominio</a></li>
+ "#nomi-di-dominio" id="id57" name=
+ "id57">5.2 Nomi di dominio</a></li>
<li><a class="reference internal" href=
- "#tipologie-di-record" id="id55" name=
- "id55">5.3 Tipologie di
+ "#tipologie-di-record" id="id58" name=
+ "id58">5.3 Tipologie di
record</a></li>
<li><a class="reference internal" href="#utilizzo" id=
- "id56" name=
- "id56">5.4 Utilizzo</a></li>
+ "id59" name=
+ "id59">5.4 Utilizzo</a></li>
<li><a class="reference internal" href=
- "#risoluzione-dei-nomi-di-dominio" id="id57" name=
- "id57">5.5 Risoluzione dei nomi di
+ "#risoluzione-dei-nomi-di-dominio" id="id60" name=
+ "id60">5.5 Risoluzione dei nomi di
dominio</a></li>
- <li><a class="reference internal" href="#dig" id="id58"
- name="id58">5.6 Dig</a></li>
+ <li><a class="reference internal" href="#dig" id="id61"
+ name="id61">5.6 Dig</a></li>
<li><a class="reference internal" href="#resolv-conf"
- id="id59" name=
- "id59">5.7 resolv.conf</a></li>
+ id="id62" name=
+ "id62">5.7 resolv.conf</a></li>
<li><a class="reference internal" href="#etc-hosts" id=
- "id60" name=
- "id60">5.8 /etc/hosts</a></li>
+ "id63" name=
+ "id63">5.8 /etc/hosts</a></li>
<li>
<a class="reference internal" href="#hostname" id=
- "id61" name="id61">5.9 Hostname</a>
+ "id64" name="id64">5.9 Hostname</a>
<ul class="auto-toc">
<li><a class="reference internal" href="#fqdn" id=
- "id62" name=
- "id62">5.9.1 FQDN</a></li>
+ "id65" name=
+ "id65">5.9.1 FQDN</a></li>
</ul>
</li>
</ul>
</li>
<li>
- <a class="reference internal" href="#dnsmasq" id="id63"
- name="id63">6 DNSmasq</a>
+ <a class="reference internal" href="#dnsmasq" id="id66"
+ name="id66">6 DNSmasq</a>
<ul class="auto-toc">
<li><a class="reference internal" href=
- "#configurazione" id="id64" name=
- "id64">6.1 Configurazione</a></li>
+ "#configurazione" id="id67" name=
+ "id67">6.1 Configurazione</a></li>
<li><a class="reference internal" href="#dhcp" id=
- "id65" name="id65">6.2 DHCP</a></li>
+ "id68" name="id68">6.2 DHCP</a></li>
<li><a class="reference internal" href="#dns-cache" id=
- "id66" name="id66">6.3 DNS
+ "id69" name="id69">6.3 DNS
cache</a></li>
</ul>
</li>
<li>
<a class="reference internal" href=
- "#bind-dns-autoritativo" id="id67" name=
- "id67">7 Bind : DNS Autoritativo</a>
+ "#bind-dns-autoritativo" id="id70" name=
+ "id70">7 Bind : DNS Autoritativo</a>
<ul class="auto-toc">
- <li><a class="reference internal" href="#id5" id="id68"
- name="id68">7.1 DNS cache</a></li>
+ <li><a class="reference internal" href="#id5" id="id71"
+ name="id71">7.1 DNS cache</a></li>
<li>
<a class="reference internal" href=
- "#ospitare-una-zona" id="id69" name=
- "id69">7.2 Ospitare una zona</a>
+ "#ospitare-una-zona" id="id72" name=
+ "id72">7.2 Ospitare una zona</a>
<ul class="auto-toc">
<li><a class="reference internal" href=
- "#named-conf-local" id="id70" name=
- "id70">7.2.1 named.conf.local</a></li>
+ "#named-conf-local" id="id73" name=
+ "id73">7.2.1 named.conf.local</a></li>
<li>
<a class="reference internal" href=
- "#configurazione-della-zona" id="id71" name=
- "id71">7.2.2 Configurazione
+ "#configurazione-della-zona" id="id74" name=
+ "id74">7.2.2 Configurazione
della zona</a>
<ul class="auto-toc">
<li><a class="reference internal" href=
- "#soa-start-of-authority-record" id="id72"
- name="id72">7.2.2.1 SOA: Start
+ "#soa-start-of-authority-record" id="id75"
+ name="id75">7.2.2.1 SOA: Start
of Authority Record</a></li>
<li><a class="reference internal" href=
- "#altri-campi" id="id73" name=
- "id73">7.2.2.2 Altri
+ "#altri-campi" id="id76" name=
+ "id76">7.2.2.2 Altri
campi:</a></li>
</ul>
</li>
</li>
<li><a class="reference internal" href="#dns-slave" id=
- "id74" name="id74">7.3 DNS
+ "id77" name="id77">7.3 DNS
slave</a></li>
<li>
<a class="reference internal" href=
- "#aggiornamento-dinamico-nsupdate" id="id75" name=
- "id75">7.4 Aggiornamento dinamico:
+ "#aggiornamento-dinamico-nsupdate" id="id78" name=
+ "id78">7.4 Aggiornamento dinamico:
nsupdate</a>
<ul class="auto-toc">
<li><a class="reference internal" href=
- "#configurazione-client-nsupdate" id="id76" name=
- "id76">7.4.1 Configurazione client
+ "#configurazione-client-nsupdate" id="id79" name=
+ "id79">7.4.1 Configurazione client
(nsupdate)</a></li>
<li><a class="reference internal" href=
"#configurazione-server-riconoscimento-chiave" id=
- "id77" name=
- "id77">7.4.2 Configurazione
+ "id80" name=
+ "id80">7.4.2 Configurazione
server: riconoscimento chiave</a></li>
<li><a class="reference internal" href=
- "#server-gestione-dell-intera-zona" id="id78" name=
- "id78">7.4.3 Server: gestione
+ "#server-gestione-dell-intera-zona" id="id81" name=
+ "id81">7.4.3 Server: gestione
dell'intera zona</a></li>
<li><a class="reference internal" href=
- "#automatizzare-l-aggiornamento-dinamico" id="id79"
- name="id79">7.4.4 Automatizzare
+ "#automatizzare-l-aggiornamento-dinamico" id="id82"
+ name="id82">7.4.4 Automatizzare
l'aggiornamento dinamico</a></li>
</ul>
</li>
<li><a class="reference internal" href=
- "#link-suggeriti" id="id80" name=
- "id80">7.5 Link suggeriti:</a></li>
+ "#link-suggeriti" id="id83" name=
+ "id83">7.5 Link suggeriti:</a></li>
</ul>
</li>
<li>
- <a class="reference internal" href="#samba" id="id81"
- name="id81">8 Samba</a>
+ <a class="reference internal" href="#samba" id="id84"
+ name="id84">8 Samba</a>
<ul class="auto-toc">
<li><a class="reference internal" href="#pacchetti" id=
- "id82" name=
- "id82">8.1 Pacchetti</a></li>
+ "id85" name=
+ "id85">8.1 Pacchetti</a></li>
<li><a class="reference internal" href=
- "#passwords-e-autenticazione" id="id83" name=
- "id83">8.2 Passwords e
+ "#passwords-e-autenticazione" id="id86" name=
+ "id86">8.2 Passwords e
autenticazione</a></li>
<li><a class="reference internal" href=
- "#creazione-utenti" id="id84" name=
- "id84">8.3 Creazione Utenti</a></li>
+ "#creazione-utenti" id="id87" name=
+ "id87">8.3 Creazione Utenti</a></li>
<li>
<a class="reference internal" href=
- "#creare-la-condivisione" id="id85" name=
- "id85">8.4 Creare la
+ "#creare-la-condivisione" id="id88" name=
+ "id88">8.4 Creare la
condivisione</a>
<ul class="auto-toc">
<li><a class="reference internal" href=
"#sicurezza-permessi-di-esecuzione-sul-server" id=
- "id86" name=
- "id86">8.4.1 Sicurezza: permessi
+ "id89" name=
+ "id89">8.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="id87" name=
- "id87">8.5 Configurazione
+ id="id90" name=
+ "id90">8.5 Configurazione
dell'applicativo Samba vero e proprio.</a>
<ul class="auto-toc">
<li><a class="reference internal" href=
- "#creazione-di-un-gruppo" id="id88" name=
- "id88">8.5.1 Creazione di un
+ "#creazione-di-un-gruppo" id="id91" name=
+ "id91">8.5.1 Creazione di un
gruppo</a></li>
</ul>
</li>
<li><a class="reference internal" href=
- "#testare-il-servizio" id="id89" name=
- "id89">8.6 Testare il
+ "#testare-il-servizio" id="id92" name=
+ "id92">8.6 Testare il
Servizio</a></li>
</ul>
</li>
<li>
<a class="reference internal" href=
- "#server-di-posta-postfix" id="id90" name=
- "id90">9 Server di posta: Postfix</a>
+ "#server-di-posta-postfix" id="id93" name=
+ "id93">9 Server di posta: Postfix</a>
<ul class="auto-toc">
<li>
<a class="reference internal" href=
- "#test-del-server-smtp" id="id91" name=
- "id91">9.1 Test del server smtp</a>
+ "#test-del-server-smtp" id="id94" name=
+ "id94">9.1 Test del server smtp</a>
<ul class="auto-toc">
<li><a class="reference internal" href="#swaks" id=
- "id92" name=
- "id92">9.1.1 Swaks</a></li>
+ "id95" name=
+ "id95">9.1.1 Swaks</a></li>
</ul>
</li>
<li><a class="reference internal" href="#imap-e-pop"
- id="id93" name="id93">9.2 Imap e
+ id="id96" name="id96">9.2 Imap e
pop</a></li>
<li>
<a class="reference internal" href=
- "#client-a-riga-di-comando" id="id94" name=
- "id94">9.3 Client a riga di
+ "#client-a-riga-di-comando" id="id97" name=
+ "id97">9.3 Client a riga di
comando</a>
<ul class="auto-toc">
<li><a class="reference internal" href="#mailx" id=
- "id95" name=
- "id95">9.3.1 mailx</a></li>
+ "id98" name=
+ "id98">9.3.1 mailx</a></li>
<li><a class="reference internal" href="#mutt" id=
- "id96" name=
- "id96">9.3.2 Mutt</a></li>
+ "id99" name=
+ "id99">9.3.2 Mutt</a></li>
<li><a class="reference internal" href=
- "#web-client" id="id97" name=
- "id97">9.3.3 Web client</a></li>
+ "#web-client" id="id100" name=
+ "id100">9.3.3 Web client</a></li>
</ul>
</li>
<li>
<a class="reference internal" href="#graylisting" id=
- "id98" name=
- "id98">9.4 Graylisting</a>
+ "id101" name=
+ "id101">9.4 Graylisting</a>
<ul class="auto-toc">
<li><a class="reference internal" href=
- "#abilitazione-in-postfix" id="id99" name=
- "id99">9.4.1 Abilitazione in
+ "#abilitazione-in-postfix" id="id102" name=
+ "id102">9.4.1 Abilitazione in
Postfix</a></li>
<li><a class="reference internal" href="#test" id=
- "id100" name=
- "id100">9.4.2 Test</a></li>
+ "id103" name=
+ "id103">9.4.2 Test</a></li>
<li><a class="reference internal" href=
- "#statistiche" id="id101" name=
- "id101">9.4.3 Statistiche</a></li>
+ "#statistiche" id="id104" name=
+ "id104">9.4.3 Statistiche</a></li>
</ul>
</li>
</ul>
</li>
<li>
- <a class="reference internal" href="#firewall" id="id102"
- name="id102">10 Firewall</a>
+ <a class="reference internal" href="#firewall" id="id105"
+ name="id105">10 Firewall</a>
<ul class="auto-toc">
<li><a class="reference internal" href="#links" id=
- "id103" name=
- "id103">10.1 Links</a></li>
+ "id106" name=
+ "id106">10.1 Links</a></li>
<li><a class="reference internal" href="#ipfilter" id=
- "id104" name=
- "id104">10.2 Ipfilter</a></li>
+ "id107" name=
+ "id107">10.2 Ipfilter</a></li>
<li>
<a class="reference internal" href=
- "#progettazione-di-un-firewall" id="id105" name=
- "id105">10.3 Progettazione di un
+ "#progettazione-di-un-firewall" id="id108" name=
+ "id108">10.3 Progettazione di un
firewall</a>
<ul class="auto-toc">
<li><a class="reference internal" href=
- "#collocazione" id="id106" name=
- "id106">10.3.1 Collocazione</a></li>
+ "#collocazione" id="id109" name=
+ "id109">10.3.1 Collocazione</a></li>
<li><a class="reference internal" href=
- "#policy-di-default" id="id107" name=
- "id107">10.3.2 Policy di
+ "#policy-di-default" id="id110" name=
+ "id110">10.3.2 Policy di
default</a></li>
<li><a class="reference internal" href="#hardware"
- id="id108" name=
- "id108">10.3.3 Hardware</a></li>
+ id="id111" name=
+ "id111">10.3.3 Hardware</a></li>
</ul>
</li>
<li><a class="reference internal" href=
"#percorso-dei-pacchetti-tra-tabelle-e-catene" id=
- "id109" name="id109">10.4 Percorso dei
+ "id112" name="id112">10.4 Percorso dei
pacchetti tra tabelle e catene</a></li>
<li>
<a class="reference internal" href=
- "#concetti-di-base" id="id110" name=
- "id110">10.5 Concetti di base</a>
+ "#concetti-di-base" id="id113" name=
+ "id113">10.5 Concetti di base</a>
<ul class="auto-toc">
<li><a class="reference internal" href=
- "#tabelle-catene-regole" id="id111" name=
- "id111">10.5.1 Tabelle, catene,
+ "#tabelle-catene-regole" id="id114" name=
+ "id114">10.5.1 Tabelle, catene,
regole</a></li>
<li><a class="reference internal" href="#match" id=
- "id112" name=
- "id112">10.5.2 Match</a></li>
+ "id115" name=
+ "id115">10.5.2 Match</a></li>
<li><a class="reference internal" href="#targets"
- id="id113" name=
- "id113">10.5.3 Targets</a></li>
+ id="id116" name=
+ "id116">10.5.3 Targets</a></li>
</ul>
</li>
<li><a class="reference internal" href=
- "#tabella-filter" id="id114" name=
- "id114">10.6 Tabella Filter</a></li>
+ "#tabella-filter" id="id117" name=
+ "id117">10.6 Tabella Filter</a></li>
<li><a class="reference internal" href=
- "#flush-automatico-per-macchine-remote" id="id115"
- name="id115">10.7 Flush automatico per
+ "#flush-automatico-per-macchine-remote" id="id118"
+ name="id118">10.7 Flush automatico per
macchine remote</a></li>
<li><a class="reference internal" href=
- "#gestione-regole-rules" id="id116" name=
- "id116">10.8 Gestione regole
+ "#gestione-regole-rules" id="id119" name=
+ "id119">10.8 Gestione regole
(rules)</a></li>
<li>
<a class="reference internal" href=
- "#salvataggio-regole" id="id117" name=
- "id117">10.9 Salvataggio regole</a>
+ "#salvataggio-regole" id="id120" name=
+ "id120">10.9 Salvataggio regole</a>
<ul class="auto-toc">
<li><a class="reference internal" href=
- "#iptables-save" id="id118" name=
- "id118">10.9.1 Iptables-save</a></li>
+ "#iptables-save" id="id121" name=
+ "id121">10.9.1 Iptables-save</a></li>
<li><a class="reference internal" href=
- "#iptables-restore" id="id119" name=
- "id119">10.9.2 Iptables-restore</a></li>
+ "#iptables-restore" id="id122" name=
+ "id122">10.9.2 Iptables-restore</a></li>
</ul>
</li>
<li>
<a class="reference internal" href="#esempi" id=
- "id120" name=
- "id120">10.10 Esempi</a>
+ "id123" name=
+ "id123">10.10 Esempi</a>
<ul class="auto-toc">
<li><a class="reference internal" href=
- "#bloccare-i-ping-dall-esterno" id="id121" name=
- "id121">10.10.1 Bloccare i ping
+ "#bloccare-i-ping-dall-esterno" id="id124" name=
+ "id124">10.10.1 Bloccare i ping
dall'esterno</a></li>
<li><a class="reference internal" href=
- "#masquerading-snat" id="id122" name=
- "id122">10.10.2 Masquerading
+ "#masquerading-snat" id="id125" name=
+ "id125">10.10.2 Masquerading
(sNAT)</a></li>
<li><a class="reference internal" href=
- "#brute-force" id="id123" name=
- "id123">10.10.3 Brute
+ "#brute-force" id="id126" name=
+ "id126">10.10.3 Brute
force</a></li>
</ul>
</li>
</ul>
</li>
- <li><a class="reference internal" href="#note" id="id124"
- name="id124">11 NOTE</a></li>
+ <li>
+ <a class="reference internal" href="#ftp-server" id=
+ "id127" name="id127">11 FTP Server</a>
+
+ <ul class="auto-toc">
+ <li><a class="reference internal" href="#id8" id=
+ "id128" name=
+ "id128">11.1 Pacchetti</a></li>
+
+ <li><a class="reference internal" href="#sessioni-ftp"
+ id="id129" name="id129">11.2 Sessioni
+ ftp</a></li>
+
+ <li><a class="reference internal" href=
+ "#configurazione-iniziale" id="id130" name=
+ "id130">11.3 Configurazione
+ iniziale</a></li>
+
+ <li><a class="reference internal" href=
+ "#abilitare-gli-utenti-locali" id="id131" name=
+ "id131">11.4 Abilitare gli utenti
+ locali</a></li>
+
+ <li><a class="reference internal" href="#jail-chroot"
+ id="id132" name="id132">11.5 Jail
+ chroot</a></li>
+
+ <li><a class="reference internal" href=
+ "#permessi-sul-filesystem" id="id133" name=
+ "id133">11.6 Permessi sul
+ filesystem</a></li>
+
+ <li><a class="reference internal" href=
+ "#shell-dell-utente" id="id134" name=
+ "id134">11.7 Shell
+ dell'utente</a></li>
+
+ <li><a class="reference internal" href="#altre-opzioni"
+ id="id135" name="id135">11.8 Altre
+ opzioni</a></li>
+ </ul>
+ </li>
</ul>
</div>
- <p>Generato il 2010-01-04 con: <a class="reference external"
+ <p>Generato il 2010-02-09 con: <a class="reference external"
href=
"http://docutils.sourceforge.net/rst.html">http://docutils.sourceforge.net/rst.html</a></p>
<div class="section" id="configurazione-sistema">
<h1><a class="toc-backref" href=
- "#id8">1 Configurazione sistema</a></h1>
+ "#id9">1 Configurazione sistema</a></h1>
<div class="section" id="solo-per-uso-interno">
<h2><a class="toc-backref" href=
- "#id9">1.1 Solo per uso interno</a></h2>
+ "#id10">1.1 Solo per uso interno</a></h2>
<p>Impostazioni di base per la configurazione del sistema
operativo e della rete nel laboratorio 208 facente parte
<div class="section" id="rete">
<h2><a class="toc-backref" href=
- "#id10">1.2 Rete</a></h2>
+ "#id11">1.2 Rete</a></h2>
<p>Parametri della rete attualmente in uso:</p>
<div class="section" id="interfaces">
<h3><a class="toc-backref" href=
- "#id11">1.2.1 interfaces</a></h3>
+ "#id12">1.2.1 interfaces</a></h3>
<p>Segue un esempio del file di configurazione della
scheda di rete con configurazione statica:</p>
<div class="section" id="bash-completion">
<h2><a class="toc-backref" href=
- "#id12">1.3 Bash completion</a></h2>
+ "#id13">1.3 Bash completion</a></h2>
<p>Il completamento automatico della shell (che si attiva
premendo il tasto tab una o due volte mentre si sta
<div class="section" id="vim">
<h2><a class="toc-backref" href=
- "#id13">1.4 Vim</a></h2>
+ "#id14">1.4 Vim</a></h2>
<p>Vim e' l'editor di testo preferito dai sistemisti,
quindi sara' conveniente impostare fin da subito alcune
<div class="section" id="vnc">
<h2><a class="toc-backref" href=
- "#id14">1.5 VNC</a></h2>
+ "#id15">1.5 VNC</a></h2>
<p>I Virtual Network Computing (o VNC) sono software di
controllo remoto e servono per amministrare un computer a
<div class="section" id="lista-dei-pacchetti-di-base">
<h2><a class="toc-backref" href=
- "#id15">1.6 Lista dei pacchetti di
+ "#id16">1.6 Lista dei pacchetti di
base</a></h2>
<p>I pacchetti installati generalmente <a class=
<div class="section" id="apt-configurazione">
<h2><a class="toc-backref" href=
- "#id16">1.7 Apt configurazione</a></h2>
+ "#id17">1.7 Apt configurazione</a></h2>
<p>Vediamo i due file principali di apt:</p>
<div class="section" id="sources-list">
<h3><a class="toc-backref" href=
- "#id17">1.7.1 sources.list</a></h3>
+ "#id18">1.7.1 sources.list</a></h3>
<p>Questo file contiene i sorgenti da cui <em>apt</em>
preleva i pacchetti da installare tramite <em>dpkg</em>,
<div class="section" id="etc-apt-apt-conf">
<h3><a class="toc-backref" href=
- "#id18">1.7.2 /etc/apt/apt.conf</a></h3>
+ "#id19">1.7.2 /etc/apt/apt.conf</a></h3>
<p>Questo file contiene le opzioni di apt, come ad
esempio il proxy:</p>
<div class="section" id="squid">
<h1><a class="toc-backref" href=
- "#id19">2 Squid</a></h1>
-
- <p>Squid e' un proxy cache http (ma anche FTP e https)
- robusto e strutturato, puo' essere usato sia in situazioni
- 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 <em>condivisione della navigazione</em> internet
- all'interno di una rete locale, per poi poter negoziare 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 <em>ipfilter</em> limitato al 2'),
- nel bilanciamento del carico tra piu' server proxy.</p>
-
- <dl class="docutils">
- <dt>Inoltre Squid svolge la funzione di
- <em>anonymizer</em>:</dt>
-
- <dd>Nasconde i client http alla rete internet: e' solo il
- server proxy ad accedere ai server web frequentati dai
- client: questi non sono percepiti ed esposti all'esterno
- della rete locale ma si relazionano solo con il server
- proxy. Dal punto di vista della sicurezza della rete locale
- questo e' preferibile ad un approccio alla navigazione
- basato su <em>NAT</em>.</dd>
- </dl>
-
- <p>Cosa a volte sottovalutata, Squid permette la navigazione
- web a una rete basata su <em>indirizzi IP privati</em> (es
- una 192.168.0.0/24). E se la rete privata deve <em>solo
- navigare</em> in internet, non serve introdurre nella rete un
- <em>NAT</em> (si veda la sezione sui firewall) per
+ "#id20">2 Squid</a></h1>
+
+ <p>Squid e' un proxy cache http (ma puo' anche gestire i
+ protocolli FTP e https) robusto e strutturato, grazie alla
+ sua flessibilita' puo' essere utilizzato sia in piccole reti
+ locali che in scenari piu' complessi. E' molto semplice
+ configurarlo per la semplice <em>condivisione della
+ navigazione internet</em> all'interno di una rete locale, per
+ poi poter sucessivamente implementare la autenticazione degli
+ utenti, il filtraggio dei contenuti (Squid e' una
+ applicazione che si muove nel 4' livello del modello TCP/IP a
+ differenza di un <em>ipfilter</em> limitato al 2'), il
+ bilanciamento del carico tra piu' server proxy.</p>
+
+ <p>Se il server Squid e' in grado di accedere a internet
+ puor' 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 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 accessibile dai clients
- dato che <em>sara' il solo Squid a risolvere i nomi di
- dominio</em> per i suoi client http.</p>
-
- <p>Squid ascolta di default sulla porta 3128, per impostare
- <em>apt</em> per utilizzarlo si aggiunga ad <tt class=
- "docutils literal"><span class=
+ dato che sara' il solo Squid a risolvere i nomi di dominio
+ per i suoi client http.</p>
+
+ <p>Inoltre Squid svolge la funzione di <em>anonymizer</em>:
+ nasconde i client http alla rete internet: e' solo il server
+ proxy ad accedere ai server web frequentati dai client:
+ questi non sono percepiti ed esposti all'esterno della rete
+ locale ma si relazionano solo con Squid. Dal punto di vista
+ della sicurezza della rete locale questo e' preferibile ad un
+ approccio alla navigazione basato su NAT.</p>
+
+ <p>Squid ascolta di default sulla porta <tt class=
+ "docutils literal"><span class="pre">3128</span></tt>, per
+ quanto in genere la porta preferita per i servizi di caching
+ http sia la <tt class="docutils literal"><span class=
+ "pre">8080</span></tt>. Per utilizzarlo subito anche per apt
+ si aggiunga ad <tt class="docutils literal"><span class=
"pre">/etc/apt/apt.conf</span></tt></p>
<pre class="literal-block">
Acquire::http::Proxy "10.10.208.254:3128";
</pre>
- <p>Per installare Squid si usino i pacchetti:</p>
+ <p>Per installare Squid si usi il pacchetto:</p>
<pre class="literal-block">
squid3
</pre>
<div class="section" id="configurazione-squid-conf">
<h2><a class="toc-backref" href=
- "#id20">2.1 Configurazione:
+ "#id21">2.1 Configurazione:
squid.conf</a></h2>
- <p>Segue un estratto delle direttive principali viste in
+ <p>egue un estratto delle direttive principali viste in
aula presenti nel file di configurazione <tt class=
"docutils literal"><span class=
"pre">/etc/squid3/squid.conf</span></tt> .</p>
<div class="section" id="cache-dir">
<h3><a class="toc-backref" href=
- "#id21">2.1.1 Cache_dir</a></h3>
-
- <p>Cache dir serve per impostare dimensione e percorso
- della cache creata sul supporto di storaggio. Essendo la
- dimensione di default della cache pari a <tt class=
- "docutils literal"><span class="pre">~100</span>
- <span class="pre">MB</span></tt> e' altamente
- consigliabili aumentare questo parametro se si vuole
- poter utilizzare la funzione di <em>cache</em> http del
- software.</p>
-
- <p>La dimensione ovviamente dipendera' dallo spazio
- disponibile, dimensioni tipiche e massime degli oggetti
- che si vuole tenere in cache (un solo file <em>.iso e'
- circa ``700 MB``, il pacchetto *Openoffice.org</em> circa
- <tt class="docutils literal"><span class="pre">150</span>
- <span class="pre">MB</span></tt>, un pacchetto debian
- circa <tt class="docutils literal"><span class=
- "pre">20</span> <span class="pre">MB</span></tt>), numero
- dei client.</p>
+ "#id22">2.1.1 Cache_dir</a></h3>
+
+ <p>Cache dir serve per impostare caratteristiche
+ fondamentali della cache creata sul supporto di storaggio
+ quali dimensione e percorso nel file-system. Essendo la
+ dimensione di default della cache pari a ~``100 MB`` e'
+ altamente consigliabili aumentare questo parametro se si
+ vuole godere dei vantaggi della funzione di cache per
+ piu' clients.</p>
+
+ <p>Per stabilire il dimensionamento della cache si tenga
+ conto dello spazio disponibile, dimensioni tipiche e
+ massime degli oggetti che si vuole tenere in cache (un
+ solo file .iso occupa circa <tt class=
+ "docutils literal"><span class="pre">700</span>
+ <span class="pre">MB</span></tt>, il pacchetto
+ Openoffice.org circa 150 MB, un pacchetto Debian circa 20
+ MB), e in fine del numero dei client.</p>
<p>Si presti poi attenzione alla natura dei dati che
saranno salvati nella cache: sono tutti dati facilmente
- sostituibili (gli originali sono <em>on-line</em>) la cui
- perdita non arreca danni permanenti. Questo rende la
- cache di Squid un possibile candidato ad un <em>RAID
- stirpe</em> (livello 0) a ad un file system che prediliga
- le performance a scapito della consistenza, con vantaggi
- sia per le prestazioni (e la velocita' di navigazione e'
- uno dei motivi per cui si installa Squid) che per
- l'utilizzo estensivo dello spazio di storaggio.</p>
+ sostituibili (gli originali sono on-line) la cui perdita
+ causerebbe solo la necessita' di ripopolare la cache.
+ Questo rende la cache di Squid un possibile candidato ad
+ un RAID stirpe (livello 0) a ad un file system che
+ prediliga le performance a scapito della consistenza, con
+ vantaggi sia per le prestazioni (e la velocita' di
+ navigazione e' uno dei motivi per cui si installa Squid)
+ che per l'utilizzo estensivo dello spazio di
+ storaggio.</p>
<p>Questo fino al momento in cui per voi non sia piu'
- importante <em>garantire la disponibilita' del
- servizio</em>, ad esempio con un RAID <em>mirror</em> o 5
- (se il RAID stripe dovesse rompersi gli utenti non
- potrebbero piu' navigare, cosa che per natura dello
- stripe e' maggiormente probabile rispetto ad un
- <em>mirror</em> o a un filesytem <em>normale</em>).</p>
-
- <p>Altra considerazione: i dati del proxy vengono slavati
- sul filesytem del server dietro richiesta di utenti
- esterni talvolta sconosciuti. Come per i servizi di file
- sharing o per la posta elettronica non c'e' motivo che il
- filesystem su cui sono ospitati questi dati abbia i
- privilegi di eseguibilita' o suid (in genere si puo'
- anche usare <em>noatime</em> per renderlo piu' veloce,
- che si usi o meno il journal dipende dalle preferenze:
- affidabilita' oppure prestazioni):</p>
-
- <p>/etc/fstab</p>
- <pre class="literal-block">
+ importante garantire la disponibilita' del servizio: se
+ il RAID stripe dovesse rompersi gli utenti non potrebbero
+ piu' navigare, cosa che per natura dello stripe e' piu'
+ probabile rispetto ad un filesytem normale.</p>
+
+ <div class="section" id="opzioni-del-file-system">
+ <h4><a class="toc-backref" href=
+ "#id23">2.1.1.1 Opzioni del file
+ system</a></h4>
+
+ <p>I dati che compongono la cache vengono salvati sul
+ filesytem del server dietro richiesta dei client http
+ degli utenti della rete locale. Come per i servizi di
+ file sharing o per la posta elettronica non c'e' motivo
+ che il filesystem su cui sono ospitati questi dati
+ abbiano i privilegi di eseguibilita' o suid (in genere
+ si possono anche usare opzioni come noatime per rendere
+ i file-systems piu' veloci, scegliere di utilizzare un
+ journal dipende dalla dimesione della cache dalle
+ preferenze: affidabilita' oppure prestazioni):</p>
+
+ <p>/etc/fstab</p>
+ <pre class="literal-block">
...
# Filesystem per Squid http cache
/dev/md3/ /var/spool/squid/ ext2,noexec,nosuid,noatime 0 3
</pre>
+ </div>
+ </div>
+
+ <div class="section" id="configurazioni-di-cache-dir">
+ <h3><a class="toc-backref" href=
+ "#id24">2.1.2 Configurazioni di
+ Cache_dir</a></h3>
<p>Ora possiamo impostare la cache nel file di
configurazione <tt class="docutils literal"><span class=
# algoritmo
</pre>
- <p>Se si modifica la struttura del filesytem della cache
- di Squid, ad esempio variando il numero delle directory,
- puo' essere opportuno rigenerare la struttura della cache
- di squid. Tipicamente e' consigliabile cancellare (se si
- ha <em>ridotto</em> il numero delle directory) la vecchia
- cache e poi generare una nuova struttura. Se si vuole
- <em>star nel sicuro</em> ogni volta che si modifica
- l'impostazione delle directory <em>si svuoti la vecchia
- cache e se ne generi una nuova</em></p>
+ <p>Se si modifica la struttura della cache di Squid, ad
+ esempio variando il numero delle directory, puo' essere
+ opportuno cancellare e rigenerare la cache. Tipicamente
+ e' consigliabile cancellare (se si ha ridotto il numero
+ delle directory) la vecchia cache e poi generare una
+ nuova struttura. Se si vuole star nel sicuro ogni volta
+ che si modifica l'impostazione delle directory si svuoti
+ la vecchia cache e se ne generi una nuova:</p>
<pre class="literal-block">
# /etc/init.d/squid3 stop
# rm -r /var/spool/squid3/??
<div class="section" id="tag-maximum-object-size">
<h3><a class="toc-backref" href=
- "#id22">2.1.2 TAG:
+ "#id25">2.1.3 TAG:
maximum_object_size</a></h3>
<p>Questa direttiva imposta la dimensione massima degli
<div class="section" id="tag-cache-mem">
<h3><a class="toc-backref" href=
- "#id23">2.1.3 TAG: cache_mem</a></h3>
-
- <p><em>Cache_mem</em> imposta quanta memoria RAM venga
- utilizzata per la cache di Squid. Questo dipendera' dalla
- RAM disponibile sul sistema, e da quanta di questa volete
- mettere a disposizione di Squid (altri servizi importanti
- girano sulla stessa macchina? ). Questo parametro
- influisce sulle prestazioni e sul degrado dei supporti di
- storaggio (sopratutto se magnetici).</p>
+ "#id26">2.1.4 TAG: cache_mem</a></h3>
+
+ <p><strong>Cache_mem</strong> imposta quanta memoria RAM
+ venga dedicata alla cache di Squid. Si consideri non solo
+ quanta RAM sia disponibile sul sistema, ma anche quale
+ sia l'utilizzo tipico di questo: altri servizi
+ fondamentali necessitano di molta memoria?</p>
+
+ <p>Questo parametro per altro influisce sulle prestazioni
+ e sul degrado dei supporti di storaggio (sopratutto se
+ magnetici). Ad esempio se si stanno utilizzando dischi
+ rigidi esterni USB per la cache sara' preferibile cercare
+ di usare quanta piu' RAM possibile per evitare il
+ sovraccarico computazionale dovuto alla gestione dello
+ stack USB, fenomeno evidente sui sistemi embedded come
+ NAS.</p>
<p>Se si stesse pensando di usare dell'hardware
<em>embedded</em> a basse prestazioni / consumo per
<div class="section" id="tag-minimum-object-size">
<h3><a class="toc-backref" href=
- "#id24">2.1.4 TAG:
+ "#id27">2.1.5 TAG:
minimum_object_size</a></h3>
<p>Questo parametro imposta la dimensione minima degli
pochi client (una decina) e server poco performanti nella
velocita' di accesso ai filesystem ( ~20MB/s, per quanto
il limte sia piuttosto il <em>seek-time</em> ) tenere in
- cache i file piu' piccoli aumenta la latenza della
- navigazione.</p>
+ cache i file piu' piccoli finisce per aumentare la
+ latenza della navigazione.</p>
<p>TAG: minimum_object_size:</p>
<pre class="literal-block">
<div class="section" id=
"negoziazione-degli-accesi-al-servizio">
<h2><a class="toc-backref" href=
- "#id25">2.2 Negoziazione degli accesi al
+ "#id28">2.2 Negoziazione degli accesi al
servizio</a></h2>
- <p>Squid e' uno di quei servizi soggetto a problemi di tipo
- <em>open relay</em> , si deve quindi limitare la rete che
- puo' accedere al servizio.</p>
+ <p>Squid fa parte di quei servizi suscettibili di diventare
+ un open relay, sara' quindi necessario prestare attenzione
+ a delimitare la rete che puo' accedere al servizio.</p>
<dl class="docutils">
<dt>Open Relay:</dt>
http://www.visolve.com/squid/squid24s1/access_controls.php</a></p>
<p>E' poi sempre possibile tenere il proxy in ascolto su un
- solo indirizzo IP, nel caso si disponga di piu' devicei di
- rete, oppure settare un firewall per limitare il traffico
- dai primi livelli del TCP/IP.</p>
+ solo indirizzo IP, nel caso si disponga di piu' device di
+ rete, oppure settare un IP firewall per limitare il
+ traffico in base al protocollo IP.</p>
<div class="section" id="acl-e-http-access">
<h3><a class="toc-backref" href=
- "#id26">2.2.1 ACL e http access</a></h3>
+ "#id29">2.2.1 ACL e http access</a></h3>
<p>Si proceda a creare una <tt class=
"docutils literal"><span class="pre">ACL</span></tt> di
<div class="section" id="testare-squid">
<h2><a class="toc-backref" href=
- "#id27">2.3 Testare Squid</a></h2>
+ "#id30">2.3 Testare Squid</a></h2>
- <p>Configurato squid e' fondamentale testarne il corretto
- funzionamento per assicurarsi di non aver creato un
- <em>open-relay</em>. Per fare dei test significativi serve
- utilizzare degli host remoti: ci si connetta via ssh a
- questi per poi utilizzare <tt class=
- "docutils literal"><span class="pre">wget</span></tt> da
- riga di comando.</p>
+ <p>Dopo aver configurato squid e' fondamentale testarne il
+ corretto funzionamento per assicurarsi di non aver creato
+ un <em>open-relay</em>. Per fare dei test significativi
+ serve utilizzare degli host remoti: ci si connetta via ssh
+ a questi e si usi <tt class="docutils literal"><span class=
+ "pre">wget</span></tt> da riga di comando.</p>
<div class="section" id="client-wgetrc">
<h3><a class="toc-backref" href=
- "#id28">2.3.1 Client: ~/.wgetrc</a></h3>
+ "#id31">2.3.1 Client: ~/.wgetrc</a></h3>
<p>Nel file <tt class="docutils literal"><span class=
"pre">.wgetrc</span></tt> (si noti il punto iniziale: e'
<div class="section" id="server-access-log">
<h3><a class="toc-backref" href=
- "#id29">2.3.2 Server:
+ "#id32">2.3.2 Server:
access.log</a></h3>
<p>Si puo' controllare il corretto funzionamento del
<div class="section" id="tiny-proxy">
<h1><a class="toc-backref" href=
- "#id30">3 Tiny proxy</a></h1>
+ "#id33">3 Tiny proxy</a></h1>
<p>Se avete l'esigenza di un proxy server per la condivisione
della connessione ad internet ma non avete la necessita' o le
<div class="section" id="apache">
<h1><a class="toc-backref" href=
- "#id31">4 Apache</a></h1>
+ "#id34">4 Apache</a></h1>
<p>Apache HTTP Server, o piu' comunemente Apache (<em>a
patchy NCSA web server</em> ), e' il server web modulare piu'
<div class="section" id="pacchetti-da-installare">
<h2><a class="toc-backref" href=
- "#id32">4.1 Pacchetti da
+ "#id35">4.1 Pacchetti da
installare::</a></h2>
<blockquote>
<div class="section" id="configurazione-di-apache">
<h2><a class="toc-backref" href=
- "#id33">4.2 Configurazione di
+ "#id36">4.2 Configurazione di
Apache</a></h2>
<p>I file di configurazione di apache si trovano nella
<div class="section" id="apache-conf">
<h2><a class="toc-backref" href=
- "#id34">4.3 apache.conf</a></h2>
+ "#id37">4.3 apache.conf</a></h2>
<p>File di configurazione del servizio Apache, contiene le
impostazioni generiche (ad esempio utilizzo della RAM e
<div class="section" id="installazione-di-php">
<h2><a class="toc-backref" href=
- "#id35">4.4 Installazione di PHP</a></h2>
+ "#id38">4.4 Installazione di PHP</a></h2>
<p>Pacchetti da installare: <tt class=
"docutils literal"><span class="pre">php5</span>
<div class="section" id="test-del-modulo-php">
<h3><a class="toc-backref" href=
- "#id36">4.4.1 Test del modulo
+ "#id39">4.4.1 Test del modulo
php</a></h3>
<p>Creare nella cartella <tt class=
<div class="section" id=
"installazione-del-supporto-per-mysql-a-php">
<h3><a class="toc-backref" href=
- "#id37">4.4.2 Installazione del supporto
+ "#id40">4.4.2 Installazione del supporto
per Mysql a PHP</a></h3>
<p>Installare i pacchetti:</p>
<div class="section" id="phpmyadmin">
<h3><a class="toc-backref" href=
- "#id38">4.4.3 phpmyadmin</a></h3>
+ "#id41">4.4.3 phpmyadmin</a></h3>
<p>L'interfaccia web Phpmyadmin non richiede
necessariamente la presenza di un database Mysql locale,
<div class="section" id=
"installazione-del-supporto-per-postgresql-a-php">
<h3><a class="toc-backref" href=
- "#id39">4.4.4 Installazione del supporto
+ "#id42">4.4.4 Installazione del supporto
per Postgresql a PHP</a></h3>
<p>Installare i pacchetti:</p>
<div class="section" id="phppgadmin">
<h3><a class="toc-backref" href=
- "#id40">4.4.5 phppgadmin</a></h3>
+ "#id43">4.4.5 phppgadmin</a></h3>
<p>L'interfaccia web Phppgadmin per il database server
PostgreSQL non richiede necessariamente la presenza di un
<div class="section" id="virtual-hosts">
<h2><a class="toc-backref" href=
- "#id41">4.5 Virtual hosts</a></h2>
+ "#id44">4.5 Virtual hosts</a></h2>
<blockquote>
<ul class="simple">
<div class="section" id="gestione-dns">
<h3><a class="toc-backref" href=
- "#id42">4.5.1 Gestione DNS</a></h3>
+ "#id45">4.5.1 Gestione DNS</a></h3>
<p>Prima di tutto per poter impostare i virtual hosts
dovete avere un server DNS che risolva i vostri nomi di
<div class="section" id="eseguire-una-query-dns-con-dig">
<h3><a class="toc-backref" href=
- "#id43">4.5.2 Eseguire una query DNS con
+ "#id46">4.5.2 Eseguire una query DNS con
<tt class="docutils literal"><span class=
"pre">dig</span></tt>::</a></h3>
<div class="section" id="id3">
<h3><a class="toc-backref" href=
- "#id44">4.5.3 Virtual hosts</a></h3>
+ "#id47">4.5.3 Virtual hosts</a></h3>
<p>Esempio di Virtual host:</p>
<pre class="literal-block">
<div class="section" id="negoziazione-accessi">
<h2><a class="toc-backref" href=
- "#id45">4.6 Negoziazione accessi</a></h2>
+ "#id48">4.6 Negoziazione accessi</a></h2>
<p>Tipicamente quando si installa un server web il proprio
desiderio e' di dare accesso ai materiali disponibili al
<div class="section" id="limiti-su-base-ip">
<h3><a class="toc-backref" href=
- "#id46">4.6.1 Limiti su base IP</a></h3>
+ "#id49">4.6.1 Limiti su base IP</a></h3>
<p>La forma piu' semplice di restrizione degli accessi e'
su base degli indirizzi IP dei client: tipicamente i siti
<div class="section" id="user-authentication">
<h2><a class="toc-backref" href=
- "#id47">4.7 User Authentication</a></h2>
+ "#id50">4.7 User Authentication</a></h2>
<p>Si puo' negoziare gli accessi ad un area del sito
tramite autenticazione basata su <em>nome utente /
<div class="section" id="definire-la-cartella">
<h3><a class="toc-backref" href=
- "#id48">4.7.1 Definire la
+ "#id51">4.7.1 Definire la
cartella</a></h3>
<p>Decidere quale sara' il <em>path</em> della cartella
<div class="section" id=
"creazione-del-database-delle-passwords">
<h3><a class="toc-backref" href=
- "#id49">4.7.2 Creazione del database
+ "#id52">4.7.2 Creazione del database
delle passwords</a></h3>
<p>Un modo semplice per gestire una database di
<div class="section" id="id4">
<h3><a class="toc-backref" href=
- "#id50">4.7.3 Configurazione di
+ "#id53">4.7.3 Configurazione di
Apache</a></h3>
<p>Ora possiamo passare alla configurazione vera e
<div class="section" id="cavets">
<h2><a class="toc-backref" href=
- "#id51">4.8 Cavets</a></h2>
+ "#id54">4.8 Cavets</a></h2>
<p>Problemi di cache:</p>
<div class="section" id="domain-name-system">
<h1><a class="toc-backref" href=
- "#id52">5 Domain Name System</a></h1>
+ "#id55">5 Domain Name System</a></h1>
<p>Domain Name System (spesso indicato con DNS) e' un
servizio utilizzato per la risoluzione di nomi di host in
<div class="section" id="risoluzione-inversa">
<h2><a class="toc-backref" href=
- "#id53">5.1 Risoluzione Inversa</a></h2>
+ "#id56">5.1 Risoluzione Inversa</a></h2>
<p>Per la risoluzione inversa sono invece i provider di
connettivita' a gestire i DNS: se volete impostare il
<div class="section" id="nomi-di-dominio">
<h2><a class="toc-backref" href=
- "#id54">5.2 Nomi di dominio</a></h2>
+ "#id57">5.2 Nomi di dominio</a></h2>
<p>Un nome a dominio e' costituito da una serie di stringhe
separate da punti, ad esempio bender.piffa.net. I nomi di
<div class="section" id="tipologie-di-record">
<h2><a class="toc-backref" href=
- "#id55">5.3 Tipologie di record</a></h2>
+ "#id58">5.3 Tipologie di record</a></h2>
<p>Ad un nome DNS possono corrispondere diversi tipi di
informazioni. Per questo motivo, esistono diversi tipi di
<div class="section" id="utilizzo">
<h2><a class="toc-backref" href=
- "#id56">5.4 Utilizzo</a></h2>
+ "#id59">5.4 Utilizzo</a></h2>
<p>I computer vengono identificati in rete grazie agli
indirizzi <em>IP</em>, questi pero' non sono comodi per gli
<div class="section" id="risoluzione-dei-nomi-di-dominio">
<h2><a class="toc-backref" href=
- "#id57">5.5 Risoluzione dei nomi di
+ "#id60">5.5 Risoluzione dei nomi di
dominio</a></h2>
<p>Ci sono vari strumenti per interrogare i server DNS e
<div class="section" id="dig">
<h2><a class="toc-backref" href=
- "#id58">5.6 Dig</a></h2>
+ "#id61">5.6 Dig</a></h2>
<p>Vediamo alcune opzioni utili nell'utilizzo di <tt class=
"docutils literal"><span class="pre">dig</span></tt> per
<div class="section" id="resolv-conf">
<h2><a class="toc-backref" href=
- "#id59">5.7 resolv.conf</a></h2>
+ "#id62">5.7 resolv.conf</a></h2>
<p>Il file <tt class="docutils literal"><span class=
"pre">/etc/resolv.conf</span></tt> contiene le impostazioni
<div class="section" id="etc-hosts">
<h2><a class="toc-backref" href=
- "#id60">5.8 /etc/hosts</a></h2>
+ "#id63">5.8 /etc/hosts</a></h2>
<p>Tabella statica per l'associazione tra IP e nomi di
dominio:</p>
<div class="section" id="hostname">
<h2><a class="toc-backref" href=
- "#id61">5.9 Hostname</a></h2>
+ "#id64">5.9 Hostname</a></h2>
<p>Ogni computer ha un <em>proprio nome</em> visualizzabile
(e modificabile) con il comando <tt class=
<div class="section" id="fqdn">
<h3><a class="toc-backref" href=
- "#id62">5.9.1 FQDN</a></h3>
+ "#id65">5.9.1 FQDN</a></h3>
<p>Per semplicita' gli host sono generalemente
raggiungibili dall'esterno mappando il loro IP su un nome
<div class="section" id="dnsmasq">
<h1><a class="toc-backref" href=
- "#id63">6 DNSmasq</a></h1>
+ "#id66">6 DNSmasq</a></h1>
<p>Dnsmasq puo' svolgere le funzioni di un DNS cache /
forwarder, server DHCP, e' caratterizzato dalla facilita' di
<div class="section" id="configurazione">
<h2><a class="toc-backref" href=
- "#id64">6.1 Configurazione</a></h2>
+ "#id67">6.1 Configurazione</a></h2>
<p>Vediamo alcune direttive di basi del file di
configurazione <tt class="docutils literal"><span class=
<div class="section" id="dhcp">
<h2><a class="toc-backref" href=
- "#id65">6.2 DHCP</a></h2>
+ "#id68">6.2 DHCP</a></h2>
<p>Per attivare il demone DHCP di Dnsmasq basta aggiungere
al file di configurazione il <em>range</em> degli IP che si
<div class="section" id="dns-cache">
<h2><a class="toc-backref" href=
- "#id66">6.3 DNS cache</a></h2>
+ "#id69">6.3 DNS cache</a></h2>
<p>Dnsmasq lavora di default come cache dns: inserire al
file <tt class="docutils literal"><span class=
<div class="section" id="bind-dns-autoritativo">
<h1><a class="toc-backref" href=
- "#id67">7 Bind : DNS Autoritativo</a></h1>
+ "#id70">7 Bind : DNS Autoritativo</a></h1>
<p>Le soluzioni viste possono bastare per la rete locale o
per fare delle prove, ma prima o poi verra' il momento in cui
<div class="section" id="id5">
<h2><a class="toc-backref" href=
- "#id68">7.1 DNS cache</a></h2>
+ "#id71">7.1 DNS cache</a></h2>
<p>Bind appena installato funzionera' come DNS cache: si
faccia un test con un <tt class=
<div class="section" id="ospitare-una-zona">
<h2><a class="toc-backref" href=
- "#id69">7.2 Ospitare una zona</a></h2>
+ "#id72">7.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.
<div class="section" id="named-conf-local">
<h3><a class="toc-backref" href=
- "#id70">7.2.1 named.conf.local</a></h3>
+ "#id73">7.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
<div class="section" id="configurazione-della-zona">
<h3><a class="toc-backref" href=
- "#id71">7.2.2 Configurazione della
+ "#id74">7.2.2 Configurazione della
zona</a></h3>
<p>Ora dovremo preparare il file contenente i record DNS
<div class="section" id="soa-start-of-authority-record">
<h4><a class="toc-backref" href=
- "#id72">7.2.2.1 SOA: Start of
+ "#id75">7.2.2.1 SOA: Start of
Authority Record</a></h4>
<p>Il record SOA puo' comparire solo una volta in una
<div class="section" id="altri-campi">
<h4><a class="toc-backref" href=
- "#id73">7.2.2.2 Altri campi:</a></h4>
+ "#id76">7.2.2.2 Altri campi:</a></h4>
<p>All'interno della zona possono essere utilizati vari
tipi di records (RR):</p>
<div class="section" id="dns-slave">
<h2><a class="toc-backref" href=
- "#id74">7.3 DNS slave</a></h2>
+ "#id77">7.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
<div class="section" id="aggiornamento-dinamico-nsupdate">
<h2><a class="toc-backref" href=
- "#id75">7.4 Aggiornamento dinamico:
+ "#id78">7.4 Aggiornamento dinamico:
nsupdate</a></h2>
<p>Dalla versione 8 di Bind e' dsponibile l'utility
<div class="section" id="configurazione-client-nsupdate">
<h3><a class="toc-backref" href=
- "#id76">7.4.1 Configurazione client
+ "#id79">7.4.1 Configurazione client
(nsupdate)</a></h3>
<p>Sul client, sul quale non deve essere necessariamente
<div class="section" id=
"configurazione-server-riconoscimento-chiave">
<h3><a class="toc-backref" href=
- "#id77">7.4.2 Configurazione server:
+ "#id80">7.4.2 Configurazione server:
riconoscimento chiave</a></h3>
<dl class="docutils">
<div class="section" id="server-gestione-dell-intera-zona">
<h3><a class="toc-backref" href=
- "#id78">7.4.3 Server: gestione
+ "#id81">7.4.3 Server: gestione
dell'intera zona</a></h3>
<p>Sul server modifichiamo il file di configurazione
<div class="section" id=
"automatizzare-l-aggiornamento-dinamico">
<h3><a class="toc-backref" href=
- "#id79">7.4.4 Automatizzare
+ "#id82">7.4.4 Automatizzare
l'aggiornamento dinamico</a></h3>
<p>Nsupdate risulta comodo per tenere aggiornati i record
<div class="section" id="link-suggeriti">
<h2><a class="toc-backref" href=
- "#id80">7.5 Link suggeriti:</a></h2>
+ "#id83">7.5 Link suggeriti:</a></h2>
<ul class="simple">
<li>DNS for Rocket Scientists <a class=
<div class="section" id="samba">
<h1><a class="toc-backref" href=
- "#id81">8 Samba</a></h1>
+ "#id84">8 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=
- "#id82">8.1 Pacchetti</a></h2>
+ "#id85">8.1 Pacchetti</a></h2>
<p>Pacchetti da installare per utilizzare Samba in
modalita' client <a class="footnote-reference" href="#id7"
<div class="section" id="passwords-e-autenticazione">
<h2><a class="toc-backref" href=
- "#id83">8.2 Passwords e
+ "#id86">8.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=
- "#id84">8.3 Creazione Utenti</a></h2>
+ "#id87">8.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=
- "#id85">8.4 Creare la
+ "#id88">8.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=
- "#id86">8.4.1 Sicurezza: permessi di
+ "#id89">8.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=
- "#id87">8.5 Configurazione
+ "#id90">8.5 Configurazione
dell'applicativo Samba vero e proprio.</a></h2>
<p>Avendo preparato gli utenti (ancora una volta: non si
<div class="section" id="creazione-di-un-gruppo">
<h3><a class="toc-backref" href=
- "#id88">8.5.1 Creazione di un
+ "#id91">8.5.1 Creazione di un
gruppo</a></h3>
<p>Se si deve condividere una risorsa con un numero
<div class="section" id="testare-il-servizio">
<h2><a class="toc-backref" href=
- "#id89">8.6 Testare il Servizio</a></h2>
+ "#id92">8.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=
- "#id90">9 Server di posta: Postfix</a></h1>
+ "#id93">9 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
<div class="section" id="test-del-server-smtp">
<h2><a class="toc-backref" href=
- "#id91">9.1 Test del server smtp</a></h2>
+ "#id94">9.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=
- "#id92">9.1.1 Swaks</a></h3>
+ "#id95">9.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=
- "#id93">9.2 Imap e pop</a></h2>
+ "#id96">9.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=
- "#id94">9.3 Client a riga di
+ "#id97">9.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=
- "#id95">9.3.1 mailx</a></h3>
+ "#id98">9.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=
- "#id96">9.3.2 Mutt</a></h3>
+ "#id99">9.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=
- "#id97">9.3.3 Web client</a></h3>
+ "#id100">9.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:
<div class="section" id="graylisting">
<h2><a class="toc-backref" href=
- "#id98">9.4 Graylisting</a></h2>
+ "#id101">9.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=
- "#id99">9.4.1 Abilitazione in
+ "#id102">9.4.1 Abilitazione in
Postfix</a></h3>
<p>Installare il pacchetto: <tt class=
<div class="section" id="test">
<h3><a class="toc-backref" href=
- "#id100">9.4.2 Test</a></h3>
+ "#id103">9.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=
- "#id101">9.4.3 Statistiche</a></h3>
+ "#id104">9.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=
- "#id102">10 Firewall</a></h1>
+ "#id105">10 Firewall</a></h1>
<p>In Informatica, nell'ambito delle reti di computer, un
firewall (termine inglese dal significato originario di
<div class="section" id="links">
<h2><a class="toc-backref" href=
- "#id103">10.1 Links</a></h2>
+ "#id106">10.1 Links</a></h2>
<ul class="simple">
<li><a class="reference external" href=
<div class="section" id="ipfilter">
<h2><a class="toc-backref" href=
- "#id104">10.2 Ipfilter</a></h2>
+ "#id107">10.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=
- "#id105">10.3 Progettazione di un
+ "#id108">10.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=
- "#id106">10.3.1 Collocazione</a></h3>
+ "#id109">10.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=
- "#id107">10.3.2 Policy di
+ "#id110">10.3.2 Policy di
default</a></h3>
<p>Drop o Accept: conseguenze per sicurezza, facilita' di
<div class="section" id="hardware">
<h3><a class="toc-backref" href=
- "#id108">10.3.3 Hardware</a></h3>
+ "#id111">10.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=
- "#id109">10.4 Percorso dei pacchetti tra
+ "#id112">10.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=
- "#id110">10.5 Concetti di base</a></h2>
+ "#id113">10.5 Concetti di base</a></h2>
<div class="section" id="tabelle-catene-regole">
<h3><a class="toc-backref" href=
- "#id111">10.5.1 Tabelle, catene,
+ "#id114">10.5.1 Tabelle, catene,
regole</a></h3>
<p>Iptables lavora su 3 tabelle (tables) di default:</p>
<div class="section" id="match">
<h3><a class="toc-backref" href=
- "#id112">10.5.2 Match</a></h3>
+ "#id115">10.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=
- "#id113">10.5.3 Targets</a></h3>
+ "#id116">10.5.3 Targets</a></h3>
<p>Se un pacchetto soddisfa le condizioni del Match
<em>salta</em> (jump) su uno dei target possibili, in
<div class="section" id="tabella-filter">
<h2><a class="toc-backref" href=
- "#id114">10.6 Tabella Filter</a></h2>
+ "#id117">10.6 Tabella Filter</a></h2>
<p>E' quella implicita e predefinita (-t filter) Riguarda
le attivita' di filtraggio del traffico. Ha 3 catene di
<div class="section" id=
"flush-automatico-per-macchine-remote">
<h2><a class="toc-backref" href=
- "#id115">10.7 Flush automatico per
+ "#id118">10.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=
- "#id116">10.8 Gestione regole
+ "#id119">10.8 Gestione regole
(rules)</a></h2>
<p>Il comando iptables viene usato per ogni attivita' di
<div class="section" id="salvataggio-regole">
<h2><a class="toc-backref" href=
- "#id117">10.9 Salvataggio regole</a></h2>
+ "#id120">10.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=
- "#id118">10.9.1 Iptables-save</a></h3>
+ "#id121">10.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=
- "#id119">10.9.2 Iptables-restore</a></h3>
+ "#id122">10.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=
- "#id120">10.10 Esempi</a></h2>
+ "#id123">10.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=
- "#id121">10.10.1 Bloccare i ping
+ "#id124">10.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=
- "#id122">10.10.2 Masquerading
+ "#id125">10.10.2 Masquerading
(sNAT)</a></h3>
<dl class="docutils">
<div class="section" id="brute-force">
<h3><a class="toc-backref" href=
- "#id123">10.10.3 Brute force</a></h3>
+ "#id126">10.10.3 Brute force</a></h3>
<p>Per limitare attacchi di tipo brute force su SSH:</p>
<pre class="literal-block">
</div>
</div>
- <div class="section" id="note">
+ <div class="section" id="ftp-server">
<h1><a class="toc-backref" href=
- "#id124">11 NOTE</a></h1>
+ "#id127">11 FTP Server</a></h1>
+
+ <p>Il File Transfer Protocol (FTP) (protocollo di
+ trasferimento file), รจ un Protocollo per la trasmissione di
+ dati tra host basato su TCP, in genere usato dagli autori di
+ pagine web per <em>pubblicare</em> queste nei propio spazi
+ web. Storicamente veniva anche usato, mediate l'utilizzo di
+ utenze anonime, come punto di scambio per materiali di vari
+ utenti tra loro sconosciuti (una directory dei materiali
+ scaricabili e una dedicata agli <em>uploads</em> degli
+ utenti, poi riordinati dall'<em>ftpmaster</em>). Tuttora si
+ mantiene la cosuetudine di renedere disponibile i materiali
+ dei <em>mirrors</em> anche tramite FTP, probabilmente per
+ garantire l'accesso ai client piu' datati che non possono
+ utilizzare tecnologie piu' recenti.</p>
+
+ <p>Il protocollo FTP e' in chiaro (cioe' non criptato), sia
+ per quanto riguarda il traffico ad esso associato che per il
+ passaggio delle passwords degli utenti, facilmente sniffabili
+ da chiunque abbia accesso alla rete. Naturalmente vsftp per
+ quanto votato alla sicurezza non modifica queste
+ caratteristiche del protocollo FTP (ma consente di usare
+ OpenSSL per la autenticazione degli utenti).</p>
+
+ <p>Se propio si deve mettere a disposizione un server FTP ai
+ propi utenti si considerino le seguenti alternative:</p>
- <dl class="docutils">
- <dt>Bind:</dt>
+ <ul class="simple">
+ <li>Spingere gli utenti ad usare SFTP invece che FTP</li>
+
+ <li>Spingere gli utenti ad usare SSL per autenticarsi al
+ server FTP</li>
- <dd>
- <ul class="first last simple">
- <li>altri esempi commenti su una zona</li>
+ <li>Nel caso di webdesigners si consideri la possibilita'
+ di offrire alternative come GIT, Subversion, Rsync o
+ Webdav</li>
+ </ul>
- <li>esempi di una zona PTR?</li>
+ <p>Nel caso non si possa evitare il server FTP:</p>
- <li>dns secondari</li>
+ <ul class="simple">
+ <li>Non dare agli utenti FTP una shell di sistema (
+ Concedere come shell <tt class=
+ "docutils literal"><span class="pre">ftp</span></tt> al
+ posto di <tt class="docutils literal"><span class=
+ "pre">bash</span></tt> in <tt class=
+ "docutils literal"><span class=
+ "pre">/etc/passwd</span></tt>)</li>
- <li>nsupdate</li>
- </ul>
- </dd>
- </dl>
+ <li>Rendere il filesytem su cui scrive il demone FTP
+ <tt class="docutils literal"><span class=
+ "pre">noexec</span></tt> e <tt class=
+ "docutils literal"><span class="pre">nosuid</span></tt>
+ (vedi dopo)</li>
- <p>sintassi: in <tt class="docutils literal"><span class=
- "pre">monospace</span></tt> :</p>
+ <li>Utilizzare un demone FTP come Vsftp: un server FTP con
+ una forte inclinazione alla sicurezza: <em>Very Secure FTP
+ Daemon</em>.</li>
+ </ul>
+
+ <p>Per maggiori informazioni sulle scelte di design legate
+ alla sicurezza del demone si veda: <a class=
+ "reference external" href=
+ "http://vsftpd.beasts.org/DESIGN">http://vsftpd.beasts.org/DESIGN</a></p>
+
+ <p>Vsftp mette a disposizione le seguenti funzionalita':</p>
<ul class="simple">
- <li>nomi di files</li>
+ <li>Virtual IP configurations</li>
+
+ <li>Virtual users</li>
+
+ <li>Standalone or inetd operation</li>
- <li>comandi</li>
+ <li>Powerful per-user configurability</li>
- <li>pacchetti</li>
+ <li>Bandwidth throttling</li>
+
+ <li>Per-source-IP configurability</li>
+
+ <li>Per-source-IP limits</li>
+
+ <li>IPv6</li>
+
+ <li>Encryption support through SSL integration</li>
</ul>
+
+ <div class="section" id="id8">
+ <h2><a class="toc-backref" href=
+ "#id128">11.1 Pacchetti</a></h2>
+
+ <p>Per installare il demone vero e propio si usi il
+ pacchetto <tt class="docutils literal"><span class=
+ "pre">vsftpd</span></tt> , mentre per aver un client da cui
+ fare qualche test sono dipsonibili:</p>
+
+ <ul class="simple">
+ <li><tt class="docutils literal"><span class=
+ "pre">ftp</span></tt> (pacchetto da installare) e' il
+ solito client a riga di comando</li>
+
+ <li><tt class="docutils literal"><span class=
+ "pre">gftp</span></tt> e' un client grafico simile al
+ classico <em>WSftp</em></li>
+
+ <li>Normalmente i file mananager com Konqueror possono
+ lavarorare come client FTP</li>
+ </ul>
+ </div>
+
+ <div class="section" id="sessioni-ftp">
+ <h2><a class="toc-backref" href=
+ "#id129">11.2 Sessioni ftp</a></h2>
+
+ <p>Vediamo alcuni dei comandi di base per gestire una
+ sessione ftp a riga di comando:</p>
+
+ <dl class="docutils">
+ <dt>ftp nome_host</dt>
+
+ <dd>stabilire la connessione all'host, poi verra' chiesta
+ la password dell'utente. Se avete sbagliato utente: user
+ .</dd>
+
+ <dt>help</dt>
+
+ <dd>Lista dei comandi disponibili.</dd>
+
+ <dt>help [nome_comando]</dt>
+
+ <dd>Cosa fa quel comando.</dd>
+
+ <dt>put</dt>
+
+ <dd>Per caricare un file.</dd>
+
+ <dt>get</dt>
+
+ <dd>Per scaricare un file.</dd>
+
+ <dt>ls</dt>
+
+ <dd>Lista dei file disponibili.</dd>
+
+ <dt>cd</dt>
+
+ <dd>Spostarsi in un altra directory.</dd>
+
+ <dt>lcd</dt>
+
+ <dd>Cambio directory in LOCALE.</dd>
+
+ <dt>mput/mget</dt>
+
+ <dd>Per lavorare su file multipli.</dd>
+
+ <dt>prompt</dt>
+
+ <dd>
+ <dl class="first last docutils">
+ <dt>Per uscire dalla modalita' interattiva</dt>
+
+ <dd>
+ <dl class="first last docutils">
+ <dt>(non vi chiede conferma di ogni singola
+ operazione</dt>
+
+ <dd>su ogni singolo file...).</dd>
+ </dl>
+ </dd>
+ </dl>
+ </dd>
+
+ <dt>binary</dt>
+
+ <dd>Entra in modalita' trasferimento binario.</dd>
+
+ <dt>asii</dt>
+
+ <dd>Entra in modalita' trasferimento ascii.</dd>
+
+ <dt>bye</dt>
+
+ <dd>Per chiudere la sessione.</dd>
+ </dl>
+ </div>
+
+ <div class="section" id="configurazione-iniziale">
+ <h2><a class="toc-backref" href=
+ "#id130">11.3 Configurazione
+ iniziale</a></h2>
+
+ <p>Il demone di vsftpd e' immediatamente disponibile ma
+ solo in modalita' anonima (si pensi a uno scenario in cui
+ si vuole rendere disponibili dei files tramite FTP) e in
+ <em>sola lettura</em>. Per accedere al servizio si usi
+ quini come utente <tt class="docutils literal"><span class=
+ "pre">anonymous</span></tt> (la passwords in genere e' come
+ consuetudine il propio indirizzo email), la cui
+ <em>home</em> directory sara' <tt class=
+ "docutils literal"><span class="pre">/home/ftp/</span></tt>
+ (<tt class="docutils literal"><span class=
+ "pre">/srv/ftp</span></tt> in Squeeze):</p>
+ <pre class="literal-block">
+zoo:~# ftp localhost
+Connected to localhost.localdomain.
+220 (vsFTPd 2.0.7)
+Name (localhost:root): anonymous
+331 Please specify the password.
+Password:
+230 Login successful.
+Remote system type is UNIX.
+Using binary mode to transfer files.
+ftp> ls
+200 PORT command successful. Consider using PASV.
+150 Here comes the directory listing.
+-rw-r--r-- 1 0 0 0 Feb 03 17:17 anoni
+226 Directory send OK.
+</pre>
+ </div>
+
+ <div class="section" id="abilitare-gli-utenti-locali">
+ <h2><a class="toc-backref" href=
+ "#id131">11.4 Abilitare gli utenti
+ locali</a></h2>
+
+ <p>Per poter modificare le impostazioni iniziali, ad
+ esempio per permettere l'accesso agli utenti del server, si
+ modifichera' il file <tt class=
+ "docutils literal"><span class=
+ "pre">/etc/vsftpd.conf</span></tt>, a seguire le
+ impostazioni fondamentali ed altre interessanti per rendere
+ il server accessibile da utenti di sistema (autenticati
+ tramite la loro password, quindi con PAM) per il tipico
+ utilizzo di web designers che debbano pubblicare le loro
+ pagine web (e non si siano fatti convincere a usare
+ SFTP!):</p>
+ <pre class="literal-block">
+# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
+anonymous_enable=NO
+# Disabilitiamo l'utente anonimo
+
+# Uncomment this to allow local users to log in.
+local_enable=YES
+# Accesso garantito agli utenti di sistema
+
+# Uncomment this to enable any form of FTP write command.
+write_enable=YES
+# Permettiamo agli utenti di caricare documenti nella loro home
+
+# You may fully customise the login banner string:
+ftpd_banner=Benvenuti al servizio ftp del sito example.com
+</pre>
+
+ <p>Per abilitare i cambiamenti si proceda a riavviare il
+ server: <tt class="docutils literal"><span class=
+ "pre">/etc/init.d/vsftpd</span> <span class=
+ "pre">restart</span></tt> e si monitorizzi il file di log
+ <tt class="docutils literal"><span class="pre">tail</span>
+ <span class="pre">-f</span> <span class=
+ "pre">/var/log/vsftpd.log</span></tt> per controllarne il
+ funzionamento (e anche <tt class=
+ "docutils literal"><span class=
+ "pre">/var/log/syslog</span></tt> nel caso non si riuscisse
+ a far partire correttamente il servizio.</p>
+
+ <p>NOTE: Se non riuscite ad ottenere un <em>directory
+ listing</em> (<tt class="docutils literal"><span class=
+ "pre">ls</span></tt>) ottenendo un errore <tt class=
+ "docutils literal"><span class="pre">500</span>
+ <span class="pre">Illegal</span> <span class=
+ "pre">PORT</span> <span class="pre">command?</span>
+ <span class="pre">FTP</span> <span class=
+ "pre">error</span></tt> abilitare la modalita' passiva col
+ comando ftp <tt class="docutils literal"><span class=
+ "pre">passive</span></tt>.</p>
+ </div>
+
+ <div class="section" id="jail-chroot">
+ <h2><a class="toc-backref" href=
+ "#id132">11.5 Jail chroot</a></h2>
+
+ <p>Si puo' impedire all'utente di spostarsi arbitrariamente
+ per il file system del servere visualizzare il contenuto
+ delle directory, ad esempio la cartella <tt class=
+ "docutils literal"><span class="pre">/etc</span></tt>,
+ confinandolo in una jail chroot limitata alla sua home
+ directory:</p>
+ <pre class="literal-block">
+# You may restrict local users to their home directories. See the FAQ for
+# the possible risks in this before using chroot_local_user or
+# chroot_list_enable below.
+chroot_local_user=YES
+</pre>
+
+ <p>Generalmente un utente di sistema con il solo accesso
+ FTP non dovrebbe avere la possibilita' di poter navigare
+ liberamente per il file system del server, esponendo file
+ di configurazione e quant'altro l'utente potrebbe trarre
+ utili informazioni sul quali software siano installati e di
+ che tipo:</p>
+ <pre class="literal-block">
+Remote system type is UNIX.
+Using binary mode to transfer files.
+ftp> pwd
+257 "/"
+ftp> cd /etc/
+550 Failed to change directory.
+</pre>
+ </div>
+
+ <div class="section" id="permessi-sul-filesystem">
+ <h2><a class="toc-backref" href=
+ "#id133">11.6 Permessi sul
+ filesystem</a></h2>
+
+ <p>Come accennato precedentemente e' opportuno che i
+ filesystems sui quali un utente puo' scrivere o modificare
+ il contenuto non abbiano i privilegi di eseguibilita' e
+ suid, nel nonstro caso vsftpd lavora sull'intera <tt class=
+ "docutils literal"><span class="pre">/home/</span></tt>
+ directory quindi avremo in <tt class=
+ "docutils literal"><span class=
+ "pre">/etc/fstab</span></tt>:</p>
+ <pre class="literal-block">
+/dev/mapper/store-homes /home ext3 rw,nosuid,noexec 0 2
+</pre>
+ </div>
+
+ <div class="section" id="shell-dell-utente">
+ <h2><a class="toc-backref" href=
+ "#id134">11.7 Shell dell'utente</a></h2>
+
+ <p>Come gia' detto piu' volte le passwords degli utenti
+ viaaggiano in rete in chiaro, ponendo un grave problema di
+ sicurezza. Sara' quindi opportuno disbilitare la shell di
+ questi utenti, tramite il flag <tt class=
+ "docutils literal"><span class="pre">--shell</span>
+ <span class="pre">/bin/false</span></tt> in fase di
+ creazione degli utenti:</p>
+ <pre class="literal-block">
+# adduser --shell /bin/false nome_utente
+</pre>
+
+ <p>Oppure correggiendo manualmente il file <tt class=
+ "docutils literal"><span class=
+ "pre">/etc/passwd</span></tt> per modificare l'inpostazione
+ della shell dell'utente:</p>
+ <pre class="literal-block">
+nome_utente:x:1001:1001::/var/spool/postfix:/bin/bash
+# la riga sopra deve essere trasformata in
+nome_utente:x:1001:1001::/var/spool/postfix:/bin/false
+</pre>
+
+ <p>Sui sistemi DEbian REcenti sara' necessario aggiungere
+ <tt class="docutils literal"><span class=
+ "pre">/bin/false</span></tt> all'elenco delle shell
+ valide.</p>
+
+ <p><tt class="docutils literal"><span class=
+ "pre">/etc/shells</span></tt></p>
+ <pre class="literal-block">
+...
+/bin/false
+</pre>
+ </div>
+
+ <div class="section" id="altre-opzioni">
+ <h2><a class="toc-backref" href=
+ "#id135">11.8 Altre opzioni</a></h2>
+
+ <dl class="docutils">
+ <dt>xferlog_enable=YES</dt>
+
+ <dd>Verra' tenuto un file di log <tt class=
+ "docutils literal"><span class=
+ "pre">/var/log/vsftpd.log</span></tt> degli upload e
+ download sul server.</dd>
+
+ <dt>hide_ids=YES</dt>
+
+ <dd>Nasconde le userid e groupid mascherandole con
+ <tt class="docutils literal"><span class=
+ "pre">ftp</span></tt> .</dd>
+
+ <dt>anon_root=/home/ftp</dt>
+
+ <dd>Home directory dell'utente anonimo.</dd>
+
+ <dt>write_enable=YES</dt>
+
+ <dd>Permette agli utenti di eseguire i comandi che
+ possono modificare il filesystem: STOR, DELE, RNFR, RNTO,
+ MKD, RMD, APPE e SITE .</dd>
+
+ <dt>idle_session_timeout=600</dt>
+
+ <dd>Permette agli utenti di restare connessi piu' a
+ lungo, utile per i webdesigners che passano intere
+ giornate connessi al server.</dd>
+ </dl>
+ </div>
</div>
</div>
</body>