RE: mcs design help

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

 




> -----Original Message-----
> From: Mike Palmiotto [mailto:mike.palmiotto@xxxxxxxxxxxxxxx]
> Sent: Wednesday, December 09, 2015 2:21 PM
> To: Higgs, Stephen
> Cc: Dominick Grift; selinux@xxxxxxxxxxxxx
> Subject: Re: mcs design help
> 
> On Wed, Dec 9, 2015 at 1:49 PM, Higgs, Stephen <Stephen.Higgs@xxxxxxxx>
> wrote:
> > Thank you, I should also clarify - the generic admin role (sysadm_r)
> should not have access to the database files (this was the tricky part
> for me, as the generic admin has a lot of rights), and I am implementing
> a dbadm_r role that can only administer the database/files.
> >
> > If going with TE, would it mostly be a matter adding an explicit
> constraint on domain transition to mysqld_t?
> 
> If you go the TE route, you'd be labeling your database files and
> allowing the mysqld_t type permissions to it through interfaces/allow
> rules.
> You'd only associate dbadm_r with mysgld_t, so sysadm_r wouldn't have
> those permissions.
> 
> But this brings me to another point...
> 
> Your design really depends upon which database files you're referring
> to, exactly. Are these "database files" database-internal objects, or
> actual external resource files?
> There are should really be two types of admins (one for internal
> database objects, and one for external, OS-level files/objects).
> 
> --Mike
> 
> >
> > --Stpehen
> >
> >> -----Original Message-----
> >> From: Dominick Grift [mailto:dac.override@xxxxxxxxx]
> >> Sent: Wednesday, December 09, 2015 1:44 PM
> >> To: Higgs, Stephen
> >> Cc: selinux@xxxxxxxxxxxxx
> >> Subject: Re: mcs design help
> >>
> >> -----BEGIN PGP SIGNED MESSAGE-----
> >> Hash: SHA512
> >>
> >> On Wed, Dec 09, 2015 at 06:22:17PM +0000, Higgs, Stephen wrote:
> >> > Hi All,
> >> >
> >> > I'm looking for any implementation suggestions for my following the
> >> following: on a database server that restricts logins to confined
> >> users, allow selinux users with sysadm_r the ability to administer
> >> most aspects of the system, but restrict access to some mysql
> database files.
> >> >
> >> > I approached this by labeling the mysql database files with an mcs
> >> category (c127), and then added a domain transition to the mysqld
> >> process to run with a context that includes c127.  The confined login
> >> was configured to initialize with s0:c0.  Finally (and I'm really not
> >> sure this was the best way), I needed to ensure the administrator
> >> could not disable/circumvent selinux so I added the following
> >> restriction to the newrole and setenforce binaries (c0.c1023).
> >> >
> >> > My test user (also in the sudoers file) can do administrative
> >> functions, cannot access the database files, and cannot disable
> selinux.
> >> Any suggestions on how to improve on what I have done?
> >>
> >> I would not use MCS for this but instead use TE
> >>
> >> Also i would leave sysadm_r:sysadm_t a generic admin, so i would
> >> probably create a custom dbadm_r role.
> >>
> >> >
> >> > --Stephen
> >> >
> >> > _______________________________________________
> >> > 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.
> >>
> >> - --
> >> 02DFF788
> >> 4D30 903A 1CF3 B756 FB48  1514 3148 83A2 02DF F788
> >> https://sks-keyservers.net/pks/lookup?op=get&search=0x314883A202DFF78
> >> 8
> >> Dominick Grift
> >> -----BEGIN PGP SIGNATURE-----
> >> Version: GnuPG v2
> >>
> >> iQGcBAEBCgAGBQJWaHZhAAoJENAR6kfG5xmcGeUL/216fJ/2FJjDpW1U/n5BaN13
> >> iUi6v5dH1RrMgaiY4poCJ7rrTn3Wpof7/KwMWjqjxsck9osmCrDvjBPwJuDwzbMe
> >> lTUgi1uvcc10TAncWZgnNcf8Tut+TUeOGGIoQ2r7JZNZ5gK/xmNVdWexl8WPydcq
> >> eS/vPtglah50MvQk2NowMHV+MLH2gan10WD0sMjAY/H/jq0gLQat4MyTbjQvhPWU
> >> qQehPmy9O7rD2Vz71C801B7yQKEq5BJEwU+88a26Nq46qkRvsbTup6jC5fO14MjJ
> >> ElOydUKb7kqAkOZLW+QYM9ZI316Qp9CiPsW6AJOe4Mdco9e9x9exPYgdcEI9i9+x
> >> JuhmLK2IlfDS98J/6brLRgU8K38YJOc+qaYH1Y5XW3JgAL4djXA+BwhrOg84cgK5
> >> 0BY1sC3xwmuvIZuQzAqhtHuM7FaXSaSQemga+oZEeNa8D5PcGxk0aEG+94SQcVg+
> >> Gsy187V9lJ4J+LOQzJYN1kZC082CW+2jBYW/SgZGdQ==
> >> =EKw1
> >> -----END PGP SIGNATURE-----
> >
> > _______________________________________________
> > 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.

Thanks Dominick and Mike, I get what you're saying; I'm going to give this some more thought.  The sysadm_r already has access to mysqld_t, but perhaps making a new type for labeling the database files in /var/lib/mysql/* is the way to go (start from a clean slate where nobody has access).

--Stephen



_______________________________________________
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