Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung Letzte Überarbeitung Beide Seiten, nächste Überarbeitung | ||
admin_grundlagen:selinux_-_webserver_inhalte_freigeben [2018/11/12 23:36] ingo_wichmann |
admin_grundlagen:selinux_-_webserver_inhalte_freigeben [2019/08/13 11:02] dhoppe [HTML Datei außerhalb des DocumentRoot anlegen] |
||
---|---|---|---|
Zeile 67: | Zeile 67: | ||
- | ====== PHP Anwendung: Rechte testen ====== | + | |
- | yum install php | + | |
- | service httpd restart | + | ====== HTML Datei außerhalb des DocumentRoot anlegen ====== |
- | cd /var/www/html/ | + | <file txt /etc/httpd/conf.d/srv.conf> |
- | id -Z | + | Alias /srv /srv/test |
- | ls -dZ . | + | |
- | matchpathcon . | + | <Directory /srv/test> |
+ | Require all granted | ||
+ | </Directory> | ||
+ | </file> | ||
+ | |||
+ | apachectl graceful | ||
+ | |||
+ | mkdir -p /srv/test | ||
+ | ls -dZ /srv/test/ | ||
+ | -> Type: ''var_t'' | ||
+ | chcon --reference /var/www/html /srv/test | ||
+ | ls -dZ /srv/test/ | ||
-> Type: ''httpd_sys_content_t'' | -> Type: ''httpd_sys_content_t'' | ||
+ | matchpathcon /srv/test/ | ||
+ | -> Type: ''var_t'' (**Achtung!**) | ||
- | PHP-Shell((https://github.com/flozz/p0wny-shell)) instalieren: (**niemals auf produktiven Systemen**) | + | <file html test.html> |
- | wget https://github.com/flozz/p0wny-shell/raw/master/shell.php | + | <html> |
- | ls -Z shell.html | + | <head> |
+ | <title>Hello SELinux!</title> | ||
+ | </head> | ||
+ | <body> | ||
+ | Hello SELinux | ||
+ | </body> | ||
+ | </html> | ||
+ | </file> | ||
+ | |||
+ | ls -Z /srv/test/test.html | ||
+ | -> Type: ''var_t'', Webserver kann **nicht** darauf zugreifen | ||
+ | chcon --reference /var/www/html /srv/test/test.html | ||
+ | ls -Z /srv/test/test.html | ||
+ | -> Type: ''httpd_sys_content_t'', Webserver kann darauf zugreifen | ||
+ | restorecon -RF /srv/test/ | ||
+ | ls -Z /srv/test/test.html | ||
+ | -> Type: ''var_t'', Webserver kann **nicht** darauf zugreifen | ||
+ | semanage fcontext --add -t httpd_sys_content_t '/srv/test(/.*)?' | ||
+ | restorecon -RF /srv/test/ | ||
-> Type: ''httpd_sys_content_t'', Webserver kann darauf zugreifen | -> Type: ''httpd_sys_content_t'', Webserver kann darauf zugreifen | ||
- | -> http://localhost/shell.php |