All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Christopher J. PeBenito" <cpebenito@tresys.com>
To: Karl MacMillan <kmacmillan@mentalrootkit.com>
Cc: Stephen Smalley <sds@tycho.nsa.gov>,
	James Antill <jantill@redhat.com>,
	Joshua Brindle <jbrindle@tresys.com>,
	SE Linux <selinux@tycho.nsa.gov>
Subject: Re: ipsec, netlabels, secmark- How about a little usability?
Date: Tue, 19 Sep 2006 16:35:23 -0400	[thread overview]
Message-ID: <1158698123.26420.183.camel@sgc> (raw)
In-Reply-To: <1158696824.15306.12.camel@localhost.localdomain>

On Tue, 2006-09-19 at 16:13 -0400, Karl MacMillan wrote:
> On Thu, 2006-09-14 at 15:45 -0400, Stephen Smalley wrote:
> > On Thu, 2006-09-14 at 13:24 -0400, James Antill wrote:
> > > On Thu, 2006-09-14 at 12:49 -0400, Stephen Smalley wrote:
> > > > On Thu, 2006-09-14 at 12:02 -0400, James Antill wrote:
> > > 
> > > > The iptables rule only deals with labeling the packet with a type.  The
> > > > policy deals with what domains can send/recv a given packet via allow
> > > > rules like:
> > > > 	allow httpd_t http_client_packet_t:packet { send recv };
> > > > encapsulated in interfaces like:
> > > > 	corenet_sendrecv_http_client_packet(httpd_t)
> > > > 
> > > > But the problem I see with the above example is that refpolicy already
> > > > generates a netfilter contexts entry that maps _everything_ going to
> > > > port 80 with http_client_packet_t, so we would need to delete that entry
> > > > to make the above work, or use a different type
> > > > (http_client_packet_lo_t) and only allow httpd_t to send it, not the
> > > > generic http_client_packet_t.  All of which gets back to proper
> > > > integration.
> > > 
> > >  The problem is you can't just use "send recv", because httpd_t needs to
> > > call send on sockets it receives from all over the place. So you need an
> > > interface specifically for connect (which, I understood, was called 
> > > something like name_bind)?
> > 
> > name_connect is just a pairwise check between the socket and the port.
> > It has nothing to do with secmark.
> > 
> 
> [Trying to restart this conversation again]
> 
> Yes, but it is not clear (at least to me) how to allow apache to connect
> to certain hosts but send and receive to all other hosts using secmark.
> The mention of name_connect was just asking for something similar with
> secmark I believe.

Lets make the example more concrete.  From what I understand what we're
trying to distinguish is from requests made to apache (incoming from
anywhere), and outgoing apache connections (say a php script is
connecting to a mysql server).  This can be done, and is currently done
by the refpolicy rules.  From the perspective of the server, incoming
requests are all httpd_server_packet_t connections.  New connections
made to mysql from the apache server would be mysql_client_packet_t.
The default refpolicy rule already handles labeling incoming connections
to port 80 from everywhere as httpd_server_packet_t.  If we only wanted
to allow mysql client connections to be to 1.2.3.4:3306, then the
mysql_client_packet_t netfilter rule would have to be changed to include
that as the destination ip/port.  Connections to mysql on another ip
would fall through to client_packet_t.

-- 
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.

  reply	other threads:[~2006-09-19 20:35 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-09-14 12:52 ipsec, netlabels, secmark- How about a little usability? Daniel J Walsh
2006-09-14 13:50 ` Joshua Brindle
2006-09-14 13:55   ` Joshua Brindle
2006-09-14 14:43   ` Stephen Smalley
2006-09-15 15:36     ` Daniel J Walsh
2006-09-14 16:02   ` James Antill
2006-09-14 16:49     ` Stephen Smalley
2006-09-14 17:24       ` James Antill
2006-09-14 19:45         ` Stephen Smalley
2006-09-19 20:13           ` Karl MacMillan
2006-09-19 20:35             ` Christopher J. PeBenito [this message]
2006-09-19 21:12               ` Karl MacMillan
2006-09-19 20:47       ` Karl MacMillan
2006-09-20 13:30         ` Christopher J. PeBenito
2006-09-20 13:45           ` James Morris
2006-09-20 14:27             ` Christopher J. PeBenito
2006-09-20 14:45               ` James Morris
  -- strict thread matches above, loose matches on Subject: below --
2006-09-14 14:52 Stuart James
2006-09-14 22:52 Venkat Yekkirala
2006-09-15  9:00 ` Stuart James
2006-09-19 21:19 Venkat Yekkirala
2006-09-20  1:35 ` Joshua Brindle
2006-09-20 13:02 Venkat Yekkirala

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=1158698123.26420.183.camel@sgc \
    --to=cpebenito@tresys.com \
    --cc=jantill@redhat.com \
    --cc=jbrindle@tresys.com \
    --cc=kmacmillan@mentalrootkit.com \
    --cc=sds@tycho.nsa.gov \
    --cc=selinux@tycho.nsa.gov \
    /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.