Re: SELinux MLS for Apache Process

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/6/18 9:33 AM, Ishara Fernando wrote:
Dear all ,

I have been trying to test and see how SELinux MLS works with Apache , this is what I did to test

*1) As we're aware if we start apache process as the default SELinux user (i.e: Just as root user) , it will obtain a security context which has all the range of sensitivities and categories (i.e : s0-s15 , C0-C1023) *

[root@msc-ishara-system1 ~]# id -Z
system_u:system_r:sshd_t:*s0-s15:c0.c1023*

[root@msc-ishara-system1 ~]# ps auxZ | grep -i http
system_u:system_r:sshd_t:*s0-s15:c0.c1023* root 29161 0.0  0.4 262888 9248 ?     Ss   00:16   0:00 /usr/sbin/httpd system_u:system_r:sshd_t:*s0-s15:c0.c1023* apache 29164 0.0  0.2 262888 5264 ?   S    00:16   0:00 /usr/sbin/httpd


*2) Then what I did was stop apache and then Switch to a new SELinux role (s4-s5:c1,c2) and start Apache process as follows , apache will also get the same security contexts as the User ( s4-s5:c1,c2 ) *

[root@msc-ishara-system1 ~]# newrole -l s4-s5:c1,c2
Password:

[root@msc-ishara-system1 ~]# id -Z
system_u:system_r:sshd_t:*s4-s5:c1,c2
*
[root@msc-ishara-system1 ~]# /etc/init.d/httpd start


[root@msc-ishara-system1 ~]# ps auxZ  |  grep -i httpd
system_u:system_r:sshd_t:*s4-s5:c1,c2* root 29220 0.0  0.4 262888  9244 ?        Ss   00:18   0:00 /usr/sbin/httpd system_u:system_r:sshd_t:*s4-s5:c1,c2* apache 29223 0.0  0.2 262888 5264 ?       S    00:18   0:00 /usr/sbin/httpd

*3) And now I created a file 'info.php' under /var/www/html , and then i changed the security context of this file as follows
*

touch  /var/www/html/info.php
chcat s0:c3 /var/www/html/info.php

*4) Now that we know the apache process is running in s4-s5:c1,c2 security context and the file /var/www/html/info.php has s0:c3 context , then apache process shouldn't be able to read the /var/www/html/info.php file as c3 isn't read into c1,c2 apache process according to the Bell Lapadula model which is the security policy in SELinux MLS , but however when i run a curl on the apache process , it produces an output (Which shows the php version and stuff)
*

*curl http://localhost/info.php*

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html><head>
<style type="text/css">
body {background-color: #ffffff; color: #000000;}
body, td, th, h1, h2 {font-family: sans-serif;}
pre {margin: 0px; font-family: monospace;}
a:link {color: #000099; text-decoration: none; background-color: #ffffff;}
a:hover {text-decoration: underline;}
table {border-collapse: collapse;}
.center {text-align: center;}

5) What i need to understand is am I testing this wrong ? When I run curl command I run it as the same user in which switched roles to (i.e : s4-s5:c1,c2) , so still c3 isn't read into c1,c2 . But I still get an output for the curl .

What I am trying to achieve is show that Apache process will not be able to read the file /var/www/html/info.php according to the Bell Lapadula model , have i missed any step in here ? Awaiting your kind guidance and inputs . Thank you

First, note that selinux@xxxxxxxxxxxxx has moved to selinux@xxxxxxxxxxxxxxx. The old list still exists but will eventually be shut down sometime. I have cc'd the new list above.

Second, it would help if you provided information about your distribution, release, policy package, etc. sestatus -v output would also be helpful.

Third, your httpd processes are running in the wrong domain (sshd_t vs httpd_t), which indicates something else is wrong with your configuration / set up. And sshd_t appears to be allowed mlsfileread in the Fedora -mls policy, so it is exempted from MLS constraints on file reading, which would explain the behavior you are seeing.








_______________________________________________
Selinux mailing list
Selinux@xxxxxxxxxxxxx
To unsubscribe, send email to Selinux-leave@xxxxxxxxxxxxx.
To get help, send an email containing "help" to Selinux-request@xxxxxxxxxxxxx.




[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux