X-Git-Url: http://git.piffa.net/web?a=blobdiff_plain;f=servizi.html;h=5be409b816f9c3afb3eaafec3d5d0481b33d385e;hb=f32b9711a14936139aa89c128ae65ca19996ab96;hp=248490c683248bcd8a503a41f4b4db135ae7fdc3;hpb=413470c3ca2cc58c8d39d176111aa9d8541a0f55;p=doc%2F.git diff --git a/servizi.html b/servizi.html index 248490c..5be409b 100644 --- a/servizi.html +++ b/servizi.html @@ -254,8 +254,9 @@
@@ -278,7 +279,7 @@
@@ -301,120 +302,134 @@Version: -0.9 +0.94
- 1 Configurazione sistema + "#configurazione-sistema" id="id9" name= + "id9">1 Configurazione sistema
- 1.1 Solo per uso + "#solo-per-uso-interno" id="id10" name= + "id10">1.1 Solo per uso interno
- - 1.2 Rete + 1.2 Rete
- 1.2.1 interfaces
+ "#interfaces" id="id12" name= + "id12">1.2.1 interfaces- 1.3 Bash completion
+ "#bash-completion" id="id13" name= + "id13">1.3 Bash completion -- 1.4 Vim
+- 1.4 Vim
-- 1.5 VNC
+- 1.5 VNC
- 1.6 Lista dei pacchetti di + "#lista-dei-pacchetti-di-base" id="id16" name= + "id16">1.6 Lista dei pacchetti di base
- 1.7 Apt configurazione + "#apt-configurazione" id="id17" name= + "id17">1.7 Apt configurazione
- 1.7.1 sources.list
+ "#sources-list" id="id18" name= + "id18">1.7.1 sources.list- 1.7.2 /etc/apt/apt.conf
+ "#etc-apt-apt-conf" id="id19" name= + "id19">1.7.2 /etc/apt/apt.conf- 2 Squid + 2 Squid
- 2.1 Configurazione: + "#configurazione-squid-conf" id="id21" name= + "id21">2.1 Configurazione: squid.conf
-
- 2.1.1 Cache_dir
+- + 2.1.1 Cache_dir + + +
- 2.1.2 TAG: + "#configurazioni-di-cache-dir" id="id24" name= + "id24">2.1.2 Configurazioni di + Cache_dir
+ +- 2.1.3 TAG: maximum_object_size
- 2.1.3 TAG: + "#tag-cache-mem" id="id26" name= + "id26">2.1.4 TAG: cache_mem
- 2.1.4 TAG: + "#tag-minimum-object-size" id="id27" name= + "id27">2.1.5 TAG: minimum_object_size
- 2.2 Negoziazione degli + "#negoziazione-degli-accesi-al-servizio" id="id28" + name="id28">2.2 Negoziazione degli accesi al servizio
- 2.3 Testare + id="id30" name="id30">2.3 Testare Squid
@@ -422,228 +437,228 @@3 Tiny proxy + "id33" name="id33">3 Tiny proxy- 4 Apache + 4 Apache 4.4 Installazione di PHP + "#installazione-di-php" id="id38" name= + "id38">4.4 Installazione di PHP
- 4.4.1 Test del modulo + "#test-del-modulo-php" id="id39" name= + "id39">4.4.1 Test del modulo php
- 4.4.2 Installazione del + "id40" name= + "id40">4.4.2 Installazione del supporto per Mysql a PHP
- 4.4.3 phpmyadmin
+ "#phpmyadmin" id="id41" name= + "id41">4.4.3 phpmyadmin4.4.4 Installazione del + id="id42" name= + "id42">4.4.4 Installazione del supporto per Postgresql a PHP 4.4.5 phppgadmin + "#phppgadmin" id="id43" name= + "id43">4.4.5 phppgadmin4.5 Virtual + id="id44" name="id44">4.5 Virtual hosts
- 4.5.1 Gestione DNS
+ "#gestione-dns" id="id45" name= + "id45">4.5.1 Gestione DNS4.5.2 Eseguire una query + "#eseguire-una-query-dns-con-dig" id="id46" name= + "id46">4.5.2 Eseguire una query DNS con dig:: 4.5.3 Virtual + "id47" name="id47">4.5.3 Virtual hosts 4.6 Negoziazione accessi + "#negoziazione-accessi" id="id48" name= + "id48">4.6 Negoziazione accessi 4.7 User Authentication + "#user-authentication" id="id50" name= + "id50">4.7 User Authentication
- 4.7.1 Definire la + "#definire-la-cartella" id="id51" name= + "id51">4.7.1 Definire la cartella
- 4.7.2 Creazione del + "#creazione-del-database-delle-passwords" id="id52" + name="id52">4.7.2 Creazione del database delle passwords
- 4.7.3 Configurazione di + "id53" name= + "id53">4.7.3 Configurazione di Apache
4.8 Cavets + "id54" name="id54">4.8 Cavets5 Domain Name + id="id55" name="id55">5 Domain Name System
- 5.1 Risoluzione + "#risoluzione-inversa" id="id56" name= + "id56">5.1 Risoluzione Inversa
- 5.2 Nomi di dominio
+ "#nomi-di-dominio" id="id57" name= + "id57">5.2 Nomi di dominio5.3 Tipologie di + "#tipologie-di-record" id="id58" name= + "id58">5.3 Tipologie di record 5.4 Utilizzo + "id59" name= + "id59">5.4 Utilizzo5.5 Risoluzione dei nomi di + "#risoluzione-dei-nomi-di-dominio" id="id60" name= + "id60">5.5 Risoluzione dei nomi di dominio -5.6 Dig +5.6 Dig 5.7 resolv.conf + id="id62" name= + "id62">5.7 resolv.conf5.8 /etc/hosts + "id63" name= + "id63">5.8 /etc/hosts5.9 Hostname + "id64" name="id64">5.9 Hostname
- 5.9.1 FQDN
+ "id65" name= + "id65">5.9.1 FQDN- 6 DNSmasq + 6 DNSmasq
- 6.1 Configurazione
+ "#configurazione" id="id67" name= + "id67">6.1 Configurazione6.2 DHCP + "id68" name="id68">6.2 DHCP6.3 DNS + "id69" name="id69">6.3 DNS cache 7 Bind : DNS Autoritativo + "#bind-dns-autoritativo" id="id70" name= + "id70">7 Bind : DNS Autoritativo -
- 7.1 DNS cache
+- 7.1 DNS cache
- 7.2 Ospitare una zona + "#ospitare-una-zona" id="id72" name= + "id72">7.2 Ospitare una zona
- 7.2.1 named.conf.local
+ "#named-conf-local" id="id73" name= + "id73">7.2.1 named.conf.local- 7.2.2 Configurazione + "#configurazione-della-zona" id="id74" name= + "id74">7.2.2 Configurazione della zona
@@ -651,74 +666,74 @@7.3 DNS + "id77" name="id77">7.3 DNS slave 7.4 Aggiornamento dinamico: + "#aggiornamento-dinamico-nsupdate" id="id78" name= + "id78">7.4 Aggiornamento dinamico: nsupdate
- 7.4.1 Configurazione client + "#configurazione-client-nsupdate" id="id79" name= + "id79">7.4.1 Configurazione client (nsupdate)
- 7.4.2 Configurazione + "id80" name= + "id80">7.4.2 Configurazione server: riconoscimento chiave
- 7.4.3 Server: gestione + "#server-gestione-dell-intera-zona" id="id81" name= + "id81">7.4.3 Server: gestione dell'intera zona
- 7.4.4 Automatizzare + "#automatizzare-l-aggiornamento-dinamico" id="id82" + name="id82">7.4.4 Automatizzare l'aggiornamento dinamico
7.5 Link suggeriti: + "#link-suggeriti" id="id83" name= + "id83">7.5 Link suggeriti:- 8 Samba + 8 Samba
- 8.1 Pacchetti
+ "id85" name= + "id85">8.1 Pacchetti8.2 Passwords e + "#passwords-e-autenticazione" id="id86" name= + "id86">8.2 Passwords e autenticazione 8.3 Creazione Utenti + "#creazione-utenti" id="id87" name= + "id87">8.3 Creazione Utenti8.4 Creare la + "#creare-la-condivisione" id="id88" name= + "id88">8.4 Creare la condivisione @@ -726,223 +741,263 @@8.5 Configurazione + id="id90" name= + "id90">8.5 Configurazione dell'applicativo Samba vero e proprio. 8.6 Testare il + "#testare-il-servizio" id="id92" name= + "id92">8.6 Testare il Servizio 9 Server di posta: Postfix + "#server-di-posta-postfix" id="id93" name= + "id93">9 Server di posta: Postfix
- 9.1 Test del server smtp + "#test-del-server-smtp" id="id94" name= + "id94">9.1 Test del server smtp
- 9.1.1 Swaks
+ "id95" name= + "id95">9.1.1 Swaks9.2 Imap e + id="id96" name="id96">9.2 Imap e pop 9.3 Client a riga di + "#client-a-riga-di-comando" id="id97" name= + "id97">9.3 Client a riga di comando
- 9.3.1 mailx
+ "id98" name= + "id98">9.3.1 mailx9.3.2 Mutt + "id99" name= + "id99">9.3.2 Mutt9.3.3 Web client + "#web-client" id="id100" name= + "id100">9.3.3 Web client9.4 Graylisting + "id101" name= + "id101">9.4 Graylisting
- 9.4.1 Abilitazione in + "#abilitazione-in-postfix" id="id102" name= + "id102">9.4.1 Abilitazione in Postfix
- 9.4.2 Test
+ "id103" name= + "id103">9.4.2 Test9.4.3 Statistiche + "#statistiche" id="id104" name= + "id104">9.4.3 Statistiche- 10 Firewall + 10 Firewall
- 10.1 Links
+ "id106" name= + "id106">10.1 Links10.2 Ipfilter + "id107" name= + "id107">10.2 Ipfilter10.3 Progettazione di un + "#progettazione-di-un-firewall" id="id108" name= + "id108">10.3 Progettazione di un firewall
- 10.3.1 Collocazione
+ "#collocazione" id="id109" name= + "id109">10.3.1 Collocazione10.3.2 Policy di + "#policy-di-default" id="id110" name= + "id110">10.3.2 Policy di default 10.3.3 Hardware + id="id111" name= + "id111">10.3.3 Hardware10.4 Percorso dei + "id112" name="id112">10.4 Percorso dei pacchetti tra tabelle e catene 10.5 Concetti di base + "#concetti-di-base" id="id113" name= + "id113">10.5 Concetti di base
- 10.5.1 Tabelle, catene, + "#tabelle-catene-regole" id="id114" name= + "id114">10.5.1 Tabelle, catene, regole
- 10.5.2 Match
+ "id115" name= + "id115">10.5.2 Match10.5.3 Targets + id="id116" name= + "id116">10.5.3 Targets10.6 Tabella Filter + "#tabella-filter" id="id117" name= + "id117">10.6 Tabella Filter10.7 Flush automatico per + "#flush-automatico-per-macchine-remote" id="id118" + name="id118">10.7 Flush automatico per macchine remote 10.8 Gestione regole + "#gestione-regole-rules" id="id119" name= + "id119">10.8 Gestione regole (rules) 10.9 Salvataggio regole + "#salvataggio-regole" id="id120" name= + "id120">10.9 Salvataggio regole
- 10.9.1 Iptables-save
+ "#iptables-save" id="id121" name= + "id121">10.9.1 Iptables-save10.9.2 Iptables-restore + "#iptables-restore" id="id122" name= + "id122">10.9.2 Iptables-restore10.10 Esempi + "id123" name= + "id123">10.10 Esempi -11 NOTE ++ 11 FTP Server + + + -Generato il 2010-01-04 con: Generato il 2010-02-09 con: http://docutils.sourceforge.net/rst.html
1 Configurazione sistema
+ "#id9">1 Configurazione sistema1.1 Solo per uso interno
+ "#id10">1.1 Solo per uso internoImpostazioni di base per la configurazione del sistema operativo e della rete nel laboratorio 208 facente parte @@ -961,7 +1016,7 @@
1.2 Rete
+ "#id11">1.2 ReteParametri della rete attualmente in uso:
@@ -1077,7 +1132,7 @@1.2.1 interfaces
+ "#id12">1.2.1 interfacesSegue un esempio del file di configurazione della scheda di rete con configurazione statica:
@@ -1136,7 +1191,7 @@ auto lo eth01.3 Bash completion
+ "#id13">1.3 Bash completionIl completamento automatico della shell (che si attiva premendo il tasto tab una o due volte mentre si sta @@ -1224,7 +1279,7 @@ umask 022
1.4 Vim
+ "#id14">1.4 VimVim e' l'editor di testo preferito dai sistemisti, quindi sara' conveniente impostare fin da subito alcune @@ -1328,7 +1383,7 @@ endif
1.5 VNC
+ "#id15">1.5 VNCI Virtual Network Computing (o VNC) sono software di controllo remoto e servono per amministrare un computer a @@ -1428,7 +1483,7 @@ exit
1.6 Lista dei pacchetti di + "#id16">1.6 Lista dei pacchetti di base
I pacchetti installati generalmente
1.7 Apt configurazione
+ "#id17">1.7 Apt configurazioneVediamo i due file principali di apt:
@@ -1480,7 +1535,7 @@ kde-core kdm kde-i18n-it xorg vim less xtightvncviewer1.7.1 sources.list
+ "#id18">1.7.1 sources.listQuesto file contiene i sorgenti da cui apt preleva i pacchetti da installare tramite dpkg, @@ -1555,7 +1610,7 @@ deb http://volatile.debian.org/debian-volatile Lenny/volatile main
1.7.2 /etc/apt/apt.conf
+ "#id19">1.7.2 /etc/apt/apt.confQuesto file contiene le opzioni di apt, come ad esempio il proxy:
@@ -1581,124 +1636,132 @@ Acquire::http::Proxy "http://10.10.208.248:3128";2 Squid
- -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 condivisione della navigazione 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 ipfilter limitato al 2'), - nel bilanciamento del carico tra piu' server proxy.
- --
- -- Inoltre Squid svolge la funzione di - anonymizer:
- -- Nasconde i client http alla rete internet: 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 NAT.
-Cosa a volte sottovalutata, Squid permette la navigazione - web a una rete basata su indirizzi IP privati (es - una 192.168.0.0/24). E se la rete privata deve solo - navigare in internet, non serve introdurre nella rete un - NAT (si veda la sezione sui firewall) per + "#id20">2 Squid + +
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 condivisione della + navigazione internet 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 ipfilter limitato al 2'), il + bilanciamento del carico tra piu' server proxy.
+ +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 sara' il solo Squid a risolvere i nomi di - dominio per i suoi client http.
- -Squid ascolta di default sulla porta 3128, per impostare - apt per utilizzarlo si aggiunga ad + +
Inoltre Squid svolge la funzione di anonymizer: + 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.
+ +Squid ascolta di default sulla porta 3128, per + quanto in genere la porta preferita per i servizi di caching + http sia la 8080. Per utilizzarlo subito anche per apt + si aggiunga ad /etc/apt/apt.conf
Acquire::http::Proxy "10.10.208.254:3128";-Per installare Squid si usino i pacchetti:
+Per installare Squid si usi il pacchetto:
squid32.1 Configurazione: + "#id21">2.1 Configurazione: squid.conf
-Segue un estratto delle direttive principali viste in +
egue un estratto delle direttive principali viste in aula presenti nel file di configurazione /etc/squid3/squid.conf .
+ +2.1.1 Cache_dir
- -Cache dir serve per impostare dimensione e percorso - della cache creata sul supporto di storaggio. Essendo la - dimensione di default della cache pari a ~100 - MB e' altamente - consigliabili aumentare questo parametro se si vuole - poter utilizzare la funzione di cache http del - software.
- -La dimensione ovviamente dipendera' dallo spazio - disponibile, dimensioni tipiche e massime degli oggetti - che si vuole tenere in cache (un solo file .iso e' - circa ``700 MB``, il pacchetto *Openoffice.org circa - 150 - MB, un pacchetto debian - circa 20 MB), numero - dei client.
+ "#id22">2.1.1 Cache_dir + +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.
+ +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 700 + MB, il pacchetto + Openoffice.org circa 150 MB, un pacchetto Debian circa 20 + MB), e in fine del numero dei client.
Si presti poi attenzione alla natura dei dati che saranno salvati nella cache: sono tutti dati facilmente - sostituibili (gli originali sono on-line) la cui - perdita non arreca danni permanenti. 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.
+ 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.Questo fino al momento in cui per voi non sia piu' - importante garantire la disponibilita' del - servizio, ad esempio con un RAID mirror 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 - mirror o a un filesytem normale).
- -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 noatime per renderlo piu' veloce, - che si usi o meno il journal dipende dalle preferenze: - affidabilita' oppure prestazioni):
- -/etc/fstab
-+ 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. + +++2.1.1.1 Opzioni del file + system
+ +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):
+ +/etc/fstab
+... # Filesystem per Squid http cache /dev/md3/ /var/spool/squid/ ext2,noexec,nosuid,noatime 0 3++2.1.2 Configurazioni di + Cache_dir
Ora possiamo impostare la cache nel file di configurazione -
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 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
+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:
# /etc/init.d/squid3 stop # rm -r /var/spool/squid3/?? @@ -1741,7 +1803,7 @@ cache_dir aufs /var/spool/squid3 300 24 2562.1.2 TAG: + "#id25">2.1.3 TAG: maximum_object_size
Questa direttiva imposta la dimensione massima degli @@ -1771,15 +1833,22 @@ maximum_object_size 150 MB
2.1.3 TAG: cache_mem
- -Cache_mem 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).
+ "#id26">2.1.4 TAG: cache_mem + +Cache_mem 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?
+ +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.
Se si stesse pensando di usare dell'hardware embedded a basse prestazioni / consumo per @@ -1815,7 +1884,7 @@ cache_mem 100 M
2.1.4 TAG: + "#id27">2.1.5 TAG: minimum_object_size
Questo parametro imposta la dimensione minima degli @@ -1830,8 +1899,8 @@ cache_mem 100 M pochi client (una decina) e server poco performanti nella velocita' di accesso ai filesystem ( ~20MB/s, per quanto il limte sia piuttosto il seek-time ) tenere in - cache i file piu' piccoli aumenta la latenza della - navigazione.
+ cache i file piu' piccoli finisce per aumentare la + latenza della navigazione.TAG: minimum_object_size:
@@ -1850,12 +1919,12 @@ minimum_object_size 0 KB2.2 Negoziazione degli accesi al + "#id28">2.2 Negoziazione degli accesi al servizio
-Squid e' uno di quei servizi soggetto a problemi di tipo - open relay , si deve quindi limitare la rete che - puo' accedere al servizio.
+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.
- Open Relay:
@@ -1901,13 +1970,13 @@ minimum_object_size 0 KB http://www.visolve.com/squid/squid24s1/access_controls.phpE' 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.
+ 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.2.2.1 ACL e http access
+ "#id29">2.2.1 ACL e http accessSi proceda a creare una ACL di @@ -1968,19 +2037,18 @@ http_access allow localnet
2.3 Testare Squid
+ "#id30">2.3 Testare Squid -Configurato squid e' fondamentale testarne il corretto - funzionamento per assicurarsi di non aver creato un - open-relay. Per fare dei test significativi serve - utilizzare degli host remoti: ci si connetta via ssh a - questi per poi utilizzare wget da - riga di comando.
+Dopo aver configurato squid e' fondamentale testarne il + corretto funzionamento per assicurarsi di non aver creato + un open-relay. Per fare dei test significativi + serve utilizzare degli host remoti: ci si connetta via ssh + a questi e si usi wget da riga di comando.
2.3.1 Client: ~/.wgetrc
+ "#id31">2.3.1 Client: ~/.wgetrcNel file .wgetrc (si noti il punto iniziale: e' @@ -2016,7 +2084,7 @@ wget http://www.google.it
2.3.2 Server: + "#id32">2.3.2 Server: access.log
Si puo' controllare il corretto funzionamento del @@ -2036,7 +2104,7 @@ wget http://www.google.it
3 Tiny proxy
+ "#id33">3 Tiny proxySe avete l'esigenza di un proxy server per la condivisione della connessione ad internet ma non avete la necessita' o le @@ -2066,7 +2134,7 @@ Allow 10.10.208.0/24
4 Apache
+ "#id34">4 ApacheApache HTTP Server, o piu' comunemente Apache (a patchy NCSA web server ), e' il server web modulare piu' @@ -2084,7 +2152,7 @@ Allow 10.10.208.0/24
4.1 Pacchetti da + "#id35">4.1 Pacchetti da installare::
@@ -2099,7 +2167,7 @@ Allow 10.10.208.0/244.2 Configurazione di + "#id36">4.2 Configurazione di Apache
I file di configurazione di apache si trovano nella @@ -2158,7 +2226,7 @@ Allow 10.10.208.0/24
4.3 apache.conf
+ "#id37">4.3 apache.confFile di configurazione del servizio Apache, contiene le impostazioni generiche (ad esempio utilizzo della RAM e @@ -2215,7 +2283,7 @@ Allow 10.10.208.0/24
4.4 Installazione di PHP
+ "#id38">4.4 Installazione di PHPPacchetti da installare: php5 @@ -2223,7 +2291,7 @@ Allow 10.10.208.0/24
4.4.1 Test del modulo + "#id39">4.4.1 Test del modulo php
Creare nella cartella
4.4.2 Installazione del supporto + "#id40">4.4.2 Installazione del supporto per Mysql a PHP
Installare i pacchetti:
@@ -2270,7 +2338,7 @@ php5-mysql phpmyadmin4.4.3 phpmyadmin
+ "#id41">4.4.3 phpmyadminL'interfaccia web Phpmyadmin non richiede necessariamente la presenza di un database Mysql locale, @@ -2295,7 +2363,7 @@ php5-mysql phpmyadmin
4.4.4 Installazione del supporto + "#id42">4.4.4 Installazione del supporto per Postgresql a PHP
Installare i pacchetti:
@@ -2312,7 +2380,7 @@ php5-pgsql phppgadmin4.4.5 phppgadmin
+ "#id43">4.4.5 phppgadminL'interfaccia web Phppgadmin per il database server PostgreSQL non richiede necessariamente la presenza di un @@ -2337,7 +2405,7 @@ php5-pgsql phppgadmin
4.5 Virtual hosts
+ "#id44">4.5 Virtual hosts@@ -2378,7 +2446,7 @@ php5-pgsql phppgadmin
4.5.1 Gestione DNS
+ "#id45">4.5.1 Gestione DNSPrima di tutto per poter impostare i virtual hosts dovete avere un server DNS che risolva i vostri nomi di @@ -2426,7 +2494,7 @@ php5-pgsql phppgadmin
4.5.2 Eseguire una query DNS con + "#id46">4.5.2 Eseguire una query DNS con dig::
@@ -2487,7 +2555,7 @@ php5-pgsql phppgadmin4.5.3 Virtual hosts
+ "#id47">4.5.3 Virtual hostsEsempio di Virtual host:
@@ -2599,7 +2667,7 @@ php5-pgsql phppgadmin4.6 Negoziazione accessi
+ "#id48">4.6 Negoziazione accessiTipicamente quando si installa un server web il proprio desiderio e' di dare accesso ai materiali disponibili al @@ -2612,7 +2680,7 @@ php5-pgsql phppgadmin
4.6.1 Limiti su base IP
+ "#id49">4.6.1 Limiti su base IPLa forma piu' semplice di restrizione degli accessi e' su base degli indirizzi IP dei client: tipicamente i siti @@ -2676,7 +2744,7 @@ php5-pgsql phppgadmin
4.7 User Authentication
+ "#id50">4.7 User AuthenticationSi puo' negoziare gli accessi ad un area del sito tramite autenticazione basata su nome utente / @@ -2699,7 +2767,7 @@ php5-pgsql phppgadmin
4.7.1 Definire la + "#id51">4.7.1 Definire la cartella
Decidere quale sara' il path della cartella @@ -2715,7 +2783,7 @@ php5-pgsql phppgadmin
4.7.2 Creazione del database + "#id52">4.7.2 Creazione del database delle passwords
Un modo semplice per gestire una database di @@ -2753,7 +2821,7 @@ htpasswd -c /home/utente/passwords luca
4.7.3 Configurazione di + "#id53">4.7.3 Configurazione di Apache
Ora possiamo passare alla configurazione vera e @@ -2864,7 +2932,7 @@ studenti: lucap federico luca
4.8 Cavets
+ "#id54">4.8 CavetsProblemi di cache:
@@ -2889,7 +2957,7 @@ studenti: lucap federico luca5 Domain Name System
+ "#id55">5 Domain Name SystemDomain Name System (spesso indicato con DNS) e' un servizio utilizzato per la risoluzione di nomi di host in @@ -2948,7 +3016,7 @@ studenti: lucap federico luca
5.1 Risoluzione Inversa
+ "#id56">5.1 Risoluzione InversaPer la risoluzione inversa sono invece i provider di connettivita' a gestire i DNS: se volete impostare il @@ -2994,7 +3062,7 @@ studenti: lucap federico luca
5.2 Nomi di dominio
+ "#id57">5.2 Nomi di dominioUn nome a dominio e' costituito da una serie di stringhe separate da punti, ad esempio bender.piffa.net. I nomi di @@ -3036,7 +3104,7 @@ studenti: lucap federico luca
5.3 Tipologie di record
+ "#id58">5.3 Tipologie di recordAd un nome DNS possono corrispondere diversi tipi di informazioni. Per questo motivo, esistono diversi tipi di @@ -3091,7 +3159,7 @@ studenti: lucap federico luca
5.4 Utilizzo
+ "#id59">5.4 UtilizzoI computer vengono identificati in rete grazie agli indirizzi IP, questi pero' non sono comodi per gli @@ -3108,7 +3176,7 @@ PING www.l.google.com (74.125.43.104) 56(84) bytes of data.
5.5 Risoluzione dei nomi di + "#id60">5.5 Risoluzione dei nomi di dominio
Ci sono vari strumenti per interrogare i server DNS e @@ -3173,7 +3241,7 @@ ns4.mydomain.com. 96208 IN A 63.251.83.74
5.6 Dig
+ "#id61">5.6 DigVediamo alcune opzioni utili nell'utilizzo di dig per @@ -3274,7 +3342,7 @@ l.google.com. 80856 IN NS g.l.google.com.
5.7 resolv.conf
+ "#id62">5.7 resolv.confIl file /etc/resolv.conf contiene le impostazioni @@ -3344,7 +3412,7 @@ l.google.com. 80856 IN NS g.l.google.com.
5.8 /etc/hosts
+ "#id63">5.8 /etc/hostsTabella statica per l'associazione tra IP e nomi di dominio:
@@ -3419,7 +3487,7 @@ l.google.com. 80856 IN NS g.l.google.com.5.9 Hostname
+ "#id64">5.9 HostnameOgni computer ha un proprio nome visualizzabile (e modificabile) con il comando
5.9.1 FQDN
+ "#id65">5.9.1 FQDNPer semplicita' gli host sono generalemente raggiungibili dall'esterno mappando il loro IP su un nome @@ -3483,7 +3551,7 @@ l.google.com. 80856 IN NS g.l.google.com.
6 DNSmasq
+ "#id66">6 DNSmasqDnsmasq puo' svolgere le funzioni di un DNS cache / forwarder, server DHCP, e' caratterizzato dalla facilita' di @@ -3530,7 +3598,7 @@ l.google.com. 80856 IN NS g.l.google.com.
6.1 Configurazione
+ "#id67">6.1 ConfigurazioneVediamo alcune direttive di basi del file di configurazione
6.2 DHCP
+ "#id68">6.2 DHCPPer attivare il demone DHCP di Dnsmasq basta aggiungere al file di configurazione il range degli IP che si @@ -3608,7 +3676,7 @@ dhcp-range=192.168.0.20,192.168.0.50,24h
6.3 DNS cache
+ "#id69">6.3 DNS cacheDnsmasq lavora di default come cache dns: inserire al file
7 Bind : DNS Autoritativo
+ "#id70">7 Bind : DNS AutoritativoLe soluzioni viste possono bastare per la rete locale o per fare delle prove, ma prima o poi verra' il momento in cui @@ -3661,7 +3729,7 @@ bind9
7.1 DNS cache
+ "#id71">7.1 DNS cacheBind appena installato funzionera' come DNS cache: si faccia un test con un
7.2 Ospitare una zona
+ "#id72">7.2 Ospitare una zonaSe avete acquistato un nome di dominio e vi serve un software DNS per gestirlo Bind e' la scelta piu' diffusa. @@ -3731,7 +3799,7 @@ allow-query {"localnet" ;} ;
7.2.1 named.conf.local
+ "#id73">7.2.1 named.conf.localPrima di tutti impostiamo il server bind per gestire la zona, per non fare confusione e' opportuno inserire le @@ -3773,7 +3841,7 @@ zone "piffa.net" {
7.2.2 Configurazione della + "#id74">7.2.2 Configurazione della zona
Ora dovremo preparare il file contenente i record DNS @@ -3860,7 +3928,7 @@ normale IN A 94.23.63.105 ; usa il TTL di default: 3 giorni
7.2.2.1 SOA: Start of + "#id75">7.2.2.1 SOA: Start of Authority Record
Il record SOA puo' comparire solo una volta in una @@ -3935,7 +4003,7 @@ normale IN A 94.23.63.105 ; usa il TTL di default: 3 giorni
7.2.2.2 Altri campi:
+ "#id76">7.2.2.2 Altri campi:All'interno della zona possono essere utilizati vari tipi di records (RR):
@@ -4006,7 +4074,7 @@ normale IN A 94.23.63.105 ; usa il TTL di default: 3 giorni7.3 DNS slave
+ "#id77">7.3 DNS slaveData l'importanza del servizio DNS e' necessario avere ridondanza per i server DNS che ospitano i vostri dati: in @@ -4077,7 +4145,7 @@ zone "piffa.net" {
7.4 Aggiornamento dinamico: + "#id78">7.4 Aggiornamento dinamico: nsupdate
Dalla versione 8 di Bind e' dsponibile l'utility @@ -4111,7 +4179,7 @@ zone "piffa.net" {
7.4.1 Configurazione client + "#id79">7.4.1 Configurazione client (nsupdate)
Sul client, sul quale non deve essere necessariamente @@ -4138,7 +4206,7 @@ dnssec-keygen -a HMAC-MD5 -b 512 -n USER home.piffa.net.
7.4.2 Configurazione server: + "#id80">7.4.2 Configurazione server: riconoscimento chiave
@@ -4173,7 +4241,7 @@ dnssec-keygen -a HMAC-MD5 -b 512 -n USER home.piffa.net.
7.4.3 Server: gestione + "#id81">7.4.3 Server: gestione dell'intera zona
Sul server modifichiamo il file di configurazione @@ -4267,7 +4335,7 @@ home.piffa.net. 86400 IN A 192.168.0.1
7.4.4 Automatizzare + "#id82">7.4.4 Automatizzare l'aggiornamento dinamico
Nsupdate risulta comodo per tenere aggiornati i record @@ -4329,7 +4397,7 @@ nsupdate -k /root/dns/Khome.piffa.net.+157+04331.private <<-EOF
7.5 Link suggeriti:
+ "#id83">7.5 Link suggeriti:
- DNS for Rocket Scientists
8 Samba
+ "#id84">8 SambaSamba e' un progetto libero che fornisce servizi di condivisione di file e stampanti a client SMB/CIFS.
@@ -4365,7 +4433,7 @@ nsupdate -k /root/dns/Khome.piffa.net.+157+04331.private <<-EOF8.1 Pacchetti
+ "#id85">8.1 PacchettiPacchetti da installare per utilizzare Samba in modalita' client
8.2 Passwords e + "#id86">8.2 Passwords e autenticazione
Per poter configurare Samba in modo che usi un sistema @@ -4479,7 +4547,7 @@ dpkg-reconfigure samba-common
8.3 Creazione Utenti
+ "#id87">8.3 Creazione UtentiCreiamo per primo l'utente sotto GNU/Linux, facendo attenzione a non dargli una shell di sistema. Gli @@ -4516,7 +4584,7 @@ smbpasswd sambo
8.4 Creare la + "#id88">8.4 Creare la condivisione
La condivisione altro non e' che una cartella sul server @@ -4543,7 +4611,7 @@ smbpasswd sambo
8.4.1 Sicurezza: permessi di + "#id89">8.4.1 Sicurezza: permessi di esecuzione sul server
Bisognerebbe notare sul server i permessi di @@ -4573,7 +4641,7 @@ smbpasswd sambo
8.5 Configurazione + "#id90">8.5 Configurazione dell'applicativo Samba vero e proprio.
Avendo preparato gli utenti (ancora una volta: non si @@ -4612,7 +4680,7 @@ smbpasswd sambo
8.5.1 Creazione di un + "#id91">8.5.1 Creazione di un gruppo
Se si deve condividere una risorsa con un numero @@ -4649,7 +4717,7 @@ valid users = @nome_gruppo
8.6 Testare il Servizio
+ "#id92">8.6 Testare il ServizioCome testare il servizio
@@ -4689,7 +4757,7 @@ mount -t smbfs //localhost/sambo_share /mnt/sambo_mount/ --verbose -o user=sambo9 Server di posta: Postfix
+ "#id93">9 Server di posta: PostfixIl server di posta che prenderemo in considerazione e' Postfix, a seguire un estratto di un file di configurazione @@ -4739,7 +4807,7 @@ inet_interfaces = all
9.1 Test del server smtp
+ "#id94">9.1 Test del server smtpPer testare il corretto funzionamento del server di posta si puo' procedere in vari modi.
@@ -4757,7 +4825,7 @@ inet_interfaces = all9.1.1 Swaks
+ "#id95">9.1.1 Swaks
- Per gli utenti meno esperti e' consigliabile @@ -4811,7 +4879,7 @@ swaks --to andrea@piffa.net from andrea@mydomain.com
9.2 Imap e pop
+ "#id96">9.2 Imap e popPostfix e' un server SMTP, di conseguenza se volete che i vostri utenti possano scaricare in locale la @@ -4832,7 +4900,7 @@ swaks --to andrea@piffa.net from andrea@mydomain.com
9.3 Client a riga di + "#id97">9.3 Client a riga di comando
Per testare il corretto funzionamento del server di @@ -4842,7 +4910,7 @@ swaks --to andrea@piffa.net from andrea@mydomain.com
9.3.1 mailx
+ "#id98">9.3.1 mailx
- Uno dei client piu' semplici, sopratutto per @@ -4885,7 +4953,7 @@ Cc:
9.3.2 Mutt
+ "#id99">9.3.2 MuttMutt e' uno dei gestori di posta preferiti da chi preferisce utilizzare l'interfaccia testuale per la @@ -4932,7 +5000,7 @@ mutt -f imap://nome_utente@piffa.net
9.3.3 Web client
+ "#id100">9.3.3 Web clientPer mettere a disposizione degli utenti un client web per gestire la propria posta si installi il pacchetto: @@ -4958,7 +5026,7 @@ ln -s /etc/squirrelmail/apache.conf ./squirrelmail.conf
9.4 Graylisting
+ "#id101">9.4 GraylistingIl graylisting e' un sistema relativamente poco invasivo, con un limitato consumo di risorse per limitare @@ -4985,7 +5053,7 @@ ln -s /etc/squirrelmail/apache.conf ./squirrelmail.conf
9.4.1 Abilitazione in + "#id102">9.4.1 Abilitazione in Postfix
Installare il pacchetto:
9.4.2 Test
+ "#id103">9.4.2 TestInviando un messaggio il client dovrebbe ricevere un iniziale messaggio di rifiuto del messaggio:
@@ -5041,7 +5109,7 @@ May 28 14:53:34 r24266 postfix/smtpd[22538]: disconnect from alice.mydomain.com[9.4.3 Statistiche
+ "#id104">9.4.3 StatisticheE' sempre utile poter tracciare qualche statistica sulle percentuali di messaggi ricevuti, da chi, messaggi @@ -5070,7 +5138,7 @@ pflogsumm.pl /var/log/mail.log
10 Firewall
+ "#id105">10 FirewallIn Informatica, nell'ambito delle reti di computer, un firewall (termine inglese dal significato originario di @@ -5120,7 +5188,7 @@ pflogsumm.pl /var/log/mail.log
10.1 Links
+ "#id106">10.1 Links
10.2 Ipfilter
+ "#id107">10.2 IpfilterLink: @@ -5170,7 +5238,7 @@ pflogsumm.pl /var/log/mail.log
10.3 Progettazione di un + "#id108">10.3 Progettazione di un firewall
Per implementare un firewall bisogna decidere un aio di @@ -5179,7 +5247,7 @@ pflogsumm.pl /var/log/mail.log
10.3.1 Collocazione
+ "#id109">10.3.1 CollocazioneDMZ e MZ, internet, intranet, extranet. Frammentazione della rete, decidere se diversi reparti di una azienda si @@ -5211,7 +5279,7 @@ pflogsumm.pl /var/log/mail.log
10.3.2 Policy di + "#id110">10.3.2 Policy di default
Drop o Accept: conseguenze per sicurezza, facilita' di @@ -5220,7 +5288,7 @@ pflogsumm.pl /var/log/mail.log
10.3.3 Hardware
+ "#id111">10.3.3 HardwareSostanzialmente potremmo distinguere due tipologie di hardware:
@@ -5248,7 +5316,7 @@ pflogsumm.pl /var/log/mail.log10.4 Percorso dei pacchetti tra + "#id112">10.4 Percorso dei pacchetti tra tabelle e catene
link:
10.5 Concetti di base
+ "#id113">10.5 Concetti di base10.5.1 Tabelle, catene, + "#id114">10.5.1 Tabelle, catene, regole
Iptables lavora su 3 tabelle (tables) di default:
@@ -5289,7 +5357,7 @@ pflogsumm.pl /var/log/mail.log10.5.2 Match
+ "#id115">10.5.2 MatchI Match di una regola (rule) servono a testare un pacchetto per valutare se corrisponda a certe @@ -5341,7 +5409,7 @@ pflogsumm.pl /var/log/mail.log
10.5.3 Targets
+ "#id116">10.5.3 TargetsSe un pacchetto soddisfa le condizioni del Match salta (jump) su uno dei target possibili, in @@ -5470,7 +5538,7 @@ pflogsumm.pl /var/log/mail.log
10.6 Tabella Filter
+ "#id117">10.6 Tabella FilterE' quella implicita e predefinita (-t filter) Riguarda le attivita' di filtraggio del traffico. Ha 3 catene di @@ -5494,7 +5562,7 @@ pflogsumm.pl /var/log/mail.log
10.7 Flush automatico per + "#id118">10.7 Flush automatico per macchine remote
Se state provando una configurazione del firewall per @@ -5521,7 +5589,7 @@ at> [CTR+d]
10.8 Gestione regole + "#id119">10.8 Gestione regole (rules)
Il comando iptables viene usato per ogni attivita' di @@ -5588,7 +5656,7 @@ at> [CTR+d]
10.9 Salvataggio regole
+ "#id120">10.9 Salvataggio regoleIl comando iptables serve per interagire con il @@ -5646,7 +5714,7 @@ iface eth1 inet static
10.9.1 Iptables-save
+ "#id121">10.9.1 Iptables-savePer salvare le regole di iptables attualmente presenti nel kernel si usi il comando:
@@ -5670,7 +5738,7 @@ iface eth1 inet static10.9.2 Iptables-restore
+ "#id122">10.9.2 Iptables-restorePer ripristinare un set di regole precedentemente salvate con
10.10 Esempi
+ "#id123">10.10 EsempiSeguono alcuni esempi sull'uso di iptables, lo scenario e' un computer con un paio di schede di rete fisiche una @@ -5715,7 +5783,7 @@ iface eth1 inet static
10.10.1 Bloccare i ping + "#id124">10.10.1 Bloccare i ping dall'esterno
Spesso gli script che attaccano @@ -5731,7 +5799,7 @@ iptables -A INPUT -i ppp0 -p ICMP -j DROP
-10.10.2 Masquerading + "#id125">10.10.2 Masquerading (sNAT)
@@ -5780,7 +5848,7 @@ iptables -A INPUT -i ppp0 -p ICMP -j DROP
10.10.3 Brute force
+ "#id126">10.10.3 Brute forcePer limitare attacchi di tipo brute force su SSH:
@@ -5792,36 +5860,410 @@ iptables -A INPUT -i ppp0 -p tcp -m tcp --dport 22 -m state --state NEW -m recen+11 NOTE
+ "#id127">11 FTP Server + +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 pubblicare 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 uploads degli + utenti, poi riordinati dall'ftpmaster). Tuttora si + mantiene la cosuetudine di renedere disponibile i materiali + dei mirrors anche tramite FTP, probabilmente per + garantire l'accesso ai client piu' datati che non possono + utilizzare tecnologie piu' recenti.
+ +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).
+ +Se propio si deve mettere a disposizione un server FTP ai + propi utenti si considerino le seguenti alternative:
--
+- Bind:
++
- Spingere gli utenti ad usare SFTP invece che FTP
+ +- Spingere gli utenti ad usare SSL per autenticarsi al + server FTP
-- -
--
-- altri esempi commenti su una zona
+- Nel caso di webdesigners si consideri la possibilita' + di offrire alternative come GIT, Subversion, Rsync o + Webdav
+- esempi di una zona PTR?
+Nel caso non si possa evitare il server FTP:
-- dns secondari
++
-- Non dare agli utenti FTP una shell di sistema ( + Concedere come shell ftp al + posto di bash in /etc/passwd)
-- nsupdate
-- Rendere il filesytem su cui scrive il demone FTP + noexec e nosuid + (vedi dopo)
-sintassi: in monospace :
+- Utilizzare un demone FTP come Vsftp: un server FTP con + una forte inclinazione alla sicurezza: Very Secure FTP + Daemon.
+ + +Per maggiori informazioni sulle scelte di design legate + alla sicurezza del demone si veda: http://vsftpd.beasts.org/DESIGN
+ +Vsftp mette a disposizione le seguenti funzionalita':
-
+ +- nomi di files
+- Virtual IP configurations
+ +- Virtual users
+ +- Standalone or inetd operation
-- comandi
+- Powerful per-user configurability
-- pacchetti
+- Bandwidth throttling
+ +- Per-source-IP configurability
+ +- Per-source-IP limits
+ +- IPv6
+ +- Encryption support through SSL integration
++ +11.1 Pacchetti
+ +Per installare il demone vero e propio si usi il + pacchetto vsftpd , mentre per aver un client da cui + fare qualche test sono dipsonibili:
+ ++
+- ftp (pacchetto da installare) e' il + solito client a riga di comando
+ +- gftp e' un client grafico simile al + classico WSftp
+ +- Normalmente i file mananager com Konqueror possono + lavarorare come client FTP
+++ +11.2 Sessioni ftp
+ +Vediamo alcuni dei comandi di base per gestire una + sessione ftp a riga di comando:
+ ++
+- ftp nome_host
+ +- stabilire la connessione all'host, poi verra' chiesta + la password dell'utente. Se avete sbagliato utente: user + .
+ +- help
+ +- Lista dei comandi disponibili.
+ +- help [nome_comando]
+ +- Cosa fa quel comando.
+ +- put
+ +- Per caricare un file.
+ +- get
+ +- Per scaricare un file.
+ +- ls
+ +- Lista dei file disponibili.
+ +- cd
+ +- Spostarsi in un altra directory.
+ +- lcd
+ +- Cambio directory in LOCALE.
+ +- mput/mget
+ +- Per lavorare su file multipli.
+ +- prompt
+ +- +
+ ++
+- Per uscire dalla modalita' interattiva
+ +- +
++
+- (non vi chiede conferma di ogni singola + operazione
+ +- su ogni singolo file...).
+- binary
+ +- Entra in modalita' trasferimento binario.
+ +- asii
+ +- Entra in modalita' trasferimento ascii.
+ +- bye
+ +- Per chiudere la sessione.
+++ +11.3 Configurazione + iniziale
+ +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 + sola lettura. Per accedere al servizio si usi + quini come utente anonymous (la passwords in genere e' come + consuetudine il propio indirizzo email), la cui + home directory sara' /home/ftp/ + (/srv/ftp in Squeeze):
++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. ++++ +11.4 Abilitare gli utenti + locali
+ +Per poter modificare le impostazioni iniziali, ad + esempio per permettere l'accesso agli utenti del server, si + modifichera' il file /etc/vsftpd.conf, 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!):
++# 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 ++ +Per abilitare i cambiamenti si proceda a riavviare il + server: /etc/init.d/vsftpd restart e si monitorizzi il file di log + tail + -f /var/log/vsftpd.log per controllarne il + funzionamento (e anche /var/log/syslog nel caso non si riuscisse + a far partire correttamente il servizio.
+ +NOTE: Se non riuscite ad ottenere un directory + listing (ls) ottenendo un errore 500 + Illegal PORT command? + FTP error abilitare la modalita' passiva col + comando ftp passive.
+++ +11.5 Jail chroot
+ +Si puo' impedire all'utente di spostarsi arbitrariamente + per il file system del servere visualizzare il contenuto + delle directory, ad esempio la cartella /etc, + confinandolo in una jail chroot limitata alla sua home + directory:
++# 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 ++ +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:
++Remote system type is UNIX. +Using binary mode to transfer files. +ftp> pwd +257 "/" +ftp> cd /etc/ +550 Failed to change directory. ++++ +11.6 Permessi sul + filesystem
+ +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 /home/ + directory quindi avremo in /etc/fstab:
++/dev/mapper/store-homes /home ext3 rw,nosuid,noexec 0 2 ++++ +11.7 Shell dell'utente
+ +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 --shell + /bin/false in fase di + creazione degli utenti:
++# adduser --shell /bin/false nome_utente ++ +Oppure correggiendo manualmente il file /etc/passwd per modificare l'inpostazione + della shell dell'utente:
++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 ++ +Sui sistemi DEbian REcenti sara' necessario aggiungere + /bin/false all'elenco delle shell + valide.
+ +/etc/shells
++... +/bin/false +++11.8 Altre opzioni
+ ++
+- xferlog_enable=YES
+ +- Verra' tenuto un file di log /var/log/vsftpd.log degli upload e + download sul server.
+ +- hide_ids=YES
+ +- Nasconde le userid e groupid mascherandole con + ftp .
+ +- anon_root=/home/ftp
+ +- Home directory dell'utente anonimo.
+ +- write_enable=YES
+ +- Permette agli utenti di eseguire i comandi che + possono modificare il filesystem: STOR, DELE, RNFR, RNTO, + MKD, RMD, APPE e SITE .
+ +- idle_session_timeout=600
+ +- Permette agli utenti di restare connessi piu' a + lungo, utile per i webdesigners che passano intere + giornate connessi al server.
+