Hardening Di Un Sistema Debian GNU/Linux
Total Page:16
File Type:pdf, Size:1020Kb
HHararddeneniinngg ddii uunn sisistemstemaa DDebebiianan GGNNUU//LLiinnuuxx Principali passi per la configurazione e copia & incolla (molto) l'ottimizzazione in ottica di sicurezza commentato (poco) di (hardening) di un server basato su “Securing Debian Manual” Debian GNU/Linux per fornire i servizi apt-get install harden-doc più comuni. Verranno analizzate le principali modifiche da apportare rispetto ad un'installazione "by-default", espresse alcune 26 Novembre 2004 considerazioni e valutazioni in ottica di Security Day, Cesena sicurezza, analizzati alcuni strumenti utili per rafforzare le difese e monitorare lo stato 27 Novembre 2004 del sistema. Linux Day, Rimini IgIgoorr FFaalclcoommatàatà -- kokobba@[email protected] Hardening di un sistema Debian GNU/Linux – 26 Novembre 2004, Security Day, Cesena / 27 Novembre 2004, Linux Day, Rimini - [email protected] Tutti i brani citati sono di proprietà dei legittimi autori e soggetti ad eventuali restrizioni. Il resto(?) è liberamente distribuibile secondo la GNU FDL - Pagina 1 HHararddeneniningg FrFromom Wikipedia,Wikipedia, thethe frfreeee encyclopediaencyclopedia “In computing, hardening is the process of securing a system. This work is especially done to protect systems against attackers. This would typically include removal of unnecessary usernames or logins and the disabling or removal of unnecessary services. On a typical Windows server, one example would be the disabling of the "print spooler" as this may not be needed. There are various methods of hardening Unix and Linux systems. This may involve, among other measures, applying a patch to the kernel such as Exec Shield or PaX; closing open network ports; and setting up intrusion-detection systems (such as firewalls) and intrusion-prevention systems. See also: Computer Security, Computer Network Security, Security Policy, Linux: Security Enhanced Linux” Hardening di un sistema Debian GNU/Linux – 26 Novembre 2004, Security Day, Cesena / 27 Novembre 2004, Linux Day, Rimini - [email protected] Tutti i brani citati sono di proprietà dei legittimi autori e soggetti ad eventuali restrizioni. Il resto(?) è liberamente distribuibile secondo la GNU FDL - Pagina 2 DDiisclsclaiaimmerer “P“Pleaselease (d(doonn''t)t) trytry ththisis atat hhoomme”e” ● Alcune o tutte le procedure ed i suggerimenti riportati potrebbero danneggiare irreparabilmente i vostri dati, il vostro sistema, il vostro tostapane ed il vostro conto in banca... ● MAI (ho detto MAI) eseguire operazioni di hardening su un sistema 'in produzione' senza sapere esattamente cosa si sta facendo ● Provate e riprovate i singoli passi su sistemi di prova e cmq procedete per passi graduali ● Tenete traccia di tutte le operazioni che effettuate (“diario di bordo”) in modo da poter tornare facilmente sui vostri passi (man script) ● Alcuni software e procedure (anche relativi al sistema operativo stesso) potrebbero non funzionare correttamente ● Casco ben allacciato in testa e prudenza, sempre! Hardening di un sistema Debian GNU/Linux – 26 Novembre 2004, Security Day, Cesena / 27 Novembre 2004, Linux Day, Rimini - [email protected] Tutti i brani citati sono di proprietà dei legittimi autori e soggetti ad eventuali restrizioni. Il resto(?) è liberamente distribuibile secondo la GNU FDL - Pagina 3 SecuSecurriinngg DDebebiianan ManManuualal rrevev 2.992.99 JavierJavier FerFernández-Snández-Sanguinoanguino PPeñaeña <<jfs@[email protected]>> “This document describes security in the Debian project. Starting with the process of securing and hardening the default Debian GNU/Linux distribution installation. It also covers some of the common tasks to set up a secure network environment using Debian GNU/Linux, gives additional information on the security tools available and talks about how security is enforced in Debian by the security team.” “One of the hardest things about writing security documents is that every case is unique. Two things you have to pay attention to are the threat environment and the security needs of the individual site, host, or network. For instance, the security needs of a home user are completely different from a network in a bank.” “Securing Debian is not very different from securing any other system; in order to do it properly, you must first decide what you intend to do with it. After this, you will have to consider that the following tasks need to be taken care of if you want a really secure system.” http://www.debian.org/doc/manuals/securing-debian-howto/ Hardening di un sistema Debian GNU/Linux – 26 Novembre 2004, Security Day, Cesena / 27 Novembre 2004, Linux Day, Rimini - [email protected] Tutti i brani citati sono di proprietà dei legittimi autori e soggetti ad eventuali restrizioni. Il resto(?) è liberamente distribuibile secondo la GNU FDL - Pagina 4 PerPerchchéé DDebebiianan GGNNUU//LLiinnuux?x? ● “Debian problems are always handled openly, even security related. Security issues are discussed openly on the debian-security mailing list. Debian Security Advisories are sent to public mailing lists (both internal and external) and are published on the public server. As the Debian Social Contract (http://www.debian.org/social_ contract) states: We Won t Hide Problems We will keep our entire bug-report database open for public view at all times. Reports that users file on-line will immediately become visible to others.” ● “Security updates are the first priority. When a security problem arises in a Debian package, the security update is prepared as fast as possible and distributed for our stable and unstable releases, including all architectures.” ● “Information regarding security is centralized in a single point, http://security. debian.org/.” Hardening di un sistema Debian GNU/Linux – 26 Novembre 2004, Security Day, Cesena / 27 Novembre 2004, Linux Day, Rimini - [email protected] Tutti i brani citati sono di proprietà dei legittimi autori e soggetti ad eventuali restrizioni. Il resto(?) è liberamente distribuibile secondo la GNU FDL - Pagina 5 CChhii benben cocommiincincia..a.... ● “Before you install any operating system on your computer, set up a BIOS password. After installation (once you have enabled bootup from the hard disk) you should go back to the BIOS and change the boot sequence to disable booting from floppy, cdrom and other devices that shouldn t boot. Otherwise a cracker only needs physical access and a boot disk to access your entire system.” [più in generale, valutare il “Layer 0” :)] ● “Disabling booting unless a password is supplied is even better. This can be very effective if you run a server, because it is not rebooted very often. The downside to this tactic is that rebooting requires human intervention which can cause problems if the machine is not easily accessible.” [sconsigliabile] ● “Note: many BIOSes have well known default master passwords, and applications also exist to retrieve the passwords from the BIOS. Corollary: don t depend on this measure to secure console access to system.” [avendo accesso fisico al sistema, è possibile 'resettare' la password del BIOS, oppure accedere fisicamente ai dischi] Hardening di un sistema Debian GNU/Linux – 26 Novembre 2004, Security Day, Cesena / 27 Novembre 2004, Linux Day, Rimini - [email protected] Tutti i brani citati sono di proprietà dei legittimi autori e soggetti ad eventuali restrizioni. Il resto(?) è liberamente distribuibile secondo la GNU FDL - Pagina 6 ParPartitizizioonnamamenentoto ddeiei ddiischschii “An intelligent partition scheme depends on how the machine is used. A good rule of thumb is to be fairly liberal with your partitions and to pay attention to the following factors:” ● “Any directory tree which a user has write permissions to, such as e.g. /home, /tmp and / var/tmp/, should be on a separate partition. This reduces the risk of a user DoS by filling up your / mount point and rendering the system unusable (Note: this is not strictly true, since there is always some space reserved for root which a normal user cannot fill) as well as avoiding hardlink attacks” ● “Any partition which can fluctuate, e.g. /var (especially /var/log) should also be on a separate partition. On a Debian system, you should create /var a little bit bigger than on other systems, because downloaded packages (the apt cache) are stored in /var/cache / apt/archives.” Hardening di un sistema Debian GNU/Linux – 26 Novembre 2004, Security Day, Cesena / 27 Novembre 2004, Linux Day, Rimini - [email protected] Tutti i brani citati sono di proprietà dei legittimi autori e soggetti ad eventuali restrizioni. Il resto(?) è liberamente distribuibile secondo la GNU FDL - Pagina 7 ParPartitizizioonnamamenentoto ddeiei ddiischschii ● “Any partition where you want to install non-distribution software should be on a separate partition. According to the File Hierarchy Standard, this is /opt or /usr/local. If these are separate partitions, they will not be erased if you (have to) reinstall Debian itself.” ● “From a security point of view, it makes sense to try to move static data to its own partition, and then mount that partition read-only. Better yet, put the data on read-only media. See below for more details.” “In the case of a mail server it is important to have a separate partition for the mail spool. Remote users (either knowingly or unknowingly) can fill the mail spool (/var/mail and/or / var/spool/mail). If the spool is on a separate partition, this situation will not render the system unusable. Otherwise (if the spool directory is on the same partition as /var) the system might have important problems: log entries will not be created, packages can not be installed, and some programs might even have problems starting up (if they use /var/run).” Hardening di un sistema Debian GNU/Linux – 26 Novembre 2004, Security Day, Cesena / 27 Novembre 2004, Linux Day, Rimini - [email protected] Tutti i brani citati sono di proprietà dei legittimi autori e soggetti ad eventuali restrizioni. Il resto(?) è liberamente distribuibile secondo la GNU FDL - Pagina 8 ScelSceltata ddelel fifillesystemesystem “During the system partitioning you also have to decide which file system you want to use. The default file system selected in the Debian installation for Linux partitions is ext2.