From: Karl MacMillan <kmacmillan@mentalrootkit.com>
To: Stephen Smalley <sds@epoch.ncsc.mil>
Cc: Joshua Brindle <jbrindle@tresys.com>,
Venkat Yekkirala <vyekkirala@TrustedCS.com>,
Paul Moore <paul.moore@hp.com>,
latten@austin.ibm.com, jmorris@redhat.com, dwalsh@redhat.com,
Darrel Goeddel <DGoeddel@TrustedCS.com>,
Chad Hanson <chanson@TrustedCS.com>,
selinux@tycho.nsa.gov
Subject: RE: Labeled networking packets
Date: Fri, 22 Sep 2006 09:26:52 -0400 [thread overview]
Message-ID: <1158931612.14644.36.camel@localhost.localdomain> (raw)
In-Reply-To: <1158929251.7748.224.camel@moss-spartans.epoch.ncsc.mil>
On Fri, 2006-09-22 at 08:47 -0400, Stephen Smalley wrote:
> On Thu, 2006-09-21 at 22:04 -0400, Joshua Brindle wrote:
> > > -----Original Message-----
> > > From: Venkat Yekkirala [mailto:vyekkirala@TrustedCS.com]
> > <snip>
> > > > I agree that it doesn't matter whether the packet was
> > > labeled on the
> > > > current or sending machine - but it still says nothing about the
> > > > context of the originating process.
> > >
> > > It does when you use labeled-ipsec and when you convey BOTH
> > > the packet Type and the process Type to the app in a single
> > > sid. And we could change the name of getpeercon() to be more
> > > meaningful/accurate to, say getdatacon(), if need be.
> > >
> >
> > I agree with Karl here. To say the least taking one kind of object
> > (association) and and another kind of object (packet) and using those
> > contexts to calculate a context for another kind of object (domain? Or
> > maybe something else?) seems fairly hacky to say the least.
>
> Yes, that would be like computing a process label from an old process
> label and an executable file label. Or like computing a new file label
> from a process label and a parent directory label. Who could imagine
> such a thing? ;)
>
> Seriously, there isn't anything wrong with the notion of using label
> transitions to capture state from multiple labels, and we do that all
> the time for _object_ labels.
The difference is that we usually do this on a state transition (e.g.,
creating a new process or object) to capture relevant portions of the
previous state moving forward. Here the suggestion is to use transitions
to simply encode multiple states via transition for transmission with
the express purpose of reversing that transition on the other end. A
very different use I think.
> Where we run into a problem here is the
> fact that the user of getpeercon() wants a subject label, not an object
> label. If the label transition function had an inverse, that might be
> workable, although I'd hate to require applications to deal with it, but
> it doesn't have an inverse (in general; specific policy may permit such
> inversion, but the function itself provides no such guarantee).
>
> > And it also isn't what I (personally) want. I want the domain on the
> > other end, I don't want to have to have some incredibly complex setup of
> > associations and secmarks just to get recalculate the context we already
> > had on the other end, I just want it. That is what getpeercon() should
> > return. I don't care either way about getdatacon() but getpeercon should
> > stick around and should get the peer domain.
>
> Yes, we don't want to change the getpeercon() interface, and we want
> consistent semantics between AF_LOCAL and AF_INET.
>
We also want consistent policy with different combinations of network
labeling mechanisms - which is going to be very difficult to achieve.
> > That said, I'm thinking that this scheme should be scrapped and instead
> > we do something like the following: secmark is totally non-relavent to
> > the peer context, it labels packets and I don't believe there is ever a
> > need to know the label of a packet (if there is we can add
> > getpacketcon()). Secmark will be used for enforcement of network flow
> > only.
>
> That may be the right approach given the divergent purposes of secmark
> vs. labeled networking, but it doesn't resolve what motivated the secid
> reconciliation work in the first place.
>
Which was? It appears to me that we need to resolve the Netlabel and
ipsec labels and store the result separately from the secid (or whatever
the secmark label is). Is that what you are thinking?
Karl
> > The security association can have a context, that context will be
> > used for enforcement of polmatch, just like now. The label won't be used
> > for getpeercon(), only to create associations and give access to them.
> > Then the actual domain making the connection can be sent to the remote
> > side by racoon, this should be the label that getpeercon() returns.
>
> If you just mean that the SA context would come from the flow's context
> rather than the SPD rule, then I think we all agreed to that. But the
> context is still ultimately stored in the SA and obtained from it by
> getpeercon(). That doesn't change.
>
--
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.
next prev parent reply other threads:[~2006-09-22 13:27 UTC|newest]
Thread overview: 106+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-09-22 0:44 Labeled networking packets Venkat Yekkirala
2006-09-22 2:04 ` Joshua Brindle
2006-09-22 12:47 ` Stephen Smalley
2006-09-22 13:02 ` Joshua Brindle
2006-09-22 14:47 ` Paul Moore
2006-09-22 14:58 ` Joshua Brindle
2006-09-22 15:25 ` Paul Moore
2006-09-22 19:48 ` James Morris
2006-09-22 19:49 ` Stephen Smalley
2006-09-22 19:02 ` Stephen Smalley
2006-09-22 13:26 ` Karl MacMillan [this message]
2006-09-22 13:50 ` Joshua Brindle
2006-09-22 15:01 ` James Morris
2006-09-22 19:17 ` Stephen Smalley
2006-09-22 19:07 ` Stephen Smalley
-- strict thread matches above, loose matches on Subject: below --
2006-09-27 19:35 Venkat Yekkirala
2006-09-27 19:15 Joy Latten
2006-09-27 16:46 Venkat Yekkirala
2006-09-27 16:14 Joy Latten
2006-09-26 22:04 Venkat Yekkirala
2006-09-26 22:43 ` James Morris
2006-09-27 11:37 ` Stephen Smalley
2006-09-27 12:40 ` Joshua Brindle
2006-09-27 12:58 ` Stephen Smalley
2006-09-27 13:15 ` Joshua Brindle
2006-09-27 12:59 ` James Morris
2006-09-27 13:29 ` Stephen Smalley
2006-09-27 17:03 ` James Morris
2006-09-27 17:08 ` James Morris
2006-09-26 15:58 Venkat Yekkirala
2006-09-26 15:51 Venkat Yekkirala
2006-09-26 16:47 ` Stephen Smalley
2006-09-26 20:01 ` James Morris
2006-09-25 21:53 Venkat Yekkirala
2006-09-25 22:00 ` James Morris
2006-09-25 21:46 Venkat Yekkirala
2006-09-26 13:35 ` Stephen Smalley
2006-09-25 20:02 Chad Hanson
2006-09-25 20:47 ` Stephen Smalley
2006-09-25 18:56 Chad Hanson
2006-09-25 19:24 ` Stephen Smalley
2006-09-25 15:28 Chad Hanson
2006-09-25 16:41 ` Karl MacMillan
2006-09-25 18:00 ` Stephen Smalley
2006-09-25 14:45 Chad Hanson
2006-09-25 15:54 ` Casey Schaufler
2006-09-22 23:39 Joy Latten
2006-09-22 23:25 Joy Latten
2006-09-22 21:55 Venkat Yekkirala
2006-09-23 14:13 ` Joshua Brindle
2006-09-25 15:35 ` Stephen Smalley
2006-09-25 15:55 ` Joshua Brindle
2006-09-25 16:43 ` Darrel Goeddel
2006-09-25 17:02 ` Stephen Smalley
2006-09-25 18:14 ` Karl MacMillan
2006-09-25 19:58 ` James Morris
2006-09-25 16:35 ` Karl MacMillan
2006-09-25 18:04 ` Stephen Smalley
2006-09-25 18:25 ` Joshua Brindle
2006-09-25 18:41 ` Karl MacMillan
2006-09-25 18:53 ` Joshua Brindle
2006-09-25 19:00 ` Paul Moore
2006-09-25 19:25 ` Stephen Smalley
2006-09-25 19:38 ` Paul Moore
2006-09-25 19:56 ` Stephen Smalley
2006-09-25 18:49 ` Stephen Smalley
2006-09-25 19:21 ` Stephen Smalley
2006-09-25 14:59 ` Karl MacMillan
2006-09-25 17:58 ` Stephen Smalley
2006-09-25 18:38 ` Karl MacMillan
2006-09-25 18:54 ` Paul Moore
2006-09-25 20:04 ` James Morris
2006-09-25 20:54 ` James Morris
2006-09-22 21:42 Venkat Yekkirala
2006-09-22 20:30 Venkat Yekkirala
2006-09-22 17:23 Venkat Yekkirala
2006-09-22 17:47 ` Paul Moore
2006-09-22 20:44 ` James Morris
2006-09-22 21:07 ` Paul Moore
2006-09-22 18:52 ` Joshua Brindle
2006-09-22 20:45 ` James Morris
2006-09-22 20:57 ` Stephen Smalley
2006-09-25 14:30 ` Karl MacMillan
2006-09-22 16:14 Venkat Yekkirala
2006-09-22 16:05 Venkat Yekkirala
2006-09-22 16:21 ` Paul Moore
2006-09-22 15:56 Venkat Yekkirala
2006-09-22 16:20 ` Paul Moore
2006-09-22 15:45 Venkat Yekkirala
2006-09-22 16:07 ` Paul Moore
2006-09-22 15:41 Venkat Yekkirala
2006-09-22 15:55 ` Paul Moore
2006-09-22 15:36 Venkat Yekkirala
2006-09-22 15:50 ` Paul Moore
2006-09-22 15:21 Venkat Yekkirala
2006-09-22 15:38 ` Joshua Brindle
2006-09-22 15:15 Venkat Yekkirala
2006-09-22 15:30 ` Paul Moore
2006-09-22 15:09 Venkat Yekkirala
2006-09-22 14:57 Venkat Yekkirala
2006-09-21 17:14 Venkat Yekkirala
2006-09-21 19:37 ` Karl MacMillan
2006-09-21 16:27 Venkat Yekkirala
2006-09-21 16:47 ` Karl MacMillan
2006-09-21 15:01 Venkat Yekkirala
2006-09-21 15:55 ` Stephen Smalley
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=1158931612.14644.36.camel@localhost.localdomain \
--to=kmacmillan@mentalrootkit.com \
--cc=DGoeddel@TrustedCS.com \
--cc=chanson@TrustedCS.com \
--cc=dwalsh@redhat.com \
--cc=jbrindle@tresys.com \
--cc=jmorris@redhat.com \
--cc=latten@austin.ibm.com \
--cc=paul.moore@hp.com \
--cc=sds@epoch.ncsc.mil \
--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.