Harden-doc 3.19 - en to it translation catalogue (224 entries)

en: Securing services running on your system
it: Rendere più sicuri i servizi che girano sul vostro sistema

en: Services can be secured in a running system in two ways:
it: I servizi attivi su un sistema possono essere resi più sicuri in due modi:

en: Making them only accessible at the access points (interfaces) they need to be in.
it: Rendendoli accessibili solo dai punti di accesso (interfacce) per i quali sono necessari.

en: Configuring them properly so that they can only be used by legitimate users in an authorized manner.
it: Configurandoli opportunamente cosicché possano essere usati solo dagli utenti legittimati con un metodo di autorizzazione.

en: Restricting services so that they can only be accessed from a given place can be done by restricting access to them at the kernel (i.e. firewall) level, configure them to listen only on a given interface (some services might not provide this feature) or using some other methods, for example the Linux vserver patch (for 2.4.16) can be used to force processes to use only one interface.
it: Vincolare i servizi in maniera tale da renderli accessibili solo da un luogo definito può essere fatto limitando il loro accesso a livello di kernel (per es. i firewall), configurandoli in maniera tale da ascoltare solo da una data interfaccia (alcuni servizi potrebbero non fornire questa possibilità) o impiegando qualche altro metodo, per esempio la patch linux vserver (per il 2.4.16) può essere usata per obbligare i processi ad usare una sola interfaccia.

en: The following sections detail how specific individual services can be configured properly depending on their intended use.
it: Le sezioni seguenti forniscono dettagli su come configurare opportunamente singoli e specifici servizi in funzione dell'uso previsto.

en: Securing ssh
it: Rendere sicuro ssh

en: If you are still running telnet instead of ssh, you should take a break from this manual and change this. Ssh should be used for all remote logins instead of telnet. In an age where it is easy to sniff Internet traffic and get clear-text passwords, you should use only protocols which use cryptography. So, perform an <literal>apt-get install ssh</literal> on your system now.
it: Se state ancora usando telnet invece di ssh, è meglio che passiate a ssh prima di proseguire con la lettura di questo manuale. Sarebbe bene utilizzare ssh invece di telnet per tutti i login remoti. In un'epoca in cui è facile intercettare il traffico su Internet e ottenere le password trasmesse in chiaro, bisognerebbe usare solamente protocolli che utilizzano la crittografia; per questo motivo meglio eseguire subito <literal>apt-get install ssh</literal> sulla propria macchina.

en: Encourage all the users on your system to use ssh instead of telnet, or even better, uninstall telnet/telnetd. In addition you should avoid logging into the system using ssh as root and use alternative methods to become root instead, like <command>su</command> or <command>sudo</command>. Finally, the <filename>sshd_config</filename> file, in <filename>/etc/ssh</filename>, should be modified to increase security as well:
it: Incoraggiate tutti gli utenti del vostro sistema ad usare ssh invece di telnet o, ancora meglio, disinstallare telnet/telnetd. Oltre a quanto detto bisognerebbe evitare di autenticarsi nel sistema come root con ssh e utilizzare invece dei metodi alternativi per diventare root, come <command>su</command> o <command>sudo</command>. Infine, meglio modificare anche il file <filename>sshd_config</filename>, in <filename>/etc/ssh</filename>, per aumentare la sicurezza:

en: You can also restrict access to the ssh server using <literal>pam_listfile</literal> or <literal>pam_wheel</literal> in the PAM control file. For example, you could keep anyone not listed in <filename>/etc/loginusers</filename> away by adding this line to <filename>/etc/pam.d/ssh</filename>:
it: Potete limitare l'accesso al server ssh anche utilizzando le direttive <literal>pam_listfile</literal> o <literal>pam_wheel</literal> nel file di configurazione PAM per ssh, in modo da limitare le autenticazioni ssh. Per esempio potreste escludere tutti gli utenti non elencati in <filename>/etc/loginusers</filename> aggiungendo questa riga a <filename>/etc/pam.d/ssh</filename>:

en: As a final note, be aware that these directives are from a OpenSSH configuration file. Right now, there are three commonly used SSH daemons, ssh1, ssh2, and OpenSSH by the OpenBSD people. Ssh1 was the first ssh daemon available and it is still the most commonly used (there are rumors that there is even a Windows port). Ssh2 has many advantages over ssh1 except it is released under a closed-source license. OpenSSH is completely free ssh daemon, which supports both ssh1 and ssh2. OpenSSH is the version installed on Debian when the package <application>ssh</application> is chosen.
it: Come ultima osservazione dovreste considerare che queste direttive si riferiscono ad un file di configurazione di OpenSSH. Al momento vengono utilizzati comunemente tre demoni SSH: ssh1, ssh2 e l'OpenSSH degli sviluppatori di OpenBSD. ssh1 è stato il primo demone ssh disponibile ed è ancora il più utilizzato (ci sono voci che esista anche una versione per Windows). ssh2 ha molti vantaggi rispetto a ssh1 tranne per il fatto di essere rilasciato con una licenza closed-source. OpenSSH è un demone ssh rilasciato come software libero che supporta sia ssh1 che ssh2. OpenSSH è la versione che viene installata in Debian quando selezionate il pacchetto <application>ssh</application>.

en: Chrooting ssh
it: Ssh in chroot

en: Currently OpenSSH does not provide a way to chroot automatically users upon connection (the commercial version does provide this functionality). However there is a project to provide this functionality for OpenSSH too, see <ulink url="http://chrootssh.sourceforge.net" />, it is not currently packaged for Debian, though. You could use, however, the <filename>pam_chroot</filename> module as described in <xref linkend="user-restrict" />.
it: Per ora OpenSSH non fornisce un modo per poter ingabbiare automaticamente, con chroot, gli utenti dopo una connessione (la versione commerciale invece fornisce questa possibilità). Ad ogni modo esiste un progetto per dare questa funzionalità anche ad OpenSSH, vedete <ulink url="http://chrootssh.sourceforge.net" />, al momento credo non sia disponibile il pacchetto per Debian. Potreste usare al suo posto il modulo <filename>pam_chroot</filename> come descritto in <xref linkend="user-restrict" />.

en: In <xref linkend="chroot-ssh-env" /> you can find several options to make a chroot environment for SSH.
it: In <xref linkend="chroot-ssh-env" /> potete trovare numerose opzioni per creare un ambiente chroot per SSH.

en: Ssh clients
it: Client SSH

en: If you are using an SSH client against the SSH server you must make sure that it supports the same protocols that are enforced on the server. For example, if you use the <application>mindterm</application> package, it only supports protocol version 1. However, the sshd server is, by default, configured to only accept version 2 (for security reasons).
it: Se usate un client SSH con un server SSH dovreste assicurarvi che supporti gli stessi protocolli impostati sul server. Per esempio, se utilizzate il pacchetto <application>mindterm</application>, questo supporta solo il protocollo con versione 1. Mentre, il server sshd, in modo predefinito, viene configurato per accettare solo la versione 2 (per ragioni di sicurezza).

en: Disallowing file transfers
it: Non permettere il trasferimento di file

en: If you do <emphasis>not</emphasis> want users to transfer files to and from the ssh server you need to restrict access to the <command>sftp-server</command> <emphasis>and</emphasis> the <command>scp</command> access. You can restrict <command>sftp-server</command> by configuring the proper <literal>Subsystem</literal> in the <filename>/etc/ssh/sshd_config</filename>.
it: Se <emphasis>non</emphasis> volete che gli utenti trasferiscano file da e verso il server ssh dovete limitare l'accesso all'<command>sftp-server</command> <emphasis>e</emphasis> l'accesso a <command>scp</command>. Potete limitare l'<command>sftp-server</command> configurando il corretto <literal>Subsystem</literal> in <filename>/etc/ssh/sshd_config</filename>.

en: You can also chroot users (using <application>libpam-chroot</application> so that, even if file transfer is allowed, they are limited to an environment which does not include any system files.
it: Potete anche ingabbiare in chroot gli utenti (usando <application>libpam-chroot</application>) cosicché, nonostante il trasferimento di file sia permesso, gli utenti siano costretti in un ambiente limitato che non comprende file di sistema.

en: Restricing access to file transfer only
it: Limitare l'accesso al solo trasferimento di file

en: You might want to restrict access to users so that they can only do file transfers and cannot have interactive shells. In order to do this you can either:
it: Potreste desiderare di limitare l'accesso agli utenti al solo trasferimento di file e non concedere loro shell interattive. A questo scopo potete anche:

en: disallow users from login to the ssh server (as described above either through the configuration file or PAM configuration).
it: non permettere agli utenti il login per mezzo del server ssh (come descritto in precedenza, sia mediante il suo file di configurazione che tramite il file di configurazione di PAM).

en: give users a restricted shell such as <application>scponly</application> or <application>rssh</application>. These shells restrict the commands available to the users so that they are not provided any remote execution priviledges.
it: concedere agli utenti una shell limitata come <application>scponly</application> o <application>rssh</application>. Queste shell limitano i comandi disponibili agli utenti in modo da non fornire alcun privilegio di esecuzione remota.

en: Securing Squid
it: La sicurezza in Squid

en: You should also configure Squid based on your system resources, including cache memory (option <literal>cache_mem</literal>), location of the cached files and the amount of space they will take up on disk (option <literal>cache_dir</literal>).
it: Dovreste configurare Squid anche basandovi sulle vostre risorse di sistema, inclusa la memoria cache (opzione <literal>cache_mem</literal>), la posizione dei file nella cache e la quantità di spazio che occuperanno sull'hard disk (opzione <literal>cache_dir</literal>).

en: Notice that, if not properly configured, someone may relay a mail message through Squid, since the HTTP and SMTP protocols are designed similarly. Squid's default configuration file denies access to port 25. If you wish to allow connections to port 25 just add it to Safe_ports lists. However, this is <emphasis>NOT</emphasis> recommended.
it: Da notare che, se non correttamente configurato, qualcuno potrebbe inoltrare un messaggio di posta tramite Squid, poiché i protocolli HTTP e SMTP sono abbastanza simili. La configurazione predefinita di Squid nega l'accesso alla porta 25. Se desiderate permettere connessioni alla porta 25 aggiungetela alla lista delle Safe_ports. Comunque, questo <emphasis>NON</emphasis> è raccomandato.

en: Setting and configuring the proxy/cache server properly is only part of keeping your site secure. Another necessary task is to analyze Squid's logs to assure that all things are working as they should be working. There are some packages in Debian GNU/Linux that can help an administrator to do this. The following packages are available in Debian 3.0 and Debian 3.1 (sarge):
it: Impostare e configurare correttamente il server proxy/cache è solo una parte di lavoro per mantenere il vostro sito sicuro. Un altro compito necessario è l'analisi dei log di squid per assicurarsi che tutto vada come dovrebbe. Ci sono alcuni pacchetti in Debian GNU/Linux che potrebbero aiutare un amministratore a farlo. I seguenti sono disponibili in Debian 3.0 e Debian 3.1 (sarge):

en: <application>calamaris</application> - Log analyzer for Squid or Oops proxy log files.
it: <application>calamaris</application> - Analizzatore di log per i file dei proxy Squid ed Oops.

en: <application>modlogan</application> - A modular logfile analyzer.
it: <application>modlogan</application> - Un analizzatore modulare dei file di log.

en: <application>sarg</application> - Squid Analysis Report Generator.
it: <application>sarg</application> - Genera rapporti sull'analisi di Squid.

en: <application>squidtaild</application> - Squid log monitoring program.
it: <application>squidtaild</application> - Un programma per monitorare i log di Squid.

en: Securing FTP
it: Rendere sicuro FTP

en: If you really have to use FTP (without wrapping it with sslwrap or inside a SSL or SSH tunnel), you should chroot ftp into the ftp users' home directory, so that the user is unable to see anything else than their own directory. Otherwise they could traverse your root file system just like if they had a shell in it. You can add the following line in your <filename>proftpd.conf</filename> in your global section to enable this chroot feature:
it: Se avete realmente la necessità di usare il servizio FTP (senza poterlo costringere in un tunnel SSL o SSH o tramite sslwrap), dovreste usare chroot per ingabbiare FTP nella directory home dell'utente ftp, cosicché l'utente non sia in grado di vedere niente altro se non la sua directory. Altrimenti potrebbe attraversare il filesystem principale come se avesse una shell nel sistema. Potete aggiungere la seguente riga nel vostro <filename>proftpd.conf</filename> nella sezione globale per abilitare la funzione chroot:

en: Restart ProFTPd by <literal>/etc/init.d/proftpd restart</literal> and check whether you can escape from your homedir now.
it: Fate ripartire ProFTPd con <literal>/etc/init.d/proftpd restart</literal> e controllate se adesso riuscite ad uscire dalla vostra directory home.

en: Securing access to the X Window System
it: Rendere sicuro l'accesso al sistema X Window

en: Today, X terminals are used by more and more companies where one server is needed for a lot of workstations. This can be dangerous, because you need to allow the file server to connect to the clients (X server from the X point of view. X switches the definition of client and server). If you follow the (very bad) suggestion of many docs, you type <literal>xhost +</literal> on your machine. This allows any X client to connect to your system. For slightly better security, you can use the command <literal>xhost +hostname</literal> instead to only allow access from specific hosts.
it: Oggi, i terminali X vengono usati da numerose e svariate compagnie, con il sistema X Window è necessario un solo server per numerose postazioni singole. Questo potrebbe essere pericoloso perché è necessario permettere al file server di connettersi ai client (X server dal punto di vista di X. X scambia le solite definizioni di client e server). Se seguirete il (pessimo) suggerimento di numerosi documenti, digiterete <literal>xhost +</literal> sulla vostra macchina. Questo permette ad ogni client X di connettersi al sistema. Per una piccola miglioria di sicurezza, potrete invece usare il comando <literal>xhost +hostname</literal> per permettere l'accesso da specifici host.

en: A much more secure solution, though, is to use ssh to tunnel X and encrypt the whole session. This is done automatically when you ssh to another machine. For this to work, you have to configure both the ssh client and the ssh server. On the ssh client, <literal>ForwardX11</literal> should be set to <literal>yes</literal> in <filename>/etc/ssh/ssh_config</filename>. On the ssh server, <literal>X11Forwarding</literal> should be set to <literal>yes</literal> in <filename>/etc/ssh/sshd_config</filename> and the package <application>xbase-clients</application> should be installed because the ssh server uses <filename>/usr/X11R6/bin/xauth</filename> (<filename>/usr/bin/xauth</filename> on Debian unstable) when setting up the pseudo X display. In times of SSH, you should drop the xhost based access control completely.
it: Una soluzione più sicura, credo, è quella di usare ssh per creare un tunnel per X e cifrare l'intera sessione. Questo viene fatto automaticamente quando vi connettete via ssh ad un'altra macchina. Perché questo funzioni dovete configurare sia il client che il server ssh. Per il client ssh dovrete abilitare <literal>ForwardX11</literal> con un <literal>yes</literal> in <filename>/etc/ssh/ssh_config</filename>. Per il server ssh, invece, dovrete mettere un <literal>yes</literal> in <filename>/etc/ssh/sshd_config</filename> a fianco di <literal>X11Forwarding</literal> e il package <application>xbase-clients</application> dovrebbe essere installato perché il server ssh usi <filename>/usr/X11R6/bin/xauth</filename> (<filename>/usr/bin/xauth</filename> su Debian instabile) nel momento in cui configura uno pseudo display X. Con SSH, dovreste aggirare completamente il controllo dell'accesso con xhost.

en: For best security, if you do not need X access from other machines, switch off the binding on TCP port 6000 simply by typing:
it: Per una migliore sicurezza, se non avete bisogno di accedere ad X da altre macchine tagliate il legame alla porta TCP 6000 semplicemente digitando:

en: This is the default behavior in Xfree 4.1.0 (the Xserver provided in Debian 3.0 and 3.1). If you are running Xfree 3.3.6 (i.e. you have Debian 2.2 installed) you can edit <filename>/etc/X11/xinit/xserverrc</filename> to have it something along the lines of:
it: Questo è il comportamento predefinito in Xfree 4.1.0 (il server X fornito da Debian 3.0). Se state eseguendo Xfree 3.3.6 (cioè se avete Debian 2.2 installata) potete modificare <filename>/etc/X11/xinit/xserverrcc</filename> per avere qualcosa di simile a:

en: You can also set the default's system timeout for <command>xscreensaver</command> locks. Even if the user can override it, you should edit the <filename>/etc/X11/app-defaults/XScreenSaver</filename> configuration file and change the lock line:
it: Potete anche impostare il timeout di sistema predefinito per il lock dello <command>xscreensaver</command>. Anche se l'utente può sovrascriverla, dovreste modificare la configurazione <filename>/etc/X11/app-defaults/XScreenSaver</filename> e cambiare la riga del lock:

en: (which is the default in Debian) to:
it: (che è il predefinito di Debian) in:

en: FIXME: Add information on how to disable the screensavers which show the user desktop (which might have sensitive information).
it: FIXME: aggiungere informazioni su come disabilitare gli screensaver che mostrano il desktop dell'utente (che potrebbe avere informazioni sensibili).

en: Read more on X Window security in <ulink name="XWindow-User-HOWTO" url="http://www.tldp.org/HOWTO/XWindow-User-HOWTO.html" /> (<filename>/usr/share/doc/HOWTO/en-txt/XWindow-User-HOWTO.txt.gz</filename>).
it: Leggete di più sulla sicurezza di X Window in <ulink name="XWindow-User-HOWTO" url="http://www.tldp.org/HOWTO/XWindow-User-HOWTO.html" /> (<filename>/usr/share/doc/HOWTO/en-txt/XWindow-User-HOWTO.txt.gz</filename>).

en: FIXME: Add info on thread of debian-security on how to change config files of XFree 3.3.6 to do this.
it: FIXME: Aggiungere informazioni prese da un thread di debian-security su come fare a cambiare i file di configurazione di XFree 3.3.6.

en: Check your display manager
it: Controllare il display manager

en: If you only want to have a display manager installed for local usage (having a nice graphical login, that is), make sure the XDMCP (X Display Manager Control Protocol) stuff is disabled. In XDM you can do this with this line in <literal>/etc/X11/xdm/xdm-config</literal>:
it: Se avete un display manager installato per uso locale (avete cioè un piacevole login grafico), assicuratevi che XDMCP (Protocollo di controllo per il Display Manager di X) sia disabilitato. In XDM questo si può ottenere agendo sulla riga in <literal>/etc/X11/xdm/xdm-config</literal>:

en: For GDM there should be in your gdm.conf:
it: Per GDM ci dovrebbe essere questo nel vostro gdm.conf:

en: Normally, all display managers are configured not to start XDMCP services per default in Debian.
it: Di norma, in Debian, tutti i display manager vengono configurati per non lanciare servizi XDMCP.

en: Securing printing access (the lpd and lprng issue)
it: Rendere sicuri gli accessi alla stampante (specifico per lpd ed lprng)

en: Imagine, you arrive at work, and the printer is spitting out endless amounts of paper because someone is DoSing your line printer daemon. Nasty, isn't it?
it: Immaginate di arrivare al lavoro e trovarvi una montagna di carta uscita dalla stampante perché il demone di stampa ha subito un attacco DoS. Lo trovereste piacevole?

en: In any UNIX printing architecture, there has to be a way to get the client's data to the host's print server. In traditional <command>lpr</command> and <command>lp</command>, the client command copies or symlinks the data into the spool directory (which is why these programs are usually SUID or SGID).
it: In qualsiasi architettura per la stampa in Unix, ci deve essere un modo per ottenere dal client i dati per il server di stampa. Tradizionalmente, <command>lpr</command> ed <command>lp</command> sono i client che si occupano di fornire i comandi per copiare o creare dei link simbolici ai dati contenuti nella directory spool (che è il motivo per il quale usualmente questi programmi sono SUID o SGID).

en: In order to avoid any issues you should keep your printer servers especially secure. This means you need to configure your printer service so it will only allow connections from a set of trusted servers. In order to do this, add the servers you want to allow printing to your <filename>/etc/hosts.lpd</filename>.
it: Per evitare questi problemi, dovreste mantenere il vostro server di stampa particolarmente sicuro. Questo significa necessariamente, configurare il vostro servizio di stampa per far sì che consenta connessioni solamente dai server fidati. In merito a questo, aggiungete i server a cui volete consentire la stampa nel vostro <filename>/etc/hosts.lpd</filename>.

en: However, even if you do this, the <command>lpr</command> daemon accepts incoming connections on port 515 of any interface. You should consider firewalling connections from networks/hosts which are not allowed printing (the <command>lpr</command> daemon cannot be limited to listen only on a given IP address).
it: In ogni caso, il demone <command>lpr</command> accetta in ingresso connessioni sulla porta 515 da qualsiasi interfaccia. Dovreste considerare la possibilità di usare un firewall per le connessioni tra la rete e gli host a cui non è consentito stampare (così il demone <command>lpr</command> può rimanere in attesa solo da determinati indirizzi IP).

en: <command>Lprng</command> should be preferred over <command>lpr</command> since it can be configured to do IP access control. And you can specify which interface to bind to (although somewhat weirdly).
it: <command>Lprng</command> dovrebbe essere preferito a <command>lpr</command> visto che può essere configurato per avere il controllo sugli accessi IP. Potete anche specificare quale interfaccia proteggere (sebbene piuttosto bizzarro).

en: In <application>cups</application>, the print data is transferred to the server via the HTTP protocol. This means the client program doesn't need any special privileges, but does require that the server is listening on a port somewhere.
it: In <application>cups</application>, la stampa dei dati viene trasferita al server mediante il protocollo http. Questo significa che il client non ha bisogno di particolari privilegi, ma richiede che il server sia in ascolto su qualche porta.

en: However, if you want to use <command>cups</command>, but only locally, you can configure it to bind to the loopback interface by changing <filename>/etc/cups/cupsd.conf</filename>:
it: Tuttavia, se desiderate usare <command>cups</command> in locale potete configurarlo proteggendo l'interfaccia di loopback, modificando il file <filename>/etc/cups/cupsd.conf</filename>:

en: There are many other security options like allowing or denying networks and hosts in this config file. However, if you do not need them you might be better off just limiting the listening port. <command>Cups</command> also serves documentation through the HTTP port, if you do not want to disclose potential useful information to outside attackers (and the port is open) add also:
it: Vi sono molte altre opzioni per la sicurezza simili a quelle contenute nel file di configurazione hosts, che permettono di consentire o negare l'accesso dalla rete. Tuttavia, se non ne avete bisogno, una soluzione migliore potrebbe essere quella di limitare o escludere le connessioni sulle porte in attesa. <command>Cups</command> utilizza la porta di comunicazione HTTP, se desiderate non divulgare informazioni potenzialmente utili ad eventuali attaccanti, aggiungete (e chiudete verso l'esterno le porte aperte) anche:

en: FIXME: Check if PDG is available in Debian, and if so, suggest this as the preferred printing system.
it: FIXME: Controllare se PDG è disponibile in Debian e se lo fosse, suggerirlo come sistema di stampa preferito.

en: FIXME: Check if Farmer/Wietse has a replacement for printer daemon and if it's available in Debian.
it: FIXME: Controllare se Farmer/Wietse ha rimpiazzato il demone di stampa e se è disponibile in Debian.

en: Securing the mail service
it: Rendere sicuro il servizio di posta

en: If your server is not a mailing system, you do not really need to have a mail daemon listening for incoming connections, but you might want local mail delivered in order, for example, to receive mail for the root user from any alert systems you have in place.
it: Se il vostro server non fornisce servizi di posta, non avete bisogno di avere un demone di posta in attesa di connessioni. Potreste aver bisogno solamente di un sistema di trasporto locale, che ad esempio riceva la posta per l'utente root e dagli altri allarmi di sistema.

en: If you have <command>exim</command> you do not need the daemon to be working in order to do this since the standard <command>cron</command> job flushes the mail queue. See <xref linkend="disableserv" /> on how to do this.
it: Se state usando <command>exim</command> non avete bisogno di configurare il demone, in quanto, in maniera predefinita, si assume <command>cron</command> il compito di svuotare la coda di posta. Vedete <xref linkend="disableserv" /> per sapere come questo avviene.

en: Configuring a Nullmailer
it: Configurare un nullmailer

en: You might want to have a local mailer daemon so that it can relay the mails sent locally to another system. This is common when you have to administer a number of systems and do not want to connect to each of them to read the mail sent locally. Just as all logging of each individual system can be centralized by using a central syslog server, mail can be sent to a central mailserver.
it: Potreste voler avere un demone di posta locale che possa ritrasmettere verso un altro sistema i messaggi spediti localmente. Questa è una cosa comune quando dobbiamo amministrare un certo numero di sistemi e non desideriamo connetterci ad ognuno di essi per leggere la posta spedita localmente. Proprio come la scrittura dei log di ogni singolo sistema può essere centralizzata usando un server syslog centrale, la posta può essere spedita ad un server di posta centralizzato.

en: Such a <emphasis>relay-only</emphasis> system should be configured properly for this. The daemon could, as well, be configured to only listen on the loopback address.
it: Un tale sistema <emphasis>solo-redirezione (relay-only)</emphasis> dovrebbe essere propriamente configurato per svolgere questo compito. Il demone potrebbe anche essere configurato per rimanere in ascolto sul solo indirizzo di loopback.

en: The following configuration steps only need to be taken to configure the <application>exim</application> package in the Debian 3.0 release. If you are using a later release (such as 3.1 which uses <application>exim4</application>) the installation system has been improved so that if the mail transport agent is configured to only deliver local mail it will automatically only allow connections from the local host and will not permit remote connections.
it: I seguenti passaggi per la configurazione si rendono necessari solo per configurare il pacchetto <application>exim</application> nel rilascio di Debian 3.0. Nell'utilizzo di un rilascio successivo (come ad esempio per 3.1 che usa <application>exim4</application>) il sistema d'installazione è stato migliorato in maniera tale che se l'MTA viene configurato per smistare solamente la posta locale, automaticamente allora permetterà connessioni solo dalla macchina locale e non consentirà connessioni remote.

en: In a Debian 3.0 system using <application>exim</application>, you will have to remove the SMTP daemon from <command>inetd</command>:
it: In un sistema Debian 3.0 che usa <application>exim</application>, dovrete rimuovere da <command>inetd</command> il demone SMTP.

