All of lore.kernel.org
 help / color / mirror / Atom feed
* [refpolicy] MLS policy and networking
@ 2012-02-28 22:07 David Shifflett
  2012-03-05 19:06 ` David Shifflett
  2012-03-08 18:30 ` Paul Moore
  0 siblings, 2 replies; 8+ messages in thread
From: David Shifflett @ 2012-02-28 22:07 UTC (permalink / raw)
  To: refpolicy

I am trying to use the MLS policy to control access to various
networks.

I am running on Fedora 13,
# sestatus
reports - enabled, mode enforcing, policy version 24, policy file mls

My system has eth1 192.168.2.1, and eth2 192.168.3.1.

I am trying to set the contexts correctly so that processes
with a sensitivity of s0 can use eth1,
and a sensitivity of s1 can use eth2

Nothing I have tried prevents a process at s1 from accessing
a node/interface/port with a sensitivity of s0.

Here is what I have tried:
(set everything to s0)
semanage interface -a -r s0 -t user_t eth1
semanage interface -a -r s0 -t user_t eth2
semanage node -a -r s0 -t user_t -M 255.255.255.0 -p ipv4 192.168.2.1
semanage node -a -r s0 -t user_t -M 255.255.255.0 -p ipv4 192.168.3.1
semanage port -a -r s0 -t user_t -p tcp 55055

This yields:
# cat /etc/selinux/mls/modules/active/ports.local
portcon tcp 55055 system_u:object_r:user_t:s0

# cat /etc/selinux/mls/modules/active/interfaces.local
netifcon eth1 system_u:object_r:user_t:s0 system_u:object_r:user_t:s0
netifcon eth2 system_u:object_r:user_t:s0 system_u:object_r:user_t:s0

# cat /etc/selinux/mls/modules/active/nodes.local
nodecon ipv4 192.168.2.1 255.255.255.0 system_u:object_r:user_t:s0
nodecon ipv4 192.168.3.1 255.255.255.0 system_u:object_r:user_t:s0

# semanage port -l | grep 55055
user_t tcp 55055

# semanage node -l
192.168.2.1 255.255.255.0 ipv4 system_u:object_r:user_t:s0
192.168.3.1 255.255.255.0 ipv4 system_u:object_r:user_t:s0

# semanage interface -l
eth1 system_u:object_r:user_t:s0
eth2 system_u:object_r:user_t:s0

I am running a simple python server program listening,
accepting connections on port 55055,
and reading/writing data from/to the client.

The python program reports it's context via selinux.getcon()
and works whether the context is
user_u:user_r:user_t:s0-s15:c0.c1023
or
user_u:user_r:user_t:s1-s15:c0.c1023

It appears that the MLS policy isn't being enforced,
or I am missing something.

I am new to SELinux so hopefully I am doing something simple wrong.
Let me know if there is any other data I need to provide.


Any help sorting this out would be appreciated,
Thanks,
David Shifflett

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2012-03-12 13:30 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-28 22:07 [refpolicy] MLS policy and networking David Shifflett
2012-03-05 19:06 ` David Shifflett
2012-03-06 13:27   ` Christopher J. PeBenito
2012-03-08 18:30 ` Paul Moore
2012-03-08 19:19   ` David Shifflett
2012-03-09 20:43     ` Paul Moore
2012-03-09 22:33       ` David Shifflett
2012-03-12 13:30         ` 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.