Re: using roles with mls policy

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

 



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Andy Warner wrote:
> 
> 
> Andy Warner wrote:
>>
>>
>> Justin Mattock wrote:
>>> On Wed, Nov 5, 2008 at 7:33 AM, Andy Warner <warner@xxxxxxxxx> wrote:
>>>  
>>>> I am using Fedora 9 with the MLS policy. I have been using it in
>>>> permissive
>>>> mode for a while (integrating SELinux with a DBMS and its objects)
>>>> and now
>>>> must do some work/testing in enforcing mode. As soon as I switch to
>>>> enforcing mode I seem unable to perform any action which requires
>>>> privilege.
>>>>
>>>> What is the anticipated method to shutdown/reboot the system and to
>>>> toggle
>>>> the enforcing mode while in MLS/Enforcing? What I assumed was to
>>>> transition
>>>> to an appropriate role (sysadm_r and secadm_r respectively) and then
>>>> issue
>>>> the corresponding command (shutdown and setenforce). This fails and I
>>>> believe my difficulty is that in both cases I need to also be the
>>>> linux root
>>>> user. There does not seem to be an obvious way to execute a command
>>>> as the
>>>> lunux root user as neither su nor sudo seem available while in the
>>>> sysadm_r
>>>> and secadm_r roles. Executing something like seaudit while in the
>>>> auditadm_r
>>>> role fails to allow me to authenticate as root. Despite being the
>>>> correct
>>>> password it continuously loops asking for the password.
>>>>
>>>> As a related but less important question, in general, is it intended
>>>> that a
>>>> user initially have the staff_r role upon login and then transition
>>>> to a
>>>> more trusted role (i.e., secadm_r) using the newrole command? (as
>>>> opposed to
>>>> having the secadm_r upon login.
>>>>
>>>> Thanks for any help,
>>>>
>>>> Andy
>>>>
>>>>
>>>>
>>>>     
>>>
>>> Not sure how red hat works,
>>> but for me using ubuntu having to change roles
>>> I first needed to collect all of the allow rules, i.g.
>>> allow newrole_t staff_t:process  etc...
>>> then after after a reboot into enforce mode
>>> using newrole -r works fine.(just haven't defined secadm_r yet).
>>> As for toggling from enforce to permissive
>>> using setenforce 0 or 1
>>> or echo 0/1 > /selinux/enforce.
>>>
>>>
>>>   
>> I have no problem changing to a role while in enforcing mode, the
>> problem is in performing the command. Here is what is happening (the
>> following was executed while in enforcing mode):
>>
>> [staff@oak ~]$ id -Z
>> staff_u:staff_r:staff_t:SystemLow:SystemLow-SystemHigh
>> [staff@oak ~]$ newrole -r secadm_r
>> Password:
>> [staff@oak ~]$ id -Z
>> staff_u:secadm_r:secadm_t:SystemLow:SystemLow-SystemHigh
>> [staff@oak ~]$ ls -l /selinux/enforce
>> -rw-r--r-- 1 root root 0 2008-11-05 17:08 /selinux/enforce
>> [staff@oak ~]$ /usr/sbin/setenforce 1
>> /usr/sbin/setenforce:  setenforce() failed
>> [staff@oak ~]$ sudo /usr/sbin/setenforce 1
>> sudo: setresuid(ROOT_UID, 1, ROOT_UID): Operation not permitted
>> [staff@oak ~]$ id
>> uid=503(staff) gid=500(user) groups=500(user)
>> context=staff_u:secadm_r:secadm_t:SystemLow:SystemLow-SystemHigh
>> [staff@oak ~]$
>>
>> As can be seen I can transition to the secadm_r without an issue. And,
>> from the DAC modes of /selinux/enforce I would guess it requires linux
>> root to be written. Also, I thought I read elsewhere that the secadm_r
>> was configured so that it could not perform an su/sudo. Likewise, if I
>> try to execute system-config-selinux as the secadm_r role, I am not
>> permitted to authenticate as linux root user so I am not able to do
>> anything. If selinux is in permissive mode everything works, as long
>> as I su/sudo to root first. I have similar issues with the auditadm_r
>> role.
>>
>> As for my previously mentioned issue with using sysadm_r to issue a
>> shutdown command while in enforcing mode, I was mistaken and this is
>> possible using sudo (not sure what I was thinking). It seems no MLS
>> roles can use su, only staff_r and sysadm_r may use sudo. auditadm_r
>> and secadm_r cannot use either and seem powerless without it. I am
>> also unable to directly log in as root when in enforcing mode.
>>
>> Note that I am using the roles as they are configured in the MLS
>> policy. If it is required to change or configure the roles to make
>> them able do what it seems like they should be able to do, thats ok,
>> but first I need to make sure I'm not just being boneheaded and using
>> them in the wrong way or have bad expectations of what they should be
>> able to do.
> 
> Sorry to answer my own email, but just to button this up. I could not
> log into my root account because of a conflict between the staff_t
> (login process type) and the admin_home_t (root's home dir file type).
> Any attempt to start a session for root during enforcing mode would die
> as it could not access root's home directory. I am not exactly sure why
> policy is this way, if I did something or the mls policy is that way by
> default. So, I had to find another way to have linux root and
> secadm_r/auditadm_r at the same time. The su and sudo commands are not
> available from those roles. So, from the staff_r I had to start a shell
> using sudo as:
> sudo -s -r secadm_r
> 
> This gave me a shell with the linux root user and the secadm_r role and
> I was able to run things like system-config-selinux and setenforce
> during enforcing mode. Same applies to auditadm_r. role.
> 
You need to run sudo first to become root and then run newrole.

sudo also has the ability to transition directly to sysadm_r

My sudoes has the following lines in it from targeted policy.

dwalsh ALL=(ALL) ROLE=webadm_r TYPE=webadm_t ALL
dwalsh ALL=(ALL) ROLE=unconfined_r TYPE=unconfined_t /bin/su

I am logged in as staff_r:staff_t.

I would not advise logging directly in as root on an MLS machine, but it
probably should be setup to login as sysadm_r,  (Although I would prefer
unconfined_r).


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org

iEYEARECAAYFAkkR/esACgkQrlYvE4MpobN3agCgwKkY63w3+GN71srV7GuD9ciy
0PIAniCDIBsW7Dtp9H01OMH8hOk/MDRF
=lixV
-----END PGP SIGNATURE-----

--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@xxxxxxxxxxxxx with
the words "unsubscribe selinux" without quotes as the message.

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

  Powered by Linux