en: and configure the mailer daemon to only listen on the loopback interface. In <command>exim</command> (the default MTA) you can do this by editing the file <filename>/etc/exim.conf</filename> and adding the following line:
it: e configurare il demone di posta perché rimanga in ascolto sulla sola interfaccia di loopback. In <command>exim</command> (l'MTA predefinito) lo potete fare modificando il file <filename>/etc/exim.conf</filename> e aggiungendo la linea seguente:

en: Restart both daemons (inetd and exim) and you will have exim listening on the 127.0.0.1:25 socket only. Be careful, and first disable inetd, otherwise, exim will not start since the inetd daemon is already handling incoming connections.
it: Riavviare entrambi i demoni (inetd e exim); exim sarà in ascolto sul solo socket 127.0.0.1:25. Fate attenzione e per prima cosa disabilitate inetd, altrimenti exim non partirà poiché il demone inetd sta già gestendo le connessioni in arrivo.

en: For <command>postfix</command> edit <filename>/etc/postfix/main.conf</filename>:
it: Per <command>postfix</command> modificate <filename>/etc/postfix/main.conf</filename>:

en: If you only want local mail, this approach is better than tcp-wrapping the mailer daemon or adding firewalling rules to limit anybody accessing it. However, if you do need it to listen on other interfaces, you might consider launching it from inetd and adding a tcp wrapper so incoming connections are checked against <filename>/etc/hosts.allow</filename> and <filename>/etc/hosts.deny</filename>. Also, you will be aware of when an unauthorized access is attempted against your mailer daemon, if you set up proper logging for any of the methods above.
it: Se volete solo posta locale, questo approccio è migliore dell'uso del tcp-wrapping sul demone di posta o dell'aggiunta di regole per il firewall per limitarne l'accesso. Tuttavia, se avete bisogno che esso resti in ascolto su altre interfacce, lo potreste lanciare da inetd ed aggiungere un tcp wrapper in modo che le connessioni in arrivo vengano controllate tramite i file <filename>/etc/hosts.allow</filename> e <filename>/etc/hosts.deny</filename>. Inoltre, configurando un'appropriata scrittura dei log per qualunque dei metodi sopra descritti, potrete sapere quando si verifica un tentativo di accesso non autorizzato al demone di posta.

en: In any case, to reject mail relay attempts at the SMTP level, you can change <filename>/etc/exim/exim.conf</filename> to include:
it: In ogni caso, per respingere i tentativi di ritrasmissione della posta a livello di SMTP, potete cambiare <filename>/etc/exim/exim.conf</filename> in modo che contenga:

en: Even if your mail server will not relay the message, this kind of configuration is needed for the relay tester at <ulink url="http://www.abuse.net/relay.html" /> to determine that your server is <emphasis>not</emphasis> relay capable.
it: Anche se il vostro server di posta non ritrasmetterà il messaggio, questo tipo di configurazione è necessaria al test di ritrasmissione che trovate all'indirizzo <ulink url="http://www.abuse.net/relay.html" /> per determinare che il vostro server <emphasis>non</emphasis> sia in grado di ritrasmettere.

en: Providing secure access to mailboxes
it: Fornire un accesso sicuro alle mailbox

en: Try, for example, to configure as your inbox path <literal>{server.com}/etc/passwd</literal> if it succeeds your IMAP daemon is not properly configured to prevent this kind of access.
it: Provate, ad esempio, a configurare <literal>{server.com}/etc/passwd</literal> come percorso della vostra inbox. Se ci riuscite questo significa che il demone IMAP non è correttamente configurato per impedire questo tipo di accesso.

en: Of the IMAP servers in Debian the <command>cyrus</command> server (in the <application>cyrus-imapd</application> package) gets around this by having all access to a database in a restricted part of the file system. Also, <command>uw-imapd</command> (either install the <application>uw-imapd</application> or better, if your IMAP clients support it, <application>uw-imapd-ssl</application>) can be configured to chroot the users mail directory but this is not enabled by default. The documentation provided gives more information on how to configure it.
it: Tra i server IMAP disponibili in Debian il server <command>cyrus</command> (nel pacchetto <application>cyrus-imapd</application>) risolve il problema, facendo in modo che tutti gli accessi siano rivolti verso un database che risiede in una parte del file system dove l'accesso è ristretto. Inoltre, <command>uw-imapd</command> (installare <command>uw-imapd</command> o meglio, se il vostro client IMAP lo supporta, <application>uw-imapd-ssl</application>) può essere configurato per ottenere la cartella della posta degli utenti in chroot, ma questa funzionalità non è abilitata nella configurazione predefinita. La documentazione a corredo del programma fornisce ulteriori informazioni su come configurarlo.

en: Also, you might want to run an IMAP server that does not need valid users to be created on the local system (which would grant shell access too), <application>courier-imap</application> (for IMAP) and <application>courier-pop</application>, <application>teapop</application> (for POP3) and <application>cyrus-imapd</application> (for both POP3 and IMAP) provide servers with authentication methods beside the local user accounts. <command>cyrus</command> can use any authentication method that can be configured through PAM while <command>teapop</command> might use databases (such as <application>postgresql</application> and <application>mysql</application>) for user authentication.
it: Inoltre, potreste voler eseguire un server IMAP che non necessiti di utenti validi creati sul sistema locale (cosa che consentirebbe anche l'accesso tramite shell); sia <application>courier-imap</application> (per IMAP) che <application>courier-pop</application> <application>teapop</application> (per POP3) e <application>cyrus-imapd</application> (per POP3 e IMAP) forniscono server con metodi di autenticazione non dipendenti dagli account degli utenti locali. <command>Cyrus</command> può usare qualunque metodo di autenticazione configurabile per mezzo di PAM, mentre <command>teapop</command> può usare dei database (come <application>postgresql</application> e <application>mysql</application>) per l'autenticazione degli utenti.

en: FIXME: Check: <application>uw-imapd</application> might be configured with user authentication through PAM too.
it: FIXME: Controllare: anche <application>uw-imapd</application> potrebbe essere configurato per l'autenticazione utenti mediante PAM.

en: Receiving mail securely
it: Ricevere posta in sicurezza

en: Reading/receiving mail is the most common clear-text protocol. If you use either POP3 or IMAP to get your mail, you send your clear-text password across the net, so almost anyone can read your mail from now on. Instead, use SSL (Secure Sockets Layer) to receive your mail. The other alternative is SSH, if you have a shell account on the box which acts as your POP or IMAP server. Here is a basic <filename>fetchmailrc</filename> to demonstrate this:
it: Nella ricezione e lettura della posta viene impiegato il più comune protocollo con testo in chiaro; usando sia IMAP che POP3, si invia la propria password in chiaro, in questo modo, da quel momento in avanti, quasi chiunque può leggere la nostra posta; per evitare ciò, scaricatela usando il protocollo SSL o, in alternativa, ssh se avete un'account dotato di shell sulla postazione che funge da server POP o IMAP. Ecco un essenziale <filename>fetchmailrc</filename> esemplificativo:

en: The preconnect is the important line. It fires up an ssh session and creates the necessary tunnel, which automatically forwards connections to localhost port 1236 to the IMAP mail server, but encrypted. Another possibility would be to use <command>fetchmail</command> with the SSL feature.
it: La linea che inizia con "preconnect" è importante, in quanto dà il via ad una sessione ssh e crea il tunnel necessario, che inoltra le connessioni alla porta 1236 del localhost verso il server di posta IMAP, in modo automatico, ma sottoponendole a cifratura. Un'altra possibilità sarebbe usare fetchmail con la funzionalità SSL.

en: If you want to provide encrypted mail services like POP and IMAP, <literal>apt-get install stunnel</literal> and start your daemons this way:
it: Se volete fornire servizi di posta cifrata, come POP e IMAP, usate il comando <literal>apt-get install stunnel</literal> e attivate i demoni in questo modo:

en: This command wraps the provided daemon (-l) to the port (-d) and uses the specified SSL certificate (-p).
it: Questo ultimo comando collega il demone fornito (-l) alla porta (-d) e utilizza lo specificato modo di certificazione SSL (-p).

en: Securing BIND
it: Rendere sicuro BIND

en: There are different issues that can be tackled in order to secure the Domain server daemon, which are similar to the ones considered when securing any given service:
it: Ci sono diversi problemi da affrontare per rendere sicuro il demone del domain server, questi sono simili a quelli che incontrate normalmente quando vengono resi sicuri altri servizi:

en: configuring the daemon itself properly so it cannot be misused from the outside (see <xref linkend="configure-bind" />). This includes limiting possible queries from clients: zone transfers and recursive queries.
it: Configurare il demone stesso in modo che non possa essere possibile abusarne dall'esterno (vedete <xref linkend="configure-bind" />). Questo include limitare la possibilità di richieste da parte dei client: trasferimenti di zona e richieste ricorsive.

en: limit the access of the daemon to the server itself so if it is used to break in, the damage to the system is limited. This includes running the daemon as a non-privileged user (see <xref linkend="user-bind" />) and chrooting it (see <xref linkend="chroot-bind" />).
it: Limitare l'accesso del demone al server stesso di modo che, in caso di accesso indesiderato tramite il demone, i danni al sistema siano limitati. Questo include far girare il demone come utente non privilegiato (vedete <xref linkend="user-bind" />) in un ambiente chrooted (vedete <xref linkend="chroot-bind" />).

en: Bind configuration to avoid misuse
it: Configurazione di Bind per evitare abusi

en: You should restrict some of the information that is served from the DNS server to outside clients so that it cannot be used to retrieve valuable information from your organization that you do not want to give away. This includes adding the following options: <emphasis>allow-transfer</emphasis>, <emphasis>allow-query</emphasis>, <emphasis>allow-recursion</emphasis> and <emphasis>version</emphasis>. You can either limit this on the global section (so it applies to all the zones served) or on a per-zone basis. This information is documented in the <application>bind-doc</application> package, read more on this on <filename>/usr/share/doc/bind/html/index.html</filename> once the package is installed.
it: Dovreste limitare alcune delle informazioni che vengono servite tramite DNS ai client esterni, in modo che non possa essere usato per reperire importanti informazioni, che non volete far conoscere, sulla vostra organizzazione. Questo consiste nell'aggiungere le seguenti opzioni: <emphasis>allow-transfer</emphasis>, <emphasis>allow-query</emphasis>, <emphasis>allow-recursive</emphasis> e <emphasis>version</emphasis>. Potete anche limitarle nella sezione globale (in modo che vengano applicate in tutte le zone servite) oppure per zona. Questa informazione viene documentata nel pacchetto <application>bind-doc</application>, potrete leggere di più su questo argomento in <filename>/usr/share/doc/bind/html/index.html</filename> una volta che avrete installato il pacchetto.

en: Imagine that your server is connected to the Internet and to your internal (your internal IP is 192.168.1.2) network (a basic multi-homed server), you do not want to give any service to the Internet and you just want to enable DNS lookups from your internal hosts. You could restrict it by including in <filename>/etc/bind/named.conf</filename>:
it: Immaginate che il vostro server sia connesso ad Internet ed alla vostra rete interna, con vostro IP locale impostato a 192.168.1.2 (un server base con due connessioni di rete), non volete offrire nessun servizio su Internet e volete solamente abilitare il la risoluzione DNS per vostri host interni. Potete effettuare quest'operazione includendo le seguenti righe in <filename>/etc/bind/named.conf</filename>:

en: The <emphasis>listen-on</emphasis> option makes the DNS bind to only the interface that has the internal address, but, even if this interface is the same as the interface that connects to the Internet (if you are using NAT, for example), queries will only be accepted if coming from your internal hosts. If the system has multiple interfaces and the <emphasis>listen-on</emphasis> is not present, only internal users could query, but, since the port would be accessible to outside attackers, they could try to crash (or exploit buffer overflow attacks) on the DNS server. You could even make it listen only on 127.0.0.1 if you are not giving DNS service for any other systems than yourself.
it: L'opzione <emphasis>listen-on</emphasis> vincola il DNS sull'interfaccia che ha l'indirizzo interno e anche se questa interfaccia è la stessa che si connette ad Internet (ad esempio se state utilizzando NAT), le richieste verranno accettate solamente se provengono dai vostri host interni. Se il sistema ha interfacce multiple e non è presente il parametro <emphasis>listen-on</emphasis>, solo gli utenti interni potranno effettuare richieste, anche se, visto che la porta sarebbe accessibile agli attacchi dall'esterno, qualcuno potrebbe cercare di farvi andare in crash (o provando attacchi di tipo buffer overflow) il server DNS. Potete anche fare in modo che il DNS ascolti unicamente su 127.0.0.1 se non dovete fornire il servizio ad altri sistemi tranne che a voi stessi.

en: The version.bind record in the chaos class contains the version of the currently running bind process. This information is often used by automated scanners and malicious individuals who wish to determine if one's <command>bind</command> is vulnerable to a specific attack. By providing false or no information in the version.bind record, one limits the probability that one's server will be attacked based on its published version. To provide your own version, use the <emphasis>version</emphasis> directive in the following manner:
it: Il record version.bind della classe chaos contiene la versione del processo bind che sta girando correntemente. Questa informazione viene spesso usata da scanner automatici o individui maliziosi con l'intento di determinare se bind è vulnerabile o meno ad un dato attacco. Non fornendo informazioni o fornendole false all'interno del record version.bind, vengono limitate le probabilità che il server venga attaccato sulla base della versione pubblicata. Per fornire la vostra versione utilizzate la direttiva <emphasis>version</emphasis> nella seguente maniera:

en: Changing the version.bind record does not provide actual protection against attacks, but it might be considered a useful safeguard.
it: Cambiare il record version.bind non fornisce protezione a fronte di eventuali attacchi, ma può essere considerata un'utile salvaguardia.

en: A sample <filename>named.conf</filename> configuration file might be the following:
it: Un esempio di configurazione del file <filename>named.conf</filename> potrebbe essere la seguente:

en: Please (again) check the Bug Tracking System regarding Bind, specifically <ulink name="Bug #94760 (regarding ACLs on zone transfers)" url="http://bugs.debian.org/94760" />. Feel free to contribute to the bug report if you think you can add useful information.
it: Controllate il Bug Tracking System riguardo a Bind, specificatamente il <ulink name="Bug #94760 (concernente le ACL sui trasferimenti di zona)" url="http://bugs.debian.org/94760" />. Sentitevi liberi di riportare informazioni sui bug che riscontrate, se pensate di poter aggiungere informazioni utili.

en: Changing BIND's user
it: Cambiare l'utente di BIND

en: Regarding limiting BIND's privileges you must be aware that if a non-root user runs BIND, then BIND cannot detect new interfaces automatically, for example when you put a PCMCIA card into your laptop. Check the <filename>README.Debian</filename> file in your named documentation (<filename>/usr/share/doc/bind/README.Debian</filename>) directory for more information about this issue. There have been many recent security problems concerning BIND, so switching the user is useful when possible. We will detail here the steps needed in order to do this, however, if you want to do this in an automatic way you might try the script provided in <xref linkend="bind-chuser" />.
it: Riguardo il come limitare i privilegi di BIND dovete sapere che se un utente normale (quindi non superutente) fa partire BIND, questo ultimo non potrà riconoscere le nuove interfacce automaticamente, ad esempio se inserite una scheda PCMCIA nel vostro portatile. Controllate il file README.Debian nella vostra documentazione di named (<filename>/usr/share/doc/bind/README.Debian</filename>) per ulteriori informazioni su questo problema. Ci sono stati recentemente diversi problemi di sicurezza riguardo BIND per cui cambiare utente diviene comodo quando è possibile farlo. Spiegheremo dettagliatamente i passi da compiere per realizzare questo procedimento, tuttavia, se volete farlo in modo automatizzato potreste provare lo script inserito in <xref linkend="bind-chuser" />.

en: Notice, in any case, that this only applies to BIND version 8. In the Debian packages for BIND version 9 (since the 9.2.1-5 version, available since <emphasis>sarge</emphasis>) the <emphasis>bind</emphasis> user is created and used by setting the OPTIONS variable in <filename>/etc/default/bind9</filename>. If you are using BIND version 9 and your name server daemon is not running as the <emphasis>bind</emphasis> user verify the settings on that file.
it: Notate che, in ogni caso, ciò si applica solo alla versione 8 di BIND. Nei pacchetti Debian della versione 9 di BIND (dalla versione 9.2.1-5, disponibile a partire da <emphasis>sarge</emphasis>) l'utente <emphasis>bind</emphasis> viene creato ed usato impostando la variabile OPTIONS in <filename>/etc/default/bind9</filename>. Se state usando la versione 9 di BIND ed il vostro domain name server non sta girando come utente <emphasis>bind</emphasis>, verificate le impostazioni contenute in quel file.

en: To run BIND under a different user, first create a separate user and group for it (it is <emphasis>not</emphasis> a good idea to use nobody or nogroup for every service not running as root). In this example, the user and group <literal>named</literal> will be used. You can do this by entering:
it: Per fare girare BIND sotto un altro utente, la prima cosa da fare è creare un utente separato ed un gruppo apposito (<emphasis>non è</emphasis> una buona idea usare nobody e nogroup per tutti i servizi che non girano come root). In questo esempio verranno utilizzati l'utente ed il gruppo <literal>named</literal>. Potete crearli digitando:

en: Notice that the user <literal>named</literal> will be quite restricted. If you want, for whatever reason, to have a less restrictive setup use:
it: Notate che l'utente <literal>named</literal> sarà parecchio limitato. Se volete, per una qualsiasi ragione, avere un utente con meno limitazioni, utilizzate:

en: Now you can either edit <filename>/etc/init.d/bind</filename> with your favorite editor and change the line beginning with
it: Adesso modificate il file <literal>/etc/init.d/bind</literal>, con il vostro editor preferito, la riga che inizia con:

en: to<footnote><para>Note that depending on your bind version you might not have the <literal>-g</literal> option, most notably if you are using bind9 in sarge (9.2.4 version).</para></footnote>
it: in<footnote><para>Notate che, a seconda della vostra versione di bind, potreste non avere l'opzione <literal>-g</literal>, in particolare se state usando bind 9 presente in sarge (versione 9.2.4).</para></footnote>:

en: Or you can change (create it if it does not exit) the default configuration file (<filename>/etc/default/bind</filename> for BIND version 8) and introduce the following:
it: Altrimenti potete cambiare (creare se già non esiste) il file di configurazione predefinito (<filename>/etc/default/bind</filename> per la versione 8 di BIND) ed inserire le seguenti voci:

en: Change the permissions of files that are used by Bind, including <filename>/etc/bind/rndc.key</filename>:
it: Cambiate i permessi dei file usati da bind, incluso <filename>/etc/bind/rndc.key</filename>:

en: and where bind creates its pidfile, using, for example, <filename>/var/run/named</filename> instead of <filename>/var/run</filename>:
it: ed anche dove bind crea il suo pidfile, usando, ad esempio, <filename>/var/run/named</filename> invece di <filename>/var/run</filename>:

en: Also, in order to avoid running anything as root, change the <literal>reload</literal> line in the init.d script by substituting:
it: Inoltre, per evitare di far girare qualcosa come superutente, modificate la riga di <literal>reload</literal> nello script init.d da così:

en: to:
it: a così:

en: Note: Depending on your Debian version you might have to change the <literal>restart</literal> line too. This was fixed in Debian's bind version <literal>1:8.3.1-2</literal>.
it: Notate: a seconda della versione di Debian che state usando potreste dover cambiare anche la riga <literal>restart</literal>. Questo problema, in Debian, è stato sistemato nella versione <literal>1:8.3.1-2</literal> di bind.

en: All you need to do now is to restart bind via <literal>/etc/init.d/bind restart</literal>, and then check your syslog for two entries like this:
it: Tutto quello che dovete fare adesso è far ripartire bind con il comando <literal>/etc/init.d/bind restart</literal> e controllare il vostro syslog nelle due voci:

en: Chrooting the name server
it: Eseguire il name server in chroot

en: In order for your Bind daemon to work properly it needs permission in the named files. This is an easy task since the configuration files are always at <literal>/etc/named/</literal>. Take into account that it only needs read-only access to the zone files, unless it is a secondary or cache name server. If this is your case you will have to give read-write permissions to the necessary zones (so that zone transfers from the primary server work).
it: Per far sì che il demone Bind funzioni correttamente, necessita dei permessi giusti sui file named. Questo è un compito semplice, dal momento che i file di configurazione sono sempre in <literal>/etc/named/</literal>. Tenete presente che necessita solo dell'accesso in lettura ai file di zona, a meno che non si tratti di un name server secondario o di cache. Se questo è il caso, dovrete concedere i permessi di lettura-scrittura alle zone necessarie (in modo che i trasferimenti di zona dal server primario funzionino).

en: If you are setting up a full chroot jail (i.e. not just <literal>-t</literal>) for Bind in Debian, make sure you have the following files in it<footnote><para>This setup has not been tested for new release of Bind yet.</para></footnote>:
it: Nel caso in cui stiate creando una gabbia chroot per l'esecuzione di Bind in Debian (senza usare l'opzione <literal>-t</literal>), assicuratevi di aver incluso i seguenti file<footnote><para>Questa configurazione non è ancora stata collaudata per il nuovo rilascio di Bind.</para></footnote>:

en: And modify also <command>syslogd</command> listen on <literal>$CHROOT/dev/log</literal> so the named server can write syslog entries into the local system log.
it: Modificate inoltre <command>syslogd</command>, in ascolto su <literal>$CHROOT/dev/log</literal> in modo che il name server possa scrivere gli eventi nel syslog del sistema locale di log.

en: If you want to avoid problems with dynamic libraries, you can compile bind statically. You can use <command>apt-get</command> for this, with the <literal>source</literal> option. It can even download the packages you need to properly compile it. You would need to do something similar to:
it: Se volete eliminare i problemi con le librerie dinamiche, potete compilare bind staticamente. Potete usare <command>apt-get</command> a questo scopo, con l'opzione <literal>source</literal>. Potete anche scaricare il pacchetto che si compilerà in modo opportuno. Dovrete eseguire qualcosa di simile a questo:

en: After installation, you will need to move around the files to the chroot jail<footnote><para>Unless you use the <literal>instdir</literal> option when calling <command>dpkg</command> but then the chroot jail might be a little more complex.</para></footnote> you can keep the <literal>init.d</literal> scripts in <filename>/etc/init.d</filename> so that the system will automatically start the name server, but edit them to add <literal>--chroot /location_of_chroot</literal> in the calls to <command>start-stop-daemon</command> in those scripts or use the <emphasis>-t</emphasis> option for BIND by setting it in the OPTIONS argument at the <filename>/etc/default/bind</filename> (for version 8) or <filename>/etc/default/bind9</filename> (for version 9) configuration file.
it: Dopo l'installazione, dovrete spostare i file all'interno della gabbia chroot<footnote><para>A meno che non utiliziate l'opzione <literal>instdir</literal> quando chiamate <command>dpkg</command>, ma in questo caso la gabbia chroot potrebbe essere leggermente più complessa.</para></footnote>. Potete mantenere gli script <literal>init.d</literal> in <filename>/etc/init.d</filename>, così il sistema avvierà automaticamente il name server. Però dovrete modificarlo per aggiungere <literal>--chroot /percorso_del_chroot</literal> nella chiamata a <command>start-stop-daemon</command> presente in quegli script, oppure potete usare l'opzione <emphasis>-t</emphasis> di BIND impostando l'argomento OPTIONS nel file di configurazione <filename>/etc/default/bind</filename> (per la versione 8) o in <filename>/etc/default/bind9</filename> (per la versione 9).

en: For more information on how to set up chroots see <xref linkend="chroot" />.
it: Per maggiori informazioni su come configurare gabbie chroot vedete <xref linkend="chroot" />.

en: FIXME: Merge info from <ulink url="http://people.debian.org/~pzn/howto/chroot-bind.sh.txt" />, <ulink url="http://www.cryptio.net/~ferlatte/config/" /> (Debian-specific), <ulink url="http://web.archive.org/web/20021216104548/http://www.psionic.com/papers/whitep01.html" /> and <ulink url="http://csrc.nist.gov/fasp/FASPDocs/NISTSecuringDNS.htm" />.
it: FIXME, integrare con informazioni da: <ulink url="http://people.debian.org/~pzn/howto/chroot-bind.sh.txt" />, <ulink url="http://www.cryptio.net/~ferlatte/config/" /> (specifico per Debian), <ulink url="http://web.archive.org/web/20021216104548/http://www.psionic.com/papers/whitep01.html" /> e <ulink url="http://csrc.nist.gov/fasp/FASPDocs/NISTSecuringDNS.htm" />.

en: Securing Apache
it: Proteggere Apache

en: FIXME: Add content: modules provided with the normal Apache installation (under /usr/lib/apache/X.X/mod_*) and modules that can be installed separately in libapache-mod-XXX packages.
it: FIXME:Aggiungere contenuto: moduli forniti con la normale installazione di Apache (in /usr/lib/apache/X.X/mod_*) e moduli che possono essere installati separatamente dai pacchetti libapache-mod-XXX.

en: You can limit access to the Apache server if you only want to use it internally (for testing purposes, to access the <application>doc-central</application> archive, etc.) and do not want outsiders to access it. To do this use the <literal>Listen</literal> or <literal>BindAddress</literal> directives in <filename>/etc/apache/http.conf</filename>.
it: Potete limitare l'accesso al server Apache se volete utilizzarlo solo internamente, impedendo che vi accedano estranei (per eseguire dei test, per accedere all'archivio <application>doc-central</application>, ecc.). A tale proposito, usate in <filename>/etc/apache/http.conf</filename> le direttive <literal>Listen</literal> o <literal>BindAddress</literal>.

