Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:selinux_-_webserver_inhalte_freigeben

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
admin_grundlagen:selinux_-_webserver_inhalte_freigeben [2018/11/12 23:36]
ingo_wichmann
admin_grundlagen:selinux_-_webserver_inhalte_freigeben [2019/08/14 09:03] (aktuell)
dhoppe
Zeile 45: Zeile 45:
 -> Type: ''​admin_home_t''​ -> Type: ''​admin_home_t''​
   mv test.html /​var/​www/​html   mv test.html /​var/​www/​html
--> Webserver kann //nicht// darauf zugreifen+-> Webserver kann //nicht// darauf zugreifen ​((Security Context: //mv// verhält sich anders als //cp//. //mv// behält den Security Context der Quelle, während //cp// den Security Context des Ziels übernimmt.))
  
 ===== SELinux file type korrigieren ===== ===== SELinux file type korrigieren =====
Zeile 62: Zeile 62:
 oder oder
   chcon --reference /​var/​www/​html /​var/​www/​html/​test.html   chcon --reference /​var/​www/​html /​var/​www/​html/​test.html
 +
 +((Change Security Context: Bei dem Befehl //chcon// handelt es sich um eine temporäre Lösung, die durch ein Relabling des Filesystem überschrieben wird. Eine dauerhafte Lösung wird mit Hilfe von //​semanage//​ erzielt.))
  
 ==== restorecon ==== ==== restorecon ====
   restorecon /​var/​www/​html/​test.html   restorecon /​var/​www/​html/​test.html
  
 +====== HTML Datei außerhalb des DocumentRoot anlegen ======
 +<file txt /​etc/​httpd/​conf.d/​srv.conf>​
 +Alias /srv /srv/test
  
-====== PHP Anwendung: Rechte testen ====== +<​Directory /​srv/​test>​ 
-  ​yum install php +  ​Require all granted 
-  ​service httpd restart +</​Directory>​ 
-  ​cd /​var/​www/​html/​ +</​file>​ 
-  id -Z + 
-  ls -dZ +  ​apachectl graceful 
-  matchpathcon .+ 
 +  ​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>​ 
--Type: ''​httpd_sys_content_t'',​ Webserver kann darauf zugreifen+    <​title>​Hello SELinux!<​/title> 
 +  ​</head> 
 +  ​<​body>​ 
 +    Hello SELinux 
 +  </​body>​ 
 +</html> 
 +</file>
  
--> http://localhost/shell.php+  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
admin_grundlagen/selinux_-_webserver_inhalte_freigeben.1542065812.txt.gz · Zuletzt geändert: 2018/11/12 23:36 von ingo_wichmann