Product SiteDocumentation Site

Manuale di sicurezza Debian 3.19

Manuale di sicurezza Debian

Javier Fernández-Sanguino Peña

Nota Legale

Copyright © 2012 The Debian Project
GNU General Public License Notice:
This work is free documentation: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.
This work is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Sommario

Questo documento descrive come viene affrontato il tema sicurezza nel progetto Debian e concretamente nel sistema operativo Debian. Si partirà dal processo di protezione ed irrobustimento dell'installazione predefinita della distribuzione Debian GNU/Linux. Verranno inoltre coperti alcuni usuali compiti per installare un ambiente di rete sicuro utilizzando Debian GNU/Linux, dando inoltre ulteriori informazioni concernenti gli strumenti di sicurezza disponibili e di come la sicurezza sia messa in pratica dal Team Debian per la Sicurezza.
1. Introduzione
1.1. Autore
1.2. Dove trovare il manuale (e formati disponibili)
1.3. Note/Feedback organizzativi
1.4. Conoscenze preliminari
1.5. Argomenti da scrivere
1.6. Crediti e ringraziamenti!
2. Prima di iniziare
2.1. A cosa vi serve questo sistema?
2.2. Conoscere i problemi generali di sicurezza
2.3. Come gestisce la sicurezza Debian?
3. Prima e durante l'installazione
3.1. Scegliere una password per il BIOS
3.2. Partizionare il sistema
3.2.1. Scegliere uno schema di partizionamento intelligente
3.2.2. Selezionare il file system appropriato
3.3. Non collegarsi ad Internet finché non si è pronti
3.4. Assegnare una password a root
3.5. Lanciare i servizi strettamente necessari
3.5.1. Disabilitare i servizi attivi in modalità demone
3.5.2. Disabilitare i servizi gestiti da inetd
3.6. Installare il software strettamente necessario
3.6.1. Rimuovere Perl
3.7. Leggere la mailing list debian security
4. Dopo l'installazione
4.1. Iscrizione alla mailing list Debian Security Announce
4.2. Eseguire un aggiornamento per la sicurezza
4.2.1. Aggiornamento di sicurezza delle librerie
4.2.2. Aggiornamenti di sicurezza per il kernel
4.3. Modificare il BIOS (ancora)
4.4. Impostazione della password in LILO o GRUB
4.5. Disabilitare il prompt di root su initramfs
4.6. Rimuovere il prompt root nel kernel
4.7. Circoscrivere l'accesso alla console
4.8. Circoscrivere la possibilità di riavviare da console
4.9. Restricting the use of the Magic SysRq key
4.10. Montare le partizioni nel modo giusto
4.10.1. Impostare /tmp come noexec
4.10.2. Impostare /usr in sola lettura
4.11. Fornire un accesso sicuro per gli utenti
4.11.1. Autenticazione degli utenti: PAM
4.11.2. Password security in PAM
4.11.3. User access control in PAM
4.11.4. User limits in PAM
4.11.5. Control of su in PAM
4.11.6. Temporary directories in PAM
4.11.7. Configuration for undefined PAM applications
4.11.8. Limitare l'uso delle risorse: il file limits.conf
4.11.9. User login actions: edit /etc/login.defs
4.11.10. User login actions: edit /etc/pam.d/login
4.11.11. Restrizioni ftp: modificare il file /etc/ftpusers
4.11.12. Utilizzo di su
4.11.13. Utilizzo di sudo
4.11.14. Non permettere accessi per amministrazione remota
4.11.15. Restrizioni agli utenti per l'accesso
4.11.16. Esame delle attività degli utenti
4.11.17. Uno sguardo ai profili utente
4.11.18. Impostare delle umask per gli utenti
4.11.19. Porre limiti a ciò a cui gli utenti possono accedere
4.11.20. Generare password per gli utenti
4.11.21. Controllare le password degli utenti
4.11.22. Disconnettere gli utenti inattivi
4.12. Usare i tcpwrapper
4.13. L'importanza di log e avvisi
4.13.1. Usare e personalizzare logcheck
4.13.2. Configurare il file dove vengono spediti gli avvisi
4.13.3. Usare un loghost
4.13.4. Permessi dei file di log
4.14. Includere le patch nel kernel
4.15. Protezione contro i buffer overflow
4.15.1. Patch per la protezione del kernel da Kernel contro buffer overflows
4.15.2. Collaudare i programmi contro gli overflow
4.16. Trasferire file in sicurezza
4.17. Limitazioni e controllo del File System
4.17.1. Usare le quote
4.17.2. The ext2 filesystem specific attributes (chattr/lsattr)
4.17.3. Controllare l'integrità del file system
4.17.4. Impostare il controllo di setuid
4.18. Rendere sicuro l'accesso alla rete
4.18.1. Configurare le caratteristiche di rete del kernel
4.18.2. Configurare i Syncookies
4.18.3. Rendere sicura la rete al momento del boot
4.18.4. Configurare le caratteristiche di un firewall
4.18.5. Disabilitare la questione weak-end host
4.18.6. Proteggersi dagli attacchi di tipo ARP
4.19. Una fotografia del sistema
4.20. Ulteriori raccomandazioni
4.20.1. Non usare software che dipende dalle librerie SVGA (svgalib)
5. Rendere più sicuri i servizi che girano sul vostro sistema
5.1. Rendere sicuro ssh
5.1.1. Ssh in chroot
5.1.2. Client SSH
5.1.3. Non permettere il trasferimento di file
5.1.4. Limitare l'accesso al solo trasferimento di file
5.2. La sicurezza in Squid
5.3. Rendere sicuro FTP
5.4. Rendere sicuro l'accesso al sistema X Window
5.4.1. Controllare il display manager
5.5. Rendere sicuri gli accessi alla stampante (specifico per lpd ed lprng)
5.6. Rendere sicuro il servizio di posta
5.6.1. Configurare un nullmailer
5.6.2. Fornire un accesso sicuro alle mailbox
5.6.3. Ricevere posta in sicurezza
5.7. Rendere sicuro BIND
5.7.1. Configurazione di Bind per evitare abusi
5.7.2. Cambiare l'utente di BIND
5.7.3. Eseguire il name server in chroot
5.8. Proteggere Apache
5.8.1. Impedire agli utenti la divulgazione di contenuti di rete
5.8.2. Permessi sui file di log
5.8.3. Pubblicare file web
5.9. Rendere sicuro finger
5.10. Paranoie generiche riguardo chroot e suid
5.10.1. Creare ambienti chroot automaticamente
5.11. In generale, paranoia per le password in chiaro
5.12. Disabilitare NIS
5.13. Rendere sicuri i servizi RPC
5.13.1. Disabilitare completamente i servizi RPC
5.13.2. Limitare l'accesso ai servizi RPC
5.14. Aggiungere funzionalità al firewall
5.14.1. Proteggere il sistema locale con un firewall
5.14.2. Utilizzare un firewall per proteggere altri sistemi
5.14.3. Configurare il firewall
6. Irrobustimento automatico di un sistema Debian
6.1. Harden
6.2. Bastille Linux
7. Infrastrutture per la sicurezza in Debian
7.1. Il Team Debian per la Sicurezza
7.2. Avvisi di sicurezza Debian
7.2.1. Riferimenti incrociati sulle vulnerabilità
7.2.2. Compatibilità con CVE
7.3. Security Tracker
7.4. La costruzione dell'infrastruttura di sicurezza in Debian
7.4.1. Guida degli sviluppatori agli aggiornamenti sulla sicurezza
7.5. Firma dei pacchetti in Debian
7.5.1. The current scheme for package signature checks
7.5.2. Apt sicuro
7.5.3. Controllo di rilascio per ogni distribuzione
7.5.4. Controllo della versione su fonti esterne a Debian
7.5.5. Un modello alternativo di firma per ciascun pacchetto
8. Strumenti per la sicurezza in Debian
8.1. Strumenti per la valutazione delle vulnerabilità da remoto
8.2. Strumenti per effettuare scansioni di rete
8.3. Controlli interni
8.4. Revisione del codice sorgente
8.5. Rete privata virtuale (VPN)
8.5.1. Tunneling punto punto
8.6. Infrastruttura a chiave pubblica (PKI)
8.7. Infrastruttura SSL
8.8. Antivirus
8.9. GPG
9. Linee guida consigliate agli sviluppatori per la sicurezza del sistema operativo
9.1. Tecniche raccomandate per i controlli sulla sicurezza del software e sulla progettazione di software sicuro
9.2. Creazione di utenti e gruppi che verranno usati dai demoni
10. Prima della compromissione
10.1. Mantenere sicuro il proprio sistema
10.1.1. Mantenersi aggiornati sulle vulnerabilità di sicurezza
10.1.2. Aggiornare continuamente il sistema
10.1.3. Evitare di usare il ramo instabile
10.1.4. Supporto alla sicurezza per il ramo testing
10.1.5. Aggiornamento automatico in un sistema Debian GNU/Linux
10.2. Effettuate periodicamente dei controlli sull'integrità del sistema
10.3. Pianificare la ricerca di intrusi
10.3.1. Individuazione delle intrusioni sulla rete
10.3.2. Sistemi per individuare gli intrusi
10.4. Evitare i root-kit
10.4.1. Moduli del kernel caricabili (LKM)
10.4.2. Scoprire i root-kit
10.5. Genius/Paranoia Ideas - what you could do
10.5.1. Costruirsi una honeypot ("trappola al miele")
11. Dopo la compromissione (reazione agli incidenti)
11.1. Come comportarsi, in generale
11.2. Fare una copia di ripristino del sistema
11.3. Contattate il vostro CERT locale
11.4. Analisi "patologica"
11.5. Analisi di codice malevolo
12. Domande frequenti (FAQ)
12.1. La sicurezza nel sistema operativo Debian
12.1.1. Debian è più sicura di quella X?
12.1.2. Il mio sistema è vulnerabile! (Ne sei sicuro?)
12.2. Software specifico
12.2.1. proftpd is vulnerable to a Denial of Service attack.
12.2.2. After installing portsentry, there are a lot of ports open.
12.3. Domande sul Team per la sicurezza di Debian
A. Diario delle Revisioni
B. Appendix
B.1. Il processo di blindatura passo-passo
B.2. Verifica della configurazione
B.3. Configurazione ed installazione di un sistema autonomo IDS
B.4. Impostare un bridge firewall
B.4.1. Un bridge con funzionalità NAT e firewall
B.4.2. Bridge con funzionalità di firewall
B.4.3. Regole base di IPtables
B.5. Script di esempio per modificare l'installazione predefinita di Bind
B.6. Aggiornamenti di sicurezza protetti da un firewall
B.7. Chroot environment for SSH
B.7.1. Mettere gli utenti ssh in chroot
B.7.2. Eseguire un chroot del server ssh
B.7.3. Chroot environment for Apache
B.7.4. See also