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

en: After installation
it: Dopo l'installazione

en: Once the system is installed you can still do more to secure the system; some of the steps described in this chapter can be taken. Of course this really depends on your setup but for physical access prevention you should read <xref linkend="bios-boot" />,<xref linkend="lilo-passwd" />, <xref linkend="kernel-root-prompt" />, <xref linkend="restrict-console-login" />, and <xref linkend="restrict-reboots" />.
it: Dopo aver installato il sistema, bisogna renderlo sicuro; molti esempi descritti in questo capitolo puntano ad ottenere tale risultato. Questo dipende dal vostro setup, ma per la prevenzione dagli accessi fisici siete invitati a leggere i seguenti paragrafi: <xref linkend="bios-boot" />,<xref linkend="lilo-passwd" />, <xref linkend="kernel-root-prompt" />, <xref linkend="restrict-console-login" /> e <xref linkend="restrict-reboots" />.

en: Before connecting to any network, especially if it's a public one you should, at the very least, execute a security update (see <xref linkend="security-update" />). Optionally, you could take a snapshot of your system (see <xref linkend="snapshot" />).
it: Dopo esservi connessi a qualsiasi rete, specialmente se pubblica, dovreste effettuare un aggiornamento di sicurezza (vedete <xref linkend="security-update" />) e magari cogliere l'occasione per fare un backup del vostro sistema (in merito vedete <xref linkend="snapshot" />).

en: Subscribe to the Debian Security Announce mailing list
it: Iscrizione alla mailing list Debian Security Announce

en: In order to receive information on available security updates you should subscribe yourself to the debian-security-announce mailing list in order to receive the Debian Security Advisories (DSAs). See <xref linkend="debian-sec-team" /> for more information on how the Debian security team works. For information on how to subscribe to the Debian mailing lists read <ulink url="http://lists.debian.org" />.
it: Per ricevere informazioni sugli aggiornamenti di sicurezza disponibili dovreste iscrivervi alla mailing list debian-security-announce per ricevere i Debian Security Advisories (DSA). Leggete <xref linkend="debian-sec-team" /> per maggiori informazioni su come lavora il Team Debian per la Sicurezza. Per informazioni su come iscriversi alle mailing list Debian leggete <ulink url="http://lists.debian.org" />.

en: DSAs are signed with the Debian Security Team's signature which can be retrieved from <ulink url="http://security.debian.org" />.
it: I DSA sono firmati con la chiave del Team Debian per la Sicurezza che può essere ottenuta da <ulink url="http://security.debian.org" />.

en: You should consider, also, subscribing to the <ulink url="http://lists.debian.org/debian-security" /> for general discussion on security issues in the Debian operating system. You will be able to contact other fellow system administrators in the list as well as Debian developers and upstream developers of security tools who can answer your questions and offer advice.
it: Sarebbe anche opportuno prendere in considerazione la sottoscrizione della <ulink url="http://lists.debian.org/debian-security" name="mailing list debian-security" />, sulla quale vengono discusse questioni generiche sulla sicurezza del sistema operativo Debian. Potrete così sentire il parere di altri colleghi amministratori di sistema, così come sviluppatori di Debian e di strumenti per la sicurezza, che potranno rispondere alle vostre domande ed offrire consulenza.

en: FIXME: Add the key here too?
it: FIXME: aggiungere qui la chiave?

en: Execute a security update
it: Eseguire un aggiornamento per la sicurezza

en: As soon as new security bugs are detected in packages, Debian maintainers and upstream authors generally patch them within days or even hours. After the bug is fixed, a new package is provided on <ulink url="http://security.debian.org" />.
it: Non appena nuovi bug di sicurezza vengono scoperti nei pacchetti, i manutentori di Debian e gli autori dei programmi generalmente li correggono in pochi giorni o addirittura ore. Dopo che il bug è risolto, viene reso disponibile un nuovo pacchetto su <ulink url="http://security.debian.org" />.

en: If you are installing a Debian release you must take into account that since the release was made there might have been security updates after it has been determined that a given package is vulnerable. Also, there might have been minor releases (there have been four for the Debian 3.0 <emphasis>sarge</emphasis> release) which include these package updates.
it: Se state installando una qualsiasi versione di Debian dovete tenere a mente che potrebbero essere usciti nel frattempo degli aggiornamenti per la sicurezza per pacchetti che sono stati scoperti come affetti da vulnerabilità. Ci potrebbero essere comunque delle versioni secondarie (ce ne sono state quattro in Debian 3.0 <emphasis>sarge</emphasis>) che includono questi aggiornamenti dei pacchetti.

en: 
      deb http://security.debian.org/ [CODENAME]/updates main contrib non-free
it: 
    deb http://security.debian.org/ stable/updates main contrib non-free

en: <emphasis>Note</emphasis>: If you are using the <emphasis>testing</emphasis> branch use the security testing mirror sources as described in <xref linkend="security-support-testing" />.
it: <emphasis>Notate</emphasis>: se state utilizzando il ramo <emphasis>testing</emphasis>, utilizzate i sorgenti dei mirror di sicurezza di testing come descritto in <xref linkend="security-support-testing" />.

en: Once you've done this you can use multiple tools to upgrade your system. If you are running a desktop system you will have<footnote><para>In <emphasis>Etch</emphasis> and later releases</para></footnote> an application called <command>update-notifier</command> that will make it easy to check if new updates are available, by selecting it you can make a system upgrade from the desktop (using <command>update-manager</command>). For more information see <xref linkend="update-desktop" />. In desktop environments you can also use <application>synaptic</application> (GNOME), <application>kpackage</application> or <application>adept</application> (KDE) for more advanced interfaces. If you are running a text-only terminal you can use <application>aptitude</application>, <application>apt</application> or <application>dselect</application> (deprecated) to upgrade:
it: Una volta che avete fatto questo, potrete utilizzare più strumenti per aggiornare il vostro sistema. Se state usando un sistema desktop avrete un'applicazione chiamata<footnote><para>In <emphasis>etch</emphasis> e nelle versioni successive.</para></footnote> <command>update-notifier</command> che renderà semplice il controllo della disponibilità di nuovi aggiornamenti; selezionandola potrete aggiornare un sistema dal desktop (utilizzando <command>update-manager</command>). Per maggiori informazioni vedete <xref linkend="update-desktop" />. Negli ambienti desktop potete anche utilizzare <application>synaptic</application> (GNOME), <application>kpackage</application> o <application>adept</application> (KDE) per interfacce più avanzate. Se state lavorando su un semplice terminale, in console, per aggiornare potete utilizzare <application>aptitude</application>, <application>apt</application> o <application>dselect</application> (deprecato):

en: If you want to use <application>aptitude</application>'s text interface you just have to press <emphasis>u</emphasis> (update) followed by <emphasis>g</emphasis> (to upgrade). Or just do the following from the command line (as root):
it: se volete utilizzare l'interfaccia di testo di <application>aptitude</application> occorre solamente selezionare <emphasis>u</emphasis> (aggiorna) seguito da <emphasis>g</emphasis> (esegui aggiornamento). Altrimenti scrivete i seguenti comandi sulla riga di comando (come root):

en: If you want to use <application>apt</application> do just like with aptitude but substitute the <command>aptitude</command> lines above with <command>apt-get</command>.
it: se volete utilizzare <application>apt</application> scrivete solamente i comandi come con <command>aptitude</command>, ma sostituite le righe sopra di <command>aptitude</command> con <command>apt-get</command>.

en: If you want to use <application>dselect</application> then first [U]pdate, then [I]nstall and finally, [C]onfigure the installed/upgraded packages.
it: se volete utilizzare <application>dselect</application> allora prima [U]Aggiornare, poi [I]nstallare ed alla fine, [C]onfigurare i pacchetti installati/aggiornati.

en: Security update of libraries
it: Aggiornamento di sicurezza delle librerie

en: Bringing the system to run level 1 (single user) and then back to run level 3 (multi user) should take care of the restart of most (if not all) system services. But this is not an option if you are executing the security upgrade from a remote connection (like ssh) since it will be severed.
it: Quindi portare il sistema al runlevel 1 (singolo utente) e poi di nuovo a runlevel 3 (multiutente) ed assicurare il riavvio della maggior parte dei servizi di sistema (se non di tutti). Ma questa non è un'opzione fattibile se state eseguendo l'aggiornamento di sistema da una connessione remota (come ssh) poiché questa verrà interrotta.

en: Security update of the kernel
it: Aggiornamenti di sicurezza per il kernel

en: First, make sure your kernel is being managed through the packaging system. If you have installed using the installation system from Debian 3.0 or previous releases, your kernel is <emphasis>not</emphasis> integrated into the packaging system and might be out of date. You can easily confirm this by running:
it: Per prima cosa dovete essere sicuri che il kernel che volete aggiornare sia supportato dal vostro gestore di pacchetti. Se avete fatto l'installazione usando il sistema di installazione di Debian 3.0 o versioni precedenti, il kernel <emphasis>non</emphasis> è integrato nel sistema di gestione dei pacchetti e potrebbe non essere aggiornato. Potete trovare conferma di ciò lanciando:

en: To see if your kernel needs to be updated run:
it: Eseguite i seguenti comandi per controllare se il vostro kernel ha bisogno di essere aggiornato:

en: If you are doing a security update which includes the kernel image you <emphasis>need</emphasis> to reboot the system in order for the security update to be useful. Otherwise, you will still be running the old (and vulnerable) kernel image.
it: Nel caso in cui stiate effettuando un aggiornamento di sicurezza che coinvolge anche il kernel è <emphasis>necessario</emphasis> riavviare il sistema affinché l'aggiornamento di sicurezza sia efficace. Finché il sistema non viene riavviato rimane in esecuzione la vecchia (e vulnerabile) immagine del kernel.

en: Change the BIOS (again)
it: Modificare il BIOS (ancora)

en: Remember <xref linkend="bios-passwd" />? Well, then you should now, once you do not need to boot from removable media, to change the default BIOS setup so that it <emphasis>only</emphasis> boots from the hard drive. Make sure you will not lose the BIOS password, otherwise, in the event of a hard disk failure you will not be able to return to the BIOS and change the setup so you can recover it using, for example, a CD-ROM.
it: Ricordate il paragrafo <xref linkend="bios-passwd" />? Bene, fatelo ora, se non avete bisogno che l'avvio della macchina avvenga da un supporto rimuovibile, modificate il BIOS per renderla avviabile <emphasis>solamente</emphasis> dall'hard disk. Prestate attenzione a non perdere la password del BIOS, altrimenti in caso di fallimento dell'avvio non potrete entrare nel BIOS e cambiare media, ad esempio per avviare da CD-ROM.

en: Another less secure but more convenient way is to change the setup to have the system boot up from the hard disk and, if it fails, try removable media. By the way, this is often done because most people don't use the BIOS password that often; it's easily forgotten.
it: Un altro piccolo accorgimento potrebbe essere quello di cambiare la configurazione del BIOS, permettendo al sistema di partire dall'hard disk e se questo fallisse allora provare con un supporto removibile. A proposito, molte persone non usano la password per il BIOS ed è quindi facile dimenticarsene.

en: Set a LILO or GRUB password
it: Impostazione della password in LILO o GRUB

en: To make sure that this cannot happen, you should set a password for the boot loader. You can choose between a global password or a password for a certain image.
it: Per essere sicuri di evitare di trovarvi in questa situazione dovete impostare una password per il vostro boot loader. Potete scegliere se impostare la password globalmente, oppure per una determinata immagine.

en: Then, make sure that the configuration file is not world readable to prevent local users from reading the password. When done, rerun lilo. Omitting the <literal>restricted</literal> line causes lilo to always prompt for a password, regardless of whether LILO was passed parameters. The default permissions for <filename>/etc/lilo.conf</filename> grant read and write permissions to root, and enable read-only access for <filename>lilo.conf</filename>'s group, root.
it: Successivamente, assicuratevi che il file di configurazione non sia leggibile da tutti, in modo da impedire che i normali utenti possano leggere la password. Fatto ciò, riavviate lilo. Omettere la riga contenente <literal>restricted</literal> fa sì che lilo chieda sempre una password, indipendentemente dal fatto che gli siano stati passati dei parametri o meno. I permessi predefiniti per il file <filename>/etc/lilo.conf</filename> consentono l'accesso in scrittura ed in lettura all'utente root e l'accesso in lettura al gruppo utenti cui appartiene il file, root.

en: If you use GRUB instead of LILO, edit <filename>/boot/grub/menu.lst</filename> and add the following two lines at the top (substituting, of course <userinput>hackme</userinput> with the desired password). This prevents users from editing the boot items. <userinput>timeout 3</userinput> specifies a 3 second delay before <command>grub</command> boots the default item.
it: Se al posto di LILO usate GRUB, modificate <filename>/boot/grub/menu.lst</filename> ed aggiungete le seguenti due righe all'inizio (naturalmente, sostituite <literal>hackme</literal> con la vostra password). Questo previene che si modifichi la configurazione di avvio. La direttiva <literal>timeout 3</literal> istruisce <command>grub</command> ad attendere 3 secondi prima di avviare il sistema.

en: To further harden the integrity of the password, you may store the password in an encrypted form. The utility <command>grub-md5-crypt</command> generates a hashed password which is compatible with GRUB's encrypted password algorithm (MD5). To specify in <command>grub</command> that an MD5 format password will be used, use the following directive:
it: Per conservare l'integrità delle password, si può generare una password cifrata. Il programma <command>grub-md5-crypt</command> genera una password compatibile con l'algoritmo di cifratura per le password di GRUB (MD5). Per specificare in <command>grub</command> che si intende usare il sistema di password nel formato MD5, bisogna usare la seguente direttiva:

