Skip to contentSkip to conversation

secid reconciliation-v02

PATCH In review Venkat Yekkirala 3 participants 3 messages Sep 8, 2006 – Sep 18, 2006

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/7 secid reconciliation-v02

Currently a packet accumulates multiple security identifiers, each of a different class, as it enters/leaves the system. This patch set reconciles these identifiers into a single identifier while also allowing LSM (SELinux is addressed in this patch set) to impose flow control checks based on the identifiers.

The reconciliation steps for SELinux are explained in the Labeled Networking document at:
http://marc.theaimsgroup.com/?l=linux-netdev&m=115136637800361&w=2
with the change that SELinux transition rules are used when available to arrive at the new secid.

The following are the identifiers handled here:

1. secmark on the skb
2. xfrm security identifier associated with the skb if it used any xfrms, a zero secid otherwise.

This patch: Add new flask definitions to SELinux

Adds a new avperm "flow_in" to arbitrate among the identifiers on the inbound (input/forward). Also adds a new avperm "flow_out" to enable flow control checks on the outbound (output/forward), addressed in this patch as well.

---

security/selinux/include/av_perm_to_string.h |    2 ++
security/selinux/include/av_permissions.h    |    2 ++
2 files changed, 4 insertions(+)
security/selinux/include/av_perm_to_string.h +2 -0
index 09fc8a2..1e65d28 100644
@@ -245,6 +245,8 @@
   S_(SECCLASS_PACKET, PACKET__SEND, "send")
   S_(SECCLASS_PACKET, PACKET__RECV, "recv")
   S_(SECCLASS_PACKET, PACKET__RELABELTO, "relabelto")
+   S_(SECCLASS_PACKET, PACKET__FLOW_IN, "flow_in")
+   S_(SECCLASS_PACKET, PACKET__FLOW_OUT, "flow_out")
   S_(SECCLASS_KEY, KEY__VIEW, "view")
   S_(SECCLASS_KEY, KEY__READ, "read")
   S_(SECCLASS_KEY, KEY__WRITE, "write")
security/selinux/include/av_permissions.h +0 -0
index 81f4f52..2faf3d8 100644
@@ -962,6 +962,8 @@ #define APPLETALK_SOCKET__NAME_BIND     #define PACKET__SEND                              0x00000001UL

#define PACKET__RECV 0x00000002UL
#define PACKET__RELABELTO 0x00000004UL
+#define PACKET__FLOW_IN 0x00000008UL
+#define PACKET__FLOW_OUT 0x00000010UL

#define KEY__VIEW 0x00000001UL
#define KEY__READ 0x00000002UL

--
This message was distributed to subscribers of the selinux mailing list. If you no longer wish to subscribe, send mail to [email protected] with the words "unsubscribe selinux" without quotes as the message.

#1 lore raw
Quoted 18 lines · Venkat Yekkirala

Currently a packet accumulates multiple security identifiers, each of a different class, as it enters/leaves the system. This patch set reconciles these identifiers into a single identifier while also allowing LSM (SELinux is addressed in this patch set) to impose flow control checks based on the identifiers.

The reconciliation steps for SELinux are explained in the Labeled Networking document at:
http://marc.theaimsgroup.com/?l=linux-netdev&m=115136637800361&w=2
with the change that SELinux transition rules are used when available to arrive at the new secid.

The following are the identifiers handled here:

1. secmark on the skb
2. xfrm security identifier associated with the skb if it used any xfrms, a zero secid otherwise.

Quoted 6 lines

This patch: Add new flask definitions to SELinux

Adds a new avperm "flow_in" to arbitrate among the identifiers on the inbound (input/forward). Also adds a new avperm "flow_out" to enable flow control checks on the outbound (output/forward), addressed in this patch as well.

What does the resulting policy look like given this sequence of checks and transitions? How does this integrate with the current refpolicy- secmark / netfilter_contexts rules or what would you replace them with? What are some samples of how one might configure xfrm in combination with secmark to achieve useful goals? Does this help with the usability issues raised by Dan?

I think answering the above questions would help to make clearer whether the patches are on the right track, as well as motivate their acceptance if they are.

Signature · 8 lines
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 [email protected] with
the words "unsubscribe selinux" without quotes as the message.
#2 lore raw
Quoted 3 lines · Stephen Smalley

I think answering the above questions would help to make clearer whether the patches are on the right track, as well as motivate their acceptance if they are.

I would also recommend working with Paul Moore to make a final patchset which addresses all of the issues for xfrm labeling and CIPSO, so that we can get this stuff completed upstream and in the distros.

- James

Signature · 7 lines
James Morris
<[email protected]>

--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to [email protected] with
the words "unsubscribe selinux" without quotes as the message.