<html lang="it">
<head>
<meta name="generator" content=
- "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org">
+ "HTML Tidy for Linux (vers 25 March 2009), see www.w3.org">
<meta http-equiv="Content-Type" content=
"text/html; charset=iso-8859-1">
<meta name="generator" content=
/*
Author: Peter Parente
- Date: 2008/01/22
- Version: 1.0
+ Modyfied by: Andrea Manni
+ Date: 2010/01/22
+ Version: 1.1
Copyright: This stylesheet has been placed in the public domain - free to edit and use for all uses.
*/
}
a.toc-backref {
+ margin-left:20px;
text-decoration: none;
}
<tr class="field">
<th class="field-name">Version:</th>
- <td class="field-body">0.92</td>
+ <td class="field-body">0.95</td>
</tr>
</tbody>
</table>
squid.conf</a>
<ul class="auto-toc">
- <li><a class="reference internal" href="#cache-dir"
- id="id22" name=
- "id22">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=
+ "#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="id23" name=
- "id23">2.1.2 TAG:
+ "#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="id24" name=
- "id24">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="id25" name=
- "id25">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="id26"
- name="id26">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="id27" name=
- "id27">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="id28" name="id28">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="id29" name=
- "id29">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="id30" name=
- "id30">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=
- "id31" name="id31">3 Tiny proxy</a></li>
+ "id33" name="id33">3 Tiny proxy</a></li>
<li>
- <a class="reference internal" href="#apache" id="id32"
- name="id32">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="id33" name=
- "id33">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="id34" name=
- "id34">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="id35" name=
- "id35">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="id36" name=
- "id36">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="id37" name=
- "id37">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=
- "id38" name=
- "id38">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="id39" name=
- "id39">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="id40" name=
- "id40">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="id41" name=
- "id41">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="id42" name="id42">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="id43" name=
- "id43">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="id44" name=
- "id44">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">dig</tt>::</a></li>
<li><a class="reference internal" href="#id3" id=
- "id45" name="id45">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="id46" name=
- "id46">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="id47" name=
- "id47">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="id48" name=
- "id48">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="id49" name=
- "id49">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="id50"
- name="id50">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=
- "id51" name=
- "id51">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=
- "id52" name="id52">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="id53" name="id53">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="id54" name=
- "id54">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="id55" name=
- "id55">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="id56" name=
- "id56">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=
- "id57" name=
- "id57">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="id58" name=
- "id58">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="id59"
- name="id59">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="id60" name=
- "id60">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=
- "id61" name=
- "id61">5.8 /etc/hosts</a></li>
+ "id63" name=
+ "id63">5.8 /etc/hosts</a></li>
<li>
<a class="reference internal" href="#hostname" id=
- "id62" name="id62">5.9 Hostname</a>
+ "id64" name="id64">5.9 Hostname</a>
<ul class="auto-toc">
<li><a class="reference internal" href="#fqdn" id=
- "id63" name=
- "id63">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="id64"
- name="id64">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="id65" name=
- "id65">6.1 Configurazione</a></li>
+ "#configurazione" id="id67" name=
+ "id67">6.1 Configurazione</a></li>
<li><a class="reference internal" href="#dhcp" id=
- "id66" name="id66">6.2 DHCP</a></li>
+ "id68" name="id68">6.2 DHCP</a></li>
<li><a class="reference internal" href="#dns-cache" id=
- "id67" name="id67">6.3 DNS
+ "id69" name="id69">6.3 DNS
cache</a></li>
</ul>
</li>
<li>
<a class="reference internal" href=
- "#bind-dns-autoritativo" id="id68" name=
- "id68">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="id69"
- name="id69">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="id70" name=
- "id70">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="id71" name=
- "id71">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="id72" name=
- "id72">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="id73"
- name="id73">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="id74" name=
- "id74">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=
- "id75" name="id75">7.3 DNS
+ "id77" name="id77">7.3 DNS
slave</a></li>
<li>
<a class="reference internal" href=
- "#aggiornamento-dinamico-nsupdate" id="id76" name=
- "id76">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="id77" name=
- "id77">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=
- "id78" name=
- "id78">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="id79" name=
- "id79">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="id80"
- name="id80">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="id81" name=
- "id81">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="id82"
- name="id82">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=
- "id83" name=
- "id83">8.1 Pacchetti</a></li>
+ "id85" name=
+ "id85">8.1 Pacchetti</a></li>
<li><a class="reference internal" href=
- "#passwords-e-autenticazione" id="id84" name=
- "id84">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="id85" name=
- "id85">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="id86" name=
- "id86">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=
- "id87" name=
- "id87">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="id88" name=
- "id88">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="id89" name=
- "id89">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="id90" name=
- "id90">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="id91" name=
- "id91">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="id92" name=
- "id92">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=
- "id93" name=
- "id93">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="id94" name="id94">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="id95" name=
- "id95">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=
- "id96" name=
- "id96">9.3.1 mailx</a></li>
+ "id98" name=
+ "id98">9.3.1 mailx</a></li>
<li><a class="reference internal" href="#mutt" id=
- "id97" name=
- "id97">9.3.2 Mutt</a></li>
+ "id99" name=
+ "id99">9.3.2 Mutt</a></li>
<li><a class="reference internal" href=
- "#web-client" id="id98" name=
- "id98">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=
- "id99" name=
- "id99">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="id100" name=
- "id100">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=
- "id101" name=
- "id101">9.4.2 Test</a></li>
+ "id103" name=
+ "id103">9.4.2 Test</a></li>
<li><a class="reference internal" href=
- "#statistiche" id="id102" name=
- "id102">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="id103"
- name="id103">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=
- "id104" name=
- "id104">10.1 Links</a></li>
+ "id106" name=
+ "id106">10.1 Links</a></li>
<li><a class="reference internal" href="#ipfilter" id=
- "id105" name=
- "id105">10.2 Ipfilter</a></li>
+ "id107" name=
+ "id107">10.2 Ipfilter</a></li>
<li>
<a class="reference internal" href=
- "#progettazione-di-un-firewall" id="id106" name=
- "id106">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="id107" name=
- "id107">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="id108" name=
- "id108">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="id109" name=
- "id109">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=
- "id110" name="id110">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="id111" name=
- "id111">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="id112" name=
- "id112">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=
- "id113" name=
- "id113">10.5.2 Match</a></li>
+ "id115" name=
+ "id115">10.5.2 Match</a></li>
<li><a class="reference internal" href="#targets"
- id="id114" name=
- "id114">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="id115" name=
- "id115">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="id116"
- name="id116">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="id117" name=
- "id117">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="id118" name=
- "id118">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="id119" name=
- "id119">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="id120" name=
- "id120">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=
- "id121" name=
- "id121">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="id122" name=
- "id122">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="id123" name=
- "id123">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="id124" name=
- "id124">10.10.3 Brute
+ "#brute-force" id="id126" name=
+ "id126">10.10.3 Brute
force</a></li>
</ul>
</li>
+
+ <li>
+ <a class="reference internal" href="#proc-filesystem"
+ id="id127" name="id127">10.11 Proc
+ filesystem</a>
+
+ <ul class="auto-toc">
+ <li><a class="reference internal" href=
+ "#ip-forward" id="id128" name=
+ "id128">10.11.1 ip_forward</a></li>
+
+ <li><a class="reference internal" href=
+ "#ip-default-ttl" id="id129" name=
+ "id129">10.11.2 ip_default_ttl</a></li>
+
+ <li><a class="reference internal" href=
+ "#ip-local-port-range" id="id130" name=
+ "id130">10.11.3 ip_local_port_range</a></li>
+ </ul>
+ </li>
</ul>
</li>
<li>
<a class="reference internal" href="#ftp-server" id=
- "id125" name="id125">11 FTP Server</a>
+ "id131" name="id131">11 FTP Server</a>
<ul class="auto-toc">
<li><a class="reference internal" href="#id8" id=
- "id126" name=
- "id126">11.1 Pacchetti</a></li>
+ "id132" name=
+ "id132">11.1 Pacchetti</a></li>
<li><a class="reference internal" href="#sessioni-ftp"
- id="id127" name="id127">11.2 Sessioni
+ id="id133" name="id133">11.2 Sessioni
ftp</a></li>
<li><a class="reference internal" href=
- "#configurazione-iniziale" id="id128" name=
- "id128">11.3 Configurazione
+ "#configurazione-iniziale" id="id134" name=
+ "id134">11.3 Configurazione
iniziale</a></li>
<li><a class="reference internal" href=
- "#abilitare-gli-utenti-locali" id="id129" name=
- "id129">11.4 Abilitare gli utenti
+ "#abilitare-gli-utenti-locali" id="id135" name=
+ "id135">11.4 Abilitare gli utenti
locali</a></li>
<li><a class="reference internal" href="#jail-chroot"
- id="id130" name="id130">11.5 Jail
+ id="id136" name="id136">11.5 Jail
chroot</a></li>
<li><a class="reference internal" href=
- "#permessi-sul-filesystem" id="id131" name=
- "id131">11.6 Permessi sul
+ "#permessi-sul-filesystem" id="id137" name=
+ "id137">11.6 Permessi sul
filesystem</a></li>
+ <li><a class="reference internal" href=
+ "#shell-dell-utente" id="id138" name=
+ "id138">11.7 Shell
+ dell'utente</a></li>
+
<li><a class="reference internal" href="#altre-opzioni"
- id="id132" name="id132">11.7 Altre
+ id="id139" name="id139">11.8 Altre
opzioni</a></li>
</ul>
</li>
</ul>
</div>
- <p>Generato il 2010-02-03 con: <a class="reference external"
+ <p>Generato il 2010-05-19 con: <a class="reference external"
href=
"http://docutils.sourceforge.net/rst.html">http://docutils.sourceforge.net/rst.html</a></p>
<h1><a class="toc-backref" href=
"#id20">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
+ <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=
+ 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">3128</tt>, per quanto in genere la porta
+ preferita per i servizi di caching http sia la <tt class=
+ "docutils literal">8080</tt>. Per utilizzarlo subito anche
+ per apt si aggiunga ad <tt class=
"docutils literal">/etc/apt/apt.conf</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>
"#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">/etc/squid3/squid.conf</tt> .</p>
<h3><a class="toc-backref" href=
"#id22">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">~100 MB</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">150 MB</tt>, un pacchetto
- debian circa <tt class="docutils literal">20 MB</tt>),
- numero dei client.</p>
+ <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">700 MB</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=
# 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=
- "#id23">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=
- "#id24">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=
- "#id25">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=
- "#id26">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=
- "#id27">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">ACL</tt> di tipo <tt class=
<div class="section" id="testare-squid">
<h2><a class="toc-backref" href=
- "#id28">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">wget</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">wget</tt> da
+ riga di comando.</p>
<div class="section" id="client-wgetrc">
<h3><a class="toc-backref" href=
- "#id29">2.3.1 Client: ~/.wgetrc</a></h3>
+ "#id31">2.3.1 Client: ~/.wgetrc</a></h3>
<p>Nel file <tt class="docutils literal">.wgetrc</tt> (si
noti il punto iniziale: e' un file nascosto) si puo'
<div class="section" id="server-access-log">
<h3><a class="toc-backref" href=
- "#id30">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=
- "#id31">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=
- "#id32">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=
- "#id33">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=
- "#id34">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=
- "#id35">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=
- "#id36">4.4 Installazione di PHP</a></h2>
+ "#id38">4.4 Installazione di PHP</a></h2>
<p>Pacchetti da installare: <tt class=
"docutils literal">php5 <span class=
<div class="section" id="test-del-modulo-php">
<h3><a class="toc-backref" href=
- "#id37">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=
- "#id38">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=
- "#id39">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=
- "#id40">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=
- "#id41">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=
- "#id42">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=
- "#id43">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=
- "#id44">4.5.2 Eseguire una query DNS con
+ "#id46">4.5.2 Eseguire una query DNS con
<tt class="docutils literal">dig</tt>::</a></h3>
<p>Per testare la corretta risoluzione dei vostri nomi di
<div class="section" id="id3">
<h3><a class="toc-backref" href=
- "#id45">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=
- "#id46">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=
- "#id47">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=
- "#id48">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=
- "#id49">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=
- "#id50">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=
- "#id51">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=
- "#id52">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=
- "#id53">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=
- "#id54">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=
- "#id55">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=
- "#id56">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=
- "#id57">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=
- "#id58">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=
- "#id59">5.6 Dig</a></h2>
+ "#id61">5.6 Dig</a></h2>
<p>Vediamo alcune opzioni utili nell'utilizzo di <tt class=
"docutils literal">dig</tt> per l'interrogazione dei DNS
<div class="section" id="resolv-conf">
<h2><a class="toc-backref" href=
- "#id60">5.7 resolv.conf</a></h2>
+ "#id62">5.7 resolv.conf</a></h2>
<p>Il file <tt class=
"docutils literal">/etc/resolv.conf</tt> contiene le
<div class="section" id="etc-hosts">
<h2><a class="toc-backref" href=
- "#id61">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=
- "#id62">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=
- "#id63">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=
- "#id64">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=
- "#id65">6.1 Configurazione</a></h2>
+ "#id67">6.1 Configurazione</a></h2>
<p>Vediamo alcune direttive di basi del file di
configurazione <tt class=
<div class="section" id="dhcp">
<h2><a class="toc-backref" href=
- "#id66">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=
- "#id67">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">/etc/resolv.conf</tt> il
<div class="section" id="bind-dns-autoritativo">
<h1><a class="toc-backref" href=
- "#id68">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=
- "#id69">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="docutils literal">dig
<div class="section" id="ospitare-una-zona">
<h2><a class="toc-backref" href=
- "#id70">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=
- "#id71">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=
- "#id72">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=
- "#id73">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=
- "#id74">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=
- "#id75">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=
- "#id76">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=
- "#id77">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=
- "#id78">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=
- "#id79">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=
- "#id80">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=
- "#id81">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=
- "#id82">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=
- "#id83">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=
- "#id84">8.2 Passwords e
+ "#id86">8.2 Passwords e
autenticazione</a></h2>
<p>Per poter configurare Samba in modo che usi un sistema
"docutils literal">/mnt/condivisione</tt> che sara' stata
necessariamente creata inizialmente dall'utente
<tt class="docutils literal">root</tt>) per mancanza dei
- privilegi di scrittura allora neanche Samba potra' farlo
- nel momento in mette a disposizione la risorsa
- all'utente. Se si montano file-system dedicati per le
- condivisioni controllare i permessi e proprieta' dei
- <em>punti di mount*</em>. Queste passwords sono salvate
- nel solito file /etc/shadow (richiamato da
- /etc/passwd).</dd>
+ privilegi di scrittura allora non potra' farlo neanche
+ quando Samba rendera' disponibile la risorsa all'utente.
+ Se si montano file-system dedicati per le condivisioni
+ controllare i permessi e proprieta' dei <em>punti di
+ mount*</em>. Queste passwords sono salvate nel solito
+ file /etc/shadow (richiamato da /etc/passwd).</dd>
<dt>2 Password per l'applicativo Samba</dt>
<dd>Samba deve essere compatibile con Windows e quindi
utilizzare un sistema di criptazione delle password
- diverso da /etc/shadow . Le password per Samba possono
- essere gestite ad esempio col comando <tt class=
- "docutils literal">smbpasswd</tt> e vengono generalmente
- salvate all'interno di <tt class=
+ diverso da <tt class="docutils literal">/etc/shadow</tt>
+ . Le password per Samba possono essere gestite ad esempio
+ col comando <tt class="docutils literal">smbpasswd</tt> e
+ vengono normalmente salvate all'interno di <tt class=
"docutils literal">/var/lib/samba/passdb.tdb</tt> .</dd>
<dt>3 Password per Windows.</dt>
<div class="section" id="creazione-utenti">
<h2><a class="toc-backref" href=
- "#id85">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
</pre>
<p>Nel file <tt class="docutils literal">/etc/passwd</tt>
- avremo qualcosa come:</p>
+ comparira' qualcosa come:</p>
<pre class="literal-block">
sambo:x:1001:1001:Sambo utente Samba,,,:/home/sambo:/bin/false
</pre>
smbpasswd sambo
</pre>
- <p>La password sotto Windows verra' modificata sul sistema
+ <p>La password sotto Windows andra' modificata sul sistema
Windows.</p>
</div>
<div class="section" id="creare-la-condivisione">
<h2><a class="toc-backref" href=
- "#id86">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=
- "#id87">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
+ <p>A lato server si presti attenzione ai permessi di
esecuzione del file-system che ospita la cartella da
condividere. Se i file che saranno contenuti nella
condivisione saranno da usarsi sotto Windows non c'e'
<div class="section" id=
"configurazione-dell-applicativo-samba-vero-e-proprio">
<h2><a class="toc-backref" href=
- "#id88">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
- dia una shell completa a un utente che serve solo per Samba
- o la posta elettronica) e la cartella sul file system si
+ dia una shell completa a un utente che accede solo a Samba
+ o alla posta elettronica) e la cartella sul file system si
puo' procedere a configurare la condivisione su Samba.</p>
<p>/etc/samba/smb.conf riga ~235 , Share Definitions (in
<div class="section" id="creazione-di-un-gruppo">
<h3><a class="toc-backref" href=
- "#id89">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=
- "#id90">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=
- "#id91">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=
- "#id92">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=
- "#id93">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=
- "#id94">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=
- "#id95">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=
- "#id96">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=
- "#id97">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=
- "#id98">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=
- "#id99">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=
- "#id100">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=
- "#id101">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=
- "#id102">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=
- "#id103">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=
- "#id104">10.1 Links</a></h2>
+ "#id106">10.1 Links</a></h2>
<ul class="simple">
<li><a class="reference external" href=
"http://openskill.info/topic.php?ID=124">http://openskill.info/topic.php?ID=124</a></li>
<li><a class="reference external" href=
- "http://iptables-tutorial.frozentux.net/iptables-tutorial.html">
- http://iptables-tutorial.frozentux.net/iptables-tutorial.html</a></li>
+ "http://www.frozentux.net/iptables-tutorial/chunkyhtml/c962.html">
+ http://www.frozentux.net/iptables-tutorial/chunkyhtml/c962.html</a></li>
</ul>
</div>
<div class="section" id="ipfilter">
<h2><a class="toc-backref" href=
- "#id105">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=
- "#id106">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=
- "#id107">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=
- "#id108">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=
- "#id109">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=
- "#id110">10.4 Percorso dei pacchetti tra
+ "#id112">10.4 Percorso dei pacchetti tra
tabelle e catene</a></h2>
+ <p>E importante conoscere il percorso che i paccheti
+ seguono passando tra le varie catene, l'ordine infatti puo'
+ cambiare il riusultato ottenuto (che il pacchetto raggiunga
+ o meno l'host, oppure modificare il pachetto stesso).</p>
+
<p>link: <a class="reference external" href=
- "http://iptables-tutorial.frozentux.net/iptables-tutorial.html#TRAVERSINGOFTABLES">
- http://iptables-tutorial.frozentux.net/iptables-tutorial.html#TRAVERSINGOFTABLES</a></p>
+ "http://www.frozentux.net/iptables-tutorial/chunkyhtml/c962.html">
+ http://www.frozentux.net/iptables-tutorial/chunkyhtml/c962.html</a></p>
</div>
<div class="section" id="concetti-di-base">
<h2><a class="toc-backref" href=
- "#id111">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=
- "#id112">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=
- "#id113">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=
- "#id114">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=
- "#id115">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=
- "#id116">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=
- "#id117">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=
- "#id118">10.9 Salvataggio regole</a></h2>
+ "#id120">10.9 Salvataggio regole</a></h2>
<p>Il comando <tt class="docutils literal">iptables</tt>
serve per interagire con il framework <tt class=
<div class="section" id="iptables-save">
<h3><a class="toc-backref" href=
- "#id119">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=
- "#id120">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=
- "#id121">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=
- "#id122">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=
- "#id123">10.10.2 Masquerading
+ "#id125">10.10.2 Masquerading
(sNAT)</a></h3>
<dl class="docutils">
questo caso un SNAT) per la rete locale privata
sull'indirizzo ip del <em>modem</em>::</dt>
- <dd>iptables -A POSTROUTING -s
+ <dd>iptables -t nat -A POSTROUTING -s
192.168.0.0/255.255.255.0 -o ppp0 -j MASQUERADE</dd>
</dl>
<div class="section" id="brute-force">
<h3><a class="toc-backref" href=
- "#id124">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">
</pre>
</div>
</div>
+
+ <div class="section" id="proc-filesystem">
+ <h2><a class="toc-backref" href=
+ "#id127">10.11 Proc filesystem</a></h2>
+
+ <p>Tramite il filesystem virtuale <strong>proc</strong>
+ possiamo monitorare talvolta anche modificarei, a seconda
+ dei casi, alcuni parametri utili per il networking. La
+ parte di proc che ci interessa si riconduce al percorso:
+ <tt class="docutils literal">/proc/sys/net/ipv4</tt> :
+ vediamo alcuni dei parametri fondamentali.</p>
+
+ <div class="section" id="ip-forward">
+ <h3><a class="toc-backref" href=
+ "#id128">10.11.1 ip_forward</a></h3>
+
+ <p>Questa variabile determine se l'instradamento dei
+ pacchetti e' attvo, in caso positivo il kernel
+ instradera' i pacchetti (routing). Con ip_forward settato
+ a <tt class="docutils literal">0</tt> la nostra macchina
+ continuera' a vedere le varie reti su cui eventualmente
+ si trova (gateway) ma non instradera' i pacchetti da
+ parte di altri host.</p>
+
+ <p>Questo parametro determina tutti gli instradamenti che
+ il nostro host puo' fare, quindi e' determinante anche
+ per NAT, firewall, masquerading.</p>
+
+ <p>E' possibile settarlo per le singole interfacce, ad
+ esempio per eth0: <tt class=
+ "docutils literal">/proc/sys/net/ipv4/conf/eth0/forwarding</tt>
+ .</p>
+
+ <p>Per approfondimenti su cosa si intenda per
+ instradamento: rfc1812.txt sezione 2.3:</p>
+ <pre class="literal-block">
+In the Internet model, constituent networks are connected together by
+ IP datagram forwarders which are called routers or IP routers. In
+ this document, every use of the term router is equivalent to IP
+ router. Many older Internet documents refer to routers as gateways.
+
+ A router connects to two or more logical interfaces, represented by
+ IP subnets or unnumbered point to point lines (discussed in section
+ [2.2.7]). Thus, it has at least one physical interface. Forwarding
+ an IP datagram generally requires the router to choose the address
+ and relevant interface of the next-hop router or (for the final hop)
+ the destination host. This choice, called relaying or forwarding
+ depends upon a route database within the router. The route database
+ is also called a routing table or forwarding table. The term
+ "router" derives from the process of building this route database;
+ routing protocols and configuration interact in a process called
+ routing.
+
+Routers provide datagram transport only, and they seek to minimize
+ the state information necessary to sustain this service in the
+ interest of routing flexibility and robustness.
+</pre>
+ </div>
+
+ <div class="section" id="ip-default-ttl">
+ <h3><a class="toc-backref" href=
+ "#id129">10.11.2 ip_default_ttl</a></h3>
+
+ <p><em>Time to leave</em> di default usato dal nostro
+ host: in genere <tt class="docutils literal">64</tt>.</p>
+ </div>
+
+ <div class="section" id="ip-local-port-range">
+ <h3><a class="toc-backref" href=
+ "#id130">10.11.3 ip_local_port_range</a></h3>
+
+ <p>Il range di porte usato dal nostro host quando si
+ connette come client ad altri host. Puo' essere utile
+ modificarlo per poi intercettare piu' facilmente i
+ pacchetti provenienti da qusto host, oppupure quel
+ qualunqe limitazione vogliamo imporre sul range da
+ usarsi. Si ricorda che solo root puo' aprire porte sotto
+ la <tt class="docutils literal">1024</tt>.</p>
+ </div>
+ </div>
</div>
<div class="section" id="ftp-server">
<h1><a class="toc-backref" href=
- "#id125">11 FTP Server</a></h1>
+ "#id131">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 usato, mediate l'utilizzo di utenti
- anonimi, come punto di scambio per materiali di diversi
+ 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> delgi
- utenti, poi riordinat dall'<em>ftpmaster</em>). Tuttora si
+ 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
+ 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>Vsftp e' un server FTP con una forte inclinazione alla
- sicurezza: <em>Very Secure FTP Daemon</em>. 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.</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 almeno le segiuenti
- alternative:</p>
+ propi utenti si considerino le seguenti alternative:</p>
<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>
+
<li>Nel caso di webdesigners si consideri la possibilita'
di offrire alternative come GIT, Subversion, Rsync o
Webdav</li>
<tt class="docutils literal">noexec</tt> e <tt class=
"docutils literal">nosuid</tt> (vedi dopo)</li>
- <li>Utilizzare un demone FTP come Vsftp</li>
+ <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 sull'attitudine alla sicurezza
- del demone si veda: <a class="reference external" href=
+ <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>
<div class="section" id="id8">
<h2><a class="toc-backref" href=
- "#id126">11.1 Pacchetti</a></h2>
+ "#id132">11.1 Pacchetti</a></h2>
<p>Per installare il demone vero e propio si usi il
- pacchetto <tt class="docutils literal">vsftpd</tt> , per
- aver un client da cui fare qualche test:</p>
+ pacchetto <tt class="docutils literal">vsftpd</tt> , mentre
+ per aver un client da cui fare qualche test sono
+ dipsonibili:</p>
<ul class="simple">
<li><tt class="docutils literal">ftp</tt> (pacchetto da
<div class="section" id="sessioni-ftp">
<h2><a class="toc-backref" href=
- "#id127">11.2 Sessioni ftp</a></h2>
+ "#id133">11.2 Sessioni ftp</a></h2>
- <p>Per gestire una sessione ftp a riga di comando
- potrebbero essere utili i seguenti comandi:</p>
+ <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>
<dt>help</dt>
- <dd>Lista dei comandi disponibili</dd>
+ <dd>Lista dei comandi disponibili.</dd>
<dt>help [nome_comando]</dt>
- <dd>Cosa fa quel comando</dd>
+ <dd>Cosa fa quel comando.</dd>
<dt>put</dt>
- <dd>Per caricare un file</dd>
+ <dd>Per caricare un file.</dd>
<dt>get</dt>
- <dd>Per scaricare un file</dd>
+ <dd>Per scaricare un file.</dd>
<dt>ls</dt>
- <dd>Lista dei file disponibili</dd>
+ <dd>Lista dei file disponibili.</dd>
<dt>cd</dt>
- <dd>Spostarsi in un altra directory</dd>
+ <dd>Spostarsi in un altra directory.</dd>
<dt>lcd</dt>
- <dd>Cambio directory in LOCALE</dd>
+ <dd>Cambio directory in LOCALE.</dd>
<dt>mput/mget</dt>
- <dd>Per lavorare su file multipli</dd>
+ <dd>Per lavorare su file multipli.</dd>
<dt>prompt</dt>
<dt>(non vi chiede conferma di ogni singola
operazione</dt>
- <dd>su ogni singolo file...)</dd>
+ <dd>su ogni singolo file...).</dd>
</dl>
</dd>
</dl>
<dt>binary</dt>
- <dd>Entra in modalita' trasferimento binario</dd>
+ <dd>Entra in modalita' trasferimento binario.</dd>
<dt>asii</dt>
- <dd>Entra in modalita' trasferimento ascii</dd>
+ <dd>Entra in modalita' trasferimento ascii.</dd>
<dt>bye</dt>
- <dd>Per chiudere la sessione</dd>
+ <dd>Per chiudere la sessione.</dd>
</dl>
</div>
<div class="section" id="configurazione-iniziale">
<h2><a class="toc-backref" href=
- "#id128">11.3 Configurazione
+ "#id134">11.3 Configurazione
iniziale</a></h2>
<p>Il demone di vsftpd e' immediatamente disponibile ma
<em>sola lettura</em>. Per accedere al servizio si usi
quini come utente <tt class=
"docutils literal">anonymous</tt> (la passwords in genere
- e' il propio indirizzo email), la cui <em>home</em>
- directory sara' <tt class=
- "docutils literal">/home/ftp/</tt>:</p>
+ e' come consuetudine il propio indirizzo email), la cui
+ <em>home</em> directory sara' <tt class=
+ "docutils literal">/home/ftp/</tt> (<tt class=
+ "docutils literal">/srv/ftp</tt> in Squeeze):</p>
<pre class="literal-block">
zoo:~# ftp localhost
Connected to localhost.localdomain.
<div class="section" id="abilitare-gli-utenti-locali">
<h2><a class="toc-backref" href=
- "#id129">11.4 Abilitare gli utenti
+ "#id135">11.4 Abilitare gli utenti
locali</a></h2>
<p>Per poter modificare le impostazioni iniziali, ad
<pre class="literal-block">
# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=NO
-# Disabilitiamo l'utente anonimo, a meno che non si intenda usarlo!
+# Disabilitiamo l'utente anonimo
# Uncomment this to allow local users to log in.
local_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 di pinco pallino (che sareste voi).
+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">/etc/init.d/vsftpd
- restart</tt> e si controlli il file di log <tt class=
+ restart</tt> e si monitorizzi il file di log <tt class=
"docutils literal">tail <span class="pre">-f</span>
/var/log/vsftpd.log</tt> per controllarne il funzionamento
(e anche <tt class="docutils literal">/var/log/syslog</tt>
<div class="section" id="jail-chroot">
<h2><a class="toc-backref" href=
- "#id130">11.5 Jail chroot</a></h2>
+ "#id136">11.5 Jail chroot</a></h2>
<p>Si puo' impedire all'utente di spostarsi arbitrariamente
- per il file system del server, ad esempio per vedere il
- contenuto della directory <tt class=
+ per il file system del servere visualizzare il contenuto
+ delle directory, ad esempio la cartella <tt class=
"docutils literal">/etc</tt>, confinandolo in una jail
chroot limitata alla sua home directory:</p>
<pre class="literal-block">
chroot_local_user=YES
</pre>
- <p>Tipicamente un utente non dovrebbe interessarsi di cosa
- sia disponibile sul server al difuori degli spazi a lui
- assegnati, ad esempio per poter conoscere quali servizi
- sono installati:</p>
+ <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.
<div class="section" id="permessi-sul-filesystem">
<h2><a class="toc-backref" href=
- "#id131">11.6 Permessi sul
+ "#id137">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'intere <tt class=
+ suid, nel nonstro caso vsftpd lavora sull'intera <tt class=
"docutils literal">/home/</tt> directory quindi avremo in
<tt class="docutils literal">/etc/fstab</tt>:</p>
<pre class="literal-block">
</pre>
</div>
+ <div class="section" id="shell-dell-utente">
+ <h2><a class="toc-backref" href=
+ "#id138">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>
+ /bin/false</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">/etc/passwd</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">/bin/false</tt> all'elenco
+ delle shell valide.</p>
+
+ <p><tt class="docutils literal">/etc/shells</tt></p>
+ <pre class="literal-block">
+...
+/bin/false
+</pre>
+ </div>
+
<div class="section" id="altre-opzioni">
<h2><a class="toc-backref" href=
- "#id132">11.7 Altre opzioni</a></h2>
+ "#id139">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">/var/log/vsftpd.log</tt> degli upload
- e download sul server</dd>
+ e download sul server.</dd>
<dt>hide_ids=YES</dt>
<dd>Nasconde le userid e groupid mascherandole con
- <tt class="docutils literal">ftp</tt></dd>
+ <tt class="docutils literal">ftp</tt> .</dd>
<dt>anon_root=/home/ftp</dt>
- <dd>Home directory dell'utente anonimo</dd>
+ <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>
+ 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>
+ giornate connessi al server.</dd>
</dl>
</div>
</div>