Používáte SELinux?

okur_pytel

Používáte SELinux?
« kdy: 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.
-


Jenda

Re:Používáte SELinux?
« Odpověď #1 kdy: 19. 01. 2016, 20:20:21 »
IMHO grsec je pokročilejší, takže když už něco konfigurovat, tak to.

Lol Phirae

Re:Používáte SELinux?
« Odpověď #2 kdy: 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  ::)

okur_pytel

Re:Používáte SELinux?
« Odpověď #3 kdy: 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


okur_pytel

Re:Používáte SELinux?
« Odpověď #4 kdy: 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


Dzavy

Re:Používáte SELinux?
« Odpověď #5 kdy: 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.

NN

Re:Používáte SELinux?
« Odpověď #6 kdy: 20. 01. 2016, 07:09:05 »
Napise niekto konkretne pripady, kedy mu SELinux alebo grsecurity pomohol bud k zabraneniu prieniku, alebo k jeho zmierneniu?

Lol Phirae

Re:Používáte SELinux?
« Odpověď #7 kdy: 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.

Maros

Re:Používáte SELinux?
« Odpověď #8 kdy: 23. 01. 2016, 14:40:40 »
Zaujimala by ma implementacia pre Apache + PHP-FPM + ProFTPd.

Maros

Re:Používáte SELinux?
« Odpověď #9 kdy: 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

Lol Phirae

Re:Používáte SELinux?
« Odpověď #10 kdy: 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.  ::)

Re:Používáte SELinux?
« Odpověď #11 kdy: 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)