en: Using Listen:
it: Se usate Listen:

en: Using BindAddress:
it: Se usate BindAddress:

en: Then restart apache with <literal>/etc/init.d/apache restart</literal> and you will see that it is only listening on the loopback interface.
it: Quindi, riavviate Apache con <literal>/etc/init.d/apache restart</literal> e vedrete che ascolterà solamente sull'interfaccia di loopback.

en: In any case, if you are not using all the functionality provided by Apache, you might want to take a look at other web servers provided in Debian like <application>dhttpd</application>.
it: In ogni caso, se non utilizzate tutte le funzionalità di Apache, potreste considerare altri web server forniti da Debian, come <application>dhttpd</application>.

en: The <ulink name="Apache Documentation" url="http://httpd.apache.org/docs/misc/security_tips.html" /> provides information regarding security measures to be taken on Apache web server (this same information is provided in Debian by the <application>apache-doc</application> package).
it: La <ulink name="Documentazione di Apache" url="http://httpd.apache.org/docs/misc/security_tips.html" /> informa sulle misure di sicurezza che dovreste adottare per un server di rete Apache (Debian dà questa stessa informazione con il pacchetto <application>apache-doc</application>).

en: More information on further restricting Apache by setting up a chroot jail is provided in <xref linkend="chroot-apache-env" />.
it: Maggiori informazioni su come limitare ulteriormente l'accesso ad Apache, impostando una gabbia di tipo chroot, le trovate in <xref linkend="chroot-apache-env" />.

en: Disabling users from publishing web contents
it: Impedire agli utenti la divulgazione di contenuti di rete

en: The default Apache installation in Debian permits users to publish content under the <filename>$HOME/public_html</filename>. This content can be retrieved remotely using an URL such as: http://your_apache_server/~user.
it: L'installazione predefinita di Apache consente agli utenti di pubblicare contenuti in <filename>$HOME/public_html</filename>. Tali contenuti possono essere raggiunti in remoto impiegando un'URL come: http://your_apache_server/~user.

en: If you do not want to permit this you must change the <filename>/etc/apache/http.conf</filename> configuration file commenting out (in Apache 1.3) the following module:
it: Se volete impedirlo, occorre modificare il file di configurazione <filename>/etc/apache/http.conf</filename> commentando (in Apache 1.3) la riga:

en: If you are using Apache 2.0 you must remove the file <filename>/etc/apache2/mods-enabled/userdir.load</filename> or restrict the default configuration by modifying <filename>/etc/apache2/mods-enabled/userdir.conf</filename>.
it: Nel caso usiate Apache 2.0 dovrete cancellare il file <filename>/etc/apache2/mods-enabled/userdir.load</filename> o rendere più restrittiva la configurazione predefinita di Apache modificando il file <filename>/etc/apache2/mods-enabled/userdir.conf</filename>.

en: However, if the module was linked statically (you can list the modules that are compiled in running <literal>apache -l</literal>) you must add the following to the Apache configuration file:
it: Però, se il modulo fosse stato compilato staticamente (cosa che si può verificare lanciando <literal>apache -l</literal>), dovreste aggiungere la seguente riga al file di configurazione di Apache:

en: An attacker might still do user enumeration, since the answer of the web server will be a <emphasis>403 Permission Denied</emphasis> and not a <emphasis>404 Not available</emphasis>. You can avoid this if you use the Rewrite module.
it: Un attaccante, però, può ancora eseguire il conteggio degli utenti, dal momento che la risposta del server di rete sarà un <emphasis>403 Permission Denied</emphasis> e non un <emphasis>404 Not available</emphasis>. Tuttavia questo comportamento può essere evitato utilizzando il modulo Rewrite.

en: Logfiles permissions
it: Permessi sui file di log

en: Apache logfiles, since 1.3.22-1, are owned by user 'root' and group 'adm' with permissions 640. These permissions are changed after rotation. An intruder that accessed the system through the web server would not be able (without privilege escalation) to remove old log file entries.
it: I file di log di Apache, dalla versione 1.3.22-1, sono proprietà dell'utente 'root' e del gruppo 'adm', con permessi 640. Questi permessi vengono cambiati a rotazione. Senza un ampliamento dei privilegi, un intruso che abbia avuto accesso al sistema attraverso il server di rete non potrebbe eliminare voci vecchie dei file di log.

en: Published web files
it: Pubblicare file web

