Re: [PATCH] SELINUX: new permission controlling the ability to set suid

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

 



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

On 04/28/2010 10:32 AM, Karl MacMillan wrote:
> On Mon, Apr 26, 2010 at 11:19 AM, Daniel J Walsh <dwalsh@xxxxxxxxxx> wrote:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> On 04/26/2010 10:39 AM, Michal Svoboda wrote:
>>> Daniel J Walsh wrote:
>>>> First my example was sort of a gross oversimplification.  It would not
>>>> only effect unconfined_t but any other domain that could use the
>>>> setuid bit to gain additional privs.
>>>
>>> If a domain can use uid=0 to get additional privileges then the MAC
>>> policy has holes... like cheese and relies on DAC to plumb them. That
>>> significantly reduces the utility of the MAC.
>>>
>> You have to look at this domain by domain, and the goal of users with
>> MAC is to "target" certain domains.  If we went full lock down on every
>> domain then we would not have > 70% of the fedora community running with
>> SELinux enabeled in enforcing mode.
>>
>>>> unconfined_t to a user means, give him all the power of a normal user
>>>> with SELinux disabled.  You are still protected by DAC.  I would argue
>>>> that you want to make sure there are limited setuid apps around when
>>>> running with unconfined_t.  But if you give him unconfined_t and
>>>> "chcon 4755"  as a confined user running as root, then you make it
>>>> easy for him to become unconfined_t running as UID=0.
>>>
>>> The problem with this reasoning is thus:
>>>
>>> 1) you give the user unconfined_t, well, okay, sad but perhaps necessary
>>> 2) you give the user root
>>> 3) you wonder that the user has root & unconfined
>>>
>>> I know that the root in (2) is 'bundled in' a MAC restricted domain but
>>> since root is a DAC concept it propagates ('leaks') back to the DAC
>>> world.
>>>
>>> You now want the MAC to stop the leak, but IMO that is a futile attempt.
>>> It would take some serious analysis to find out how many ways 'root' can
>>> leak out. I bet suid is not the only one. How about screwing up the web
>>> server so that it runs as root and listens for your commands.
>>>
>> We are building higher fences around the prison.  I am not going for the
>> perfect, since this is the enemy of the good.  We have lots of domains
>> that require DAC privs.  It is the combination of DAC and MAC that make
>> SELinux powerful.  Are goal is not to remove DAC checks in any way.
>>>> If we want people to experiment with confined admins, allow unconfined_t
>>>> - -> sudo_exec_t -> confined_admin_t is a good thing.
>>>
>>> People can experiment with confined admins as they like, but they should
>>> note that as long as they have an unconfined element in the game the
>>> system simply won't be secure. Default allow has never worked.
>>>
>> This is not default allow.  It is DAC + MAC as opposed to the way most
>> people run, which is just DAC. I am trying to make setattr check better.
>>
>> DAC + sudo versus DAC + MAC + SUDO.
> 
> I thought that the intent of the current MAC / DAC interaction was
> that capabilities are used to decompose root and MAC can restrict
> capabilities on processes to add extra DAC protections. Now, I'll
> admit a good deal of ignorance here, but is there a reason that we
> can't just write policy using that mechanism to accomplish what you
> are after? If we prevented confined admin domains with root from
> having the needed capability to setuid files isn't that enough? Or if
> the right capability doesn't exist, can't you add a new capability?
> 
> Karl
Write now the ability to setattr on a file gives you the ability to
chmod 4755 EXE on types you control.

But we want to allow chmod 755 EXE but prevent chmod 4755.  Eric is
adding a Access check for this.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/

iEYEARECAAYFAkvYVrUACgkQrlYvE4MpobPCUwCfVKETZQvQKRSvmDpUyBGxFovk
bIEAnjDYGP2oyTxMG8P5xPYOT/WyW31p
=PSKp
-----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