De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

SELinux Een SELinux-module voor CGI scripts Marcel Nijenhof

Verwante presentaties


Presentatie over: "SELinux Een SELinux-module voor CGI scripts Marcel Nijenhof"— Transcript van de presentatie:

1 SELinux Een SELinux-module voor CGI scripts Marcel Nijenhof
15 Mei 2008 Voorjaarsconferentie nluug

2 Wat is selinux Ontwikkeld door de nsa Eigen os flask Geport na linux
Beveiligings model Regels vast gelegd Afdwingen regels Relatie tussen processen en objecten Domeinen en typen

3 Voorbeeld: Aanpassen paswoord

4 Aanpassingen Extended attributen De “-Z” vlag (ls, ps, ..) Logging
getenforce/setenforce chcon/restorecon Semange Setsebool Semodule audit2allow

5 Cgips Simpel cgi script Draait enkele commando's Laat resultaat zien
Runcmd() { echo echo "<pre>" echo "<pre>" } runcmd getenforce runcmd getsebool \ httpd_enable_cgi runcmd id -Z runcmd ps -ef Simpel cgi script Draait enkele commando's Laat resultaat zien Status selinux Selinux gebruiker Resultaat “ps -ef”

6 Resultaat zonder aanpassingen
SE Linux uit ps -ef UID CMD root init [3] marceln bash root /usr/sbin/httpd apache /usr/sbin/httpd ... apache /var/www/cgi-bin/ps apache ps -ef SE Linux aan ps -ef UID CMD apache /var/www/cgi-bin/cgips apache ps -ef

7 SE Linux en cgi scripten
Ps in een cgi script geeft geen informatie Helaas zien we het resultaat van ps niet

8 Oplossen SELinux devel Kopieer voorbeeld Nieuw types cgips_t
cgips_exec_t Domein transitie Toegangs regels via “audit2allow”

9 Interface file interface(`cgips_domtrans',` gen_require(`
type cgips_t, cgips_exec_t; ') domain_auto_trans($1,cgips_exec_t,cgips_t) allow $1 cgips_t:fd use; allow cgips_t $1:fd use; allow $1 cgips_t:fifo_file rw_file_perms; allow $1 cgips_t:process sigchld;

10 Type enforcement policy_module(cgips,1.0.1) require {
class chr_file getattr; class dir { add_name getattr read remove_name search write }; class fd use; ... } allow cgips_t bin_t:dir search; allow cgips_t bin_t:file { execute execute_no_trans getattr read }; allow cgips_t crond_t:dir { getattr search };

11 Vmsplice exploit Kernel exploit Onbekend bij call for paper
./vmsplice.bin <<EOF echo echo "> head \ -1 /etc/shadow" head -1 /etc/shadow EOF Kernel exploit Onbekend bij call for paper Wat doet SELinux voor nieuwe kernel exploit? Nieuw cgi-script Voert exploit uit Toont /etc/shadow

12 Resultaat Exploit werkt gewoon exploit werkt niet Je wordt root
Uid = 0 Alles mag volgens posix exploit werkt niet Behoud Security context Role: httpd_sys_script_t Beperkingen SELinux Geen toegang tot “/etc/shadow”

13 Conclusies Het is lastig Totaal ander model dan posix
Beveiligt niet de data van de applicatie zelf De applicatie moet immers toegang hebben Problemen met embedded apache modules Geen exec Het kan wel gevolgen van exploits inperken Zie vmsplice voorbeeld

14 Vragen Sheets: http://pion.xs4all.nl/lezingen/SELinux-nluug2008vj.odp
Paper: Dit document is gelicenseerd onder “Attribution- ShareAlike 3.0Netherlands license”, beschikbaar op sa/3.0/nl


Download ppt "SELinux Een SELinux-module voor CGI scripts Marcel Nijenhof"

Verwante presentaties


Ads door Google