Re: Context settings after ssh login

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

 



> On 10/20/2010 07:25 AM, imsand@xxxxxxxxx wrote:
>>> On 10/20/2010 01:42 AM, imsand@xxxxxxxxx wrote:
>>>>> On 10/19/2010 08:47 AM, imsand@xxxxxxxxx wrote:
>>>>>>> On 10/19/2010 07:42 AM, imsand@xxxxxxxxx wrote:
>>>>>>>>> On 10/07/2010 09:11 AM, Daniel J Walsh wrote:
>>>>>>>>>
>>>>>>>>>> -----BEGIN PGP SIGNED MESSAGE-----
>>>>>>>>>> Hash: SHA1
>>>>>>>>>>
>>>>>>>>>> On 10/07/2010 10:40 AM, Chad Sellers wrote:
>>>>>>>>>>
>>>>>>>>>>> On 10/6/10 3:29 AM, "imsand@xxxxxxxxx"<imsand@xxxxxxxxx>
>>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>>> On 10/05/2010 11:43 PM, imsand@xxxxxxxxx wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On 10/05/2010 06:38 AM, imsand@xxxxxxxxx wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On 10/04/2010 11:30 PM, imsand@xxxxxxxxx wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On 10/04/2010 01:03 AM, imsand@xxxxxxxxx wrote:
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Hello
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> I'm working on SUSE SLES11SP1 and encounter the
>>>>>>>>>>>>>>>>>>>> following
>>>>>>>>>>>>>>>>>>>> problem.
>>>>>>>>>>>>>>>>>>>> Setting the context of the User after ssh login
>>>>>>>>>>>>>>>>>>>> doesn't
>>>>>>>>>>>>>>>>>>>> work
>>>>>>>>>>>>>>>>>>>> if
>>>>>>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>>>>>> SELinux Username and the Linux Username aren't
>>>>>>>>>>>>>>>>>>>> identical.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> --------------
>>>>>>>>>>>>>>>>>>>> Here is an example (SElinux User=mat_u, Linux
>>>>>>>>>>>>>>>>>>>> User=mat_u):
>>>>>>>>>>>>>>>>>>>> Oct  4 09:41:54 testsrv.example sshd[15829]: Accepted
>>>>>>>>>>>>>>>>>>>> keyboard-interactive/pam for mat_u from
>>>>>>>>>>>>>>>>>>>> 131.102.233.125
>>>>>>>>>>>>>>>>>>>> port
>>>>>>>>>>>>>>>>>>>> 54714
>>>>>>>>>>>>>>>>>>>> ssh2
>>>>>>>>>>>>>>>>>>>> Oct  4 09:41:54 testsrv.example sshd[15829]:
>>>>>>>>>>>>>>>>>>>> pam_selinux(sshd:session):
>>>>>>>>>>>>>>>>>>>> Open Session
>>>>>>>>>>>>>>>>>>>> Oct  4 09:41:54 testsrv.example sshd[15829]:
>>>>>>>>>>>>>>>>>>>> pam_selinux(sshd:session):
>>>>>>>>>>>>>>>>>>>> Open Session
>>>>>>>>>>>>>>>>>>>> Oct  4 09:41:54 testsrv.example sshd[15829]:
>>>>>>>>>>>>>>>>>>>> pam_selinux(sshd:session):
>>>>>>>>>>>>>>>>>>>> Username= mat_u SELinux User = user_u Level= (null)
>>>>>>>>>>>>>>>>>>>> Oct  4 09:41:54 testsrv.example sshd[15829]:
>>>>>>>>>>>>>>>>>>>> pam_selinux(sshd:session):
>>>>>>>>>>>>>>>>>>>> set mat_u security context to user_u:user_r:user_t
>>>>>>>>>>>>>>>>>>>> Oct  4 09:41:54 testsrv.example sshd[15829]:
>>>>>>>>>>>>>>>>>>>> pam_selinux(sshd:session):
>>>>>>>>>>>>>>>>>>>> set mat_u key creation context to user_u:user_r:user_t
>>>>>>>>>>>>>>>>>>>> ---
>>>>>>>>>>>>>>>>>>>> mat_u@xxxxxxxxxxxxxxx:~>          id
>>>>>>>>>>>>>>>>>>>> uid=6575(mat_u) gid=100(users)
>>>>>>>>>>>>>>>>>>>> groups=16(dialout),33(video),100(users)
>>>>>>>>>>>>>>>>>>>> context=mat_u:staff_r:staff_t
>>>>>>>>>>>>>>>>>>>> mat_u@xxxxxxxxxxxxxxx:~>          newrole -r sysadm_r
>>>>>>>>>>>>>>>>>>>> mat_u@xxxxxxxxxxxxxxx:~>          id
>>>>>>>>>>>>>>>>>>>> uid=6575(mat_u) gid=100(users)
>>>>>>>>>>>>>>>>>>>> groups=16(dialout),33(video),100(users)
>>>>>>>>>>>>>>>>>>>> context=mat_u:sysadm_r:sysadm_t
>>>>>>>>>>>>>>>>>>>> --------------------
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> So, this is okey. The user's context after login is
>>>>>>>>>>>>>>>>>>>> "mat_u:staff_r:staff_t"
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> But, if the Linux User is different from the SELinux
>>>>>>>>>>>>>>>>>>>> User,
>>>>>>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>>>>>> default
>>>>>>>>>>>>>>>>>>>> user's will be chosen instead.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Here is the example (SELinux User=mat_u, Linux
>>>>>>>>>>>>>>>>>>>> User=mat):
>>>>>>>>>>>>>>>>>>>> ---------------------
>>>>>>>>>>>>>>>>>>>> Oct  4 09:46:22 testsrv.example sshd[16185]: Accepted
>>>>>>>>>>>>>>>>>>>> keyboard-interactive/pam for mat from 131.102.233.125
>>>>>>>>>>>>>>>>>>>> port
>>>>>>>>>>>>>>>>>>>> 54726
>>>>>>>>>>>>>>>>>>>> ssh2
>>>>>>>>>>>>>>>>>>>> Oct  4 09:46:22 testsrv.example sshd[16185]:
>>>>>>>>>>>>>>>>>>>> pam_selinux(sshd:session):
>>>>>>>>>>>>>>>>>>>> Open Session
>>>>>>>>>>>>>>>>>>>> Oct  4 09:46:22 testsrv.example sshd[16185]:
>>>>>>>>>>>>>>>>>>>> pam_selinux(sshd:session):
>>>>>>>>>>>>>>>>>>>> Open Session
>>>>>>>>>>>>>>>>>>>> Oct  4 09:46:22 testsrv.example sshd[16185]:
>>>>>>>>>>>>>>>>>>>> pam_selinux(sshd:session):
>>>>>>>>>>>>>>>>>>>> Username= mat SELinux User = mat_u Level= (null)
>>>>>>>>>>>>>>>>>>>> Oct  4 09:46:22 testsrv.example sshd[16185]:
>>>>>>>>>>>>>>>>>>>> pam_selinux(sshd:session):
>>>>>>>>>>>>>>>>>>>> set mat security context to mat_u:staff_r:staff_t
>>>>>>>>>>>>>>>>>>>> Oct  4 09:46:22 testsrv.example sshd[16185]:
>>>>>>>>>>>>>>>>>>>> pam_selinux(sshd:session):
>>>>>>>>>>>>>>>>>>>> set mat key creation context to mat_u:staff_r:staff_t
>>>>>>>>>>>>>>>>>>>> ---
>>>>>>>>>>>>>>>>>>>> mat_u@xxxxxxxxxxxxxxx:~>          id
>>>>>>>>>>>>>>>>>>>> uid=6575(mat) gid=100(users)
>>>>>>>>>>>>>>>>>>>> groups=16(dialout),33(video),100(users)
>>>>>>>>>>>>>>>>>>>> context=user_u:user_r:user_t
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> mat_u@xxxxxxxxxxxxxxx:~>          newrole -r sysadm_r
>>>>>>>>>>>>>>>>>>>> user_u:sysadm_r:sysadm_t is not a valid context
>>>>>>>>>>>>>>>>>>>> ---------------------
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> As you can see, the pam_selinux module recognizes that
>>>>>>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>>>>>> new
>>>>>>>>>>>>>>>>>>>> context
>>>>>>>>>>>>>>>>>>>> should be "mat_u:staff_r:staff_t", but for some reason
>>>>>>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>>>>>> real
>>>>>>>>>>>>>>>>>>>> context
>>>>>>>>>>>>>>>>>>>> is
>>>>>>>>>>>>>>>>>>>> user_u:user_r:user_t. Changing the context with
>>>>>>>>>>>>>>>>>>>> newrole
>>>>>>>>>>>>>>>>>>>> doesn't
>>>>>>>>>>>>>>>>>>>> work
>>>>>>>>>>>>>>>>>>>> either...
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> The user mappings should be okey:
>>>>>>>>>>>>>>>>>>>> ------
>>>>>>>>>>>>>>>>>>>> semanage user -l | grep mat
>>>>>>>>>>>>>>>>>>>> mat_u           staff_r sysadm_r
>>>>>>>>>>>>>>>>>>>> testsrv.example:~ # semanage login -l | grep mat
>>>>>>>>>>>>>>>>>>>> mat
>>>>>>>>>>>>>>>>>>>> -------
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Any idea out there? Do I miss something?
>>>>>>>>>>>>>>>>>>>> kind regards
>>>>>>>>>>>>>>>>>>>> Matthias
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>>>> 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.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> you can specify the context in
>>>>>>>>>>>>>>>>>>> /etc/selinux/policy/contexts/users/whatroleyouused
>>>>>>>>>>>>>>>>>>> (under sshd) I normally set user_r:user_t:s0
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> 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.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> The file looks like:
>>>>>>>>>>>>>>>>>> cat /etc/selinux/refpolicy/contexts/users/mat_u
>>>>>>>>>>>>>>>>>> system_r:local_login_t  staff_r:staff_t
>>>>>>>>>>>>>>>>>> sysadm_r:sysadm_t
>>>>>>>>>>>>>>>>>> system_r:remote_login_t  staff_r:staff_t
>>>>>>>>>>>>>>>>>> system_r:sshd_t   staff_r:staff_t sysadm_r:sysadm_t
>>>>>>>>>>>>>>>>>> system_r:crond_t  staff_r:cronjob_t
>>>>>>>>>>>>>>>>>> system_r:xdm_t   staff_r:staff_t
>>>>>>>>>>>>>>>>>> staff_r:staff_su_t  staff_r:staff_t
>>>>>>>>>>>>>>>>>> staff_r:staff_sudo_t  staff_r:staff_t
>>>>>>>>>>>>>>>>>> sysadm_r:sysadm_su_t  sysadm_r:sysadm_t
>>>>>>>>>>>>>>>>>> sysadm_r:sysadm_sudo_t  sysadm_r:sysadm_t
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> So, theoretical this should be okey, isn't it?
>>>>>>>>>>>>>>>>>> And as you can see in the log from above (set mat key
>>>>>>>>>>>>>>>>>> creation
>>>>>>>>>>>>>>>>>> context
>>>>>>>>>>>>>>>>>> to
>>>>>>>>>>>>>>>>>> mat_u:staff_r:staff_t) it "tries" to switch to staff but
>>>>>>>>>>>>>>>>>> for
>>>>>>>>>>>>>>>>>> some
>>>>>>>>>>>>>>>>>> reason
>>>>>>>>>>>>>>>>>> it doesn't work..
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> if your sshd'ing and the context is staff_r:staff_t then
>>>>>>>>>>>>>>>>> it's
>>>>>>>>>>>>>>>>> correct,
>>>>>>>>>>>>>>>>> I
>>>>>>>>>>>>>>>>> usually change this to user_r:user_t just cause I'm
>>>>>>>>>>>>>>>>> paranoid.
>>>>>>>>>>>>>>>>> Also there is some options that you can set in /etc/pam.d
>>>>>>>>>>>>>>>>> to
>>>>>>>>>>>>>>>>> do
>>>>>>>>>>>>>>>>> other
>>>>>>>>>>>>>>>>> checks etc..
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Justin P. Mattock
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> no it's not and that't the problem:)
>>>>>>>>>>>>>>>> If I sshd'ing with mat_u it's always "user_r:user_t" even
>>>>>>>>>>>>>>>> "staff_r:staff_t" is specified (see above). But it's
>>>>>>>>>>>>>>>> correct
>>>>>>>>>>>>>>>> if
>>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>> selinux and linux users are named equaly (mat in the
>>>>>>>>>>>>>>>> example).
>>>>>>>>>>>>>>>> It seems that something with the context settings and
>>>>>>>>>>>>>>>> usermapping
>>>>>>>>>>>>>>>> isn't
>>>>>>>>>>>>>>>> correct. Do you see the problem?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Somewhere in the policy it is set to default to user_r for
>>>>>>>>>>>>>>> sshd,
>>>>>>>>>>>>>>> I
>>>>>>>>>>>>>>> dont
>>>>>>>>>>>>>>> think there is a boolean(but could be wrong)for that
>>>>>>>>>>>>>>> feature.
>>>>>>>>>>>>>>> maybe
>>>>>>>>>>>>>>> it's
>>>>>>>>>>>>>>> reading the default_contexts file which is set to use
>>>>>>>>>>>>>>> user_r:user_t
>>>>>>>>>>>>>>> instead of reading mat_u for sshd(staff_r:staff_t)
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Justin P. Mattock
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Unfortunately I can't see a rule doing this. The curious
>>>>>>>>>>>>>> thing
>>>>>>>>>>>>>> is,
>>>>>>>>>>>>>> that
>>>>>>>>>>>>>> it
>>>>>>>>>>>>>> works if the selinux user and the linux user are equivalent
>>>>>>>>>>>>>> (both
>>>>>>>>>>>>>> mat_u).
>>>>>>>>>>>>>> But it does NOT work if it is mat (linux user) and mapped to
>>>>>>>>>>>>>> mat_u
>>>>>>>>>>>>>> (selinux user).
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> hmm.. something seems configured wrong, what OS are you
>>>>>>>>>>>>> using?
>>>>>>>>>>>>> do
>>>>>>>>>>>>> you
>>>>>>>>>>>>> have semanage login/user -l set up correctly?
>>>>>>>>>>>>>
>>>>>>>>>>>>> over here I build the policy from git, normally edit
>>>>>>>>>>>>> policy/users
>>>>>>>>>>>>> (add)
>>>>>>>>>>>>> gen_user(name,system_u, sysadm_r staff_r user_r, s0, s0 -
>>>>>>>>>>>>> mls_systemhigh, mcs_allcats)
>>>>>>>>>>>>>
>>>>>>>>>>>>> then after the policy is built and installed/loaded I do
>>>>>>>>>>>>> semanage login -a -s name name (create name in
>>>>>>>>>>>>> contexts/users)
>>>>>>>>>>>>> (or skip the above and just use semanage -a -s user_u name)
>>>>>>>>>>>>>
>>>>>>>>>>>>> seems sshd works with the given context I specify(user_r)
>>>>>>>>>>>>> then
>>>>>>>>>>>>> if
>>>>>>>>>>>>> I
>>>>>>>>>>>>> want
>>>>>>>>>>>>> to add more options I adjust /etc/pam.d/*
>>>>>>>>>>>>>
>>>>>>>>>>>>> Justin P. Mattock
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>> Thanks for your reply.
>>>>>>>>>>>> I'm using SLES 11 SP1. It wouldn't be the first bug regarding
>>>>>>>>>>>> SELinux
>>>>>>>>>>>> on
>>>>>>>>>>>> this distro... ;)
>>>>>>>>>>>> Here is what I've done so far.
>>>>>>>>>>>> - Downloaded the latest reference policy from tresys
>>>>>>>>>>>> - Compiled and installed it on my sles 11.1
>>>>>>>>>>>> - Add selinux user mat_u: "semanage user -R "staff_r system_r"
>>>>>>>>>>>> -P
>>>>>>>>>>>> user
>>>>>>>>>>>> -a
>>>>>>>>>>>> mat_u"
>>>>>>>>>>>> - Add linux user mat: "useradd mat"
>>>>>>>>>>>> - Set password for mat: "passwd mat"
>>>>>>>>>>>> - User mapping: "semanage login -s mat_u -a mat"
>>>>>>>>>>>> - add security context for mat_u by copying staff_u's context
>>>>>>>>>>>> "cp /etc/selinux/refpolicy/contexts/user/staff_u
>>>>>>>>>>>> /etc/selinux/refpolicy/contexts/user/mat_u"
>>>>>>>>>>>> - set boolean for sysadm ssh login to true: "setsebool -P
>>>>>>>>>>>> ssh_sysadm_login
>>>>>>>>>>>> on"
>>>>>>>>>>>>
>>>>>>>>>>>> Do you know good debug options for tracing where it stucks?
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>> When debugging login-type programs figuring out the context to
>>>>>>>>>>> transition
>>>>>>>>>>> to, there are a couple of simple useful utilities in
>>>>>>>>>>> libselinux/utils.
>>>>>>>>>>> These
>>>>>>>>>>> are getconlist and getdefaultcon. Most distros won't install
>>>>>>>>>>> these
>>>>>>>>>>> (as
>>>>>>>>>>> they're just debugging tools), but you can build them yourself
>>>>>>>>>>> out
>>>>>>>>>>> of
>>>>>>>>>>> the
>>>>>>>>>>> tree.
>>>>>>>>>>>
>>>>>>>>>>> getconlist will print out the contexts returned by
>>>>>>>>>>> get_ordered_context_list(), which are all the reachable
>>>>>>>>>>> contexts.
>>>>>>>>>>> This
>>>>>>>>>>> could
>>>>>>>>>>> tell you if the problem is that the context you're trying to
>>>>>>>>>>> transition
>>>>>>>>>>> to
>>>>>>>>>>> is for some reason unreachable.
>>>>>>>>>>>
>>>>>>>>>>> getdefaultcon can tell you (in verbose mode) the default seuser
>>>>>>>>>>> and
>>>>>>>>>>> level
>>>>>>>>>>> returned by getseuserbyname() and the default context returned
>>>>>>>>>>> by
>>>>>>>>>>> get_default_context_with_rolelevel()/get_default_context_with_level().
>>>>>>>>>>> If
>>>>>>>>>>> the seuser is wrong, then you know something's going wrong in
>>>>>>>>>>> getseuserbyname().
>>>>>>>>>>>
>>>>>>>>>>> I hope that helps.
>>>>>>>>>>>
>>>>>>>>>>> Thanks,
>>>>>>>>>>> Chad Sellers
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> 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.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>> We ship them in fedora as selinuxconlist and selinuxdefcon
>>>>>>>>>> -----BEGIN PGP SIGNATURE-----
>>>>>>>>>> Version: GnuPG v1.4.10 (GNU/Linux)
>>>>>>>>>> Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/
>>>>>>>>>>
>>>>>>>>>> iEYEARECAAYFAkyt8UkACgkQrlYvE4MpobPw+wCfa8sf3A8+xhnMmdz2z3/vuJOM
>>>>>>>>>> TYsAn1s18NmE9caf5MpCt312RO2Wh/BI
>>>>>>>>>> =N+E/
>>>>>>>>>> -----END PGP SIGNATURE-----
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> o.k. I just loaded up OpenSUSE11.4, and loaded the policy(this is
>>>>>>>>> from
>>>>>>>>> git keep in mind, not what suse offers).
>>>>>>>>> after getting everything setup I was able to ssh into the machine
>>>>>>>>> with
>>>>>>>>> my iphone, and issue id -Z.. the context I set is user_r:user_t
>>>>>>>>> which
>>>>>>>>> the iphone showed(name:user_r:staff_t:s0) so everything is good
>>>>>>>>> with
>>>>>>>>> this version.(not sure with 11.1, but I know 11.2 works fine, as
>>>>>>>>> well
>>>>>>>>> as
>>>>>>>>> 11.4).
>>>>>>>>>
>>>>>>>>> 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.
>>>>>>>>>
>>>>>>>>>
>>>>>>>> Thank you for your answers.
>>>>>>>> I've reinstalled the sles11.1 with the newest opensuse selinux
>>>>>>>> libraries
>>>>>>>> (http://download.opensuse.org/repositories/security:/SELinux/openSUSE_Factory/x86_64/),
>>>>>>>> but it still struggles with the ssh login. Local login is working
>>>>>>>> now!
>>>>>>>> There must be a problem with pam_selinux. Here's the output of the
>>>>>>>> debug
>>>>>>>> log:
>>>>>>>> Oct 19 16:40:50 testmachine.local sshd[7550]:
>>>>>>>> pam_selinux(sshd:session):
>>>>>>>> Open Session
>>>>>>>> Oct 19 16:40:50 testmachine.local sshd[7550]:
>>>>>>>> pam_selinux(sshd:session):
>>>>>>>> Username= mat SELinux User = mat_u Level= (null)
>>>>>>>> Oct 19 16:40:50 testmachine.local sshd[7550]:
>>>>>>>> pam_selinux(sshd:session):
>>>>>>>> set mat security context to mat_u:staff_r:insmod_t
>>>>>>>> Oct 19 16:40:50 testmachine.local sshd[7550]:
>>>>>>>> pam_selinux(sshd:session):
>>>>>>>> set mat key creation context to mat_u:staff_r:insmod_t
>>>>>>>> Oct 19 16:40:50 testmachine.local sshd[7557]:
>>>>>>>> pam_unix2(sshd:setcred):
>>>>>>>> pam_sm_setcred() called
>>>>>>>> Oct 19 16:40:50 testmachine.local sshd[7557]:
>>>>>>>> pam_unix2(sshd:setcred):
>>>>>>>> username=[mat]
>>>>>>>> Oct 19 16:40:50 testmachine.local sshd[7557]:
>>>>>>>> pam_unix2(sshd:setcred):
>>>>>>>> pam_sm_setcred: PAM_SUCCESS
>>>>>>>> Oct 19 16:40:50 testmachine.local sshd[7557]: fatal:
>>>>>>>> ssh_selinux_getctxbyname: Failed to get default SELinux security
>>>>>>>> context
>>>>>>>> for mat (in enforcing mode)
>>>>>>>> Oct 19 16:40:50 testmachine.local sshd[7550]:
>>>>>>>> pam_selinux(sshd:session):
>>>>>>>> Close Session
>>>>>>>>
>>>>>>>> @justin: which policy did you installed from git? url? I tried
>>>>>>>> refpolicy
>>>>>>>> from tresys.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> from what I remember insmod_t is a context I always received, due
>>>>>>> to
>>>>>>> unlabeled filesystem
>>>>>>> i.e. I also use LFS, and will tar ball the whole system, and copy
>>>>>>> it
>>>>>>> over to the new machine,
>>>>>>> then receive the insmod_t until I relabel, then all is good, but in
>>>>>>> your
>>>>>>> case it shouldn't be going to that.
>>>>>>>
>>>>>>>
>>>>>>> as for the policy(sounds like the same one)..:
>>>>>>>
>>>>>>> git clone http://oss.tresys.com/git/refpolicy.git
>>>>>>>
>>>>>>> in regards to sles11 im wondering if it's close to opensuse 11.1,
>>>>>>> if
>>>>>>> so
>>>>>>> I can
>>>>>>> load that one up on my machine to see whats happening(right now I'm
>>>>>>> kind
>>>>>>> of floating
>>>>>>> from one distro to the next(I have the "try that out distro
>>>>>>> itch"..))
>>>>>>>
>>>>>>> Justin P. Mattock
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> I don't think that opensuse 11.1 and sles 11.1 are close enough!?
>>>>>> I found out that if the selinux user and the linux user are equal
>>>>>> (both
>>>>>> mat_u), the ssh login works as well.
>>>>>>
>>>>>> indeed insmod was gone after "make relabel", but now I can't start
>>>>>> the
>>>>>> system in enforcing mode anymore, because a couple of denies =>
>>>>>> most of them are related to dbus and rpc-statd:
>>>>>> ----
>>>>>> avc:  denied  { search } for  pid=2320 comm="dbus-daemon" nam
>>>>>> e="dbus" dev=dm-7 ino=40172
>>>>>> scontext=system_u:system_r:sysadm_dbusd_t
>>>>>> tcontext=system_u:object_r:system_dbusd_var_run_t tclass=dir
>>>>>> ----
>>>>>> ----
>>>>>> avc:  denied  { read } for  pid=3127 comm="rpc.statd" path="p
>>>>>> ipe:[9740]" dev=pipefs ino=9740 scontext=system_u:system_r:mount_t
>>>>>> tcontext=system_u:system_r:mount_t tclass=fifo_file
>>>>>> ----
>>>>>> are you familiar with that? are there some booleans to set or do I
>>>>>> have
>>>>>> to
>>>>>> adjust the policy?
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>>> from what I remember opensuse 11.2 had issues starting due too
>>>>> /etc/selinux/config having the wrong permissions(should be
>>>>> -rw-r--r--.)
>>>> the permissions were already correct on my system.
>>>>
>>>
>>> cool... opensuse 11.2 was wrong(should be fixed now), causing SELinux
>>> to
>>> always look for targeted
>>>
>>>>> has issues with /etc/initscript causing SELinux to not
>>>>> transition(thread
>>>>> here)..:
>>>>> http://oss.tresys.com/pipermail/refpolicy/2010-February/002012.html
>>>>>
>>>>> for some reason sysvinit craps out with:
>>>>> if (access(INITSCRIPT, R_OK) == 0&&   runlevel != 'S') {
>>>>>
>>>>> I played around with sysvinit, but my code skills only took me so
>>>>> far:
>>>>> http://www.spinics.net/lists/selinux/msg08983.html
>>>>>
>>>>> two solutions to this is too mv /etc/initscript{,-bak} or
>>>>> setsebool -P init_upstart on
>>>>> this way you transistion properly and you wont receive a dbus
>>>>> error(if
>>>>> this is whats happening with sles11.1)
>>>> You're right. after setting init_upstart=1 I don't receive a dbus
>>>> error
>>>> anymore.
>>>>
>>>
>>> the biggest issue is sles11.1 doesn't even use upstart.. this is caused
>>> by
>>> /etc/initscript (just having that file present, causes things to go out
>>> of whack)
>>>
>>>>>
>>>>> thirdly login context gets the wrong role.. simple fix is on this
>>>>> report:
>>>>> https://bugzilla.novell.com/show_bug.cgi?id=582366
>>>>>
>>>>> here are the bug reports that got fixed so opensuse 11.2 is able to
>>>>> get
>>>>> up and running in full enforcement mode.
>>>>>
>>>>> https://bugzilla.novell.com/show_bug.cgi?id=581505
>>>>> https://bugzilla.novell.com/show_bug.cgi?id=582399
>>>>> https://bugzilla.novell.com/show_bug.cgi?id=582404
>>>>>
>>>>> hopefully these are similar to what you're hitting...this way you can
>>>>> get up and running properly...
>>>>>
>>>> I was gone through all reports but so far I have an other problem
>>>> preventing me from logging in (in enforcing mode).
>>>> "Permissions on the password database may be too restrictive." =>
>>>> I'm
>>>> sure
>>>> that the password is correct.
>>>>
>>>
>>> cool... you might need to make enableaudit or semodule -DB to show more
>>> avc's being denied
>>>
>>>> This could be related to pam stuff (like described in aboves bugs),
>>>> but
>>>> first of all I would like to get rid of some other problems:
>>>> type=AVC msg=audit(1287563356.696:342): avc:  denied  { module_request
>>>> }
>>>> for  pid=3839 comm="sshd" scontext=system_u:system_r:sshd_t
>>>> tcontext=system_u:system_r:kernel_t tclass=system
>>>> type=AVC msg=audit(1287563356.848:343): avc:  denied  { search } for
>>>> pid=3839 comm="sshd" name="root" dev=dm-2 ino=7828
>>>> scontext=system_u:system_r:sshd_t tcontext=system_u:object_r:default_t
>>>> tclass=dir
>>>> type=AVC msg=audit(1287563360.848:344): avc:  denied  { module_request
>>>> }
>>>> for  pid=3839 comm="sshd" scontext=system_u:system_r:sshd_t
>>>> tcontext=system_u:system_r:kernel_t tclass=system
>>>> type=AVC msg=audit(1287563360.904:345): avc:  denied  { search } for
>>>> pid=3848 comm="sshd" name="root" dev=dm-2 ino=7828
>>>> scontext=system_u:system_r:sshd_t tcontext=system_u:object_r:default_t
>>>> tclass=dir
>>>> type=AVC msg=audit(1287563361.056:346): avc:  denied  { search } for
>>>> pid=3849 comm="xauth" name="root" dev=dm-2 ino=7828
>>>> scontext=root:staff_r:xauth_t tcontext=system_u:object_r:default_t
>>>> tclass=dir
>>>> type=AVC msg=audit(1287563361.056:347): avc:  denied  { write } for
>>>> pid=3849 comm="xauth" name="root" dev=dm-2 ino=7828
>>>> scontext=root:staff_r:xauth_t tcontext=system_u:object_r:default_t
>>>> tclass=dir
>>>>
>>>> Do you see what the problem could be?
>>>>
>>>
>>> copy/pasting and using audit2allow -i file gets me nothing(format must
>>> be messd up or something), anyways dan is saying something about root
>>> in
>>> there name="root" so looking into what he had suggested is what
>>> probably
>>> needs to be done..
>>> over here ls -lZ /root  shows
>>> system_u:object_r:default_t:s0
>>>
>>>
>>>
>>>>
>>>> And there is another issue which prevents syslogd from starting:
>>>>
>>>> Oct 20 09:21:20 testmachine.local syslog-ng[3103]: Error opening file
>>>> for
>>>>    writing; filename='/dev/tty10', error='Permission denied (13)'
>>>> Oct 20 09:21:20 testmachine.local syslog-ng[3103]: Error opening file
>>>> for
>>>>    writing; filename='/dev/xconsole', error='Permission denied (13)'
>>>>
>>>> Any ideas?
>>>>
>>>
>>> thats a new one to me.. my guess is the file labels are wrong,
>>> i.e. ubuntu had an issue a few yrs ago, to where /var/log/*
>>> need to have restorecond -R /var done every-time at startup in order
>>> for
>>> the system to load into enforcement mode(with selinux-policy-default)
>>> but is fixed now.
>>>
>>> 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.
>>>
>>
>>
>> okey, here are some more infos regarding the login process:
>> ----
>> type=AVC msg=audit(1287584199.835:407448): avc:  denied  { read } for
>> pid=3850 comm="sshd" name="shadow" dev=dm-2
>> ino=48107 scontext=system_u:system_r:sshd_t
>> tcontext=system_u:object_r:shadow_t tclass=file
>> type=AVC msg=audit(1287584199.835:407449): avc:  denied  { open } for
>> pid=3850 comm="sshd" name="shadow" dev=dm-2
>> ino=48107 scontext=system_u:system_r:sshd_t
>> tcontext=system_u:object_r:shadow_t tclass=file
>> type=AVC msg=audit(1287584199.835:407450): avc:  denied  { getattr } for
>> pid=3850 comm="sshd" path="/etc/shadow" d
>> ev=dm-2 ino=48107 scontext=system_u:system_r:sshd_t
>> tcontext=system_u:object_r:shadow_t tclass=file
>> ----
>> seems that sshd isn't able to access /etc/shadow. shouldn't that be
>> allowed by default??
>> The /root context looks like this:
>
> I think I misunderstood what dan was talking about by posting the
> context of /root (but could be wrong).. I think whats wrong here is
> /etc/shadow you should be seeing avc's with chkpwd_exec_t which
> pam_selinux.so is responsible for doing
>
> when you login(after xdm/gdm) whats id -Z look like?
> over here I have name:staff_r:staff_t:s0
>
>> ---
>> drwx------+   6 root root system_u:object_r:default_t     4096
>> 2010-10-20
>> 16:23 root
>> ---
>> ---
>> drwx------+  6 root root system_u:object_r:default_t  4096 2010-10-20
>> 16:23 .
>> drwxr-xr-x+ 24 root root system_u:object_r:root_t     4096 2010-10-20
>> 16:14 ..
>> -rw-------+  1 root root system_u:object_r:default_t  7133 2010-10-20
>> 16:13 .bash_history
>> drwxr-xr-x+  2 root root system_u:object_r:default_t  4096 2010-05-05
>> 16:04 bin
>> -rw-r--r--+  1 root root system_u:object_r:default_t 40014 2010-10-07
>> 09:38 cobbler_autoyast.xml
>> -rw-r--r--+  1 root root system_u:object_r:default_t  1332 2005-11-23
>> 17:06 .exrc
>> -rw-r-----+  1 root root system_u:object_r:default_t     4 2010-10-07
>> 10:15 .forward
>> drwx------+  2 root root system_u:object_r:default_t  4096 2010-10-07
>> 10:44 .gnupg
>> drwxr-xr-x+  5 root root system_u:object_r:default_t  4096 2010-10-07
>> 09:20 inst-sys
>> drwxr-xr-x+  2 root root system_u:object_r:default_t  4096 2010-10-07
>> 09:36 .kbd
>> -rw-------+  1 root root root:object_r:default_t        43 2010-10-20
>> 16:23 .lesshst
>> -rw-------+  1 root root root:object_r:default_t      5520 2010-10-20
>> 16:02 .viminfo
>> -rw-------+  1 root root root:object_r:default_t       106 2010-10-20
>> 16:19 .Xauthority
>> ---
>> that's all right, isn't it?
>>
>
> yeah the default_t is what I see over here as well..(just to make sure..
> youre not using sudo ssh name@xxxxxxxxxxx to do the sshd transaction,
> just normally without root?)
yes I'm just doing ssh mat@xxxxxxx or ssh root@xxxxxxx (both gets the same
error..)
>
>>
>>
>
> whats your home directory look like? for security reasons you dont need
> to post all of it, just want to make sure the file contexts are correct
> i.e.
> I've noticed sometimes the file labels get labeled as
> user:object_r:user_home_t:s0
> instead of
> name:object_r:user_home_t:s0
>
> the "user" part of the contexts under enforcement mode will show just
> question marks and give no access to the file until you change "user"
> to your login name (kind of a strange thing I've been noticing for one
> reason or another.. probably because I never use genhomedircon or
> something)..
The home directory context of /root you see above. the one of mat_u looks
like this:
ls -alZ /home/mat/
total 7
drwxr-xr-x+ 2 mat_u root  mat_u:object_r:user_home_dir_t 1024 2010-10-21
13:56 .
drwxr-xr-x+ 5 root  root  system_u:object_r:home_root_t  1024 2010-10-19
16:06 ..
-rw-------+ 1 mat_u users mat_u:object_r:user_home_t      220 2010-10-21
13:59 .bash_history
-rw-------+ 1 mat_u users mat_u:object_r:xauth_home_t       0 2010-10-21
13:56 .Xauthority

>
> over here I have .ssh as name:object_r:ssh_home_t:s0
> and
> ls -lZ /usr/sbin/sshd
> system_u:object_r:sshd_exec_t:s0
>
same thing here:

ls -lZ /usr/sbin/sshd
-rwxr-xr-x+ 1 root root system_u:object_r:sshd_exec_t 466560 2010-05-09
14:21 /usr/sbin/sshd


> Justin P. Mattock
>
The problem of not being able to login must be in relation with permission
denies while reading /etc/shadow
type=AVC msg=audit(1287662213.439:407774): avc:  denied  { read } for 
pid=10211 comm="sshd" n
ame="shadow" dev=dm-2 ino=48107 scontext=system_u:system_r:sshd_t
tcontext=system_u:object_r:s
hadow_t tclass=file

type=AVC msg=audit(1287662236.391:407784): avc:  denied  { read } for 
pid=10214 comm="newrole
" name="shadow" dev=dm-2 ino=48107 scontext=root:staff_r:newrole_t
tcontext=system_u:object_r:
shadow_t tclass=file

neither sshd nor newrol are able to read /etc/shadow
ls -alZ /etc/passwd
-rw-r--r--+ 1 root root system_u:object_r:etc_t 1176 2010-10-19 16:45
/etc/passwd

ls -alZ /usr/bin/passwd
-rwsr-xr-x+ 1 root shadow system_u:object_r:passwd_exec_t 81856 2010-05-08
11:36 /usr/bin/passwd

kind regards


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