All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paul Moore <paul.moore@hp.com>
To: Joshua Brindle <jbrindle@tresys.com>
Cc: Joy Latten <latten@austin.ibm.com>,
	latten@us.ibm.com, vyekkirala@TrustedCS.com, sds@tycho.nsa.gov,
	selinux@tycho.nsa.gov
Subject: Re: ipsec and getpeercon()
Date: Mon, 4 Sep 2006 23:32:33 -0400	[thread overview]
Message-ID: <200609042332.34493.paul.moore@hp.com> (raw)
In-Reply-To: <1157373781.6716.8.camel@twoface.columbia.tresys.com>

On Monday 04 September 2006 8:43 am, Joshua Brindle wrote:
> On Fri, 2006-09-01 at 16:19 -0400, Paul Moore wrote:
> > Joy Latten wrote:
> > > Yes, that is coming from netlabel. In
> > > selinux_socket_getpeersec_stream() if the socket is tcp_socket class,
> > > we call the cipso routine
> > > first, selinux_netlbl_socket_getpeersec_stream(). I have not
> > > thoroughly examined the cipso code, but at a glance I assumed
> > > if cipso is enabled and its maps set up, this will come back with
> > > something. If it doesn't come back with anything, I assumed
> > > that meant cipso is either disabled or its maps not set up.
> > > According to code, if nothing comes back from cipso, then
> > > selinux_socket_getpeer_stream() is called which will look
> > > for a xfrm on the dst. And if there is one, then use the security
> > > context from the xfrm. Otherwise, return error.
> > >
> > > hmmm... this makes me wonder if Joshua had cipso enabled and that is
> > > why it looks like getpeercon was not honoring the ipsec labels...
> >
> > A simple 'dmesg | grep NetLabel' will answer that question.
> >
> > I'll work on this and post something next week.  Unfortunately, the fix
> > is not immediately obvious.
>
> Right, so I do have NetLabel running (didn't know that it shipped on in
> Fedora kernels already)..
>
> There were no maps set up, it looks like all I had was the unlabeled
> module.

That is what caused the problem then.  You don't need to have anything 
actively configured, just having NetLabel built into the kernel and activated 
will cause the bug.  If you feel like spinning your own kernel you can try 
the patch I posted last Friday, it should fix the bug.

> This getpeercon() overloading seems to be a problem, how can an
> application react reasonably if the label it gets when it calls
> getpeercon() could come from multiple objects and have multiple
> meanings?

It may be a problem right now but I think it is more of an issue of 
reconciling the different network labeling systems.  The good news is that 
work is ongoing to deal with this.

> To me getpeercon() means the context of the domain on the other side,
> granted the implementation has been the socket context which, until now,
> was always the domain on the other side. With the ability to label
> sockets and with ipsec socket labeling and NetLabel (domain?) labeling
> perhaps getpeercon() should be refactored into 2 functions, getpeercon()
> and getsocketcon()?

I'm not sure that solves anything, all it does it make it the applications 
problem as now the app developer has to have knowledge of the underlying 
network labeling.  I think the best solution is to let the network labeling 
reconciliation work take place, let the bugs get shaken out, and go from 
there.

-- 
paul moore
linux security @ hp

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

  reply	other threads:[~2006-09-05  3:32 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-09-01 19:47 ipsec and getpeercon() Joy Latten
2006-09-01 20:19 ` Paul Moore
2006-09-04 12:43   ` Joshua Brindle
2006-09-05  3:32     ` Paul Moore [this message]
2006-09-05 11:58       ` Joshua Brindle
2006-09-05 13:31         ` Stephen Smalley
2006-09-05 13:34           ` Joshua Brindle
2006-09-05 15:24             ` Paul Moore
2006-09-05 15:22           ` Paul Moore
  -- strict thread matches above, loose matches on Subject: below --
2006-09-06 16:20 Venkat Yekkirala
2006-09-06 16:19 Venkat Yekkirala
2006-09-05 20:04 Venkat Yekkirala
2006-09-05 20:01 Venkat Yekkirala
2006-09-06 15:55 ` Joshua Brindle
2006-09-05 16:42 Venkat Yekkirala
2006-09-05 17:10 ` Paul Moore
2006-09-05 16:27 Venkat Yekkirala
2006-09-05 16:14 Venkat Yekkirala
2006-09-05 16:27 ` Paul Moore
2006-09-05 15:43 Venkat Yekkirala
2006-09-05 16:01 ` Paul Moore
2006-09-05 14:36 Joy Latten
2006-09-01 22:42 Joy Latten
2006-09-01 20:49 Venkat Yekkirala
2006-09-01 20:58 ` Paul Moore
2006-09-01 22:32   ` Paul Moore
2006-09-04 18:51     ` Joshua Brindle
2006-09-05  4:00       ` Paul Moore
2006-09-05 11:53         ` Joshua Brindle
2006-09-05 15:15           ` Paul Moore
2006-09-01 20:35 Venkat Yekkirala
2006-09-04 12:38 ` Joshua Brindle
2006-09-01 19:52 Joy Latten
2006-09-01 19:41 Venkat Yekkirala
2006-09-01 19:34 Venkat Yekkirala
2006-09-01 18:17 Joy Latten
2006-09-01 15:49 Venkat Yekkirala
2006-09-01 16:52 ` Stephen Smalley
2006-09-01 17:48 ` Joshua Brindle
2006-09-01 14:35 Venkat Yekkirala
2006-09-01 15:25 ` Joshua Brindle
2006-09-01 15:40   ` Paul Moore
2006-09-04 12:59     ` Joshua Brindle
2006-09-05  3:50       ` Paul Moore
2006-09-01 13:16 Venkat Yekkirala
2006-09-01 13:41 ` Stephen Smalley
2006-08-30 16:43 Venkat Yekkirala
2006-09-01 12:15 ` Joshua Brindle
2006-08-29 18:08 Joshua Brindle
2006-08-29 18:20 ` Joshua Brindle
2006-08-29 18:28   ` Paul Moore
2006-08-29 19:28 ` Paul Moore
2006-08-29 19:37 ` Stephen Smalley
2006-08-29 19:46   ` Joshua Brindle
2006-08-29 20:25     ` Stephen Smalley
2006-08-29 20:32       ` Stephen Smalley
2006-08-29 21:11         ` Klaus Weidner
2006-08-30 11:28           ` Stephen Smalley
2006-08-29 22:37       ` Joshua Brindle

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200609042332.34493.paul.moore@hp.com \
    --to=paul.moore@hp.com \
    --cc=jbrindle@tresys.com \
    --cc=latten@austin.ibm.com \
    --cc=latten@us.ibm.com \
    --cc=sds@tycho.nsa.gov \
    --cc=selinux@tycho.nsa.gov \
    --cc=vyekkirala@TrustedCS.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.