From: "Venkat Yekkirala" <vyekkirala@TrustedCS.com>
To: "'Christopher J. PeBenito'" <cpebenito@tresys.com>,
"James Morris" <jmorris@namei.org>
Cc: "Venkat Yekkirala" <vyekkirala@tcsfw4.tcs-sec.com>,
<jbrindle@tresys.com>, <selinux@tycho.nsa.gov>,
"Stephen Smalley" <sds@tycho.nsa.gov>, <gcwilson@us.ibm.com>,
"Paul Moore" <paul.moore@hp.com>
Subject: RE: SELinux Networking Enhancements
Date: Wed, 1 Nov 2006 09:58:15 -0600 [thread overview]
Message-ID: <000c01c6fdce$8b49fcd0$cc0a010a@tcssec.com> (raw)
In-Reply-To: <1162389729.31675.157.camel@sgc>
> On Mon, 2006-10-30 at 13:27 -0500, James Morris wrote:
> > # Server policy
> > allow httpd_server_t httpd_client_t:peer { recv send };
> >
> > # Client policy
> > allow httpd_client_t httpd_server_t:peer { recv send };
>
> Since we're talking about how policy, here is how I think the policy
> should look like ideally, using the server side as example:
>
> # service http requests (ipsec):
> allow apache_t self:tcp_socket create_stream_socket_perms;
> allow apache_t http_server_packet_t:packet { send recv };
> allow apache_t http_spd_t:association polmatch;
> allow apache_t mozilla_t:association { sendto recvfrom };
Since an association is a uni-directional object and since having
mozilla_t as the label on associations in BOTH directions would
mess-up the getpeercon semantics (it would return mozilla_t when
invoked by the client as well as the server which isn't what we want)
the above rule will have to be broken into:
allow apache_t mozilla_t:association { recvfrom };
allow apache_t self:association { sendto };
with the client having the following rules:
allow mozilla_t apache_t:association { recvfrom };
allow mozilla_t self:association { sendto };
> allow http_server_packet_t mozilla_t:association { flow_in flow_out };
This won't always work since at least from the MLS standpoint, an
association
could be looked at as being more fine-grained than a packet type.
As may have been noticed, I am currently thinking of a separate generic
filtering module in the filter table that would filter packets based on
the label (internal as well as external) on the packet and the label on
the filtering point. So you would still happily secmark packets, but also
have control over what labels (be they internal or external) can come into
or leave the system. Being a generic mechanism this would also seemlessly
cover the forwarding case.
People can look at "Chapter 6. Traversing of tables and chains" at:
http://iptables-tutorial.frozentux.net/iptables-tutorial.html#TRAVERSINGOFTA
BLES
to see where the filtering happens for the input, output and forward cases.
>
> # do dns lookups (non ipsec):
> allow apache_t self:tcp_socket create_stream_socket_perms;
> allow apache_t dns_client_packet_t:packet { send recv };
> allow apache_t no_extlabel_t:association { sendto recvfrom };
This currently would be (as you also indicate later):
allow apache_t unlabeled_t:association { sendto recvfrom };
> allow dns_client_packet_t no_extlabel_t:association { flow_in
> flow_out };
>
> This has the requirement that the type of the association is
> the same as
> the type of the domain on the other side
For recvfrom this is how it is; the association is the same as
the type of the domain on the OTHER side. For sendto, we would
currently allow use of the same association as the sending socket.
So, "sendto" is more like a "use" permission.
> and no_extlabel_t (or
> unlabeled_t) for unencrypted communications.
>
> --
> 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.
next prev parent reply other threads:[~2006-11-01 15:58 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-20 15:10 SELinux Networking Enhancements Venkat Yekkirala
2006-10-20 23:24 ` James Morris
2006-10-23 16:32 ` Venkat Yekkirala
2006-10-23 21:17 ` James Morris
2006-10-24 14:33 ` Venkat Yekkirala
2006-10-30 18:27 ` James Morris
2006-10-30 18:34 ` Joshua Brindle
2006-10-30 18:40 ` James Morris
2006-10-30 18:43 ` Joshua Brindle
2006-10-30 18:49 ` James Morris
2006-10-31 20:54 ` Venkat Yekkirala
2006-11-01 3:46 ` James Morris
2006-11-01 15:04 ` Paul Moore
2006-11-01 16:00 ` James Morris
2006-11-01 16:09 ` Paul Moore
2006-11-01 17:26 ` James Morris
2006-11-01 17:39 ` Paul Moore
2006-11-01 20:59 ` Venkat Yekkirala
2006-11-01 21:29 ` Paul Moore
2006-11-02 15:15 ` Venkat Yekkirala
2006-11-02 15:26 ` Paul Moore
2006-11-02 15:47 ` Venkat Yekkirala
2006-11-02 16:43 ` James Morris
2006-11-02 16:45 ` James Morris
2006-11-02 17:10 ` Venkat Yekkirala
2006-11-02 17:22 ` James Morris
2006-11-02 17:31 ` Venkat Yekkirala
2006-11-02 16:49 ` Joshua Brindle
2006-11-02 17:01 ` Venkat Yekkirala
2006-11-02 17:19 ` Joshua Brindle
2006-11-02 17:38 ` Venkat Yekkirala
2006-11-02 17:51 ` Paul Moore
2006-11-02 17:53 ` Joshua Brindle
2006-11-03 15:12 ` Venkat Yekkirala
2006-11-03 18:44 ` Joshua Brindle
2006-11-01 14:02 ` Christopher J. PeBenito
2006-11-01 15:58 ` Venkat Yekkirala [this message]
2006-11-01 17:54 ` Joshua Brindle
2006-11-01 17:59 ` Paul Moore
2006-11-01 19:25 ` Venkat Yekkirala
2006-11-01 19:46 ` Joshua Brindle
2006-11-01 17:55 ` Christopher J. PeBenito
2006-11-01 18:30 ` Paul Moore
2006-11-01 19:57 ` James Morris
2006-11-01 19:59 ` Joshua Brindle
2006-11-02 16:20 ` Venkat Yekkirala
2006-11-02 18:33 ` Christopher J. PeBenito
2006-11-03 14:49 ` Venkat Yekkirala
[not found] <36282A1733C57546BE392885C06185920166D6EC@chaos.tcs.tcs-sec.com>
2006-11-02 16:22 ` Venkat Yekkirala
2006-11-02 16:31 ` Joshua Brindle
2006-11-02 16:54 ` Venkat Yekkirala
-- strict thread matches above, loose matches on Subject: below --
2006-10-16 14:55 Venkat Yekkirala
2006-10-16 3:14 Venkat Yekkirala
2006-10-16 12:40 ` Joshua Brindle
2006-10-16 14:31 ` Venkat Yekkirala
2006-10-18 13:23 ` Joshua Brindle
2006-10-18 14:08 ` Joe Nall
2006-10-18 15:10 ` Venkat Yekkirala
2006-10-18 16:09 ` Joshua Brindle
2006-10-19 15:06 ` Venkat Yekkirala
2006-10-19 16:04 ` Joshua Brindle
2006-10-19 16:54 ` Venkat Yekkirala
2006-10-19 21:27 ` James Morris
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='000c01c6fdce$8b49fcd0$cc0a010a@tcssec.com' \
--to=vyekkirala@trustedcs.com \
--cc=cpebenito@tresys.com \
--cc=gcwilson@us.ibm.com \
--cc=jbrindle@tresys.com \
--cc=jmorris@namei.org \
--cc=paul.moore@hp.com \
--cc=sds@tycho.nsa.gov \
--cc=selinux@tycho.nsa.gov \
--cc=vyekkirala@tcsfw4.tcs-sec.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.