Klaus we love you ;)
On Wed, 2006-06-28 at 18:03 -0500, Klaus Weidner wrote:
> Hello,
>
> I've hacked together a very simple policy module to allow testing CIPSO
> with MLS constraints, which was surprisingly easy once I found out where
> to start... Kudos to Paul Moore and the Tresys folks for the code and
> documentation!
>
> With the following setup, labeled localhost networking in enforcing mode
> works as expected, meaning that a "Unclassified" user can freely open a
> local TCP connection to another "Unclassified" user's TCP socket, but a
> "Secret" user's connection attempt is rejected.
>
> I'm sure that there are many parts missing but I think this is a proof of
> concept to show that the MLS constraints do their job without needing any
> changes to the base policy.
>
> Here are the steps I used:
>
> ### set up the new policy module
> cat > cipso.te <<__EOF__
> module cipso 1.0;
>
> require {
> type user_t, staff_t, sysadm_t;
> class udp_socket { name_bind create ioctl read getattr write
> setattr append bind connect getopt setopt
> shutdown send_msg recv_msg node_bind };
> class tcp_socket { name_bind node_bind create ioctl read
> getattr write setattr append bind connect
> getopt setopt shutdown listen accept
> send_msg recv_msg };
> }
>
> allow {user_t staff_t sysadm_t} {user_t staff_t sysadm_t} :
> tcp_socket { recv_msg };
> allow {user_t staff_t sysadm_t} {user_t staff_t sysadm_t} :
> udp_socket { recv_msg };
> __EOF__
>
> checkmodule -M -m cipso.te -o cipso.mod
> semodule_package -m cipso.mod -o cipso.pp
> semodule -i cipso.pp
>
> ## configure CIPSO
> ##
> ## Make sure you use a local or serial console for testing, it will
> ## reject unlabeled packets from your SSH session (which is the entire
> ## point of CIPSO...)
>
> setenforce 0
> netlabelctl cipsov4 add std doi:1 tags:1 levels:0=0,1=1,2=2
> categories:0=0,1=1,2=2
> netlabelctl mgmt del default
> netlabelctl mgmt add default protocol:cipsov4,1
> netlabelctl unlbl accept off
> setenforce 1
>
> ## now try some netcats
> newrole -r sysadm_r -l s1-s1
> nc -l 3333
>
> newrole -r sysadm_r -l s2-s2
> nc localhost 3333
>
> -Klaus
>
> --
> redhat-lspp mailing list
> [email protected]
> https://www.redhat.com/mailman/listinfo/redhat-lspp
--
redhat-lspp mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/redhat-lspp