en: Apache files are located under <filename>/var/www</filename>. Just after installation the default file provides some information on the system (mainly that it's a Debian system running Apache). The default webpages are owned by user root and group root by default, while the Apache process runs as user www-data and group www-data. This should make attackers that compromise the system through the web server harder to deface the site. You should, of course, substitute the default web pages (which might provide information you do not want to show to outsiders) with your own.
it: I file di Apache si trovano in <filename>/var/www</filename>. Subito dopo l'installazione, il file predefinito fornisce alcune informazioni sul sistema (principalmente sul fatto che si tratta di un sistema Debian su cui è attivo Apache). Le pagine web predefinite vengono impostate per definizione come proprietà dell'utente root e del gruppo root, mentre il processo Apache viene eseguito come utente www-data e gruppo www-data. Questo dovrebbe rendere più difficile agli attaccanti, che hanno compromesso il sistema mediante Apache, di defacciare il sito web. &Egrave; importante sostituire le pagine predefinite mostrate da Apache con pagine bianche o comunque personalizzate perché potrebbero fornire informazioni utili agli attaccanti.

en: Securing finger
it: Rendere sicuro finger

en: If you want to run the finger service first ask yourself if you need to do so. If you do, you will find out that Debian provides many finger daemons (output from <command>apt-cache search fingerd</command>):
it: Se avete intenzione di fornire il servizio finger, chiedetevi prima se serva veramente. In caso affermativo, vi renderete conto che Debian fornisce molti demoni finger (questo è l'output di <command>apt-cache search fingerd</command>):

en: cfingerd - Configurable finger daemon
it: cfingerd - Un demone finger configurabile.

en: efingerd - Another finger daemon for unix, capable of fine-tuning your output.
it: efingerd - Un altro demone finger per unix, consente di configurare accuratamente il vostro l'output.

en: ffingerd - a secure finger daemon
it: ffingerd - Un demone finger sicuro.

en: fingerd - Remote user information server.
it: fingerd - Server remoto di informazioni sugli utenti.

en: xfingerd - BSD-like finger daemon with qmail support.
it: xfingerd - Demone finger in stile BSD con supporto per qmail.

en: <application>ffingerd</application> is the recommended finger daemon if you are going to use it for a public service. In any case, you are encouraged to, when setting it up through inetd, xinetd or tcpserver to: limit the number of processes that will be running at the same time, limit access to the finger daemon from a given number of hosts (using tcp wrappers) and having it only listening to the interface you need it to be in.
it: <application>ffingerd</application> è il servizio finger raccomandato se avete intenzione di usarlo come servizio pubblico. In ogni caso siete invitati, quando lo configurate tramite inetd, xinetd o tcpserver, a: limitare il numero di processi che verranno eseguiti contemporaneamente, limitare gli accessi a finger da specifici host (usando i tcp wrapper) e configurarlo in modo da farlo ascoltare solo sulle interfacce desiderate.

en: General chroot and suid paranoia
it: Paranoie generiche riguardo chroot e suid

en: This includes: name servers (such as <command>bind</command>), web servers (such as <command>apache</command>), mail servers (such as <command>sendmail</command>) and ftp servers (such as <command>wu-ftpd</command>). It is probably fair to say that the complexity of BIND is the reason why it has been exposed to a lot of attacks in recent years (see <xref linkend="sec-bind" />).
it: Questi includono: server name (come <command>bind</command>), server web (come <command>apache</command>), server di posta (come <command>sendmail</command>) e server ftp (come <command>wu-ftpd</command>). Probabilmente è giusto dire che la complessità di BIND è il motivo per cui è stato esposto a molti attacchi in questi anni (vedete in <xref linkend="sec-bind" />).

en: However, Debian does provide some software that can help set up <command>chroot</command> environments. See <xref linkend="auto-chroot" />.
it: Comunque, Debian fornisce del software che può aiutarvi a configurare ambienti <command>chroot</command> automaticamente. Vedete <xref linkend="auto-chroot" />.

en: Anyway, if you run any service on your system, you should consider running them as secure as possible. This includes: revoking root privileges, running in a restricted environment (such as a chroot jail) or replacing them with a more secure equivalent.
it: Ad ogni modo se eseguite un qualsiasi servizio su un sistema, dovreste farlo nel modo più sicuro possibile. Questo comporta: revocare i privilegi di root, eseguirli in un ambiente sottoposto a restrizioni (come una gabbia creata con chroot) o sostituirli con servizi equivalenti più sicuri.

en: However, be forewarned that a <command>chroot</command> jail can be broken if the user running in it is the superuser. So, you need to make the service run as a non-privileged user. By limiting its environment you are limiting the world readable/executable files the service can access, thus, you limit the possibilities of a privilege escalation by use of local system security vulnerabilities. Even in this situation you cannot be completely sure that there is no way for a clever attacker to somehow break out of the jail. Using only server programs which have a reputation for being secure is a good additional safety measure. Even minuscule holes like open file handles can be used by a skilled attacker for breaking into the system. After all, <command>chroot</command> was not designed as a security tool but as a testing tool.
it: Tuttavia tenete conto fin d'ora che un ambiente creato con <command>chroot</command> può non essere sicuro se l'utente al suo interno è il superutente, per questo è necessario eseguire il servizio come utente non privilegiato. Limitando il suo ambiente limitate i file leggibili/eseguibili globalmente a cui il servizio può accedere e con questo le possibilità di una scalata ai privilegi sfruttando vulnerabilità relative alla sicurezza del sistema locale. Anche in questa situazione non si può essere completamente sicuri che non ci siano modi per una persona capace di uscire da questa gabbia in qualche modo. Usare solo programmi server che hanno la reputazione di essere sicuri è una buona misura precauzionale aggiuntiva. Anche buchi minuscoli come file di gestione aperti, possono esser usati da una persona capace per intromettersi nel sistema. Dopotutto <command>chroot</command> non è stato progettato come strumento per la sicurezza, ma come strumento di test.

en: Making chrooted environments automatically
it: Creare ambienti chroot automaticamente

en: There are several programs to chroot automatically servers and services. Debian currently (accepted in May 2002) provides Wietse Venema's <command>chrootuid</command> in the <application>chrootuid</application> package, as well as <application>compartment</application> and <application>makejail</application>. These programs can be used to set up a restricted environment for executing any program (<command>chrootuid</command> enables you to even run it as a restricted user).
it: Ci sono diversi programmi per ingabbiare automaticamente server e servizi in ambienti chroot. Al momento (accettato nel maggio 2002) Debian fornisce <command>chrootuid</command> di Wietse Venema nel pacchetto <command>chrootuid</command>, così come <application>compartment</application> e <application>makejail</application>. Potete usare questi programmi per configurare un ambiente con restrizioni ed eseguire qualunque programma (<command>chrootuid</command> permette addirittura di eseguirlo come un utente con restrizioni).

en: Some of these tools can be used to set up the chroot environment easily. The <command>makejail</command> program for example, can create and update a chroot jail with short configuration files (it provides sample configuration files for <command>bind</command>, <command>apache</command>, <command>postgresql</command> and <command>mysql</command>). It attempts to guess and install into the jail all files required by the daemon using <command>strace</command>, <command>stat</command> and Debian's package dependencies. More information at <ulink url="http://www.floc.net/makejail/" />. <command>Jailer</command> is a similar tool which can be retrieved from <ulink url="http://www.balabit.hu/downloads/jailer/" /> and is also available as a Debian package.
it: Alcuni di questi strumenti possono essere usati per configurare ambienti chroot in modo semplice. Il programma <command>makejail</command>, per esempio, può creare ed aggiornare una gabbia chroot con brevi file di configurazione (ne fornisce alcuni di esempio adatti per <command>bind</command>, <command>apache</command>, <command>postgresql</command> e <command>mysql</command>). Cerca di indovinare ed installare dentro la gabbia, tutti i file richiesti dal servizio, usando <command>strace</command>, <command>stat</command> e le dipendenze dei pacchetti Debian. Ulteriori informazioni sono reperibili presso <ulink url="http://www.floc.net/makejail/" />. <command>Jailer</command> è un programma simile che può essere scaricato da <ulink url="http://www.balabit.hu/downloads/jailer/" /> ed è anche disponibile direttamente come pacchetto Debian.

en: General cleartext password paranoia
it: In generale, paranoia per le password in chiaro

en: You should try to avoid any network service which sends and receives passwords in cleartext over a net like FTP/Telnet/NIS/RPC. The author recommends the use of ssh instead of telnet and ftp to everybody.
it: Siete invitati a non mantenere nessun servizio di rete che spedisca e riceva le password in chiaro usando FTP/Telnet/NIS/RPC. &Egrave; raccomandato l'uso di ssh invece di telnet o di ftp.

en: Keep in mind that migrating from telnet to ssh, but using other cleartext protocols does not increase your security in ANY way! Best would be to remove ftp, telnet, pop, imap, http and to supersede them with their respective encrypted services. You should consider moving from these services to their SSL versions, ftp-ssl, telnet-ssl, pop-ssl, https ...
it: Tenete a mente che una migrazione da telnet a ssh, che utilizzi comunque altri protocolli in chiaro NON aumenta la vostra sicurezza in alcun modo! La miglior cosa sarebbe quella di eliminare servizi quali ftp, telnet, pop, imap, http e sostituirli con i rispettivi servizi cifrati. Prendete in considerazione di migrare a servizi che hanno una versione SSL quali, ad esempio: ftp-ssl, telnet-ssl, pop-ssl, https ...

en: Most of these above listed hints apply to every Unix system (you will find them if reading any other hardening-related document related to Linux and other Unices).
it: La maggior parte degli esempi riportati possono essere applicati a tutti i sistemi Unix (siete invitati a cercare altri documenti relativi a Linux e ad altri Unix).

en: Disabling NIS
it: Disabilitare NIS

en: You should not use NIS, the Network Information Service, if possible, because it allows password sharing. This can be highly insecure if your setup is broken.
it: Se vi è possibile, non usate NIS, il servizio di informazioni di rete, perché permette la condivisione delle password. Questo rende il sistema molto insicuro, se non è configurato in modo ottimale.

en: FIXME (jfs): Add info on how to set this up in Debian.
it: FIXME (jfs): Aggiungere informazioni su come configurarlo in Debian

en: Securing RPC services
it: Rendere sicuri i servizi RPC

en: You should disable RPC if you do not need it.
it: Disabilitate RPC se non ne fate uso.

en: Remote Procedure Call (RPC) is a protocol that programs can use to request services from other programs located on different computers. The <command>portmap</command> service controls RPC services by mapping RPC program numbers into DARPA protocol port numbers; it must be running in order to make RPC calls.
it: RPC (Remote Procedure Call) è un protocollo che i programmi possono utilizzare per richiedere servizi da altri programmi che si trovano su computer diversi da quello locale. Il servizio <command>portmap</command> controlla i servizi RPC mediante la combinazione della numerazione assegnata ai programmi RPC con i numeri delle porte assegnate dal protocollo DARPA. RPC deve essere in esecuzione per eseguire chiamate RPC.

en: RPC-based services have had a bad record of security holes, although the portmapper itself hasn't (but still provides information to a remote attacker). Notice that some of the DDoS (distributed denial of service) attacks use RPC exploits to get into the system and act as a so called agent/handler.
it: I servizi basati su RPC hanno avuto un pessimo record circa i buchi di sicurezza, anche se non portmapper stesso (nonostante fornisca informazioni ad un attaccante remoto). Notate che alcuni degli attacchi DDoS (Distributed Denial of service) utilizzano exploit RPC per accedere al sistema ed agire come un cosiddetto agente/gestore.

en: You only need RPC if you are using an RPC-based service. The most common RPC-based services are NFS (Network File System) and NIS (Network Information System). See the previous section for more information about NIS. The File Alteration Monitor (FAM) provided by the package <application>fam</application> is also an RPC service, and thus depends on <application>portmap</application>.
it: RPC vi occorre solamente se state utilizzando un servizio basato su RPC. I servizi più comuni basati su RPC sono NFS (Network File System) e NIS (Network Information System). Vedete la sezione precedente per maggiori informazioni riguardo NIS. Anche il FAM (File Alteration Monitor) fornito dal pacchetto <application>fam</application> è un servizio RPC, che dipende da <application>portmap</application>.

en: NFS services are quite important in some networks. If that is the case for you, then you will need to find a balance of security and usability for your network (you can read more about NFS security in the <ulink name="NFS-HOWTO" url="http://www.tldp.org/HOWTO/NFS-HOWTO.html" /> (<filename>/usr/share/doc/HOWTO/en-txt/NFS-HOWTO.txt.gz</filename>)).
it: I servizi NFS sono abbastanza importanti in alcune reti. Se è il vostro caso, allora occorre trovare un bilanciamento tra la sicurezza e l'usabilità della vostra rete (potete leggere di più riguardo la sicurezza di NFS nel <ulink url="http://www.tldp.org/HOWTO/NFS-HOWTO.html" name="NFS-HOWTO" /> (<filename>/usr/share/doc/HOWTO/en-txt/NFS-HOWTO.txt.gz</filename>)).

en: Disabling RPC services completely
it: Disabilitare completamente i servizi RPC

en: Disabling portmap is quite simple. There are several different methods. The simplest one in a Debian 3.0 system and later releases is to uninstall the <application>portmap</application> package. If you are running an older Debian version you will have to disable the service as seen in <xref linkend="disableserv" />, because the program is part of the <application>netbase</application> package (which cannot be de-installed without breaking the system).
it: Disabilitare portmap è abbastanza semplice, ci sono diversi metodi. Il più semplice in un sistema Debian 3.0 e successivi rilasci è quello di disinstallare il pacchetto <application>portmap</application>. Se state eseguendo una versione più vecchia di Debian dovrete disabilitare il servizio come avete visto in <xref linkend="disableserv" />, perché il programma è parte del pacchetto <application>netbase</application> (che non può essere disinstallato senza danneggiare il sistema).

en: Notice that some desktop environments (notably, GNOME) use RPC services and need the portmapper for some of the file management features. If this is your case, you can limit the access to RPC services as described below.
it: Notate che alcuni ambienti desktop, in particolare GNOME, utilizzano i servizi RPC ed hanno bisogno di portmap per alcune delle loro funzionalità di gestione file. Se è il vostro caso, potete limitare l'accesso ai servizi RPC come descritto sotto.

en: Limiting access to RPC services
it: Limitare l'accesso ai servizi RPC

en: Unfortunately, in some cases removing RPC services from the system is not an option. Some local desktop services (notably SGI's <application>fam</application>) are RPC based and thus need a local portmapper. This means that under some situations, users installing a desktop environment (like GNOME) will install the portmapper too.
it: Sfortunatamente, in alcuni casi rimuovere i servizi RPC dal sistema non rappresenta una soluzione. Alcuni servizi locali in ambito desktop (come <application>fam</application> di SGI) sono basati su RPC e necessitano di un portmapper locale. Questo significa che in alcune situazioni, utenti che installano un ambiente desktop (ad esempio GNOME) installerano anche portmapper.

en: There are several ways to limit access to the portmapper and to RPC services:
it: Ci sono diversi modi per limitare l'accesso a portmapper ed ai servizi RPC:

en: Block access to the ports used by these services with a local firewall (see <xref linkend="firewall-setup" />).
it: Bloccare l'accesso alle porte utilizzate da questi servizi con un firewall locale (consultate <xref linkend="firewall-setup" />).

en: Block access to these services using tcp wrappers, since the portmapper (and some RPC services) are compiled with <filename>libwrap</filename> (see <xref linkend="tcpwrappers" />). This means that you can block access to them through the <filename>hosts.allow</filename> and <filename>hosts.deny</filename> tcp wrappers configuration.
it: Bloccare l'accesso a questi servizi utilizzando dei wrapper TCP, da quando portmapper (ed alcuni servizi RPC) vengono compilati con <filename>libwrap</filename> (consultate <xref linkend="tcpwrappers" />). Questo significa che è possibile bloccare l'accesso ai servizi tramite la configurazione dei wrapper tcp <filename>hosts.allow</filename> e <filename>hosts.deny</filename>.

en: Since version 5-5, the <application>portmap</application> package can be configured to listen only on the loopback interface. To do this, modify <filename>/etc/default/portmap</filename>, uncomment the following line: <literal>#OPTIONS="-i 127.0.0.1"</literal> and restart the portmapper. This is sufficient to allow local RPC services to work while at the same time prevents remote systems from accessing them (see, however, <xref linkend="limit-bindaddr" />).
it: Dalla versione 5-5, il pacchetto <application>portmap</application> può essere configurato per rimanere in ascolto solamente sull'interfaccia di loopback. Per fare questo, occorre modificare <filename>/etc/default/portmap</filename>, decommentando la riga seguente: <literal>#OPTIONS="-i 127.0.0.1"</literal> e fare un restart del portmapper. &Egrave; sufficiente questo per permettere ai servizi locali RPC di essere in esecuzione ed allo stesso tempo impedire l'accesso remoto al sistema (consultate, comunque, <xref linkend="limit-bindaddr" />).

en: Adding firewall capabilities
it: Aggiungere funzionalità al firewall

en: Firewalling the local system
it: Proteggere il sistema locale con un firewall

en: You can use firewall rules as a way to secure the access to your local system and, even, to limit the outbound communications made by it. Firewall rules can also be used to protect processes that cannot be properly configured <emphasis>not</emphasis> to provide services to some networks, IP addresses, etc.
it: Potete usare le regole di un firewall per rendere più sicuro l'accesso al sistema ed anche per limitare le comunicazioni in uscita. Le regole del firewall possono anche essere utilizzate per proteggere i processi che non possono essere adeguatamente configurati per <emphasis>non</emphasis> fornire servizi ad alcune reti, indirizzi IP, etc..

en: However, this step is presented last in this manual basically because it is <emphasis>much</emphasis> better not to depend solely on firewalling capabilities in order to protect a given system. Security in a system is made up of layers, firewalling should be the last to include, once all services have been hardened. You can easily imagine a setup in which the system is solely protected by a built-in firewall and an administrator blissfully removes the firewall rules for whatever reason (problems with the setup, annoyance, human error...), this system would be wide open to an attack if there were no other hardening in the system to protect from it.
it: Comunque, questo passaggio viene presentato per ultimo in questo manuale essenzialmente perché è <emphasis>molto</emphasis> meglio non dipendere unicamente dalle capacità di un firewall per proteggere un determinato sistema. La sicurezza in un sistema è data da livelli, in cui il firewall è l'ultimo da includere, una volta che tutti i processi sono stati adeguatamente irrobustiti. Potete facilmente immaginare un'installazione in cui un sistema è protetto solo dal firewall magari incorporato e un amministratore che incautamente rimuove le regole del firewall per qualche motivo (problemi con l'installazione, fastidio, errore umano...), questo sistema sarebbe parecchio esposto ad un attacco se non ci fosse nessun'altra protezione a garantirlo.

en: On the other hand, having firewall rules on the local system also prevents some bad things from happening. Even if the services provided are configured securely, a firewall can protect from misconfigurations or from fresh installed services that have not yet been properly configured. Also, a tight configuration will prevent trojans <emphasis>calling home</emphasis> from working unless the firewalling code is removed. Note that an intruder does <emphasis>not</emphasis> need superuser access to install a trojan locally that could be remotely controlled (since binding on ports is allowed if they are not priviledged ports and capabilities have not been removed).
it: D'altra parte, impostare le regole di un firewall sul sistema può anche prevenire il verificarsi di alcuni fatti spiacevoli. Anche se i servizi forniti vengono configurati in modo sicuro, un firewall può proteggere da errate configurazioni o da servizi appena installati che non sono ancora stati configurati. Inoltre, una configurazione sicura previene il funzionamento di trojans <emphasis>che chiamano casa</emphasis>, finché il codice del firewall non viene rimosso. Notate che un intruso <emphasis>non</emphasis> necessita di un accesso superutente per installare un trojan locale che possa essere controllato da remoto (dato che il binding sulle porte è consentito se non si tratta di porte privilegiate e se queste funzionalità non sono state rimosse).

en: Thus, a proper firewall setup would be one with a default deny policy, that is:
it: Quindi, il firewall, se impostato correttamente, dovrebbe avere una politica di negazione predefinita, secondo cui:

en: incoming connections are allowed only to local services by allowed machines.
it: Le connessioni in ingresso vengono consentite solo ai servizi locali da macchine autorizzate.

en: the forward rule denies everything (unless you are protecting other systems, see below).
it: La regola di inoltro nega qualsiasi cosa (a meno che non stiate proteggendo altri sistemi, vedete più in basso).

en: all other incoming or outgoing connections are denied.
it: Tutte le altre connessioni in ingresso o in uscita vengono negate.

en: Using a firewall to protect other systems
it: Utilizzare un firewall per proteggere altri sistemi

en: A Debian firewall can also be installed in order to protect, with filtering rules, access to systems <emphasis>behind</emphasis> it, limiting their exposure to the Internet. A firewall can be configured to prevent access from systems outside of the local network to internal services (ports) that are not public. For example, on a mail server, only port 25 (where the mail service is being given) needs to be accessible from the outside. A firewall can be configured to, even if there are other network services besides the public ones running in the mail server, throw away packets (this is known as <emphasis>filtering</emphasis>) directed towards them.
it: Un firewall Debian può anche essere installato per proteggere, con regole di filtraggio, accessi a sistemi posti <emphasis>dietro</emphasis> ad esso, limitando la loro esposizione su Internet. Il firewall può essere configurato per proteggere i sistemi dall'esterno verso la rete locale per l'accesso a determinati servizi (porte) che non sono pubblici. Per esempio, su un server di posta, solo la porta 25 (che fornisce il servizio di posta) ha bisogno di essere accessibile dall'esterno. Un firewall può essere configurato, anche se ci sono altri servizi di rete oltre a quelli pubblici, per respingere pacchetti (questo è conosciuto come <emphasis>filtraggio</emphasis>) diretti verso di sé.

en: You can even set up a Debian GNU/Linux box as a bridge firewall, i.e. a filtering firewall completely transparent to the network that lacks an IP address and thus cannot be attacked directly. Depending on the kernel you have installed, you might need to install the bridge firewall patch and then go to <emphasis>802.1d Ethernet Bridging</emphasis> when configuring the kernel and a new option <emphasis>netfilter ( firewalling ) support</emphasis>. See the <xref linkend="bridge-fw" /> for more information on how to set this up in a Debian GNU/Linux system.
it: Potete anche configurare un sistema Debian GNU/Linux come bridge firewall, ad esempio un firewall filtrante privo di indirizzo IP, completamente trasparente alla rete e che quindi non può essere attaccato direttamente. A seconda del kernel che avete installato potreste aver bisogno di installare la patch per il bridge firewall; andate quindi su <emphasis>802.1d Ethernet Bridging</emphasis> durante la configurazione del kernel e abilitate la nuova opzione <emphasis>netfilter (firewalling) support</emphasis>. Leggete <xref linkend="bridge-fw" /> per ulteriori informazioni su come meglio sfruttare questa funzionalità sul vostro sistema Debian GNU/Linux.

en: Setting up a firewall
it: Configurare il firewall

en: The default Debian installation, unlike other Linux distributions, does not yet provide a way for the administrator to setup a firewall configuration throughout the default installation but you can install a number of firewall configuration packages (see <xref linkend="firewall-pack" />).
it: L'installazione Debian predefinita, contrariamente ad altre distribuzioni Linux, non fornisce ancora all'amministratore un modo per impostare una configurazione per il firewall durante l'installazione, ma è possibile installare alcuni pacchetti per configurare il firewall (vedete <xref linkend="firewall-pack" />).

en: Remember this: just installing the <application>iptables</application> (or the older firewalling code) does not give you any protection, just provides the software. In order to have a firewall you need to <emphasis>configure</emphasis> it!
it: Ricordate: la semplice installazione di <application>iptables</application> (o di altri programmi per gestire firewall) non dà nessuna protezione, fornisce solamente il software. Per poter avere un firewall è necessario <emphasis>configurarlo</emphasis>!

en: If you do not have a clue on how to set up your firewall rules manually consult the <emphasis>Packet Filtering HOWTO</emphasis> and <emphasis>NAT HOWTO</emphasis> provided by <application>iptables</application> for offline reading at <filename>/usr/share/doc/iptables/html/</filename>.
it: Se non avete idea di come impostare delle regole per un firewall, è opportuno che consultiate il <emphasis>Packet Filtering HOWTO</emphasis> ed il <emphasis>NAT HOWTO</emphasis>, forniti da <application>iptables</application> per la lettura non in linea in <filename>/usr/share/doc/iptables/html/</filename>.

en: Using firewall packages
it: Uso dei pacchetti firewall

en: Setting up manually a firewall can be complicated for novice (and sometimes even expert) administrators. However, the free software community has created a number of tools that can be used to easily configure a local firewall. Be forewarned that some of these tools are oriented more towards local-only protection (also known as <emphasis>personal firewall</emphasis>) and some are more versatile and can be used to configure complex rules to protect whole networks.
it: L'impostazione manuale di un firewall può essere complicata per gli amministratori novizi (e talvolta anche per quelli esperti). Comunque, la comunità del free software ha creato un buon numero di strumenti che possono essere usati per configurare facilmente un firewall locale. Sappiate però che alcuni di questi strumenti sono più orientati verso una protezione esclusivamente locale (anche conosciuta come <emphasis>personal firewall</emphasis>) mentre alcuni sono molto più versatili e possono essere usati per configurare regole complesse per proteggere intere reti.

en: Some software that can be used to set up firewall rules in a Debian system is:
it: Alcuni software che possono essere usati per impostare regole di firewall in sistemi Debian sono:

en: For desktop systems:
it: Per sistemi desktop:

en: <application>firestarter</application>, a GNOME application oriented towards end-users that includes a wizard useful to quickly setup firewall rules. The application includes a GUI to be able to monitor when a firewall rule blocks traffic.
it: <application>firestarter</application>, un'applicazione GNOME orientata all'utente finale che include un'utile wizard per impostare velocemente le regole del firewall. L'applicazione comprende un'interfaccia grafica capace di controllare quando una regola del firewall blocca il traffico.

en: <application>guarddog</application>, a KDE based firewall configuration package oriented both to novice and advanced users.
it: <application>guarddog</application>, un pacchetto di configurazione basato su KDE e rivolto sia ad utenti principianti che avanzati.

en: <application>knetfilter</application>, a KDE GUI to manage firewall and NAT rules for iptables (alternative/competitor to the guarddog tool although slightly oriented towards advanced users).
it: <application>knetfilter</application>, un'interfaccia grafica per KDE in grado di gestire le regole firewall e NAT di iptables (è un'alternativa, o concorrente che dir si voglia, del programma guarddog, anche se tende a soddisfare maggiormente le necessità di un utente esperto).

en: fireflier, an interactive tool to create iptables rules based on traffic seen on the system and applications. It has a server-client model so you have to install both the server (<application>fireflier-server</application>) and one of the available clients, with one client available for different desktop environments: <application>fireflier-client-gtk</application> (Gtk+ client), <application>fireflier-client-kde</application> (KDE client) and <application>fireflier-client-qt</application> (QT client).
it: <application>fireflier</application>, un programma interattivo in grado di creare regole per iptables in base al traffico rilevato sul sistema e alle applicazioni presenti sul sistema stesso. &Egrave; composto da un server e da un client, che vanno installati entrambi; oltre al server (<application>fireflier-server</application>) bisogna quindi anche scegliere uno dei vari client disponibili, ve ne sono per vari ambienti grafici: <application>fireflier-client-gtk</application> (basato sulle Gtk+ ), <application>fireflier-client-kde</application> (per ambiente KDE) e <application>fireflier-client-qt</application> (basato sulle QT ).

en: For servers (headless) systems:
it: Per sistemi ad uso server (senza schermo):

en: <application>fwbuilder</application>, an object oriented GUI which includes policy compilers for various firewall platforms including Linux' netfilter, BSD's pf (used in OpenBSD, NetBSD, FreeBSD and MacOS X) as well as router's access-lists. It is similar to enterprise firewall management software. Complete fwbuilder's functionality is also available from the command line.
it: <application>fwbuilder</application>, è un interfaccia grafica, scritta usando la programmazione orientata agli oggetti, che include dei generatori di regole per vari firewall, tra cui netfilter per Linux, pf (usato da OpenBSD, NetBSD, FreeBSD e MacOS X) ed un generatore di liste di accesso per i router. Le sue funzionalità sono paragonabili ai software per la gestione dei firewall comunemente usati dalle aziende. Include anche un'interfaccia a riga di comando che permette di sfruttare tutte le funzionalità del programma.

en: <application>shorewall</application>, a firewall configuration tool which provides support for IPsec as well as limited support for traffic shaping as well as the definition of the firewall rules. Configuration is done through a simple set of files that are used to generate the iptables rules.
it: <application>shorewall</application>, un tool di configurazione per i firewall che fornisce supporto per IPsec così come un supporto limitato per il traffic shaping nonché per le definizioni delle regole di un firewall. La configurazione viene effettuata mediante un semplice insieme di file che vengono usati per generare le regole di iptables.

en: <application>bastille</application>, this hardening application is described in <xref linkend="automatic-harden" />. One of the hardening steps that the administrator can configure is a definition of the allowed and disallowed network traffic that is used to generate a set of firewall rules that the system will execute on startup.
it: <application>bastille</application>, questa applicazione di irrobustimento viene descritta in <xref linkend="automatic-harden" />. Uno dei passi di irrobustimento configurabile dall'amministratore è la definizione del traffico di rete ammesso e vietato, che viene usato per generare un insieme di regole del firewall che il sistema eseguirà all'avvio.

en: Lots of other iptables frontends come with Debian; an extensive list comparing the different packages in Debian is maintained at the <ulink name="Firewalls page on the Debian wiki" url="http://wiki.debian.org/Firewalls" />.
it: In Debian vengono forniti diversi frontend a iptables; un elenco esaustivo che raffronta i differenti pacchetti software presenti viene mantenuta nella pagina <ulink name="Firewall" url="http://wiki.debian.org/Firewalls" /> del wiki di Debian.

en: Notice that some of the packages outlined previously will introduce firewalling scripts to be run when the system boots. Test them extensively before rebooting or you might find yourself locked from the box. If you mix different firewalling packages you can have undesired effects, usually, the firewalling script that runs last will be the one that configures the system (which might not be what you intend). Consult the package documentation and use either one of these setups.
it: Da notare che alcuni dei pacchetti presentati precedentemente, installeranno degli script di firewalling che verranno eseguiti all'avvio del sistema. Testate gli script in maniera approfondita prima di riavviare, altrimenti potreste rimanere chiusi fuori dal sistema. Di solito, mescolando diversi pacchetti di firewalling, si possono ottenere effetti indesiderati, tipo che l'ultimo script ad essere eseguito sarà quello che configura il sistema (comportamento che potrebbe non essere quello desiderato). Consultate la documentazione del pacchetto e usate solo uno di questi setup.

en: As mentioned before, some programs, like <application>firestarter</application>, <application>guarddog</application> and <application>knetfilter</application>, are administration GUIs using either GNOME or KDE (last two). These applications are much more user-oriented (i.e. for home users) than some of the other packages in the list which might be more administrator-oriented. Some of the programs mentioned before (like <command>bastille</command>) are focused at setting up firewall rules to protect the host they run in but are not necessarily designed to setup firewall rules for firewall hosts that protect a network (like <command>shorewall</command> or <command>fwbuilder</command>).
it: Come già detto, alcuni programmi, come <application>firestarter</application>, <application>guarddog</application> e <application>knetfilter</application> sono interfacce grafiche di amministrazione che usano GNOME o (le ultime due) KDE. Queste applicazioni sono rivolte in particolare all'utente (ossia all'utente comune), a differenza di alcuni degli altri pacchetti dell'elenco, che invece potrebbero essere pensati più per gli amministratori. Alcuni dei programmi già menzionati (come <command>bastille</command>) sono specializzati nell'impostare le regole del firewall che protegge l'host su cui girano ma non necessariamente per impostare regole di firewall per host che proteggono una rete (come invece fanno <command>shorewall</command> o <command>fwbuilder</command>).

en: There is yet another type of firewall application: application proxies. If you are looking into setting up an enterprise-level firewall that does packet filtering and provides a number of transparent proxies that can do fine-grain traffic analysis you should consider using <application>zorp</application>, which provides this in a single program. You can also manually setup this type of firewall host using the proxies available in Debian for different services like for DNS using <application>bind</application> (properly configured), <application>dnsmasq</application>, <application>pdnsd</application> or <application>totd</application> for FTP using <application>frox</application> or <application>ftp-proxy</application>, for X11 using <application>xfwp</application>, for IMAP using <application>imapproxy</application>, for mail using <application>smtpd</application>, or for POP3 using <application>p3scan</application>. For other protocols you can either use a generic TCP proxy like <application>simpleproxy</application> or a generic SOCKS proxy like <application>dante-server</application>, <application>tsocks</application> or <application>socks4-server</application>. Typically, you will also use a web caching system (like <application>squid</application>) and a web filtering system (like <application>squidguard</application> or <application>dansguardian</application>).
it: Esiste poi un altro tipo di applicazione per firewall, ossia gli application proxy. Se cercate di configurare un firewall aziendale che faccia packet filtering e fornisca un certo numero di transparent proxy che analizzino il traffico in modo dettagliato, potete considerare l'utilizzo di <application>zorp</application>, che fa tutto questo in un unico programma. Potete anche impostare manualmente questo tipo di host per il firewall usando i proxy disponibili in Debian per differenti servizi; per il DNS usando <application>bind</application> (adeguatamente configurato), <application>dnsmasq</application>, <application>pdnsd</application> o <application>totd</application>, per l'FTP usando <application>frox</application> o <application>ftp-proxy</application>, per X11 usando <application>xfwp</application>, per IMAP usando <application>imapproxy</application>, per la mail usando <application>smtpd</application>, o per il POP3 usando <application>p3scan</application>. Per altri protocolli potete usare un proxy TCP generico come <application>simpleproxy</application> o un proxy SOCKS generico come <application>dante-server</application>, <application>tsocks</application> o <application>socks4-server</application>. Nella maggior parte dei casi, bisognerà anche usare un sistema di web caching (come <application>squid</application>) e di filtraggio web (come <application>squidguard</application> o <application>dansguardian</application>).

en: Manual init.d configuration
it: Configurazione manuale di init.d

en: Another possibility is to manually configure your firewall rules through an init.d script that will run all the <command>iptables</command> commands. Take the following steps:
it: Un'altra possibilità è quella di configurare manualmente le regole del firewall attraverso uno script in init.d che lanci tutti i comandi <command>iptables</command>. &Egrave; sufficiente seguire la seguente procedura:

en: Review the script below and adapt it to your needs.
it: Revisionare lo script che segue ed adattarlo alle proprie esigenze.

en: Test the script and review the syslog messages to see which traffic is being dropped. If you are testing from the network you will want to either run the sample shell snippet to remove the firewall (if you don't type anything in 20 seconds) or you might want to comment out the <emphasis>default deny</emphasis> policy definitions (<emphasis>-P INPUT DROP</emphasis> and <emphasis>-P OUTPUT DROP</emphasis>) and check that the system will not drop any legitimate traffic.
it: Collaudare lo script ed esaminare i log di sistema per vedere il tipo di traffico che viene eliminato. Se lo state collaudando in remoto, vorrete lanciare la snippet shell di esempio per rimuovere il firewall (se non digitate nulla per 20 secondi), oppure potreste voler decommentare le definizioni della procedura di <emphasis>default deny</emphasis> (<emphasis>-P INPUT DROP</emphasis> e <emphasis>-P OUTPUT DROP</emphasis>) e verificare poi che il sistema non elimini alcun traffico legittimo.

en: Move the script to <filename>/etc/init.d/myfirewall</filename>
it: Spostare lo script in <filename>/etc/init.d/myfirewall</filename>.

en: This is the sample firewall script:
it: Questo e' un esempio di uno script per un firewall:

en: Instead of including all of the iptables rules in the init.d script you can use the <command>iptables-restore</command> program to restore the rules saved using <command>iptables-save</command>. In order to do this you need to setup your rules, save the ruleset under a static location (such as <filename>/etc/default/firewall</filename>)
it: Invece di includere tutte le regole di iptables negli script in init.d, potete usare il programma <command>iptables-restore</command> per ripristinare le regole salvate usando <command>iptables-save</command>. Per fare questo dovrete definire le vostre regole e salvare il file delle regole creato in una posizione statica (come ad esempio in <filename>/etc/default/firewall</filename>).

en: Configuring firewall rules through <command>ifup</command>
it: Configurare le regole del firewall tramite <command>ifup</command>

en: You can use also the network configuration in <filename>/etc/network/interfaces</filename> to setup your firewall rules. For this you will need to:
it: Potete utilizzare anche la configurazione di rete in <filename>/etc/network/interfaces</filename> per determinare le regole del firewall. Per fare questo:

en: Create your firewalling ruleset for when the interface is active.
it: Create il vostro insieme di regole del firewall per quando l'interfaccia è attiva.

en: Save your ruleset with <command>iptables-save</command> to a file in <filename>/etc</filename>, for example <filename>/etc/iptables.up.rules</filename>
it: Salvate l'insieme di regole con <command>iptables-save</command> in un file in <filename>/etc</filename>, ad esempio <filename>/etc/iptables.up.rules</filename>

en: Configure <filename>/etc/network/interfaces</filename> to use the configured ruleset:
it: Configurate <filename>/etc/network/interfaces</filename> ed usate l'insieme delle regole appena impostate:

en: You can optionally also setup a set of rules to be applied when the network interface is <emphasis>down</emphasis> creating a set of rules, saving it in <filename>/etc/iptables.down.rules</filename> and adding this directive to the interface configuration:
it: In aggiunta potete anche configurare un insieme di regole da applicare per quando l'interfaccia di rete è <emphasis>down</emphasis>, mediante la creazione del suddetto insieme di regole, salvandolo in <filename>/etc/iptables.down.rules</filename> e aggiungendo questa direttiva alla configurazione dell'interfaccia:

en: Testing your firewall configuration
it: Collaudare la configurazione del firewall

en: Testing your firewall configuration is as easy, and as dangerous, as just running your firewall script (or enabling the configuration you defined in your firewall configuration application). However, if you are not careful enough and you are configuring your firewall remotely (like through an SSH connection) you could lock yourself out.
it: Collaudare la configurazione del firewall è molto facile, e pericoloso, infatti basta eseguire lo script del firewall (o abilitare la configurazione definita nella propria applicazione per la configurazione del firewall). Comunque, se non siete abbastanza cauti e state configurando il vostro firewall da remoto (ad esempio mediante una connessione SSH), potreste trovarvi tagliati fuori.

en: There are several ways to prevent this. One is running a script in a separate terminal that will remove the firewall configuration if you don't feed it input. An example of this is:
it: Ci sono parecchi modi per impedire che questo avvenga. Uno di questi è eseguire uno script in un terminale separato che rimuoverà la configurazione del firewall se non viene recepito un input. Un esempio di questo è:

en: Another one is to introduce a backdoor in your system through an alternate mechanism that allows you to either clear the firewall system or punch a hole in it if something goes awry. For this you can use <application>knockd</application> and configure it so that a certain port connection attempt sequence will clear the firewall (or add a temporary rule). Even though the packets will be dropped by the firewall, since <command>knockd</command> binds to the interface and <emphasis>sees</emphasis> you will be able to work around the problem.
it: Un'altra strada è quella di introdurre una backdoor nel sistema mediante un meccanismo alternativo che permetta di disattivare il firewall o bucarlo nel caso in cui qualcosa andasse storto. Per fare questo potete usare <application>knockd</application> e configurarlo in modo che una determinata connessione ad una porta disattivi il firewall (o aggiunga una regola temporanea). Anche se i pacchetti verranno rifiutati dal firewall, finché <application>knockd</application> impegna l'interfaccia e <emphasis>vede</emphasis>, potrete aggirare il problema.

en: Testing a firewall that is protecting an internal network is a different issue, you will want to look at some of the tools used for remote vulnerability assessment (see <xref linkend="vuln-asses" />) to probe the network from the outside in (or from any other direction) to test the effectiveness of the firewall configuation.
it: Collaudare un firewall che sta proteggendo una rete interna è una questione differente, si può voler conoscere alcuni dei tool usati nella valutazione delle vulnerabilità remote (vedete in <xref linkend="vuln-asses" />) per sondare la rete dall'esterno all'interno (o da qualunque altra direzione) per verificare l'efficacia della configurazione del firewall.
