* Network flow controls and subj/obj ordering
@ 2007-12-11 17:02 Paul Moore
2007-12-11 17:51 ` Casey Schaufler
2007-12-11 20:23 ` Christopher J. PeBenito
0 siblings, 2 replies; 12+ messages in thread
From: Paul Moore @ 2007-12-11 17:02 UTC (permalink / raw)
To: selinux
Hello everybody,
After a discussion with Venkat last week we decided that it was probably best
if I took responsibility for the flow control patches and ported/cleaned them
up for inclusion in the labeled networking patches for 2.6.25. In the course
of doing so I ran across the problem of subject/object "ordering" (probably
not the best term, but it's all I can think of right now). In both the "flow
in" and "flow out" cases I'm tempted to use the packet's peer label as the
object just for the sake of consistency and the ability to use the new "peer"
object class for all network peer label access checks. However, I wanted to
make sure that is what everyone had in mind from a conceptual point of view.
See the two simple policy examples below:
* Packet "flows" into the system, peer label is the object
allow netif_t peerlbl_t:peer flow_in;
* Packet "flows" out of the system, peer label is the object
allow netif_t peerlbl_t:peer flow_out;
Thoughts, opinions?
--
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.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Network flow controls and subj/obj ordering
2007-12-11 17:02 Network flow controls and subj/obj ordering Paul Moore
@ 2007-12-11 17:51 ` Casey Schaufler
2007-12-12 20:08 ` Paul Moore
2007-12-11 20:23 ` Christopher J. PeBenito
1 sibling, 1 reply; 12+ messages in thread
From: Casey Schaufler @ 2007-12-11 17:51 UTC (permalink / raw)
To: Paul Moore, selinux
--- Paul Moore <paul.moore@hp.com> wrote:
> Hello everybody,
>
> After a discussion with Venkat last week we decided that it was probably best
>
> if I took responsibility for the flow control patches and ported/cleaned them
>
> up for inclusion in the labeled networking patches for 2.6.25. In the course
>
> of doing so I ran across the problem of subject/object "ordering" (probably
> not the best term, but it's all I can think of right now). In both the "flow
>
> in" and "flow out" cases I'm tempted to use the packet's peer label as the
> object just for the sake of consistency and the ability to use the new "peer"
>
> object class for all network peer label access checks. However, I wanted to
> make sure that is what everyone had in mind from a conceptual point of view.
>
> See the two simple policy examples below:
>
> * Packet "flows" into the system, peer label is the object
>
> allow netif_t peerlbl_t:peer flow_in;
>
> * Packet "flows" out of the system, peer label is the object
>
> allow netif_t peerlbl_t:peer flow_out;
>
> Thoughts, opinions?
Networking policy is always fun to debate. I've gotten it wrong
so many times I've lost count. Let's see if I can add anything of
value.
A packet appears out of the ether and is attached to a flow. If the
packet is a labeled object and the flow is a labeled object, what
is the subject? If the packet moves on out of the system (it is
being forwarded) and the packet is a labeled object, what is the
subject? Do you even have a subject/object relationship in this case?
I think that if you can identify the subject involved in flow
processing the policy implications ought to be pretty clear. If
you don't, and you have nothing but objects to deal with, it gets
painfully difficult to produce a security model that can be described
using traditional methods.
I will point out that it is pretty difficult to associate a subject
with an action on a packet object in all cases, and that is one reason
the model of a packet as an object never caught on. Perhaps the flow
is your subject, performing read and write operations on the packets.
I don't know that it makes a lot of sense to consider a flow as a
subject, but I've made arguments from shakier premises myself.
Think about the notion that the flow is the object, and that the
subject is whatever created the packet, and the label on the packet
describes the subject. This makes the operation a write from the
packet creator to the flow. It makes the outflow a read from the
flow by whatever active entity (task? kthread? daemon?) sends the
packet along, and a write to the destination with the label on the
packet again describing that subject.
In any case, if you don't bring a subject into the picture you may
have processing to do, but you're not making access control decisions.
Casey Schaufler
casey@schaufler-ca.com
--
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.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Network flow controls and subj/obj ordering
2007-12-11 17:02 Network flow controls and subj/obj ordering Paul Moore
2007-12-11 17:51 ` Casey Schaufler
@ 2007-12-11 20:23 ` Christopher J. PeBenito
2007-12-12 20:18 ` Paul Moore
1 sibling, 1 reply; 12+ messages in thread
From: Christopher J. PeBenito @ 2007-12-11 20:23 UTC (permalink / raw)
To: Paul Moore; +Cc: selinux
On Tue, 2007-12-11 at 12:02 -0500, Paul Moore wrote:
> After a discussion with Venkat last week we decided that it was probably best
> if I took responsibility for the flow control patches and ported/cleaned them
> up for inclusion in the labeled networking patches for 2.6.25. In the course
> of doing so I ran across the problem of subject/object "ordering" (probably
> not the best term, but it's all I can think of right now). In both the "flow
> in" and "flow out" cases I'm tempted to use the packet's peer label as the
> object just for the sake of consistency and the ability to use the new "peer"
> object class for all network peer label access checks. However, I wanted to
> make sure that is what everyone had in mind from a conceptual point of view.
> See the two simple policy examples below:
>
> * Packet "flows" into the system, peer label is the object
>
> allow netif_t peerlbl_t:peer flow_in;
>
> * Packet "flows" out of the system, peer label is the object
>
> allow netif_t peerlbl_t:peer flow_out;
Can you give an example for the forwarding case? Also, how about in the
non-labeled networking case?
--
Chris PeBenito
Tresys Technology, LLC
(410) 290-1411 x150
--
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.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Network flow controls and subj/obj ordering
2007-12-11 17:51 ` Casey Schaufler
@ 2007-12-12 20:08 ` Paul Moore
0 siblings, 0 replies; 12+ messages in thread
From: Paul Moore @ 2007-12-12 20:08 UTC (permalink / raw)
To: casey; +Cc: selinux
On Tuesday 11 December 2007 12:51:18 pm Casey Schaufler wrote:
> --- Paul Moore <paul.moore@hp.com> wrote:
> > Hello everybody,
> >
> > After a discussion with Venkat last week we decided that it was
> > probably best if I took responsibility for the flow control patches
> > and ported/cleaned them up for inclusion in the labeled networking
> > patches for 2.6.25. In the course of doing so I ran across the
> > problem of subject/object "ordering" (probably not the best term,
> > but it's all I can think of right now). In both the "flow in"
> > and "flow out" cases I'm tempted to use the packet's peer label as
> > the object just for the sake of consistency and the ability to use
> > the new "peer" object class for all network peer label access
> > checks. However, I wanted to make sure that is what everyone had in
> > mind from a conceptual point of view.
> >
> > See the two simple policy examples below:
> >
> > * Packet "flows" into the system, peer label is the object
> >
> > allow netif_t peerlbl_t:peer flow_in;
> >
> > * Packet "flows" out of the system, peer label is the object
> >
> > allow netif_t peerlbl_t:peer flow_out;
> >
> > Thoughts, opinions?
>
> Networking policy is always fun to debate. I've gotten it wrong
> so many times I've lost count. Let's see if I can add anything of
> value.
[Sorry for the delay, I was distracted yesterday]
Yes indeed, hence the reason for my mail. I'm trying to get it "right"
this time around ... probably a bit naive, but I'm crazy like that.
> A packet appears out of the ether and is attached to a flow. If the
> packet is a labeled object and the flow is a labeled object, what
> is the subject? If the packet moves on out of the system (it is
> being forwarded) and the packet is a labeled object, what is the
> subject? Do you even have a subject/object relationship in this case?
> I think that if you can identify the subject involved in flow
> processing the policy implications ought to be pretty clear. If
> you don't, and you have nothing but objects to deal with, it gets
> painfully difficult to produce a security model that can be described
> using traditional methods.
Unfortunately we are talking about two different things here (although
your argument above sorta fits in a strange way). I'm talking about
the "flow control" patches that Venkat posted back in September and it
looks like you are talking about access controls involving the kernel
flow constructs. Somewhat related, but two different things.
We should probably pick a better name that "flow control" as it has a
tendency to get associated with the kernel flow construct and the two
are different. I'm thinking of "packet ingress/egress controls" so
unless anyone has any better ideas I'm gonna go with that for now ...
Your post was an interesting read that I think summed up a lot of the
discussions around labeled network access controls that we have had on
the list but I'm going to trim it from this reply to help eliminate
the "flow" confusion from the rest of the thread. However, I would
like to keep discussion the subj/obj issues you talked about as that is
the reason for my original email.
Currently the SELinux network access controls treats packets as objects
and I'm in no hurry to change that unless there is a real compelling
reason. Keeping that in mind, there is a desire to add packet ingress
and egress access controls and I'm trying to determine how we want to
define these two new controls. The packet ingress control will be
placed such that _all_ IP traffic entering the system, regardless of
the destination (local or remote), will be subject to the access check.
In a similar manner, the packet egress control will be placed such that
_all_ IP traffic exiting the system, regardless of the source (local or
remote), will be subject to the access check. In both cases, there is
a user desire to have checks between the network interface (netif_t)
and the packet's peer label (peer_t) as well as between the source
address (netnode_t) and the packet's peer label (peer_t).
With all this in mind I'm currently leaning towards the following:
* packet ingress (inbound)
allow netif_t peer_t:peer ingress;
allow netnode_t peer_t:peer ingress;
* packet egress (outbound)
allow netif_t peer_t:peer egress;
allow netnode_t peer_t:peer egress;
You'll notice in both cases this continues the packet-as-an-object
tradition while treating both the network interfaces and nodes as
subjects. This seems reasonable to me, but I could be convinced to go
the other way if that is what everyone else thinks is best (I really
like the idea of getting all the labeled networking access controls to
use the "peer" object class).
With (hopefully) a better explanation this time, do you have any further
thoughts/comments?
--
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.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Network flow controls and subj/obj ordering
2007-12-11 20:23 ` Christopher J. PeBenito
@ 2007-12-12 20:18 ` Paul Moore
2007-12-13 14:12 ` Christopher J. PeBenito
0 siblings, 1 reply; 12+ messages in thread
From: Paul Moore @ 2007-12-12 20:18 UTC (permalink / raw)
To: Christopher J. PeBenito; +Cc: selinux
On Tuesday 11 December 2007 3:23:22 pm Christopher J. PeBenito wrote:
> On Tue, 2007-12-11 at 12:02 -0500, Paul Moore wrote:
> > After a discussion with Venkat last week we decided that it was
> > probably best if I took responsibility for the flow control patches
> > and ported/cleaned them up for inclusion in the labeled networking
> > patches for 2.6.25. In the course of doing so I ran across the
> > problem of subject/object "ordering" (probably not the best term,
> > but it's all I can think of right now). In both the "flow in" and
> > "flow out" cases I'm tempted to use the packet's peer label as the
> > object just for the sake of consistency and the ability to use the
> > new "peer" object class for all network peer label access checks.
> > However, I wanted to make sure that is what everyone had in mind
> > from a conceptual point of view. See the two simple policy examples
> > below:
> >
> > * Packet "flows" into the system, peer label is the object
> >
> > allow netif_t peerlbl_t:peer flow_in;
> >
> > * Packet "flows" out of the system, peer label is the object
> >
> > allow netif_t peerlbl_t:peer flow_out;
>
> Can you give an example for the forwarding case? Also, how about in
> the non-labeled networking case?
Sorry, I wasn't trying to get into a detailed discussion about the
policy involved in all this, but I understand it's probably necessary
to get your head around it so I'll give it a shot. If you haven't yet,
go read my reply to Casey first as I'll build upon that here ...
First off, these access checks would only become active if labeled
networking was "enabled". This means that either labeled IPsec or
NetLabel has some configuration loaded. For labeled IPsec this means
an entry was created in the SPD or SAD with a SELinux context assigned
to it. For NetLabel this means a CIPSO DOI configuration was loaded
into the kernel. If labeled networking is not "enabled" then these
access checks will never happen; this was done to help reduce the
impact of the network access controls on the common case.
Assuming labeled networking is enabled, a forwarded packet would hit
four checks:
# inbound checks
allow netif_t peer_t:peer ingress;
allow netnode_t peer_t:peer ingress;
# outbound checks
allow netif_t peer_t:peer egress;
allow netnode_t peer_t:peer egress;
Does this help?
--
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.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Network flow controls and subj/obj ordering
2007-12-12 20:18 ` Paul Moore
@ 2007-12-13 14:12 ` Christopher J. PeBenito
2007-12-13 15:45 ` Paul Moore
0 siblings, 1 reply; 12+ messages in thread
From: Christopher J. PeBenito @ 2007-12-13 14:12 UTC (permalink / raw)
To: Paul Moore; +Cc: selinux
On Wed, 2007-12-12 at 15:18 -0500, Paul Moore wrote:
> On Tuesday 11 December 2007 3:23:22 pm Christopher J. PeBenito wrote:
> > On Tue, 2007-12-11 at 12:02 -0500, Paul Moore wrote:
> > > After a discussion with Venkat last week we decided that it was
> > > probably best if I took responsibility for the flow control patches
> > > and ported/cleaned them up for inclusion in the labeled networking
> > > patches for 2.6.25. In the course of doing so I ran across the
> > > problem of subject/object "ordering" (probably not the best term,
> > > but it's all I can think of right now). In both the "flow in" and
> > > "flow out" cases I'm tempted to use the packet's peer label as the
> > > object just for the sake of consistency and the ability to use the
> > > new "peer" object class for all network peer label access checks.
> > > However, I wanted to make sure that is what everyone had in mind
> > > from a conceptual point of view. See the two simple policy examples
> > > below:
> > >
> > > * Packet "flows" into the system, peer label is the object
> > >
> > > allow netif_t peerlbl_t:peer flow_in;
> > >
> > > * Packet "flows" out of the system, peer label is the object
> > >
> > > allow netif_t peerlbl_t:peer flow_out;
> >
> > Can you give an example for the forwarding case? Also, how about in
> > the non-labeled networking case?
>
> Sorry, I wasn't trying to get into a detailed discussion about the
> policy involved in all this, but I understand it's probably necessary
> to get your head around it so I'll give it a shot. If you haven't yet,
> go read my reply to Casey first as I'll build upon that here ...
Sure; I find it useful to see the checks in the context of the whole
operation.
> First off, these access checks would only become active if labeled
> networking was "enabled". This means that either labeled IPsec or
> NetLabel has some configuration loaded. For labeled IPsec this means
> an entry was created in the SPD or SAD with a SELinux context assigned
> to it. For NetLabel this means a CIPSO DOI configuration was loaded
> into the kernel. If labeled networking is not "enabled" then these
> access checks will never happen; this was done to help reduce the
> impact of the network access controls on the common case.
>
> Assuming labeled networking is enabled, a forwarded packet would hit
> four checks:
>
> # inbound checks
> allow netif_t peer_t:peer ingress;
> allow netnode_t peer_t:peer ingress;
> # outbound checks
> allow netif_t peer_t:peer egress;
> allow netnode_t peer_t:peer egress;
This helps. But this seems to be for the old networking, how does it
work with the secmark stuff?
--
Chris PeBenito
Tresys Technology, LLC
(410) 290-1411 x150
--
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.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Network flow controls and subj/obj ordering
2007-12-13 14:12 ` Christopher J. PeBenito
@ 2007-12-13 15:45 ` Paul Moore
2007-12-14 19:25 ` Christopher J. PeBenito
0 siblings, 1 reply; 12+ messages in thread
From: Paul Moore @ 2007-12-13 15:45 UTC (permalink / raw)
To: Christopher J. PeBenito; +Cc: selinux
On Thursday 13 December 2007 9:12:08 am Christopher J. PeBenito wrote:
> On Wed, 2007-12-12 at 15:18 -0500, Paul Moore wrote:
> > Assuming labeled networking is enabled, a forwarded packet would
> > hit four checks:
> >
> > # inbound checks
> > allow netif_t peer_t:peer ingress;
> > allow netnode_t peer_t:peer ingress;
> > # outbound checks
> > allow netif_t peer_t:peer egress;
> > allow netnode_t peer_t:peer egress;
>
> This helps. But this seems to be for the old networking, how does it
> work with the secmark stuff?
It doesn't work with the SECMARK stuff, or rather it works in parallel
with the SECMARK stuff. We've debated integrating the peer labeling
protocols (labeled IPsec, NetLabel) with the SECMARK mechanism many
times but in the end we always end up deciding it doesn't make sense.
The reason for the network interface, "netif_t", and node, "netnode_t",
labels is that we want to be able to apply access controls to peer
labeled network traffic based on the remote host and/or interface.
Currently we have no way of doing this.
Hopefully this is starting to get a bit more clear now ...
--
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.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Network flow controls and subj/obj ordering
2007-12-13 15:45 ` Paul Moore
@ 2007-12-14 19:25 ` Christopher J. PeBenito
2007-12-14 19:30 ` Stephen Smalley
2007-12-14 19:36 ` Paul Moore
0 siblings, 2 replies; 12+ messages in thread
From: Christopher J. PeBenito @ 2007-12-14 19:25 UTC (permalink / raw)
To: Paul Moore; +Cc: selinux
On Thu, 2007-12-13 at 10:45 -0500, Paul Moore wrote:
> On Thursday 13 December 2007 9:12:08 am Christopher J. PeBenito wrote:
> > On Wed, 2007-12-12 at 15:18 -0500, Paul Moore wrote:
> > > Assuming labeled networking is enabled, a forwarded packet would
> > > hit four checks:
> > >
> > > # inbound checks
> > > allow netif_t peer_t:peer ingress;
> > > allow netnode_t peer_t:peer ingress;
> > > # outbound checks
> > > allow netif_t peer_t:peer egress;
> > > allow netnode_t peer_t:peer egress;
> >
> > This helps. But this seems to be for the old networking, how does it
> > work with the secmark stuff?
>
> It doesn't work with the SECMARK stuff, or rather it works in parallel
> with the SECMARK stuff. We've debated integrating the peer labeling
> protocols (labeled IPsec, NetLabel) with the SECMARK mechanism many
> times but in the end we always end up deciding it doesn't make sense.
So, with compat_net off, you'd still need the above policy, not the
packet type against the peer type?, e.g., not this:
allow ssh_client_packet_t peer_t:peer egress;
--
Chris PeBenito
Tresys Technology, LLC
(410) 290-1411 x150
--
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.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Network flow controls and subj/obj ordering
2007-12-14 19:25 ` Christopher J. PeBenito
@ 2007-12-14 19:30 ` Stephen Smalley
2007-12-14 19:36 ` Christopher J. PeBenito
2007-12-14 19:36 ` Paul Moore
1 sibling, 1 reply; 12+ messages in thread
From: Stephen Smalley @ 2007-12-14 19:30 UTC (permalink / raw)
To: Christopher J. PeBenito; +Cc: Paul Moore, selinux
On Fri, 2007-12-14 at 14:25 -0500, Christopher J. PeBenito wrote:
> On Thu, 2007-12-13 at 10:45 -0500, Paul Moore wrote:
> > On Thursday 13 December 2007 9:12:08 am Christopher J. PeBenito wrote:
> > > On Wed, 2007-12-12 at 15:18 -0500, Paul Moore wrote:
> > > > Assuming labeled networking is enabled, a forwarded packet would
> > > > hit four checks:
> > > >
> > > > # inbound checks
> > > > allow netif_t peer_t:peer ingress;
> > > > allow netnode_t peer_t:peer ingress;
> > > > # outbound checks
> > > > allow netif_t peer_t:peer egress;
> > > > allow netnode_t peer_t:peer egress;
> > >
> > > This helps. But this seems to be for the old networking, how does it
> > > work with the secmark stuff?
> >
> > It doesn't work with the SECMARK stuff, or rather it works in parallel
> > with the SECMARK stuff. We've debated integrating the peer labeling
> > protocols (labeled IPsec, NetLabel) with the SECMARK mechanism many
> > times but in the end we always end up deciding it doesn't make sense.
>
> So, with compat_net off, you'd still need the above policy, not the
> packet type against the peer type?, e.g., not this:
>
> allow ssh_client_packet_t peer_t:peer egress;
Correct, not that. secmark remains a separate and orthogonal mechanism,
with permission checks against the packet class (not the peer class),
and the secmark label is only ever used for its checks.
--
Stephen Smalley
National Security Agency
--
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.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Network flow controls and subj/obj ordering
2007-12-14 19:30 ` Stephen Smalley
@ 2007-12-14 19:36 ` Christopher J. PeBenito
2007-12-14 19:43 ` Stephen Smalley
0 siblings, 1 reply; 12+ messages in thread
From: Christopher J. PeBenito @ 2007-12-14 19:36 UTC (permalink / raw)
To: Stephen Smalley; +Cc: Paul Moore, selinux
On Fri, 2007-12-14 at 14:30 -0500, Stephen Smalley wrote:
> On Fri, 2007-12-14 at 14:25 -0500, Christopher J. PeBenito wrote:
> > On Thu, 2007-12-13 at 10:45 -0500, Paul Moore wrote:
> > > On Thursday 13 December 2007 9:12:08 am Christopher J. PeBenito wrote:
> > > > On Wed, 2007-12-12 at 15:18 -0500, Paul Moore wrote:
> > > > > Assuming labeled networking is enabled, a forwarded packet would
> > > > > hit four checks:
> > > > >
> > > > > # inbound checks
> > > > > allow netif_t peer_t:peer ingress;
> > > > > allow netnode_t peer_t:peer ingress;
> > > > > # outbound checks
> > > > > allow netif_t peer_t:peer egress;
> > > > > allow netnode_t peer_t:peer egress;
> > > >
> > > > This helps. But this seems to be for the old networking, how does it
> > > > work with the secmark stuff?
> > >
> > > It doesn't work with the SECMARK stuff, or rather it works in parallel
> > > with the SECMARK stuff. We've debated integrating the peer labeling
> > > protocols (labeled IPsec, NetLabel) with the SECMARK mechanism many
> > > times but in the end we always end up deciding it doesn't make sense.
> >
> > So, with compat_net off, you'd still need the above policy, not the
> > packet type against the peer type?, e.g., not this:
> >
> > allow ssh_client_packet_t peer_t:peer egress;
>
> Correct, not that. secmark remains a separate and orthogonal mechanism,
> with permission checks against the packet class (not the peer class),
> and the secmark label is only ever used for its checks.
The thing that confuses me is that I thought secmark was supposed to
replace netif/node for IP traffic. So using the node/netif labels just
seems wrong to me.
--
Chris PeBenito
Tresys Technology, LLC
(410) 290-1411 x150
--
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.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Network flow controls and subj/obj ordering
2007-12-14 19:25 ` Christopher J. PeBenito
2007-12-14 19:30 ` Stephen Smalley
@ 2007-12-14 19:36 ` Paul Moore
1 sibling, 0 replies; 12+ messages in thread
From: Paul Moore @ 2007-12-14 19:36 UTC (permalink / raw)
To: Christopher J. PeBenito; +Cc: selinux
On Friday 14 December 2007 2:25:12 pm Christopher J. PeBenito wrote:
> On Thu, 2007-12-13 at 10:45 -0500, Paul Moore wrote:
> > On Thursday 13 December 2007 9:12:08 am Christopher J. PeBenito wrote:
> > > On Wed, 2007-12-12 at 15:18 -0500, Paul Moore wrote:
> > > > Assuming labeled networking is enabled, a forwarded packet would
> > > > hit four checks:
> > > >
> > > > # inbound checks
> > > > allow netif_t peer_t:peer ingress;
> > > > allow netnode_t peer_t:peer ingress;
> > > > # outbound checks
> > > > allow netif_t peer_t:peer egress;
> > > > allow netnode_t peer_t:peer egress;
> > >
> > > This helps. But this seems to be for the old networking, how does it
> > > work with the secmark stuff?
> >
> > It doesn't work with the SECMARK stuff, or rather it works in parallel
> > with the SECMARK stuff. We've debated integrating the peer labeling
> > protocols (labeled IPsec, NetLabel) with the SECMARK mechanism many
> > times but in the end we always end up deciding it doesn't make sense.
>
> So, with compat_net off, you'd still need the above policy, not the
> packet type against the peer type?
The compat_net setting has no effect on the peer object class permissions.
The only thing that will cause the any of the access controls above (the ones
I listed) to go into affect is the netpeer policy capability bit/flag.
> ... not this:
>
> allow ssh_client_packet_t peer_t:peer egress;
There should never be a check between the iptables/secmark
label, "ssh_client_packet_t", and the network peer label, "peer_t". Ever.
Well, unless I screwed up the code somewhere ;)
--
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.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Network flow controls and subj/obj ordering
2007-12-14 19:36 ` Christopher J. PeBenito
@ 2007-12-14 19:43 ` Stephen Smalley
0 siblings, 0 replies; 12+ messages in thread
From: Stephen Smalley @ 2007-12-14 19:43 UTC (permalink / raw)
To: Christopher J. PeBenito; +Cc: Paul Moore, selinux
On Fri, 2007-12-14 at 14:36 -0500, Christopher J. PeBenito wrote:
> On Fri, 2007-12-14 at 14:30 -0500, Stephen Smalley wrote:
> > On Fri, 2007-12-14 at 14:25 -0500, Christopher J. PeBenito wrote:
> > > On Thu, 2007-12-13 at 10:45 -0500, Paul Moore wrote:
> > > > On Thursday 13 December 2007 9:12:08 am Christopher J. PeBenito wrote:
> > > > > On Wed, 2007-12-12 at 15:18 -0500, Paul Moore wrote:
> > > > > > Assuming labeled networking is enabled, a forwarded packet would
> > > > > > hit four checks:
> > > > > >
> > > > > > # inbound checks
> > > > > > allow netif_t peer_t:peer ingress;
> > > > > > allow netnode_t peer_t:peer ingress;
> > > > > > # outbound checks
> > > > > > allow netif_t peer_t:peer egress;
> > > > > > allow netnode_t peer_t:peer egress;
> > > > >
> > > > > This helps. But this seems to be for the old networking, how does it
> > > > > work with the secmark stuff?
> > > >
> > > > It doesn't work with the SECMARK stuff, or rather it works in parallel
> > > > with the SECMARK stuff. We've debated integrating the peer labeling
> > > > protocols (labeled IPsec, NetLabel) with the SECMARK mechanism many
> > > > times but in the end we always end up deciding it doesn't make sense.
> > >
> > > So, with compat_net off, you'd still need the above policy, not the
> > > packet type against the peer type?, e.g., not this:
> > >
> > > allow ssh_client_packet_t peer_t:peer egress;
> >
> > Correct, not that. secmark remains a separate and orthogonal mechanism,
> > with permission checks against the packet class (not the peer class),
> > and the secmark label is only ever used for its checks.
>
> The thing that confuses me is that I thought secmark was supposed to
> replace netif/node for IP traffic. So using the node/netif labels just
> seems wrong to me.
secmark can replace the legacy netif/node checks. It doesn't provide
the desired functionality for labeled networking.
--
Stephen Smalley
National Security Agency
--
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.
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2007-12-14 19:43 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-12-11 17:02 Network flow controls and subj/obj ordering Paul Moore
2007-12-11 17:51 ` Casey Schaufler
2007-12-12 20:08 ` Paul Moore
2007-12-11 20:23 ` Christopher J. PeBenito
2007-12-12 20:18 ` Paul Moore
2007-12-13 14:12 ` Christopher J. PeBenito
2007-12-13 15:45 ` Paul Moore
2007-12-14 19:25 ` Christopher J. PeBenito
2007-12-14 19:30 ` Stephen Smalley
2007-12-14 19:36 ` Christopher J. PeBenito
2007-12-14 19:43 ` Stephen Smalley
2007-12-14 19:36 ` Paul Moore
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.