Re: using roles with mls policy

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

 



On Wed, Nov 5, 2008 at 12:11 PM, Daniel J Walsh <dwalsh@xxxxxxxxxx> wrote:
> -----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.
>

My setup here is
aterm -e sudo su
(in the fluxbox menu);
then newrole -r staff_r(for network manager)
probably not as safe, but since being for
personal use, probably O.K.

-- 
Justin P. Mattock

--
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