en: The --md5 parameter was added to instruct <command>grub</command> to perform the MD5 authentication process. The provided password is the MD5 encrypted version of hackme. Using the MD5 password method is preferable to choosing its clear-text counterpart. More information about <command>grub</command> passwords may be found in the <application>grub-doc</application> package.
it: Il parametro --md5, istruisce <command>grub</command> ad usare il processo di autenticazione MD5. L'esempio riporta la versione cifrata con MD5 della parola hackme. Usare il metodo di cifratura delle password MD5 è preferibile che lasciare il testo chiaramente leggibile. Potete trovare altre informazioni sull'uso delle password con <command>grub</command> nel pacchetto <application>grub-doc</application>.

en: Disable root prompt on the initramfs
it: Disabilitare il prompt di root su initramfs

en: Note: This applies to the default kernels provided for releases after Debian 3.1
it: Notate: questo si riferisce ai kernel predefiniti forniti in versioni successive a Debian 3.1

en: Remove root prompt on the kernel
it: Rimuovere il prompt root nel kernel

en: Note: This does not apply to the kernels provided for Debian 3.1 as the timeout for the kernel delay has been changed to 0.
it: Notate: questo non si applica ai kernel forniti per Debian 3.1 come anche il timeout per il ritardo del kernel è stato impostato a 0.

en: Linux 2.4 kernels provide a way to access a root shell while booting which will be presented just after loading the cramfs file system. A message will appear to permit the administrator to enter an executable shell with root permissions, this shell can be used to manually load modules when autodetection fails. This behavior is the default for <command>initrd</command>'s <filename>linuxrc</filename>. The following message will appear:
it: I kernel Linux della versione 2.4 forniscono la possibilità di accedere ad una shell da superutente durante il boot di sistema, subito dopo il caricamento del file system cramfs. Apparirà un messaggio che permetterà all'amministratore di accedere ad una shell con privilegi di superutente, questa può essere usata per caricare manualmente i moduli qualora il riconoscimento automatico fallisca. Questo è il comportamento predefinito per gli <command>initrd</command> e per <filename>linuxrc</filename>. Apparirà il seguente messaggio:

en: In order to remove this behavior you need to change <filename>/etc/mkinitrd/mkinitrd.conf</filename> and set:
it: Per rimuovere questo comportamento dovrete modificare <filename>/etc/mkinitrd/mkinitrd.conf</filename> ed impostare:

en: Then regenerate your ramdisk image. You can do this for example with:
it: Quindi dovrete rigenerare l'immagine del ramdisk. Lo potete fare con:

en: or (preferred):
it: Oppure (preferito):

en: Restricting console login access
it: Circoscrivere l'accesso alla console

en: When using PAM, other changes to the login process, which might include restrictions to users and groups at given times, can be configured in <filename>/etc/pam.d/login</filename>. An interesting feature that can be disabled is the possibility to login with null (blank) passwords. This feature can be limited by removing <emphasis>nullok</emphasis> from the line:
it: Quando viene utilizzato PAM, altre modifiche al processo di autenticazione, comprese restrizioni a livello utente e gruppo durante orari prestabiliti, possono essere configurate in <filename>/etc/pam.d/login</filename>. Un' interessante caratteristica è quella di poter disabilitare l'autenticazione con password nulle. Questa caratteristica può essere abilitata rimuovendo <emphasis>nullok</emphasis> dalla riga:

en: Restricting system reboots through the console
it: Circoscrivere la possibilità di riavviare da console

en: Mounting partitions the right way
it: Montare le partizioni nel modo giusto

en: You see the difference in the options sections. The option <literal>nosuid</literal> ignores the setuid and setgid bits completely, while <literal>noexec</literal> forbids execution of any program on that mount point, and <literal>nodev</literal> ignores device files. This sounds great, but it:
it: Potete vedere le differenze nella sezione delle opzioni. L'opzione <literal>nosuid</literal> ignora completamente i bit setuid e setgid, mentre <literal>noexec</literal> impedisce l'esecuzione di qualsiasi programma su quel punto di montaggio e <literal>nodev</literal> ignora i file dispositivo. Sembra grandioso ma:

en: can be circumvented easily
it: può essere facilmente aggirato

en: The <literal>noexec</literal> option prevents binaries from being executed directly, but was easily circumvented in earlier versions of the kernel:
it: L'opzione <literal>noexec</literal> evita l'esecuzione diretta dei file binari, ma veniva aggirata facilmente nelle versioni precedenti del kernel:

en: Newer versions of the kernel do however handle the <literal>noexec</literal> flag properly:
it: Comunque i kernel più recenti gestiscono correttamente l'opzione <literal>noexec</literal>:

en: 
      angrist:/tmp# mount | grep /tmp
      /dev/hda3 on /tmp type ext3 (rw,noexec,nosuid,nodev)
      angrist:/tmp# ./date
      bash: ./tmp: Permission denied 
      angrist:/tmp# /lib/ld-linux.so.2 ./date 
      ./date: error while loading shared libraries: ./date: failed to map segment 
      from shared object: Operation not permitted
it: 
      angrist:/tmp# mount | grep /tmp
      /dev/hda3 on /tmp type ext3 (rw,noexec,nosuid,nodev)
      angrist:/tmp# ./date
      bash: ./tmp: Permission denied
      angrist:/tmp# /lib/ld-linux.so.2 ./date
      ./date: error while loading shared libraries: ./date: failed to map segment
      from shared object: Operation not permitted

en: The following is a more thorough example. A note, though: <filename>/var</filename> could be set noexec, but some software <footnote><para>Some of this includes the package manager <application>dpkg</application> since the installation (post,pre) and removal (post,pre) scripts are at <filename>/var/lib/dpkg/</filename> and Smartlist</para></footnote> keeps its programs under in <filename>/var</filename>. The same applies to the nosuid option.
it: Il seguente è un altro esempio. Una nota: <filename>/var</filename> può essere impostata noexec, ma certo software <footnote><para>Tra questi i programmi Smartlist ed il gestore dei pacchetti <application>dpkg</application>, visto che gli script di installazione (post, pre) e di rimozione (post, pre) sono in <filename>/var/lib/dpkg/</filename>.</para></footnote> mette i propri eseguibili in <filename>/var</filename>. Lo stesso si applica all'opzione nosuid.

en: Setting <filename>/tmp</filename> noexec
it: Impostare <filename>/tmp</filename> come noexec

en: Setting /usr read-only
it: Impostare /usr in sola lettura

en: If you set <filename>/usr</filename> read-only you will not be able to install new packages on your Debian GNU/Linux system. You will have to first remount it read-write, install the packages and then remount it read-only. <application>apt</application> can be configured to run commands before and after installing packages, so you might want to configure it properly.
it: Se impostate <filename>/usr</filename> in sola lettura non potrete più installare nuovi pacchetti sul vostro sistema Debian GNU/Linux. Dovrete prima rimontarla in lettura-scrittura, installare i pacchetti e poi rimontarla in sola lettura. <application>apt</application> può essere configurato per eseguire comandi prima e dopo l'installazione dei pacchetti, per cui potreste volerlo configurare correttamente.

en: To do this modify <filename>/etc/apt/apt.conf</filename> and add:
it: Per farlo, modificate <filename>/etc/apt/apt.conf</filename> aggiungendo:

en: Note that the Post-Invoke may fail with a "/usr busy" error message. This happens mainly when you are using files during the update that got updated. You can find these programs by running
it: Notate che Post-Invoke può fallire con un messaggio d'errore "/usr busy". Questo succede frequentemente quando si stanno aggiornando alcuni file mentre eseguiamo l'aggiornamento. Potete trovare questi programmi eseguendo:

en: Providing secure user access
it: Fornire un accesso sicuro per gli utenti

en: User authentication: PAM
it: Autenticazione degli utenti: PAM

en: PAM (Pluggable Authentication Modules) allows system administrators to choose how applications authenticate users. Note that PAM can do nothing unless an application is compiled with support for PAM. Most of the applications that are shipped with Debian have this support built in (Debian did not have PAM support before 2.2). The current default configuration for any PAM-enabled service is to emulate UNIX authentication (read <filename>/usr/share/doc/libpam0g/Debian-PAM-MiniPolicy.gz</filename> for more information on how PAM services <emphasis>should</emphasis> work in Debian).
it: PAM (Pluggable Authentication Modules) permette agli amministratori di sistema di scegliere come le applicazioni autenticano gli utenti. Notate che PAM non funziona se un'applicazione non è stata compilata con il supporto per PAM. Molte delle applicazioni fornite con Debian hanno questo supporto integrato (inoltre Debian non ha il supporto PAM per versioni precedenti alla 2.2). L'attuale configurazione predefinita per un qualsiasi servizio abilitato PAM è emulare l'autenticazione UNIX (leggete in <filename>/usr/share/doc/libpam0g/Debian-PAM-MiniPolicy.gz</filename> per ulteriori informazioni su come i servizi PAM <emphasis>dovrebbero</emphasis> funzionare in Debian).

en: Each application with PAM support provides a configuration file in <filename>/etc/pam.d/</filename> which can be used to modify its behavior:
it: Ogni applicazione con supporto PAM ha un file di configurazione in <filename>/etc/pam.d/</filename> che può essere usato per modificare il suo comportamento:

en: what backend is used for authentication.
it: quale programma sottostante viene utilizzato per l'autenticazione.

en: what backend is used for sessions.
it: quale programma sottostante viene utilizzato per le sessioni.

en: how do password checks behave.
it: come si comportano i controlli delle password.

en: To make sure that the user root can only log into the system from local terminals, the following line should be enabled in <filename>/etc/pam.d/login</filename>:
it: Per essere sicuri che l'utente root possa solo autenticarsi nel sistema da terminali locali, si dovrebbe aggiungere in <filename>/etc/pam.d/login</filename> la seguente riga:

en: This restricts the system resources that users are allowed (see below in <xref linkend="user-limits" />). For example, you could restrict the number of concurrent logins (of a given group of users, or system-wide), number of processes, memory size etc.
it: Questa riga riduce le risorse di sistema che gli utenti possono usare (vedete più avanti in <xref linkend="user-limits" />). Per esempio, potreste ridurre il numero di login concorrenti (di un certo gruppo di utenti, o globalmente) ammessi, il numero di processi, la dimensione della memoria etc. etc.

en: This makes sure that only people from the group "wheel" can use <command>su</command> to become root. Other users will not be able to become root. In fact they will get a denied message if they try to become root.
it: Questo garantisce che solo le persone del gruppo "wheel" possano usare <command>su</command> per diventare root. Gli altri utenti non saranno in grado di diventare root. Infatti otterranno un messaggio di errore se cercheranno di diventarlo.

en: These lines will provide a good default configuration for all applications that support PAM (access is denied by default).
it: Queste righe forniranno una buona configurazione di base per tutte le applicazioni che supportano PAM (l'accesso viene negato in modo predefinito).

en: Limiting resource usage: the <filename>limits.conf</filename> file
it: Limitare l'uso delle risorse: il file <filename>limits.conf</filename>

en: You should really take a serious look into this file. Here you can define user resource limits. In old releases this configuration file was <filename>/etc/limits.conf</filename>, but in newer releases (with PAM) the <filename>/etc/security/limits.conf</filename> configuration file should be used instead.
it: Questo file è molto importante in quanto permette di definire dei limiti nell'utilizzo delle risorse per gli utenti del sistema. Nelle vecchie versioni di Debian questo file si trovava in <filename>/etc/limits.conf</filename>, ma nelle nuove versioni (che utilizzano PAM) questo file è stato spostato in <filename>/etc/security/limits.conf</filename>.

en: If you do not restrict resource usage, <emphasis>any</emphasis> user with a valid shell in your system (or even an intruder who compromised the system through a service or a daemon going awry) can use up as much CPU, memory, stack, etc. as the system can provide. This <emphasis>resource exhaustion</emphasis> problem can be fixed by the use of PAM.
it: Se non si pongono dei limiti all'utilizzo delle risorse del computer, <emphasis>qualsiasi</emphasis> utente che abbia accesso ad una shell sul sistema (o anche un intruso che abbia compromesso il sistema tramite un servizio o un demone) può usare tutta la CPU, la RAM, lo stack e le altre risorse a disposizione del sistema. Questo problema di <emphasis>esaurimento delle risorse</emphasis> può essere corretto usando PAM.

en: Resource limits are imposed by the kernel, but they need to be configured through the <filename>limits.conf</filename> and the PAM configuration of the different services need to load the appropriate PAM. You can check which services are enforcing limits by running:
it: I limiti sull'utilizzo delle risorse vengono fatti rispettare dal kernel e si configurano tramite il file <filename>limits.conf</filename>. Inoltre, le configurazioni PAM dei vari servizi hanno la necessità di poter accedere alle corrette impostazioni PAM. Potete controllare quali servizi siano sotto controllo ed imporre dei limiti eseguendo il seguente comando:

en: Commonly, <filename>login</filename>, <filename>ssh</filename> and the graphic session managers (<filename>gdm</filename>, <filename>kdm</filename> or <filename>xdm</filename>) should enforce user limits but you might want to do this in other PAM configuration files, such as <filename>cron</filename>, to prevent system daemons from taking over all system resources.
it: Solitamente, <filename>login</filename>, <filename>ssh</filename> ed i gestori di sessioni grafiche (<filename>gdm</filename>, <filename>kdm</filename> o <filename>xdm</filename>) dovrebbero occuparsi di far rispettare i limiti sull'utilizzo delle risorse, ma questo compito potrebbe anche essere delegato ad altri file di configurazione di PAM, magari inseriti in <filename>cron</filename>, per prevenire che i demoni di sistema si approprino di tutte le risorse disponibili.

en: The specific limits settings you might want to enforce depend on your system's resources, that's one of the main reasons why no limits are enforced in the default installation.
it: I particolari limiti imposti all'uso di risorse per il proprio sistema dipendono dalle risorse a disposizione del sistema stesso, questo è uno dei motivi per cui non vengono creati dei limiti nell'installazione predefinita di Debian.

en: For example, the configuration example below enforces a 100 process limit for all users (to prevent <emphasis>fork bombs</emphasis>) as well as a limit of 10MB of memory per process and a limit of 10 simultaneous logins. Users in the <literal>adm</literal> group have higher limits and can produce core files if they want to (there is only a <emphasis>soft</emphasis> limit).
it: Per esempio, nelle righe seguenti c'é un estratto di un file di configurazione che imposta, per ogni utente, un limite massimo di 100 processi in esecuzione contemporanea (per evitare che l'utilizzo indiscriminato di <emphasis>fork()</emphasis> blocchi il sistema), un limite massimo di occupazione di memoria per ogni processo di 10MB ed un limite massimo di 10 login contemporanei. Gli utenti nel gruppo <literal>adm</literal> hanno dei limiti più alti e se vogliono possono produrre dei file core (c'é solo un limite <emphasis>soft</emphasis> sui file core).

en: These would be the limits a default user (including system daemons) would have:
it: I limiti che un utente normale (inclusi i demoni di sistema) avrebbe sono elencabili dal comando:

en: And these are the limits for an administrative user:
it: E questi sono i limiti per un utente con poteri amministrativi:

en: For more information read:
it: Per ulteriori informazioni leggete:

en: <ulink url="http://seifried.org/lasg/users/">LASG</ulink> in the <emphasis>Limiting and monitoring users</emphasis> section.
it: <ulink name="LASG" url="http://seifried.org/lasg/users/" /> nella sezione <emphasis>Limitare e monitorare gli utenti</emphasis>.

en: If you enable this variable, failed logins will be logged. It is important to keep track of them to catch someone who tries a brute force attack.
it: Se si abilita questa variabile, la fallita autenticazione verrà riportata nei log. Questo è fondamentale per tenere traccia di chiunque provi degli attacchi a forza bruta.

en: If you set this variable to 'yes' it will record unknown usernames if the login failed. It is best if you use 'no' (the default) since, otherwise, user passwords might be inadvertenly logged here (if a user mistypes and they enter their password as the username). If you set it to 'yes', make sure the logs have the proper permissions (640 for example, with an appropriate group setting such as adm).
it: Nel caso venga impostata tale variabile a 'yes' il programma memorizzerà i nomi utenti non presenti sul sistema, nel caso in cui la procedura di login fallisca per tale ragione. &Egrave; comunque consigliabile impostare tale opzione a 'no' (ovverosia lasciare il valore predefinito) in quanto è possibile che un utente, inavvertitamente, scriva la propria password al posto del suo nome utente al prompt di login. Se la variabile viene impostata a 'yes', la password dell'utente verrà registrata. Nel caso in cui la variabile sia impostata al valore 'yes', sarà importante assegnare appropriati permessi ai file di log che registrano quel tipo di informazioni (per esempio, potreste impostarli a 640 ed assegnarli ad un gruppo appropriato quale ad esempio quello degli amministratori).

en: This one enables logging of <command>su</command> attempts to <filename>syslog</filename>. Quite important on serious machines but note that this can create privacy issues as well.
it: Questo abiliterà il logging dei tentativi di esecuzione del comando <command>su</command> in <filename>syslog</filename>. Questione molto importante su una macchina seria ma attenzione che può creare dei problemi con la privacy.

en: Restricting ftp: editing <filename>/etc/ftpusers</filename>
it: Restrizioni ftp: modificare il file <filename>/etc/ftpusers</filename>

en: The <filename>/etc/ftpusers</filename> file contains a list of users who are not allowed to log into the host using ftp. Only use this file if you really want to allow ftp (which is not recommended in general, because it uses clear-text passwords). If your daemon supports PAM, you can also use that to allow and deny users for certain services.
it: Il file <filename>/etc/ftpusers</filename> contiene l'elenco degli utenti che non sono autorizzati ad autenticarsi all'host usando il servizio ftp. Solo usando questo metodo potete autorizzare gli utenti ad accedere all'ftp (solitamente questo è sconsigliato poiché usa le password in chiaro). Se i demoni attivi supportano PAM, si può anche usare questo metodo per autorizzare o negare agli utenti l'accesso ai servizi.

en: FIXME (BUG): Is it a bug that the default <filename>ftpusers</filename> in Debian does <emphasis>not</emphasis> include all the administrative users (in <application>base-passwd</application>).
it: FIXME (BUG): questo è un bug di Debian, la configurazione predefinita <emphasis>non</emphasis> include negli <filename>ftpusers</filename> tutti gli utenti amministratori (in <application>base-passwd</application>).

en: A convenient way to add all system accounts to the <filename>/etc/ftpusers</filename> is to run
it: Un sistema utile per aggiungere al file <filename>/etc/ftpusers</filename> tutti gli account di sistema è eseguire

en: Using su
it: Utilizzo di su

en: If you really need users to become the super user on your system, e.g. for installing packages or adding users, you can use the command <command>su</command> to change your identity. You should try to avoid any login as user root and instead use <command>su</command>. Actually, the best solution is to remove <command>su</command> and switch to the <command>sudo</command> mechanism which has a broader logic and more features than <command>su</command>. However, <command>su</command> is more common as it is used on many other Unices.
it: Se veramente gli utenti hanno la necessità di diventare super user sul vostro sistema, ad esempio per installare dei pacchetti o aggiungere utenti, potete utilizzare il comando <command>su</command> per cambiare la vostra identità. Dovreste tentare di evitare ogni accesso come utente root ed utilizzare invece <command>su</command>. Al momento, la soluzione migliore è rimuovere <command>su</command> e passare a <command>sudo</command>, che consente una scelta più ampia di soluzioni rispetto a <command>su</command>. Ad ogni modo, <command>su</command> è più comune visto che viene utilizzato su numerosi altri Unix.

en: Using sudo
it: Utilizzo di sudo

en: Disallow remote administrative access
it: Non permettere accessi per amministrazione remota

en: You should also modify <filename>/etc/security/access.conf</filename> to disallow remote logins to administrative accounts. This way users need to invoke <command>su</command> (or <command>sudo</command>) to use any administrative powers and the appropriate audit trace will always be generated.
it: Per impedire il login da remoto di account amministrativi dovete modificare <filename>/etc/security/access.conf</filename>. In questo modo gli utenti dovranno usare <command>su</command> (o <command>sudo</command>) e così rimarrà sempre traccia che un utente locale vuole usare i privilegi di amministratore.

en: You need to add the following line to <filename>/etc/security/access.conf</filename>, the default Debian configuration file has a sample line commented out:
it: Dovete aggiungere la seguente riga a <filename>/etc/security/access.conf</filename>, il file di configurazione predefinito di Debian ha una riga simile commentata:

en: Restricting users's access
it: Restrizioni agli utenti per l'accesso

en: Sometimes you might think you need to have users created in your local system in order to provide a given service (pop3 mail service or ftp). Before doing so, first remember that the PAM implementation in Debian GNU/Linux allows you to validate users with a wide variety of external directory services (radius, ldap, etc.) provided by the libpam packages.
it: A volte potreste pensare di avere la necessità di creare utenti nel vostro sistema locale per fornire un determinato servizio (pop3 mail o ftp). Prima di fare ciò, ricordatevi che l'implementazione di PAM in Debian GNU/Linux permette di validare utenti con un'ampia varietà di servizi di directory esterni (radius, ldap, ecc.) forniti dai pacchetti libpam.

en: If you wish to restrict <emphasis>when</emphasis> users can access the system you will have to customize <filename>/etc/security/access.conf</filename> for your needs.
it: Se desiderate limitare il <emphasis>quando</emphasis> gli utenti possono accedere al sistema dovrete configurare <filename>/etc/security/access.conf</filename> per i vostri bisogni.

en: Information on how to <command>chroot</command> users accessing the system through the <command>ssh</command> service is described in <xref linkend="chroot-ssh-env" />.
it: Per informazioni su come ingabbiare con <command>chroot</command> gli utenti che accedono al sistema mediante il servizio <command>ssh</command> vedete in <xref linkend="chroot-ssh-env" />.

en: User auditing
it: Esame delle attività degli utenti

en: If you are really paranoid you might want to add a system-wide configuration to audit what the users are doing in your system. This sections presents some tips using diverse utilities you can use.
it: Nel caso in cui siate molto sospettosi, potreste configurare l'intero sistema in modo che esami continuamente tutte le attività che gli utenti svolgono nel sistema. Questa sezione presenta alcuni consigli e introduce alcuni strumenti utili.

en: Input and output audit with script
it: Controllo di input e output con script

en: You can use the <command>script</command> command to audit both what the users run and what are the results of those commands. You cannot setup <command>script</command> as a shell (even if you add it to <filename>/etc/shells</filename>). But you can have the shell initialization file run the following:
it: Potete utilizzare il comando <command>script</command> per controllare sia ciò che gli utenti stanno eseguendo, sia i risultati di questi comandi. Non potete impostare <command>script</command> come una shell (anche se lo aggiungete a <filename>/etc/shells</filename>), ma potete far sì che il file di inizializzazione della shell esegua i seguenti comandi:

en: Of course, if you do this system wide it means that the shell would not continue reading personal initialization files (since the shell gets overwritten by <command>script</command>). An alternative is to do this in the user's initialization files (but then the user could remove this, see the comments about this below)
it: Di certo, se fate questo globalmente, per tutto il sistema, impedirete che la shell legga i file di inizializzazione personali (dato che la shell viene sovrascritta da <command>script</command>). Un'alternativa è fare questo nei file di inizializzazione dell'utente (ma poi l'utente lo potrà rimuovere, vedete i commenti sotto su questo).

en: You also need to setup the files in the audit directory (in the example <filename>/var/log/sessions/</filename>) so that users can write to it but cannot remove the file. This could be done, for example, by creating the user session files in advance and setting them with the <emphasis>append-only</emphasis> flag using <command>chattr</command>.
it: Dovrete anche impostare i file nella directory da controllare (nell'esempio <filename>/var/log/sessions/</filename>) così che gli utenti possano scrivere in essa ma non possano rimuovere il file. Questo può essere fatto, per esempio, creando i file di sessione dell'utente in anticipo ed impostandoli con l'opzione <emphasis>append-only</emphasis> utilizzando <command>chattr</command>.

en: A useful alternative for sysadmins, which includes date information would be:
it: Un'utile alternativa per gli amministratori di sistema, che include l'informazione della data, sarebbe:

en: Using the shell history file
it: Uso del file storico dei comandi della shell

en: If you want to review what does the user type in the shell (but not what the result of that is) you can setup a system-wide <filename>/etc/profile</filename> that configures the environment so that all commands are saved into a history file. The system-wide configuration needs to be setup in such a way that users cannot remove audit capabilities from their shell. This is somewhat shell specific so make sure that all users are using a shell that supports this.
it: Se volete rivedere i comandi che l'utente ha usato sulla shell (ma non qual'è stato il risultato di quei comandi), potete impostare un <filename>/etc/profile</filename> a livello di sistema, che configuri l'ambiente in modo tale che tutti i comandi vengano registrati in un file storico dei comandi. La configurazione a livello di sistema deve essere fatta in modo tale che gli utenti non possano rimuovere le capacità di verifica e registrazione della propria shell. Questo è qualcosa di specifico della shell, perciò assicuratevi che tutti gli utenti stiano usando una shell che supporti questa funzionalità.

en: Complete user audit with accounting utilities
it: Completate il controllo dell'utente con le utility per gli account

en: The previous example is a simple way to configure user auditing but might be not useful for complex systems or for those in which users do not run shells at all (or exclusively). If this is your case, you need to look at <application>acct</application>, the accounting utilities. These utilities will log all the commands run by users or processes in the system, at the expense of disk space.
it: L'esempio precedente è un modo semplice per configurare il controllo dell'utente ma potrebbe non essere utile per sistemi complessi o per quelli nei quali l'utente non usa per niente o quasi le shell. Se questo è il vostro caso, potete dare un'occhiata alla utility per account <application>acct</application>. Questo programma registrerà tutti i comandi dati dagli utenti o dai processi nel sistema, a scapito dello spazio disco.

en: When activating accounting, all the information on processes and users is kept under <filename>/var/account/</filename>, more specifically in the <filename>pacct</filename>. The accounting package includes some tools (<command>sa</command>, <command>ac</command> and <command>lastcomm</command>) to analyse this data.
it: All'attivazione dell'accounting tutte le informazioni su processi ed utenti verranno mantenute sotto <filename>/var/account/</filename>, o più specificamente nel file <filename>pacct</filename>. Il pacchetto per l'account include alcuni strumenti, come <command>sa</command>, <command>ac</command> e <command>lastcomm</command>, che permettono di analizzare questi dati.

en: Other user auditing methods
it: Altri metodi di controllo dell'utente

en: Reviewing user profiles
it: Uno sguardo ai profili utente

en: If you want to <emphasis>see</emphasis> what users are actually doing when they logon to the system you can use the <filename>wtmp</filename> database that includes all login information. This file can be processed with several utilities, amongst them <command>sac</command> which can output a profile on each user showing in which timeframe they usually log on to the system.
it: Se volete <emphasis>vedere</emphasis> cosa fanno solitamente gli utenti quando si connettono, potete usare il database <filename>wtmp</filename> che include tutte le informazioni di login. Il file può essere processato con diverse utility, tra cui <command>sac</command> che può restituire un profilo per ogni utente che mostra in quale arco di tempo si è connesso.

en: In case you have accounting activated, you can also use the tools provided by it in order to determine when the users access the system and what do they execute.
it: Nel caso in cui abbiate attivato l'accounting, potete anche utilizzare gli strumenti da esso forniti per determinare quando gli utenti accedono al sistema e che cosa eseguono.

en: Setting users umasks
it: Impostare delle umask per gli utenti

en: Depending on your user policy you might want to change how information is shared between users, that is, what the default permissions of new files created by users are.
it: In base al vostro codice di condotta riguardo agli utenti, potreste voler cambiare il modo in cui gli utenti si scambiano informazioni, ossia quali siano i permessi predefiniti dei nuovi file creati dagli utenti.

en: Debian's default <literal>umask</literal> setting is <emphasis>022</emphasis> this means that files (and directories) can be read and accessed by the user's group and by any other users in the system. This definition is set in the standard configuration file <filename>/etc/profile</filename> which is used by all shells.
it: L'impostazione predefinita di Debian per l'<literal>umask</literal> è <emphasis>022</emphasis>, questo significa che i file (e le directory) possono essere lette e visitate dai membri del gruppo dell'utente e da qualsiasi altro utente del sistema. Questa definizione si trova nel classico file di configurazione <filename>/etc/profile</filename>, che viene utilizzato da tutte le shell.

en: For connections that make use of <command>login</command> the UMASK definition in <filename>/etc/login.defs</filename> is used before any of the others. However, that value does not apply to user executed programs that do not use <command>login</command> such as those run through <command>su</command>, <command>cron</command> or <command>ssh</command>.
it: Per connessioni che fanno uso di <command>login</command> viene usata, prima di tutte le altre, la configurazione di UMASK definita in <filename>/etc/login.defs</filename>. Ad ogni modo questo valore non viene applicato ai programmi eseguiti dall'utente che non usano <command>login</command>, come ad esempio quelli eseguiti per mezzo di <command>su</command>, <command>cron</command> o <command>ssh</command>.

en: Don't forget to review and maybe modify the dotfiles under <filename>/etc/skel/</filename> since these will be new user's defaults when created with the <command>adduser</command> command. Debian default dotfiles do not include any <command>umask</command> call but if there is any in the dotfiles newly created users might a different value.
it: Non dimenticate di rivedere e magari modificare i file che iniziano con il punto sotto <filename>/etc/skel/</filename> dato che questi saranno i file predefiniti dei nuovi utenti quando verranno creati con il comando <command>adduser</command>. I file di Debian predefiniti che iniziano con il punto non includono alcuna chiamata a <command>umask</command>, ma se ce ne dovessero essere, i nuovi utenti creati potrebbero avere valori differenti.

en: Note, however that users can modify their own <literal>umask</literal> setting if they want to, making it more permissive or more restricted, by changing their own dotfiles.
it: Notate comunque che gli utenti possono modificare l'impostazione della propria a propria <literal>umask</literal> se lo vogliono, rendendola più o meno permissiva modificando i propri file che iniziano con il punto.

en: The <application>libpam-umask</application> package adjusts the users' default <literal>umask</literal> using PAM. Add the following, after installing the package, to <filename>/etc/pam.d/common-session</filename>:
it: Il pacchetto <application>libpam-umask</application> regola l'<literal>umask</literal> predefinita degli utenti utilizzando PAM. Aggiungete la seguente riga a <filename>/etc/pam.d/common-session</filename> dopo aver installato il pacchetto:

en: Finally, you should consider changing root's default 022 umask (as defined in <filename>/root/.bashrc</filename>) to a more strict umask. That will prevent the system administrator from inadvertenly dropping sensitive files when working as root to world-readable directories (such as <filename>/tmp</filename>) and having them available for your average user.
it: Infine, dovreste prendere in considerazione il cambiamento dell'umask predefinita 022 di root (come definita in <filename>/root/.bashrc</filename>) con una umask più restrittiva. Questo impedirà all'amministratore di sistema di rimuovere inavvertitamente file sensibili quando lavora come root in directory leggibili da tutti (come <filename>/tmp</filename>) e averli disponibili per il proprio utente medio.

en: Limiting what users can see/access
it: Porre limiti a ciò a cui gli utenti possono accedere

en: FIXME: Content needed. Describe the consequences of changing packages permissions when upgrading (an admin this paranoid should <command>chroot</command> his users BTW) if not using <command>dpkg-statoverride</command>.
it: FIXME. Dei contenuti sono necessari. Descrivere le conseguenze relative al cambiare i permessi ai pacchetti quando si aggiornano (ed un admin paranoico dovrebbe mettere in <command>chroot</command> i suoi utenti, comunque), se non utilizzando <command>dpkg-statoverride</command>.

en: If you need to grant users access to the system with a shell think about it very carefully. A user can, by default unless in a severely restricted environment (like a <literal>chroot</literal> jail), retrieve quite a lot of information from your system including:
it: Se dovete dare accesso shell agli utenti, pensateci bene. Un utente, a meno che non sia in un ambiente pieno di restrizioni (come una gabbia <literal>chroot</literal>), può carpire molte informazioni sul sistema, tra cui:

en: your installed packages, either by looking at the package database, at the <filename>/usr/share/doc</filename> directory or by guessing by looking at the binaries and libraries installed in your system.
it: i pacchetti installati, sia guardando il database dei pacchetti in <filename>/usr/share/doc</filename> che tirando ad indovinare guardando gli eseguibili e le librerie installate.

en: What can a user see in your system? Probably quite a lot of things, try this (take a deep breath):
it: Cosa può visualizzare un utente nel vostro sistema? Probabilmente un sacco di cose, provate questo (fate un respiro profondo):

en: Limiting access to other user's information
it: Limitare l'accesso alle informazioni di altri utenti

en: If you still grant shell access to users you might want to limit what information they can view from other users. Users with shell access have a tendency to create quite a number of files under their $HOMEs: mailboxes, personal documents, configuration of X/GNOME/KDE applications...
it: Se permettete l'accesso tramite shell da parte degli utenti potrebbe essere desiderabile limitare quali informazioni di altri utenti possano vedere. Gli utenti con accesso alla shell tendono a creare un gran numero di file nella loro $HOME: caselle di posta, documenti personali, configurazioni di applicazioni per X/GNOME/KDE...

en: In Debian each user is created with one associated group, and no two users belong to the same group. This is the default behavior: when an user account is created, a group of the same name is created too, and the user is assigned to it. This avoids the concept of a common <emphasis>users</emphasis> group which might make it more difficult for users to hide information from other users.
it: In Debian ogni utente viene creato con un gruppo associato e due utenti non appartengono mai allo stesso gruppo. Questo è il comportamento predefinito: quando l'utente X viene creato, viene creato anche un gruppo di nome X e l'utente viene assegnato a quel gruppo. Questo evita il concetto di gruppo di <emphasis>utenti</emphasis> che renderebbe più difficile per gli utenti stessi nascondere informazioni agli altri.

en: Generating user passwords
it: Generare password per gli utenti

en: There are many cases when an administrator needs to create many user accounts and provide passwords for all of them. Of course, the administrator could easily just set the password to be the same as the user's account name, but that would not be very sensitive security-wise. A better approach is to use a password generating program. Debian provides <application>makepasswd</application>, <application>apg</application> and <application>pwgen</application> packages which provide programs (the name is the same as the package) that can be used for this purpose. <command>Makepasswd</command> will generate true random passwords with an emphasis on security over pronounceability while <command>pwgen</command> will try to make meaningless but pronounceable passwords (of course this might depend on your mother language). <command>Apg</command> has algorithms to provide for both (there is a client/server version for this program but it is not included in the Debian package).
it: Ci sono molti casi in cui un amministratore ha la necessità di creare molti account e di fornire password per ognuno di essi. Ovviamente l'amministratore potrebbe semplicemente scegliere come password il nome scelto dall'utente per l'account, ma ciò non sarebbe molto furbo per quanto riguarda la sicurezza. Un approccio migliore consiste nell'usare un programma per generare password. Debian offre i pacchetti <application>makepasswd</application>, <application>apg</application> e <application>pwgen</application>, che forniscono programmi (con nome uguale a quello del pacchetto) che possono essere usati per questo scopo. <command>makepasswd</command> genererà password totalmente casuali, con enfasi sulla sicurezza piuttosto che sulla pronunciabilità, mentre <command>pwgen</command> cercherà di creare password senza senso ma pronunciabili (ovviamente questo dipende dalla lingua madre). <command>Apg</command> ha algoritmi per entrambi (per questo programma esiste una versione client/server ma non è inclusa nel pacchetto Debian).

en: Checking user passwords
it: Controllare le password degli utenti

en: User passwords can sometimes become the <emphasis>weakest link</emphasis> in the security of a given system. This is due to some users choosing weak passwords for their accounts (and the more of them that have access to it the greater the chances of this happening). Even if you established checks with the cracklib PAM module and password limits as described in <xref linkend="auth-pam" /> users will still be able to use weak passwords. Since user access might include remote shell access (over <command>ssh</command>, hopefully) it's important to make password guessing as hard as possible for the remote attackers, especially if they were somehow able to collect important information such as usernames or even the <filename>passwd</filename> and <filename>shadow</filename> files themselves.
it: Le password degli utenti possono talvolta diventare il <emphasis>componente più debole</emphasis> nella sicurezza di un sistema. Ciò è dovuto alla scelta da parte degli utenti di password di scarsa qualità per i loro account (e più utenti hanno accesso più le possibilità che questo accada crescono). Anche se sono stati impostati controlli con il modulo PAM cracklib e limiti per quanto riguarda le password, descritti nella <xref linkend="auth-pam" />, gli utenti saranno comunque in grado di usare password deboli. Poiché l'accesso per gli utenti potrebbe includerne uno da shell remote (si spera tramite <command>ssh</command>) è importante che la password sia robusta e quindi difficile da indovinare, soprattutto se fossero in qualche modo in grado di raccogliere importanti informazioni come i nomi degli utenti o anche i file <filename>passwd</filename> e <filename>shadow</filename> stessi.

en: Logging off idle users
it: Disconnettere gli utenti inattivi

en: Idle users are usually a security problem, a user might be idle maybe because he's out to lunch or because a remote connection hung and was not re-established. For whatever the reason, idle users might lead to a compromise:
it: Solitamente gli utenti inattivi sono un problema per la sicurezza. Un utente potrebbe essere inattivo perché è fuori a pranzo o perché una connessione remota interrotta non è stata ristabilita. Qualunque sia la ragione, gli utenti inattivi possono essere causa di problemi:

en: because the user's console might be unlocked and can be accessed by an intruder.
it: perché la console dell'utente potrebbe non essere bloccata e un intruso potrebbe accedervi.

en: Some remote systems have even been compromised through an idle (and detached) <command>screen</command>.
it: Alcuni sistemi remoti sono stati compromessi attraverso un programma, <command>screen</command>, inattivo (distaccato).

en: Automatic disconnection of idle users is usually a part of the local security policy that must be enforced. There are several ways to do this:
it: La disconnessione automatica degli utenti inattivi di solito è una parte della politica di sicurezza che occorre rafforzare. Ci sono molti modi per realizzarla:

en: Install <application>timeoutd</application> and configure <filename>/etc/timeouts</filename> according to your local security policy. The daemon will watch for idle users and time out their shells accordingly.
it: installare <application>timeoutd</application> e configurare <filename>/etc/timeouts</filename> secondo la propria politica di sicurezza locale. Il demone controllerà se ci sono utenti inattivi e manderà in time out le loro shell secondo la configurazione impostata.

en: Install <application>autolog</application> and configure it to remove idle users.
it: installare <application>autolog</application> e configurarlo per disconnettere gli utenti inattivi.

en: The <command>timeoutd</command> or <command>autolog</command> daemons are the preferred method since, after all, users can change their default shell or can, after running their default shell, switch to another (uncontrolled) shell.
it: I demoni <command>timeoutd</command> e <command>autolog</command> sono i metodi consigliati, dal momento che gli utenti possono cambiare la loro shell predefinita o passare ad un'altra shell (non controllata) dopo aver avviato la loro shell predefinita.

en: Using tcpwrappers
it: Usare i tcpwrapper

en: Many services installed in Debian are either:
it: Molti servizi installati in Debian vengono:

en: launched through the tcpwrapper service (<filename>tcpd</filename>)
it: lanciati mediante un servizio tcpwrapper (<filename>tcpd</filename>).

en: compiled with libwrapper support built-in.
it: compilati con il supporto a libwrapper integrato.

en: On the one hand, for services configured in <filename>/etc/inetd.conf</filename> (this includes <command>telnet</command>, <command>ftp</command>, <command>netbios</command>, <command>swat</command> and <command>finger</command>) you will see that the configuration file executes <command>/usr/sbin/tcpd</command> first. On the other hand, even if a service is not launched by the <command>inetd</command> superdaemon, support for the tcp wrappers rules can be compiled into it. Services compiled with tcp wrappers in Debian include <command>ssh</command>, <command>portmap</command>, <command>in.talk</command>, <command>rpc.statd</command>, <command>rpc.mountd</command>, <command>gdm</command>, <command>oaf</command> (the GNOME activator daemon), <command>nessus</command> and many others.
it: In un caso, per i servizi configurati mediante <filename>/etc/inetd.conf</filename> (inclusi <command>telnet</command>, <command>ftp</command>, <command>netbios</command>, <command>swat</command> e <command>finger</command>) il file di configurazione esegue prima <command>/usr/sbin/tcpd</command>. Nell'altro, anche se il servizio viene lanciato dal superdemone <command>inetd</command>, il supporto per le regole dei tcp wrapper può essere compilato al suo interno. In Debian, tra i servizi compilati con il supporto ai tcp wrapper ci sono <command>ssh, portmap, in.talk, rpc.statd, rpc.mountd, gdm, oaf</command> (il demone di attivazione GNOME), <command>nessus</command> e molti altri.

en: Take this into account when running <command>tcpdchk</command> (a very useful TCP wrappers config file rule and syntax checker). When you add stand-alone services (that are directly linked with the wrapper library) into the <filename>hosts.deny</filename> and <filename>hosts.allow</filename> files, <command>tcpdchk</command> will warn you that it is not able to find the mentioned services since it only looks for them in <filename>/etc/inetd.conf</filename> (the manpage is not totally accurate here).
it: Occorre tenerne conto quando usate <command>tcpdchk</command> (molto utile per controllare le regole e la sintassi del file di configurazione del TCP wrapper). I servizi compilati col supporto alla libreria wrapper possono essere aggiunti ai file <filename>hosts.deny</filename> e <filename>hosts.allow</filename> ma <command>tcpdchk</command> avviserà che non è in grado di trovare questi servizi, perché li cerca in <filename>/etc/inetd.conf</filename> (la pagina man non è molto chiara su questo punto).

en: <emphasis>Beware</emphasis>: The above printed example is open to a DoS attack by making many connections in a short period of time. Many emails mean a lot of file I/O by sending only a few packets.
it: <emphasis>Attenzione</emphasis>: L'esempio sopra è esposto a attacchi di tipo DoS stabilendo molte connessioni in un breve periodo di tempo. Molte email causano un elevato I/O di file spedendo solo pochi pacchetti.

en: The importance of logs and alerts
it: L'importanza di log e avvisi

en: It is easy to see that the treatment of logs and alerts is an important issue in a secure system. Suppose a system is perfectly configured and 99% secure. If the 1% attack occurs, and there are no security measures in place to, first, detect this and, second, raise alarms, the system is not secure at all.
it: &Egrave; evidente che il modo di trattare log e avvisi è una questione importante in un sistema sicuro. Supponiamo che un sistema sia perfettamente configurato e sicuro al 99%. Se viene portato un attacco al restante 1% e non ci sono misure di sicurezza pronte, innanzitutto a rilevarlo e poi ad attivare allarmi, il sistema non è per nulla sicuro.

en: Using and customizing <command>logcheck</command>
it: Usare e personalizzare <command>logcheck</command>

en: The <command>logcheck</command> package in Debian is divided into the three packages <application>logcheck</application> (the main program), <application>logcheck-database</application> (a database of regular expressions for the program) and <application>logtail</application> (prints loglines that have not yet been read). The Debian default (in <filename>/etc/cron.d/logcheck</filename>) is that <command>logcheck</command> is run every hour and after reboots.
it: Il pacchetto <command>logcheck</command> in Debian è diviso in tre parti: <command>logcheck</command> (il programma principale), <application>logcheck-database</application> (un database di espressioni regolari per il programma) e <application>logtail</application> (visualizza le righe corrispondenti ai log che non sono stati ancora visualizzati). In Debian è predefinito (in <filename>/etc/cron.d/logcheck</filename>) che <command>logcheck</command> venga eseguito giornalmente ogni ora e dopo ogni riavvio del sistema.

en: This tool can be quite useful if properly customized to alert the administrator of unusual system events. <command>Logcheck</command> can be fully customized so that it sends mails based on events found in the logs and worthy of attention. The default installation includes profiles for ignored events and policy violations for three different setups (workstation, server and paranoid). The Debian package includes a configuration file <filename>/etc/logcheck/logcheck.conf</filename>, sourced by the program, that defines which user the checks are sent to. It also provides a way for packages that provide services to implement new policies in the directories: <filename>/etc/logcheck/cracking.d/_packagename_</filename>, <filename>/etc/logcheck/violations.d/_packagename_</filename>, <filename>/etc/logcheck/violations.ignore.d/_packagename_</filename>, <filename>/etc/logcheck/ignore.d.paranoid/_packagename_</filename>, <filename>/etc/logcheck/ignore.d.server/_packagename_</filename>, and <filename>/etc/logcheck/ignore.d.workstation/_packagename_</filename>. However, not many packages currently do so. If you have a policy that can be useful for other users, please send it as a bug report for the appropriate package (as a <emphasis>wishlist</emphasis> bug). For more information read <filename>/usr/share/doc/logcheck/README.Debian</filename>.
it: Questo strumento, se propriamente configurato, può essere molto utile per segnalare all'amministratore eventi inusuali del sistema. <command>logcheck</command> può essere completamente personalizzato, in modo da spedire mail a proposito di eventi registrati nei log che sembrano degni di attenzione. L'installazione predefinita include profili (per gli eventi da ignorare e le violazioni delle politiche adottate) per tre diverse configurazioni (workstation, server e paranoid). Il pacchetto Debian include un file di configurazione <filename>/etc/logcheck/logcheck.conf</filename>, generato dal programma, che definisce a quale utente vengono spedite le verifiche. Inoltre fornisce, ai pacchetti che offrono servizi, un modo per implementare nuove politiche, nelle cartelle: <filename>/etc/logcheck/cracking.d/_packagename_</filename>, <filename>/etc/logcheck/violations.d/_packagename_</filename>, <filename>/etc/logcheck/violations.ignore.d/_packagename_</filename>, <filename>/etc/logcheck/ignore.d.paranoid/_packagename_</filename>, <filename>/etc/logcheck/ignore.d.server/_packagename_</filename> e <filename>/etc/logcheck/ignore.d.workstation/_packagename_</filename>. Tuttavia, al momento, non molti pacchetti ne fanno uso. Se avete una politica che può essere utile ad altri utenti, per favore speditela come rapporto bug per il pacchetto appropriato (come <emphasis>wishlist</emphasis> bug). Per ulteriori informazioni leggete <filename>/usr/share/doc/logcheck/README.Debian</filename>.

en: The best way to configure <command>logcheck</command> is to edit its main configuration file <filename>/etc/logcheck/logcheck.conf</filename> after installation. Change the default user (root) to whom reports should be mailed. You should set the reportlevel in there, too. <application>logcheck-database</application> has three report levels of increasing verbosity: workstation, server, paranoid. "server" being the default level, paranoid is only recommended for high-security machines running as few services as possible and workstation for relatively sheltered, non-critical machines. If you wish to add new log files just add them to <filename>/etc/logcheck/logcheck.logfiles</filename>. It is tuned for default syslog install.
it: Il modo migliore per configurare <command>logcheck</command> dopo l'installazione è modificare il suo principale file di configurazione <filename>/etc/logcheck/logcheck.conf</filename>. Cambiate l'utente predefinito (root) a cui verranno spediti i rapporti. Sempre in quel file di configurazione dovrete anche modificare il livello di prolissità del rapporto. <application>logcheck-database</application> ha tre livelli di prolissità, ovvero: workstation, server, paranoid. "server" è il livello predefinito, "paranoid" è consigliato solo per le macchine che devono garantire un'alta sicurezza per l'espletamento di determinati servizi e "workstation" per sistemi relativamente al riparo, in posizioni non critiche. Se desiderate aggiungere nuovi file di log dovrete solamente aggiungere righe in <filename>/etc/logcheck/logcheck.logfiles</filename>. &Egrave; già ottimizzato per l'installazione predefinita del demone syslog.

en: Configuring where alerts are sent
it: Configurare il file dove vengono spediti gli avvisi

en: For example, sending messages to the console also is an interesting setup useful for many production-level systems. But for many such systems it is also important to add a new machine that will serve as loghost (i.e. it receives logs from all other systems).
it: Per esempio, mandare i messaggi su una console è una configurazione utile per sistemi di diversi livelli di produzione. Ma per altri sistemi è ugualmente importante aggiungere una nuova macchina che faccia da loghost (cioè che riceva i log da tutte le altre macchine del sistema).

en: Root's mail should be considered also, many security controls (like <application>snort</application>) send alerts to root's mailbox. This mailbox usually points to the first user created in the system (check <filename>/etc/aliases</filename>). Take care to send root's mail to some place where it will be read (either locally or remotely).
it: Dovreste considerare anche la posta di root, molti programmi per il controllo della sicurezza (come <application>snort</application>) spediscono gli avvisi a root via posta. Questa mailbox di solito punta al primo utente creato nel sistema (controllate <filename>/etc/aliases</filename>). Preoccupatevi di mandare la posta di root in qualche posto dove verrà letta (localmente o remotamente).

en: There are other role accounts and aliases on your system. On a small system, it's probably simplest to make sure that all such aliases point to the root account, and that mail to root is forwarded to the system administrator's personal mailbox.
it: Ci sono altri account di ruolo ed alias nel tuo sistema. In un piccolo sistema é, probabilmente, più facile far sì che tutti gli alias puntino a root e che la posta di root venga inoltrata alla casella di posta personale dell'amministratore di sistema.

en: FIXME: It would be interesting to tell how a Debian system can send/receive SNMP traps related to security problems (jfs). Check: <application>snmptrapfmt</application>, <application>snmp</application> and <application>snmpd</application>.
it: FIXME: sarebbe interessante spiegare come un sistema Debian possa spedire/ricevere SNMP trap riguardanti problemi di sicurezza (jfs). Controllare: <application>snmptrapfmt</application>, <application>snmp</application> e <application>snmpd</application>.

en: Using a loghost
it: Usare un loghost

en: to
it: in

en: Next, configure the other machines to send data to the loghost. Add an entry like the following to <filename>/etc/syslog.conf</filename>:
it: Successivamente, configurate le altre macchine perché spediscano i dati al loghost. Aggiungete una riga simile alla seguente al file <filename>/etc/syslog.conf</filename>:

en: See the documentation for what to use in place of <emphasis>facility</emphasis> and <emphasis>level</emphasis> (they should not be entered verbatim like this). If you want to log everything remotely, just write:
it: Guardate la documentazione per cosa usare al posto di <emphasis>facility</emphasis> e <emphasis>level</emphasis> (non dovrebbero contenere queste parole). Se volete registrare ogni cosa remotamente, scrivete:

en: Log file permissions
it: Permessi dei file di log

en: Some log file permissions are not perfect after the installation (but of course this really depends on your local security policy). First <filename>/var/log/lastlog</filename> and <filename>/var/log/faillog</filename> do not need to be readable by normal users. In the <filename>lastlog</filename> file you can see who logged in recently, and in the <filename>faillog</filename> you see a summary of failed logins. The author recommends <command>chmod 660</command> for both. Take a brief look at your log files and decide very carefully which log files to make readable/writable for a user with a UID other than 0 and a group other than 'adm' or 'root'. You can easily check this in your system with:
it: Alcuni permessi sui file di log non sono perfetti dopo una installazione (ma questo ovviamente dipende dalla vostra politica di sicurezza locale). Per prima cosa <filename>/var/log/lastlog</filename> e <filename>/var/log/faillog</filename> non necessitano di essere letti dai normali utenti. Nel file <filename>lastlog</filename> potete vedere chi ha effettuato un login recentemente e in <filename>faillog</filename> potete vedere un riassunto dei login falliti. L'autore raccomanda <command>chmod 660</command> per entrambi. Date una rapida occhiata ai vostri file di log e decidete molto attentamente quali rendere leggibili/scrivibili per utenti con UID diversi da 0 e gruppi che non siano 'adm' o 'root'. Si può facilmente controllare se quanto descritto è conforme al vostro sistema con:

en: To customize how log files are created you will probably have to customize the program that generates them. If the log file gets rotated, however, you can customize the behavior of creation and rotation.
it: Per personalizzare la creazione dei file di log, probabilmente dovreste modificare il programma che li genera. Se i file di log vengono ruotati (vgs. <command>logrotate</command>), ad ogni modo, è possibile personalizzare il comportamento di creazione e rotazione.

en: Adding kernel patches
it: Includere le patch nel kernel

en: Debian GNU/Linux provides some of the patches for the Linux kernel that enhance its security. These include:
it: Debian GNU/Linux fornisce molte patch per il Kernel Linux al fine di migliorarne la sicurezza. Queste includono:

en: <application>cryptoloop-source</application>. This patches allows you to use the functions of the kernel crypto API to create encrypted filesystems using the loopback device.
it: <application>cryptoloop-source</application>. Questa patch consente di usare funzionalità crypto API del kernel per creare dei filesystem cifrati usando il dispositivo di loopback.

en: IPSEC kernel support (in package <application>linux-patch-openswan</application>). If you want to use the IPsec protocol with Linux, you need this patch. You can create VPNs with this quite easily, even to Windows machines, as IPsec is a common standard. IPsec capabilities have been added to the 2.5 development kernel, so this feature will be present by default in the future Linux Kernel 2.6. Homepage: <ulink url="http://www.openswan.org" />. <emphasis>FIXME</emphasis>: The latest 2.4 kernels provided in Debian include a backport of the IPSEC code from 2.5. Comment on this.
it: Supporto ad IPSEC nel kernel (nel pacchetto <application>linux-patch-openswan</application>). Se volete usare il protocollo IPsec con Linux, occorre questa patch, con la quale potrete creare delle VPN, anche per macchine Windows, in modo molto semplice, dal momento che IPsec è uno standard affermato. Le funzionalità IPSec sono state aggiunte al kernel di sviluppo 2.5 e queste caratteristiche verranno incluse in modo predefinito nel futuro kernel 2.6. La pagina web di riferimento: <ulink url="http://www.openswan.org" />. <emphasis>FIXME</emphasis>: Gli ultimi kernel 2.4 forniti in Debian includono un backport del codice IPSEC dal 2.5. Commenti su questo.

en: The following security kernel patches are only available for old kernel versions in woody and are deprecated:
it: Le seguenti deprecate patch per il kernel, dedicate alla sicurezza, sono disponibili solamente per le vecchie versioni dei kernel di woody:

en: <ulink name="POSIX Access Control Lists" url="http://acl.bestbits.at/" /> (ACLs) for Linux provided in the package <application>kernel-patch-acl</application>. This kernel patch adds access control lists, an advanced method for restricting access to files. It allows you to control fine-grain access to files and directory.
it: <ulink name="POSIX Access Control Lists" url="http://acl.bestbits.at/" /> (ACLs) per Linux, fornita dal pacchetto <application>kernel-patch-acl</application>. Questa patch per il kernel aggiunge elenchi di controllo degli accessi ed un metodo avanzato per limitare l'accesso ai file. Consente di controllare in modo granulare l'accesso a file e directory.

en: The <ulink name="Openwall" url="http://www.openwall.com/linux/" /> linux kernel patch by Solar Designer, provided in the <application>kernel-patch-2.2.18-openwall</application> package. This is a useful set of kernel restrictions, like restricted links, FIFOs in <filename>/tmp</filename>, a restricted <filename>/proc</filename> file system, special file descriptor handling, non-executable user stack area and other features. Note: This package applies to the 2.2 release, no packages are available for the 2.4 release patches provided by Solar.
it: La patch per il kernel linux <ulink url="http://www.openwall.com/linux/" name="Openwall" /> della Solar Designer, fornita nel pacchetto <application>kernel-patch-2.2.18-openwall</application> contiene un utile insieme di restrizioni per il kernel, come link limitati, FIFO in <filename>/tmp</filename>, un filesystem <filename>/proc</filename> limitato, la gestione di descrittori speciali di file, area di stack utente non eseguibile ed altre funzionalità. Notate: questo pacchetto si applica alla versione 2.2, mentre non sono disponibili pacchetti per le patch alla versione 2.4 fornite da Solar.

en: <application>kernel-patch-int</application>. This patch also adds cryptographic capabilities to the Linux kernel, and was useful with Debian releases up to Potato. It doesn't work with Woody, and if you are using Sarge or a newer version, you should use a more recent kernel which includes these features already.
it: <application>kernel-patch-int</application>. Questa patch estende le funzioni di criptazione del kernel e può essere usata dalle versioni Debian fino a Potato. Non funziona con Woody e se usate Sarge o una versione successiva dovreste semplicemente usare un kernel più recente visto che include già questa funzionalità.

en: However, some patches have not been provided in Debian yet. If you feel that some of these should be included please ask for it at the <ulink name="Work Needing and Prospective Packages" url="http://www.debian.org/devel/wnpp/" />.
it: Comunque in Debian alcune patch ancora non sono state fornite. Se ritenete che alcune di queste dovrebbero essere incluse siete pregati di chiedere di loro mediante il <ulink name="Work Needing and Prospective Packages" url="http://www.debian.org/devel/wnpp/" />.

en: Protecting against buffer overflows
it: Protezione contro i buffer overflow

en: <emphasis>Buffer overflow</emphasis> is the name of a common attack to software <footnote><para>So common, in fact, that they have been the basis of 20% of the reported security vulnerabilities every year, as determined by <ulink name="statistics from ICAT's vulnerability database" url="http://icat.nist.gov/icat.cfm?function=statistics" /></para></footnote> which makes use of insufficient boundary checking (a programming error, most commonly in the C language) in order to execute machine code through program inputs. These attacks, against server software which listen to connections remotely and against local software which grant higher privileges to users (<literal>setuid</literal> or <literal>setgid</literal>) can result in the compromise of any given system.
it: <emphasis>Buffer overflow</emphasis> è il nome di un comune attacco al software<footnote><para>Così comune, in effetti, che sono alla base del 20% delle vulnerabilità di sicurezza riportate tutti gli anni, come stabilito da <ulink name="statistics from ICAT's vulnerability database" url="http://icat.nist.gov/icat.cfm?function=statistics" />.</para></footnote> che approfitta di un controllo insufficiente (un errore di programmazione molto comune in C) in seguito all'esecuzione di codice immesso da un input. Questo tipo di attacco, portato contro i server che rimangono in attesa di una connessione remota e contro il software che gira localmente, che solitamente assegnar alti privilegi agli utenti (grazie ai <literal>setuid</literal> e <literal>setgid</literal> attivi) può compromettere ogni sistema.

en: There are mainly four methods to protect against buffer overflows:
it: Esistono principalmente quattro metodi per proteggersi dai buffer overflow:

en: patch the kernel to prevent stack execution. You can use either: Exec-shield, OpenWall or PaX (included in the Grsecurity and Adamantix patches).
it: Aggiungendo delle patch al kernel così da prevenire l'esecuzione dello stack.Potete usare: Exec-shield, OpenWall o PaX (incluso nelle patch Grsecurity ed Adamantix).

en: fix the source code by using tools to find fragments of it that might introduce this vulnerability.
it: Fissando il codice usando strumenti per trovare frammenti del sorgente che potrebbero introdurre vulnerabilità.

en: Notice that even if Debian provided a compiler which featured stack/buffer overflow protection all packages would need to be recompiled in order to introduce this feature. This is, in fact, what the Adamantix distribution does (among other features). The effect of this new feature on the stability of software is yet to be determined (some programs or some processor architectures might break due to it).
it: Notate che se Debian fornisse un compilatore con protezione contro stack o buffer overflow tutti i pacchetti dovrebbero essere ricompilati per poter introdurre questa funzionalità. Questo è, in effetti, quello che fa la distribuzione Adamantix (tra le altre caratteristiche). L'effetto di questa nuova funzionalità sul software è ancora da stabilire (alcuni programmi o alcune architetture di processori potrebbero non funzionare).

en: If you want to test out your buffer overflow protection once you have implemented it (regardless of the method) you might want to install the <application>paxtest</application> and run the tests it provides.
it: Una volta implementato, se desiderate collaudare il vostro livello di protezione da buffer overflow (indipendentemente dal metodo scelto), potreste voler installare <application>paxtest</application> ed eseguire il test che fornisce.

en: Kernel patch protection for buffer overflows
it: Patch per la protezione del kernel da Kernel contro buffer overflows

en: Kernel patches related to buffer overflows include the Openwall patch provides protection against buffer overflows in 2.2 linux kernels. For 2.4 or newer kernels, you need to use the Exec-shield implementation, or the PaX implementation (provided in the grsecurity patch, <application>kernel-patch-2.4-grsecurity</application>, and in the Adamantix patch, <application>kernel-patch-adamantix</application>). For more information on using these patches read the the section <xref linkend="kernel-patches" />.
it: Le patch relative al buffer overflow includono la patch Openwall che fornisce protezione contro gli overflow nel kernel 2.2. Per il kernel 2.4 o per quelli ancor più recenti, è necessario utilizzare l'implementazione Exec-shield o altrimenti PaX (fornita sia dalla patch grsecurity, <application>kernel-patch-2.4-grsecurity</application>, che dalla patch Adamantix, <application>kernel-patch-adamantix</application>). Per maggiori informazioni sull'uso di queste patch leggete <xref linkend="kernel-patches" />.

en: Testing programs for overflows
it: Collaudare i programmi contro gli overflow

en: The use of tools to detect buffer overflows requires, in any case, of programming experience in order to fix (and recompile) the code. Debian provides, for example: <application>bfbtester</application> (a buffer overflow tester that brute-forces binaries through command line and environment overflows). Other packages of interest would also be <application>rats</application>, <application>pscan</application>, <application>flawfinder</application> and <application>splint</application>.
it: L'uso di strumenti per trovare buffer overflows richiede, in ogni caso, un'esperienza da programmatori per sistemare (e ricompilare) il codice. Debian, fornisce, per esempio: <application>bfbtester</application> (un programma per collaudare la resistenza ai buffer overflow che utilizza binari con approccio a forza bruta mediante overflow da riga di comando o di ambiente). Altri pacchetti interessanti potrebbero essere anche <application>rats</application>, <application>pscan</application>, <application>flawfinder</application> e <application>splint</application>.

en: Secure file transfers
it: Trasferire file in sicurezza

en: During normal system administration one usually needs to transfer files in and out from the installed system. Copying files in a secure manner from a host to another can be achieved by using the <application>ssh</application> server package. Another possibility is the use of <application>ftpd-ssl</application>, a ftp server which uses the <emphasis>Secure Socket Layer</emphasis> to encrypt the transmissions.
it: Durante la normale amministrazione, solitamente si ha bisogno di importare o di esportare dei file dal sistema installato. Si può riuscire a copiare i file da un host ad un altro in maniera sicura, usando il pacchetto server <application>ssh</application>. Un'altra possibilità è l'impiego di <application>ftpd-ssl</application>, un server ftp che adotta il <emphasis>Secure Socket Layer</emphasis> per cifrare le trasmissioni.

en: Any of these methods need special clients. Debian does provide client software, such as <command>scp</command> from the <application>ssh</application> package, which works like <command>rcp</command> but is encrypted completely, so the <emphasis>bad guys</emphasis> cannot even find out WHAT you copy. There is also a <application>ftp-ssl</application> package for the equivalent server. You can find clients for these software even for other operating systems (non-UNIX), <command>putty</command> and <command>winscp</command> provide secure copy implementations for any version of Microsoft's operating system.
it: Naturalmente, tutti questi metodi necessitano di client speciali e Debian ne offre alcuni: per esempio, con <application>ssh</application> fornisce <command>scp</command>, che funziona come <command>rcp</command> ma è completamente cifrato, cosicché i <emphasis>cattivi ragazzi</emphasis> non possano nemmeno capire CHE COSA si stia copiando. C'è anche un pacchetto client <application>ftp-ssl</application> per il server corrispondente. Per questi programmi, si trovano client anche di altri sistemi operativi (non-UNIX); per copiare in sicurezza, <command>putty</command> e <command>winscp</command> forniscono un'implementazione adatta a qualsiasi versione del sistema operativo della Microsoft.

en: Note that using <command>scp</command> provides access to the users to all the file system unless <command>chroot</command>'ed as described in <xref linkend="ssh-chroot" />. FTP access can be <command>chroot</command>'ed, probably easier depending on you chosen daemon, as described in <xref linkend="ftp-secure" />. If you are worried about users browsing your local files and want to have encrypted communication you can either use an ftp daemon with SSL support or combine clear-text ftp and a VPN setup (see <xref linkend="vpn" />).
it: Notate che usare <command>scp</command> consente a tutti gli utenti l'accesso all'intero file-system, a meno che non abbiate usato <command>chroot</command>, come spiegato in <xref linkend="ssh-chroot" />. Si può configurare l'accesso FTP, attraverso <command>chroot</command>, in modo anche più semplice, a seconda del demone scelto, come illustrato in <xref linkend="ftp-secure" />. Se temete che gli utenti sfoglino i file locali e volete avere una comunicazione cifrata, potete utilizzare un demone ftp con supporto SSL, o abbinare un ftp che trasmette testo in chiaro e un'impostazione VPN (cfr. <xref linkend="vpn" />).

en: File system limits and control
it: Limitazioni e controllo del File System

en: Using quotas
it: Usare le quote

en: Having a good quota policy is important, as it keeps users from filling up the hard disk(s).
it: Avere un buon criterio di assegnazione delle quote è importante, poiché evita che gli utenti riempiano gli hard disk.

en: You can use two different quota systems: user quota and group quota. As you probably figured out, user quota limits the amount of space a user can take up, group quota does the equivalent for groups. Keep this in mind when you're working out quota sizes.
it: Si possono avere due differenti sistemi di quote: la quota d'utente e la quota di gruppo. Come si intuisce, la quota per utente limita la quantità di spazio di cui un utente può disporre e la quota di gruppo fa la stessa cosa ma con i gruppi. Ricordatevene quando decidete la dimensione delle quote.

en: There are a few important points to think about in setting up a quota system:
it: Nell'impostare un sistema di quote, bisogna tenere conto di alcuni punti importanti:

en: Keep the quotas small enough, so users do not eat up your disk space.
it: Fare in modo che le quote siano abbastanza piccole, in modo che gli utenti non divorino lo spazio del disco fisso.

en: Keep the quotas big enough, so users do not complain or their mail quota keeps them from accepting mail over a longer period.
it: Fare in modo che siano abbastanza grandi, in modo che gli utenti non abbiano a lagnarsene e che la loro quota-email impedisca loro di accettare posta per un lungo periodo.

en: Use quotas on all user-writable areas, on <filename>/home</filename> as well as on <filename>/tmp</filename>.
it: Usare il sistema delle quote su tutte le aree scrivibili dagli utenti, su <filename>/home</filename> come su <filename>/tmp</filename>.

en: Every partition or directory to which users have full write access should be quota enabled. Calculate and assign a workable quota size for those partitions and directories which combines usability and security.
it: Ogni partizione o cartella a cui gli utenti abbiano pieno accesso in scrittura dovrebbe essere organizzata in quote. Il calcolo e l'assegnazione di una quota su cui si possa lavorare, combina utilizzabilità e sicurezza.

en: So, now you want to use quotas. First of all you need to check whether you enabled quota support in your kernel. If not, you will need to recompile it. After this, control whether the package <application>quota</application> is installed. If not you will need this one as well.
it: Supponiamo che vogliate usare il sistema delle quote: prima di tutto, dovrete controllare che il supporto per le quote sia abilitato nel kernel, se non lo fosse andrebbe ricompilato; dopo di che, controllate che il pacchetto <application>quota</application> sia installato, altrimenti dovrete procedere all'installazione del pacchetto.

en: For more information about quotas, read the quota man page, and the quota mini-howto (<filename>/usr/share/doc/HOWTO/en-html/mini/Quota.html</filename>). You may also want to look at <filename>pam_limits.so</filename>.
it: Per maggiori informazioni sulle quote, leggete le relative pagine man ed il quota mini-HOWTO (<filename>/usr/share/doc/HOWTO/en-html/mini/Quota.html</filename> - mini guida su quota). Potreste anche voler dare un'occhiata a <filename>pam_limits.so</filename>.

en: In addition to the usual Unix permissions, the ext2 and ext3 filesystems offer a set of specific attributes that give you more control over the files on your system. Unlike the basic permissions, these attributes are not displayed by the usual <command>ls -l</command> command or changed using <command>chmod</command>, and you need two other utilities, <command>lsattr</command> and <command>chattr</command> (in package <application>e2fsprogs</application>) to manage them. Note that this means that these attributes will usually not be saved when you backup your system, so if you change any of them, it may be worth saving the successive <command>chattr</command> commands in a script so that you can set them again later if you have to restore a backup.
it: Oltre ai soliti permessi di tipo Unix, i filesystem ext2 ed ext3 offrono un insieme di attributi specifici per dare un maggiore controllo sui file del sistema. A differenza dei permessi di base, questi non vengono mostrati con il comando <command>ls -l</command> o modificati mediante <command>chmod</command>; per amministrarli, occorrono altre due utilità: <command>lsattr</command> e <command>chattr</command> (nel pacchetto <application>e2fsprogs</application>). Notate che ciò significa che tali attributi non verranno salvati con la copia di sicurezza del sistema; così, qualora se ne modifichi uno qualsiasi, sarebbe meglio salvare in uno script i successivi comandi <command>chattr</command>, così da poterli reimpostare in un secondo momento, all'atto di un eventuale ripristino.

en: Among all available attributes, the two that are most important for increasing security are referenced by the letters 'i' and 'a', and they can only be set (or removed) by the superuser:
it: Fra tutti gli attributi disponibili, i due più importanti, nell'aumentare la sicurezza vengono richiamati dalle lettere 'i' ed 'a' e possono essere impostati o rimossi dal superutente:

en: The 'i' attribute ('immutable'): a file with this attribute can neither be modified nor deleted or renamed and no link can be created to it, even by the superuser.
it: L'attributo 'i' ('immutabile'): un file con questo attributo non può essere modificato, né cancellato, né rinominato e nemmeno il superutente può creare collegamenti ad esso.

en: The 'a' attribute ('append'): this attribute has the same effect that the immutable attribute, except that you can still open the file in append mode. This means that you can still add more content to it but it is impossible to modify previous content. This attribute is especially useful for the log files stored in <filename>/var/log/</filename>, though you should consider that they get moved sometimes due to the log rotation scripts.
it: L'attributo 'a' ('append'): questo attributo ha lo stesso effetto del precedente, salvo che consente di aprire il file per aggiungervi nuovi contenuti, pur senza poter modificare quello già esistente (append mode); è molto utile per i file di log collocati nella cartella <filename>/var/log/</filename>, anche se dovreste considerare che, talvolta, questi vengono spostati, per via degli script di rotazione dei log.

en: These attributes can also be set for directories, in which case everyone is denied the right to modify the contents of a directory list (e.g. rename or remove a file, ...). When applied to a directory, the append attribute only allows file creation.
it: Si possono impostare questi attributi anche alle cartelle; in tal caso nessuno può modificarne i contenuti, rinominando o rimuovendo dei file. Applicato ad una cartella, l'attributo append permette la sola creazione di file.

en: Set the attributes 'a' and 'i' on any file you want;
it: Impostare gli attributi 'a' ed 'i' sui file desiderati.

en: Set the 'i' attribute on this script and other startup files, as well as on the <command>lcap</command> binary itself;
it: Impostare l'attributo 'i' su tale script e su altri file di avvio, o anche sullo stesso binario <command>lcap</command>.

en: Execute the above command manually (or reboot your system to make sure everything works as planned).
it: Eseguire manualmente detto comando (o riavviare il sistema, per assicurarsi che tutto funzioni a dovere).

en: Checking file system integrity
it: Controllare l'integrità del file system

en: Are you sure <filename>/bin/login</filename> on your hard drive is still the binary you installed there some months ago? What if it is a hacked version, which stores the entered password in a hidden file or mails it in clear-text version all over the Internet?
it: Siete sicuri che <filename>/bin/login</filename> sul disco fisso è ancora il binario installato qualche mese fa? Cosa accadrebbe se fosse una versione modificata, che registra le password inserite in un file nascosto o le spedisce in chiaro per tutta Internet?

en: The only method to have some kind of protection is to check your files every hour/day/month (I prefer daily) by comparing the actual and the old md5sum of this file. Two files cannot have the same md5sum (the MD5 digest is 128 bits, so the chance that two different files will have the same md5sum is roughly one in 3.4e3803), so you're on the safe site here, unless someone has also hacked the algorithm that creates md5sums on that machine. This is, well, extremely difficult and very unlikely. You really should consider this auditing of your binaries as very important, since it is an easy way to recognize changes at your binaries.
it: Il solo modo per avere qualche forma di protezione è controllare i file ogni ora/giorno/mese (preferibile quotidianamente) confrontando gli md5sum attuali di un file con quelli vecchi. Due file non possono avere lo stesso md5sum (l'MD5 digest è 128 bits, quindi le possibilità che due diversi file abbiano lo stesso md5sum sono approssimativamente una su 3.4e3803), perciò è il metodo più sicuro, a meno che qualcuno non abbia modificato l'algoritmo che crea l'md5sum sulla macchina; il che comunque è piuttosto complicato ed improbabile. Bisogna considerare la verifica di questi binari molto importante, poiché è un modo semplice per riconoscere le modifiche ai binari.

en: Common tools used for this are <application>sxid</application>, <application>aide</application> (Advanced Intrusion Detection Environment), <application>tripwire</application>, <application>integrit</application> and <application>samhain</application>. Installing <command>debsums</command> will also help you to check the file system integrity, by comparing the md5sums of every file against the md5sums used in the Debian package archive. But beware: those files can easily be changed by an attacker and not all packages provide md5sums listings for the binaries they provided. For more information please read <xref linkend="periodic-integrity" /> and <xref linkend="snapshot" />.
it: Strumenti comunemente utilizzati a questo scopo sono <application>sxid</application>, <application>aide</application> (Advanced Intrusion Detection Environment), <application>tripwire</application>, <application>integrit</application> e <application>samhain</application>. Installare <command>debsums</command> può aiutare a controllare l'integrità del file system, comparando l'md5sum di ogni file con quello usato nell'archivio dei pacchetti Debian. Ma attenzione, questi file possono facilmente essere modificati da un intruso malintenzionato ed inoltre non tutti i pacchetti offrono un elenco md5sum di tutti i file che forniscono. Per ulteriori informazioni leggete <xref linkend="periodic-integrity" /> e <xref linkend="snapshot" />.

en: You might want to use <application>bsign</application> or <application>elfsign</application>. <application>elfsign</application> provides an utility to add a digital signature to an ELF binary and a second utility to verify that signature. The current implementation uses PKI to sign the checksum of the binary. The benefits of doing this are that it enables one to determine if a binary has been modified and who created it. <application>bsign</application> uses GPG, <application>elfsign</application> uses PKI (X.509) certificates (OpenSSL).
it: Potreste voler usare <application>bsign</application> o <application>elfsign</application>. <application>elfsign</application> fornisce un'utility che aggiunge una firma elettronica a un binario ELF ed una seconda utility per verificare questa firma. L'attuale implementazione usa PKI (Public Key Infrastructure) per firmare il cheksum del binario. I benefici di questa pratica sono quelli di permettere di verificare se un binario è stato modificato e chi lo ha creato. <application>bsign</application> usa GPG, <application>elfsign</application> usa certificati PKI (X.509) (OpenSSL).

en: Setting up setuid check
it: Impostare il controllo di setuid

en: The Debian <application>checksecurity</application> package provides a <command>cron</command> job that runs daily in <filename>/etc/cron.daily/checksecurity</filename> <footnote><para>In previous releases, checksecurity was integrated into cron and the file was <filename>/etc/cron.daily/standard</filename></para></footnote>. This <command>cron</command> job will run the <command>/usr/sbin/checksecurity</command> script that will store information of this changes.
it: Il pacchetto Debian <application>checksecurity</application> fornisce un processo <command>cron</command> che viene eseguito giornalmente attraverso <filename>/etc/cron.daily/checksecurity</filename><footnote><para>Nelle distribuzioni precedenti, checksecurity era integrato in cron ed il file quindi era <filename>/etc/cron.daily/standard</filename>.</para></footnote>. Questo processo <command>cron</command> farà partire lo script <command>/usr/sbin/checksecurity</command> che memorizzerà le informazioni riguardo questi cambiamenti.

en: Securing network access
it: Rendere sicuro l'accesso alla rete

en: FIXME: More (Debian-specific) content needed.
it: FIXME. Servono più contenuti (specifici per Debian)

en: Configuring kernel network features
it: Configurare le caratteristiche di rete del kernel

en: This is a <emphasis>Windows emulator</emphasis> because it acts like Windows on broadcast ping if this option is set to 1. That is, ICMP echo requests sent to the broadcast address will be ignored. Otherwise, it does nothing.
it: Questo è un <emphasis>emulatore di Windows</emphasis> perché funziona come Windows in broadcast ping, se questa opzione viene impostata ad 1. In pratica, le richieste ICMP_ECHO spedite all'indirizzo in broadcast vengono ignorate. Altrimenti, non succede nulla.

en: If you want to prevent you system from answering ICMP echo requests, just enable this configuration option:
it: Se volete evitare che il sistema risponda alle richieste echo ICMP, basta attivare questa opzione di configurazione:

en: To log packets with impossible addresses (due to wrong routes) on your network use:
it: Per loggare dei pacchetti destinati ad indirizzi inesistenti (errore dovuto ad instradamenti sbagliati) sulla vostra rete, utilizzate:

en: Configuring syncookies
it: Configurare i Syncookies

en: This option is a double-edged sword. On the one hand it protects your system against syn packet flooding; on the other hand it violates defined standards (RFCs).
it: Questa opzione è un'arma a doppio taglio. Da un lato, protegge il sistema contro il syn packet flooding, dall'altro viola degli standard definiti (le RFC).

en: This option will only be available if the kernel is compiled with the <literal>CONFIG_SYNCOOKIES</literal>. All Debian kernels are compiled with this option builtin but you can verify it running:
it: Questa opzione è disponibile solamente se il kernel è stato compilato con l'opzione <literal>CONFIG_SYNCOOKIES</literal>. Tutti i kernel Debian vengono compilati con questa opzione all'interno del kernel, potete verificarlo eseguendo:

en: For more information on TCP syncookies read <ulink url="http://cr.yp.to/syncookies.html" />.
it: Per maggiori informazioni sui syncookies TCP leggete <ulink url="http://cr.yp.to/syncookies.html" />.

en: Securing the network on boot-time
it: Rendere sicura la rete al momento del boot

en: When setting configuration options for the kernel networking you need configure it so that it's loaded every time the system is restarted. The following example enables many of the previous options as well as other useful options.
it: Quando impostate le opzioni del kernel relative al networking, dovete configurarle in maniera tale che siano caricate ogni volta che il sistema viene riavviato. L'esempio seguente abilita molte delle precedenti opzioni che avete visto, insieme ad altre utili opzioni.

en: An example of a <filename>/etc/sysctl.conf</filename> configuration that will secure some network options at the kernel level is shown below. Notice the comment in it, <filename>/etc/network/options</filename> might override some values if they contradict those in this file when the <filename>/etc/init.d/networking</filename> is run (which is later than <filename>procps</filename> on the startup sequence).
it: Sotto viene mostrato un esempio di configurazione di <filename>/etc/sysctl.conf</filename> che rende sicure alcune opzioni di rete a livello di kernel. Guardate la parte commentata, <filename>/etc/network/options</filename> potrebbe ignorare alcuni valori, se in contrasto con quelli in questo file quando viene eseguito <filename>/etc/init.d/networking</filename> (che viene dopo <filename>procps</filename> nella sequenza di boot).

en: To use the script you need to first create the script, for example, in <filename>/etc/network/interface-secure</filename> (the name is given as an example) and call it from <filename>/etc/network/interfaces</filename> like this:
it: Per usare lo script dovete prima di tutto crearlo, per esempio, in <filename>/etc/network/interface-secure</filename> (il nome è solo un esempio) e chiamarlo da <filename>/etc/network/interfaces</filename> come mostrato qui:

en: In this example, before the interface eth0 is enabled the script will be called to secure all network interfaces as shown below.
it: In questo esempio, prima di abilitare l'interfaccia eth0, lo script verrà chiamato per rendere sicure tutte le interfacce di rete come mostrato sotto.

en: 
    #!/bin/sh -e
    # Script-name: /etc/network/interface-secure
    #
    # Modifies some default behavior in order to secure against 
    # some TCP/IP spoofing &amp; attacks for all interfaces.
    #
    # Contributed by Dariusz Puchalak.
    #
    echo 1 &gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts 
                                               # Broadcast echo protection enabled.
    echo 0 &gt; /proc/sys/net/ipv4/conf/all/forwarding
                                               # IP forwarding disabled.
    echo 1 &gt; /proc/sys/net/ipv4/tcp_syncookies # TCP syn cookies protection enabled.
    echo 1 &gt;/proc/sys/net/ipv4/conf/all/log_martians # Log strange packets.
    # (this includes spoofed packets, source routed packets, redirect packets)
    # but be careful with this on heavy loaded web servers.
    echo 1 &gt; /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses 
                                               # Bad error message protection enabled.
    
    # IP spoofing protection.
    echo 1 &gt; /proc/sys/net/ipv4/conf/all/rp_filter
    
    # Disable ICMP redirect acceptance.
    echo 0 &gt; /proc/sys/net/ipv4/conf/all/accept_redirects
    echo 0 &gt; /proc/sys/net/ipv4/conf/all/send_redirects
    
    # Disable source routed packets.
    echo 0 &gt; /proc/sys/net/ipv4/conf/all/accept_source_route
    
    exit 0
it: 
    #!/bin/sh -e
    # Script-name: /etc/network/interface-secure
    #
    # Modifica alcuni comportamenti predefiniti per proteggere il 
    # sistema da alcuni attacchi spoofing contro il TCP/IP e da altri 
    # tipi di attacchi rivolti a tutte le interfacce.
    #
    # Contributed by Dariusz Puchalak.
    #
    echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts 
                                               # Broadcast echo protection enabled.
    echo 0 > /proc/sys/net/ipv4/conf/all/forwarding
                                               # IP forwarding disabled.
    echo 1 > /proc/sys/net/ipv4/tcp_syncookies # TCP syn cookies protection enabled.
    echo 1 >/proc/sys/net/ipv4/conf/all/log_martians # Log strange packets.
    # (this includes spoofed packets, source routed packets, redirect packets)
    # but be careful with this on heavy loaded web servers.
    echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses 
                                               # Bad error message protection enabled.
    
    # IP spoofing protection.
    echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
    
    # Disable ICMP redirect acceptance.
    echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects
    echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects
    
    # Disable source routed packets.
    echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route
    
    exit 0

en: Notice that you can actually have per-interface scripts that will enable different network options for different interfaces (if you have more than one), just change the pre-up line to:
it: &Egrave; opportuno notare che si possono adottare script specifici per ogni interfaccia. Questi script abilitano le opzioni di rete relative alle diverse interfacce (qualora ne fossero presenti più di una). &Egrave; sufficiente modificare il comando di pre-up come indicato di seguito:

en: And use a script which will only apply changes to a specific interface, not to all of the interfaces available. Notice that some networking options can only be enabled globally, however. A sample script is this one:
it: Questo comando lancia lo script che applicherà i cambiamenti solamente all'interfaccia di rete specificata e non a tutte le interfacce eventualmente disponibili. Notate che alcune opzioni di rete possono essere applicate solo globalmente. Di seguito un modello di script:

en: 
    #!/bin/sh -e
    # Script-name: /etc/network/interface-secure
    #
    # Modifies some default behavior in order to secure against 
    # some TCP/IP spoofing &amp; attacks for a given interface.
    #
    # Contributed by Dariusz Puchalak.
    #
    
    IFACE=$1
    if [ -z "$IFACE" ] ; then
       echo "$0: Must give an interface name as argument!"
       echo "Usage: $0 &lt;interface&gt;"
       exit 1
    fi
    
    if [ ! -e /proc/sys/net/ipv4/conf/$IFACE/ ]; then
       echo "$0: Interface $IFACE does not exit (cannot find /proc/sys/net/ipv4/conf/)"
       exit 1
    fi
    
    echo 0 &gt; /proc/sys/net/ipv4/conf/$IFACE/forwarding  # IP forwarding disabled.
    echo 1 &gt;/proc/sys/net/ipv4/conf/$IFACE/log_martians # Log strange packets.
    # (this includes spoofed packets, source routed packets, redirect packets)
    # but be careful with this on heavy loaded web servers.
    
    # IP spoofing protection.
    echo 1 &gt; /proc/sys/net/ipv4/conf/$IFACE/rp_filter
    
    # Disable ICMP redirect acceptance.
    echo 0 &gt; /proc/sys/net/ipv4/conf/$IFACE/accept_redirects
    echo 0 &gt; /proc/sys/net/ipv4/conf/$IFACE/send_redirects
    
    # Disable source routed packets.
    echo 0 &gt; /proc/sys/net/ipv4/conf/$IFACE/accept_source_route
    
    exit 0
it: 
    #!/bin/sh -e
    # Script-name: /etc/network/interface-secure
    #
    # Modifica alcuni comportamenti predefiniti per proteggere il 
    # sistema da alcuni attacchi spoofing contro il TCP/IP e da altri 
    # tipi di attacchi rivolti a tutte le interfacce.
    #
    # Contributed by Dariusz Puchalak.
    #
    
    IFACE=$1
    if [ -z "$IFACE" ] ; then
       echo "$0: Must give an interface name as argument!"
       echo "Usage: $0 &lt;interface&gt;"
       exit 1
    fi
    
    if [ ! -e /proc/sys/net/ipv4/conf/$IFACE/ ]; then
       echo "$0: Interface $IFACE does not exit (cannot find /proc/sys/net/ipv4/conf/)"
       exit 1
    fi
    
    echo 0 > /proc/sys/net/ipv4/conf/$IFACE/forwarding  # IP forwarding disabled.
    echo 1 >/proc/sys/net/ipv4/conf/$IFACE/log_martians # Log strange packets.
    # (questo include spoofed packets, source routed packets, redirect packets)
    # ma fate attenzione, può essere pesante per un server web.
    
    # IP spoofing protection.
    echo 1 > /proc/sys/net/ipv4/conf/$IFACE/rp_filter
    
    # Disable ICMP redirect acceptance.
    echo 0 > /proc/sys/net/ipv4/conf/$IFACE/accept_redirects
    echo 0 > /proc/sys/net/ipv4/conf/$IFACE/send_redirects
    
    # Disable source routed packets.
    echo 0 > /proc/sys/net/ipv4/conf/$IFACE/accept_source_route
    
    exit 0

en: Configuring firewall features
it: Configurare le caratteristiche di un firewall

en: In order to have firewall capabilities, either to protect the local system or others <emphasis>behind</emphasis> it, the kernel needs to be compiled with firewall capabilities. The standard Debian 2.2 kernel (Linux 2.2) provides the packet filter <command>ipchains</command> firewall, Debian 3.0 standard kernel (Linux 2.4) provides the <emphasis>stateful</emphasis> packet filter <command>iptables</command> (netfilter) firewall.
it: Per avere un firewall, sia per proteggere il sistema locale o tutto quello che si trova <emphasis>dietro</emphasis>, dovete compilare nel kernel le funzionalità del firewall. Il kernel standard per Debian 2.2 (Linux 2.2) comprende il packet filter <command>ipchains</command> come firewall, in Debian 3.0 è presente anche il kernel della serie 2.4 che è invece munito dello <emphasis>stateful</emphasis> packet filter, <command>iptables</command> (netfilter) come firewall.

en: Setting up firewalls in Debian is discussed more thoroughly in <xref linkend="firewall-setup" />.
it: La configurazione del firewall sarà ampiamente trattata in <xref linkend="firewall-setup" />.

en: Disabling weak-end hosts issues
it: Disabilitare la questione weak-end host

en: On 2.2 (and previous) kernels this can be fixed with:
it: Nelle versioni 2.2 del kernel ed anche nelle precedenti è possibile porre rimedio con:

en: On later kernels this can be fixed either with:
it: Nei kernel più recenti si può ottenere lo stesso con:

en: iptables rules.
it: Regole per iptable.

en: FIXME: Comments on Bugtraq indicate there is a Linux specific method to bind to a given interface.
it: FIXME: i commenti tratti da bugtraq sono metodi specifici per proteggere un data interfaccia in Linux.

en: FIXME: Submit a bug against netbase so that the routing fix is standard behavior in Debian?
it: FIXME: sottoporre un bug nei confronti di netbase in modo che il risultato della riparazione della tabella di routing sia il comportamento standard per Debian?

en: Protecting against ARP attacks
it: Proteggersi dagli attacchi di tipo ARP

en: When you don't trust the other boxes on your LAN (which should always be the case, because it's the safest attitude) you should protect yourself from the various existing ARP attacks.
it: Quando non c'è piena fiducia verso le altre postazioni sulla propria LAN (dovrebbe essere sempre così, è l'atteggiamento più sicuro), ci si dovrebbe proteggere dai diversi possibili attacchi di tipo ARP.

en: Those attacks (ARP cache poisoning, ARP spoofing...) allow the attacker to sniff the traffic even on switched networks, to easily hijack connections, to disconnect any host from the network... ARP attacks are powerful and simple to implement, and several tools exists, such as <command>arpspoof</command> from the <application>dsniff</application> package or <ulink name="arpoison" url="http://arpoison.sourceforge.net/" />.
it: Quegli attacchi (ARP cache poisonning, ARP spoofing - avvelenamento della cache ARP, falsificazioni ARP) permettono all'attaccante di intercettare il traffico anche su reti commutate, di dirottare facilmente delle connessioni, di disconnettere un host qualunque dalla rete... gli attacchi ARP sono potenti e semplici da implementare, essendovi parecchi strumenti utili allo scopo: <command>arpspoof</command> dal pacchetto <application>dsniff</application> o <ulink url="http://arpoison.sourceforge.net/" name="arpoison" />.

en: However, there is always a solution:
it: Tuttavia, una soluzione c'è sempre:

en: Use a static ARP cache. You can set up "static" entries in your ARP cache with:
it: Usare una cache ARP statica, nella quale impostare delle voci "statiche":

en: By setting static entries for each important host in your network you ensure that nobody will create/modify a (fake) entry for these hosts (static entries don't expire and can't be modified) and spoofed ARP replies will be ignored.
it: Impostando voci statiche per ciascun host importante presente nella rete vi assicurerete che nessuno crei/modifichi per detti host la voce (la falsifichi) - le voci statiche non hanno scadenza e non possono essere modificate - cosicché le repliche ARP falsificate verranno ignorate.

en: Implement IP traffic filtering validating the MAC address.
it: Implementare un filtraggio del traffico IP in grado di convalidare gli indirizzi MAC.

en: Taking a snapshot of the system
it: Una fotografia del sistema

en: Before putting the system into production system you could take a snapshot of the whole system. This snapshot could be used in the event of a compromise (see <xref linkend="after-compromise" />). You should remake this upgrade whenever the system is upgraded, especially if you upgrade to a new Debian release.
it: Prima di mettere il sistema in produzione se ne può fotografare l'attuale stato: il risultato dell'operazione può tornare utile in caso di compromissione (vedete <xref linkend="after-compromise" />). Questo procedimento dovrebbe essere ripetuto ad ogni aggiornamento del sistema, specialmente se si aggiorna ad una nuova versione di Debian.

en: For this you can use a writable removable-media that can be set up read-only, this could be a floppy disk (read protected after use), a CD on a CD-ROM unit (you could use a rewritable CD-ROM so you could even keep backups of md5sums in different dates), or a USB disk or MMC card (if your system can access those and they can be write protected).
it: A tale scopo si può usare un media scrivibile e rimuovibile che possa essere impostato in sola lettura, come un floppy disk, se protetto da scrittura dopo l'uso, o un CD aperto da un'unità CD-ROM - si può usare un CD riscrivibile, in modo da poter conservare copie di ripristino, magari con firma md5sum, create in date differenti, o un disco USB o ancora una card MMC (se il vostro sistema può accedere a tali dati e al contempo possono essere protetti in scrittura).

en: The following script creates such a snapshot:
it: Il seguente script crea una fotografia del sistema:

en: Note that the md5sum binary (and sha1sum, if available) is placed on the floppy drive so it can be used later on to check the binaries of the system (just in case it gets trojaned). However, if you want to make sure that you are running a legitimate binary, you might want to either compile a static copy of the md5sum binary and use that one (to prevent a trojaned libc library from interfering with the binary) or to use the snapshot of md5sums only from a clean environment such as a rescue CD-ROM or a Live-CD (to prevent a trojaned kernel from interfering). I cannot stress this enough: if you are on a compromised system you cannot trust its output, see <xref linkend="after-compromise" />.
it: Tenete conto che il binario di md5sum (e sha1sum se disponibile) si trova su floppy, per poter essere usato, in seguito, per controllare i binari del sistema (nel caso che abbiate preso dei trojan). Comunque, se volete essere sicuri che state facendo girare un binario legittimo, potreste sia compilare una copia statica del binario di md5sum e usare quella (per evitare che una libreria libc con trojan interferisca con il binario), oppure usare una istantanea di md5sum solamente da un ambiente sano come un CD-ROM di salvataggio o un Live-CD (per evitare che un kernel con trojan interferisca). Questo non verrà mai posto abbastanza in risalto: se siete su un sistema compromesso non potete fidarvi del suo output, vedete <xref linkend="after-compromise" />.

en: The snapshot does not include the files under <filename>/var/lib/dpkg/info</filename> which includes the MD5 hashes of installed packages (in files ending with <filename>.md5sums</filename>). You could copy this information along too, however you should notice:
it: L'istantanea non comprende i file sotto <filename>/var/lib/dpkg/info</filename> che includono l'hash MD5 dei pacchetti installati (nei file che finiscono con <filename>.md5sums</filename>). Potete anche copiare questa informazione, ma dovreste comunque tenere in conto che:

en: the md5sums files include the md5sum of all files provided by the Debian packages, not just system binaries. As a consequence, that database is bigger (5 Mb versus 600 Kb in a Debian GNU/Linux system with a graphical system and around 2.5 Gb of software installed) and will not fit in small removable media (like a single floppy disk, but would probably fit in a removable USB memory).
it: i file md5sum includono l'md5sum non solo dei binari di sistema, ma di tutti i file forniti dai pacchetti Debian. Una conseguenza di ciò è che il database è più grande (5 Mb contro 600 Kb in un sistema Debian GNU/Linux con sistema grafico e circa 2.5 Gb di software installato) e non entrerà in un supporto rimovibile di scarsa capienza (tipo un floppy disk, ma probabilmente entrerebbe in una memoria rimovibile USB).

en: not all Debian packages provide md5sums for the files installed since it is not (currently) mandated policy. Notice, however, that you can generate the md5sums for all packages using <application>debsums</application> after you've finished the system installation:
it: non tutti i pacchetti Debian forniscono l'md5sum per i file installati fino a che non sarà (attualmente lo è) una pratica obbligatoria. Tenete in conto che, in ogni caso, avrete la possibilità di generare l'md5sum per tutti i pacchetti usando <application>debsums</application> una volta terminata l'installazione del sistema:

en: Once the snapshot is done you should make sure to set the medium read-only. You can then store it for backup or place it in the drive and use it to drive a <command>cron</command> check nightly comparing the original md5sums against those on the snapshot.
it: Una volta fatta l'istantanea dovreste assicurarvi di impostare in sola lettura il dispositivo. Potrete poi archiviarlo per backup o metterlo in un disco ed usare <command>cron</command> ogni notte per confrontare l'md5sum originale con quella dell'istantanea.

en: If you do not want to setup a manual check you can always use any of the integrity systems available that will do this and more, for more information please read <xref linkend="periodic-integrity" />.
it: Se non volete approntare un controllo manuale potrete sempre usare uno dei programmi di controllo dell'integrità del sistema disponibili che faranno questo e anche di più, per maggiori informazioni leggete <xref linkend="periodic-integrity" />.

en: Other recommendations
it: Ulteriori raccomandazioni

en: Do not use software depending on svgalib
it: Non usare software che dipende dalle librerie SVGA (svgalib)

en: SVGAlib is very nice for console lovers like me, but in the past it has been proven several times that it is very insecure. Exploits against <command>zgv</command> were released, and it was simple to become root. Try to prevent using SVGAlib programs wherever possible.
it: SVGAlib è molto carina per gli amanti della console come me, ma è stato provato diverse volte, in passato, che è molto insicura. Sono stati rilasciati exploit contro <command>zgv</command> ed era semplice utilizzarli per diventare root. Sarebbe meglio evitare di usare programmi che fanno uso della SVGAlib, quando possibile.
