Fórum Root.cz

Ostatní => Odkladiště => Téma založeno: okur_pytel 19. 01. 2016, 19:25:15

Název: Používáte SELinux?
Přispěvatel: okur_pytel 19. 01. 2016, 19:25:15
Jak je rozšířený SELinux, přiznejte se kdo to používá na produkci?
V okolí znám jen velmi málo lidí, kteří ho aktivně provozují.
-
Začnu u sebe, nepoužívám, tam kde o něco jde mám grsec, dříve jsem ještě používal PaX a hovně dávno ProPolice.
-
Název: Re:Používáte SELinux?
Přispěvatel: Jenda 19. 01. 2016, 20:20:21
IMHO grsec je pokročilejší, takže když už něco konfigurovat, tak to.
Název: Re:Používáte SELinux?
Přispěvatel: Lol Phirae 19. 01. 2016, 20:37:26
přiznejte se kdo to používá na produkci?

Ano, na "produkčních" mobilech, páč to tam je defaultně zapnutý.  ;D  ::)
Název: Re:Používáte SELinux?
Přispěvatel: okur_pytel 19. 01. 2016, 21:54:23
No jo, nekecal. :-) https://source.android.com/security/selinux/

Tak to uz nemame kam moc uniknout, BB to taky zabalilo a skocilo do naruce Androidu, Apple ma svuj svet a Windows Phone uz zase loni ztratil dech, https://www.google.cz/trends/explore#q=windows%20phone

Název: Re:Používáte SELinux?
Přispěvatel: okur_pytel 19. 01. 2016, 22:07:11
Tak kdo bude mit odvahu a otestuje SELinux at vime jestli je to k necemu, mame unikatni prilezitost.

https://gist.github.com/PerceptionPointTeam/18b1e86d1c0f8531ff8f
Název: Re:Používáte SELinux?
Přispěvatel: Dzavy 19. 01. 2016, 23:52:32
Jo pouzivame SELinux uplne vsude (mame PCI-DSS a dalsi audity). Musim rict je to neskutecnej oser - zejmena u Apache je to velka lahudka.
Nemel bych s tim celkem problem, kdyby byly pravidla rozumne managovatelny puppetem, ale semanage (i jenom blbej listing) trva neskutecne dlouho - neni mozny, aby kazdej puppet run trval dve minuty a vytizil vsechny jadra jenom kvuli kontrole pravidel.
Takze mame bud neprakticky binarni moduly, ktery puppet prdne do /tmp a pak nainstaluje (nic moc reseni), nebo davame semanage pravidla do aplikacnich RPM do postinstal.
Název: Re:Používáte SELinux?
Přispěvatel: NN 20. 01. 2016, 07:09:05
Napise niekto konkretne pripady, kedy mu SELinux alebo grsecurity pomohol bud k zabraneniu prieniku, alebo k jeho zmierneniu?
Název: Re:Používáte SELinux?
Přispěvatel: Lol Phirae 20. 01. 2016, 09:21:02
Jo pouzivame SELinux uplne vsude (mame PCI-DSS a dalsi audity). Musim rict je to neskutecnej oser - zejmena u Apache je to velka lahudka.

Je, byla a bude to zoufalost a neposunulo se z hlediska správy absolutně nikam... Např. Synology místo SELinuxu začala cpát do NAS firmwarů AppArmor a to je na administraci úplně jiný kafe.
Název: Re:Používáte SELinux?
Přispěvatel: Maros 23. 01. 2016, 14:40:40
Zaujimala by ma implementacia pre Apache + PHP-FPM + ProFTPd.
Název: Re:Používáte SELinux?
Přispěvatel: Maros 31. 01. 2016, 07:44:04
Odpovedám si sám, jedným z tých lepších riešení je vlastný modul, ktorý umožní FTP serveru zapisovať do kontextov httpd_sys_content_t a httpd_sys_rw_content_t.

Predpokladám, že niečo podobné máte už nastavené:
Kód: [Vybrat]
semanage fcontext -a -t httpd_sys_content_t "/srv/www/data(/.*)?"
restorecon -Rv /srv/www/data

Kód: [Vybrat]
module my_ftp_http 1.0;

require {
        type ftpd_t;
        type httpd_sys_content_t;
        type httpd_sys_rw_content_t;
        class dir read;
        class dir write;
        class dir add_name;
        class dir create;
        class dir rmdir;
        class dir rename;
        class dir remove_name;
        class dir unlink;
        class file getattr;
        class file read;
        class file open;
        class file write;
        class file create;
        class file rename;
        class file unlink;
}

#============= ftpd_t ==============
allow ftpd_t httpd_sys_content_t:dir read;
allow ftpd_t httpd_sys_content_t:dir write;
allow ftpd_t httpd_sys_content_t:dir add_name;
allow ftpd_t httpd_sys_content_t:dir create;
allow ftpd_t httpd_sys_content_t:dir rmdir;
allow ftpd_t httpd_sys_content_t:dir rename;
allow ftpd_t httpd_sys_content_t:dir remove_name;
allow ftpd_t httpd_sys_content_t:dir unlink;
allow ftpd_t httpd_sys_content_t:file getattr;
allow ftpd_t httpd_sys_content_t:file read;
allow ftpd_t httpd_sys_content_t:file open;
allow ftpd_t httpd_sys_content_t:file write;
allow ftpd_t httpd_sys_content_t:file create;
allow ftpd_t httpd_sys_content_t:file rename;
allow ftpd_t httpd_sys_content_t:file unlink;

allow ftpd_t httpd_sys_rw_content_t:dir read;
allow ftpd_t httpd_sys_rw_content_t:dir write;
allow ftpd_t httpd_sys_rw_content_t:dir add_name;
allow ftpd_t httpd_sys_rw_content_t:dir create;
allow ftpd_t httpd_sys_rw_content_t:dir rmdir;
allow ftpd_t httpd_sys_rw_content_t:dir rename;
allow ftpd_t httpd_sys_rw_content_t:dir remove_name;
allow ftpd_t httpd_sys_rw_content_t:dir unlink;
allow ftpd_t httpd_sys_rw_content_t:file getattr;
allow ftpd_t httpd_sys_rw_content_t:file read;
allow ftpd_t httpd_sys_rw_content_t:file open;
allow ftpd_t httpd_sys_rw_content_t:file write;
allow ftpd_t httpd_sys_rw_content_t:file create;
allow ftpd_t httpd_sys_rw_content_t:file rename;
allow ftpd_t httpd_sys_rw_content_t:file unlink;

Kontrola, kompilácia a zaradenie modulu do systému
Kód: [Vybrat]
checkmodule -M -m -o my_ftp_http.mod my_ftp_http.te
semodule_package -o my_ftp_http.pp -m my_ftp_http.mod
semodule -i my_ftp_http.pp

Ak bude PHP-FPM počúvať na inom než štandardnom porte 9000 (napr. 33333):
Kód: [Vybrat]
semanage port -a -t http_port_t -p tcp 33333
Název: Re:Používáte SELinux?
Přispěvatel: Lol Phirae 31. 01. 2016, 10:33:05
A to je moc pěkná ukázka toho, proč je obvyklým univerzálním "řešením" problémů SELinux vypnout.  ::)
Název: Re:Používáte SELinux?
Přispěvatel: Ondra Satai Nekola 31. 01. 2016, 11:15:10
Pokud se nepletu, tak ve fabrice je na produkci zapnuty.

Doma radeji grsecurity (a na ubuntu laptopu alespon AppArmor pripadne pokud se s necim nechci patlat tak firejail)