View Full Version : SELinux: not just for servers anymore
Un bell'articolo sull'utilità effettiva di SELinux:
SELinux blocks real-world exploits (http://www.linuxworld.com/news/2008/022408-selinux.html)
Mostra alcuni esempi in cui l'uso di SELinux si rivela fondamentale per mantenere sicuro il proprio sistema.
Ad esempio un bug in un software molto usato, ovvero HPLIP (il tool per gestire le stampanti HP), permetteva a un aggressore di eseguire codice malevolo con privilegi di root.
Nella advisory del bug si legge pero che su Fedora/Red Hat Enterprise Linux 5 la policy di SELinux abilitata di default impedisce all'exploit di funzionare e di eseguire il codice malevolo.
Un altro bug su SAMBA permetteva anch'esso di eseguire codice come root, e puntualmente SELinux impediva all'exploit di funzionare.
SELinux può proteggere decine di servizi, come Apache, Sendmail, moduli PHP, Samba, HPLIP e molti altri. Le policy di default di Fedora/RHEL5 proteggono un numero elevato di componenti e impediscono a moltissime categorie di exploit di funzionare.
Con i nuovi strumenti che Red Hat sta sviluppando configurare SELinux sta diventando molto più facile, e al contempo è in grado di proteggere sempre più cose.
Alla faccia di chi spaccia Linux come un OS invincibile solo perche i permessi di base sono configurati bene, gli exploit esistono anche qua e possono fare tanti danni quanto su Windows, abilitando SELinux si può aumentare di molto il livello di sicurezza.
Ormai non è più un optional, è dal 2000 che esiste e le distribuzioni che di default non forniscono delle buone policy di sicurezza dovrebbero essere considerate a un livello più basso di quello che invece le offrono.
khelidan1980
26-02-2008, 19:53
un buon esempio secondo me è stata l'ultima falla del kernel,anche senza aggiornare il kernel i sistemi Red Hat based ne erano immuni
I love SELinux :D. Ci si mette un pochino a capire come funziona e come si controlla ma poi è una bomba!
Leggendo il primo post pure io ho pensato al recente bug nel kernel :)
Sir Wallace
27-02-2008, 15:10
... e allora perchè non fornite un po' di info (link) su come capire/configurare/installare SElinux? :p
Se usi una distro che ce l'ha già preinstallato non devi preoccuparti di niente, funziona in modo silente senza che l'utente se ne accorga (a patto che le policy siano scritte correttamente).
Configurarlo personalmente invece è piu complesso, pero permette di creare configurazioni molto sofisticate.
Questa è una buona guida:
Red Hat SELinux Guide (http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/selinux-guide/)
Anche questo è interessante:
Role-based access control in SELinux (http://www.ibm.com/developerworks/linux/library/l-rbac-selinux/index.html)
Su Fedora ci sono dei programi grafici con delle procedure guidate per creare nuove policy, con quelli è un po più semplice, anche se sono ancora in fase di sviluppo.
khelidan1980
27-02-2008, 18:36
Io su Fedora lo utilizzo in modalità permissive...cambia molto dalla enforcinge?
Nella modalità Permissive è tutto come in Enforcing, se non per il fatto che le azioni non consentite non vengono bloccate ma solo loggate (si possono vedere tramite SELinux troubleshooter).
E utile al più per fare debug della configurazione, ma perche sia attivo e funzionante deve essere in Enforcing.
khelidan1980
27-02-2008, 18:47
Nella modalità Permissive è tutto come in Enforcing, se non per il fatto che le azioni non consentite non vengono bloccate ma solo loggate (si possono vedere tramite SELinux troubleshooter).
E utile al più per fare debug della configurazione, ma perche sia attivo e funzionante deve essere in Enforcing.
ah ok allora lo sto usando in enforcing non in permissive,quindi lo lascerò cosi senza toccarlo,grazie!
... e allora perchè non fornite un po' di info (link) su come capire/configurare/installare SElinux? :p
Questo fa sempre fico :sofico:
http://www.nsa.gov/selinux/
Nella sezione documentation c'è parecchia roba
Questo anche è interessante:
http://selinux.sourceforge.net/
... partendo da quei due con l'aggiunta di google si arriva ovunque :P
Sir Wallace
28-02-2008, 09:37
ok ok ok...
sto leggendo la wiki di debian
http://wiki.debian.org/SELinux
e devo dire che non è molto incoraggiante... :stordita:
ok la sicurezza, ma mi pare di capire che ci sono un sacco di 'fix' da fare a mano... oltre che un po' di app che potrebbero aver problemi.
altra cosa: mi pare di capire che anche il backup si complica un po'...
una domanda: se parto da live, riesco a metterci le mani sul fs?
10x
Si, da livecd puoi accederci benissimo dopo.
Non l'ho provato su Debian, ma penso che tutte quelle raccomandazioni valgano per chi vuole installarlo su una vecchia versione, adesso dovrebbe essere sufficiente installare il pacchetto con le policy-targeted e avviare selinux al boot.
Sulle pagine di wikipedia c'è un po di documentazione meno tecnica per capire a cosa serve:
http://en.wikipedia.org/wiki/Mandatory_access_control
http://en.wikipedia.org/wiki/Role-based_access_control
http://en.wikipedia.org/wiki/Discretionary_access_control
http://en.wikipedia.org/wiki/Capability-based_security
A seconda della configurazione può essere estremamente restrittivo, quindi a volte capita che vanno aggiustate alcune regole per far funzionare qualcosa. La sua grande pecca è proprio la difficoltà di configurazione, per questo non è così diffuso in ambiente desktop.
Dipende dal tipo di backup, comunque le complicazioni sono lo stesse che si possono riscontrare per gli altri programmi.
Se usi una live accedi normalmente al fs.
Sir Wallace
28-02-2008, 14:46
ma rotfl
ho ricompilato il kernel abilitando SE (tanto è uscito il 2.6.24.3 quindi avrei ricompilato cmq... ;) )
ho installato l'installabile
ho fatto relabel a tutto quanto
reboot e tutto funziona... ottimo!
peccato che ovviamente di default è Permissive...
ok, proviamo enforcing....
...
...
non va praticamente più nulla!!!!! :D :stordita: :fagiano:
da 'mount' al boot a xine o xmms e artsd!!!!
ok... ci perderò ancora pochi minuti poi elimino il tutto...
ciaps
ma rotfl
ho ricompilato il kernel abilitando SE (tanto è uscito il 2.6.24.3 quindi avrei ricompilato cmq... ;) )
ho installato l'installabile
"ho installato l'installabile" vuol dire che hai installato tutti i pacchetti che iniziano per SElinux? forse hai scaricato anche il pacchetto selinux-policy-strict, che contiene delle policy molto più restrittive su tutto il sistema, al contrario del pacchetto selinux-policy-targeted che protegge solo i servizi più importanti (e lascia il resto nel dominio unconfined_u, quindi come se non ci fosse).
Seno non saprei... se proprio vuoi provarlo ti conviene fare qualche esperimento con una distro che lo utilizza di default, come fedora, cosi è gia tutto pronto.
darkbasic
28-02-2008, 19:46
In debian i due pacchetti sono questi:
selinux-policy-refpolicy-strict - Strict variant of the SELinux reference policy
selinux-policy-refpolicy-targeted - Targeted variant of the SELinux reference policy
Confermo che non ha senso installare le policy strict.
@ arara
Per caso hai provato le policy targeted di debian? Cosa cambia principalmente da quelle di fedora8? L'usabilità in un contesto Desktop è alla pari? Perché già con fedora 7 ogni tanto selinux era fastidioso e non l'ho mai installato su debian perché non avevo voglia di starmi a smattire con le configurazioni...
Non l'ho provato su Debian e non so che policy utilizzi (non conosco bene neanche quelle di fedora), pero non è detto che diano problemi per forza, quelle di fedora all'inizio davano rogne perche sono abbastanza aggressive e ci ha hanno messo un po per sistemarle.
Sir Wallace
29-02-2008, 07:13
"ho installato l'installabile" vuol dire che hai installato tutti i pacchetti che iniziano per SElinux? forse hai scaricato anche il pacchetto selinux-policy-strict, che contiene delle policy molto più restrittive su tutto il sistema, al contrario del pacchetto selinux-policy-targeted che protegge solo i servizi più importanti (e lascia il resto nel dominio unconfined_u, quindi come se non ci fosse).
Seno non saprei... se proprio vuoi provarlo ti conviene fare qualche esperimento con una distro che lo utilizza di default, come fedora, cosi è gia tutto pronto.
eheheheh non esageriamo, dai! oltre a non essere proprio cosi' niubbo t'ho detto che ho seguito un paio di guide! ;)
Questo su Debian Lenny (testing):
dpkg -l|grep -i seli
ii checkpolicy 2.0.2-1 SELinux policy compiler
ii libselinux1 2.0.15-2+b1 SELinux shared libraries
ii libselinux1-dev 2.0.15-2+b1 SELinux development headers
ii libsemanage1 2.0.3-1+b1 shared libraries used by SELinux policy mani
ii policycoreutils 2.0.16-1 SELinux core policy utilities
ii python-selinux 1.32-3 Python bindings to SELinux shared libraries
ii python-semanage 1.8-1 Python bindings for SELinux policy manipula
ii selinux-basics 0.3.1 SELinux basic support
ii selinux-policy-refpolicy-targeted 0.0.20070507-5 Targeted variant of the SELinux reference po
ii selinux-utils 2.0.15-2+b1 SELinux utility programs
ii sepolgen 1.0.8-1 A Python module used in SELinux policy gener
Non l'ho provato su Debian e non so che policy utilizzi (non conosco bene neanche quelle di fedora), pero non è detto che diano problemi per forza, quelle di fedora all'inizio davano rogne perche sono abbastanza aggressive e ci ha hanno messo un po per sistemarle.
Credo sia questo.... ;)
khelidan1980
01-03-2008, 12:54
come si chiama la gui che usa fedora per cambiare da permissive a enforcing?Ho fatto un po di esperimenti e credo di averlo zappato via per sbaglio,thanks!
EDIT: trovata il pacchetto è policycoreutils-gui che installa system-config-selinux
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.