All of lore.kernel.org
 help / color / mirror / Atom feed
From: Joshua Brindle <jbrindle@tresys.com>
To: Daniel J Walsh <dwalsh@redhat.com>
Cc: gyurdiev@redhat.com,
	"Christopher J. PeBenito" <cpebenito@tresys.com>,
	James Morris <jmorris@redhat.com>,
	Casey Schaufler <casey@schaufler-ca.com>,
	Karl MacMillan <kmacmillan@tresys.com>,
	selinux@tycho.nsa.gov
Subject: Re: Iptables discussion
Date: Mon, 25 Jul 2005 15:01:15 -0400	[thread overview]
Message-ID: <42E536FB.10408@tresys.com> (raw)
In-Reply-To: <42E535A5.1030406@redhat.com>

Daniel J Walsh wrote:

> Ivan Gyurdiev wrote:
>
>> On Mon, 2005-07-25 at 14:28 -0400, Ivan Gyurdiev wrote:
>>  
>>
>>>> So you could have:
>>>>
>>>> can_network(apache_t)
>>>>
>>>> and then to change it to only use eth0,
>>>>
>>>> can_network(apache_t,eth0_netif_t)
>>>>     
>>>
>>> I think automatic policy editing has to occur post-m4 - it doesn't
>>> make sense to me to be generating pre-m4 macros - this is going
>>> to be very hard to validate, and require a long time to compile and
>>> process.
>>>
>>> Your 1-line change expands to several hundred rules in policy.
>>>   
>>
>>
>> Perhaps I misunderstood what you were saying.
>> Dan's saying you want the netif argument to be optional,
>> and we fallback to a default label where everything's allowed if the 
>> argument is missing - so you'd only add a specific label for things 
>> you want managed by iptables.
>> That would make sense, and might be a good idea.
>>
>>
>>  
>>
> Ok so then a tool could add the following rules to only allow apache 
> and named to run on 0.
>
> type netif_eth0_t, netif_type;
> netifcon eth0 system_u:object_r:netif_eth0_t 
> system_u:object_r:unlabeled_t
> allow httpd_t netif_eth0_t:netif { tcp_recv tcp_send rawip_send 
> rawip_recv };
> allow named_t netif_eth0_t:netif { udp_recv udp_send tcp_recv tcp_send 
> rawip_send rawip_recv };
>
IMHO, I think that we _cannot_ add code to iptables to manage policy. 
This is a bad idea for a number of reasons that I've talked about in 
other emails.

This functionality should be put in system-config-security to set up the 
firewall iptables rules and manage a subset of the network related 
policy rules. This should leverage the module system so that 
system-config-security essentially owns a module that it can put it's 
rules in, remove them, etc. We can later use the policy server to limit 
this applications policy actions to just those under the primary network 
type.

I still think there are consistency issues with this, the software will 
have to be careful. All of the network rules will have to be moved to a 
single module (this is odd since apache has it's own rules, etc.. maybe 
those will be removed and all network access is defined centrally). I 
really don't like this but if you want configurable network rules there 
really isn't much choice.

The interfaces to do this work should be exported through libsemanage to 
do it seamlessly regardless of policy backend. The labels will have to 
(unfortunatly) be part of some configutation file, which is policy 
specific. This means that there needs to be some config files that are 
tightly coupled with the policy to tell these management applications 
what types they want to refer to.

Also the other issue with allow-by-default firewalls and deny rules, 
which can't be addresssed in policy at all (and I think it's a very bad 
idea for some network config app to recurse the entire policy looking 
for rules that might violate it's internal settings).



--
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:[~2005-07-25 19:05 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-07-21 17:40 [ libsepol 2/6] Ports Ivan Gyurdiev
2005-07-21 18:04 ` Joshua Brindle
2005-07-21 18:06   ` Ivan Gyurdiev
2005-07-21 18:27   ` Ivan Gyurdiev
2005-07-21 19:35     ` Karl MacMillan
2005-07-21 19:38       ` Ivan Gyurdiev
2005-07-21 20:30         ` Karl MacMillan
2005-07-21 20:47           ` Ivan Gyurdiev
2005-07-21 21:06             ` Joshua Brindle
2005-07-21 21:06               ` Ivan Gyurdiev
2005-07-21 21:15                 ` Joshua Brindle
2005-07-21 21:25                   ` Ivan Gyurdiev
2005-07-21 23:34                     ` Joshua Brindle
2005-07-22 11:53                       ` Iptables discussion Ivan Gyurdiev
2005-07-22 12:31                         ` Daniel J Walsh
2005-07-22 12:46                           ` Karl MacMillan
2005-07-22 13:44                             ` Ivan Gyurdiev
2005-07-22 14:19                               ` Karl MacMillan
2005-07-22 14:24                                 ` Ivan Gyurdiev
2005-07-22 15:28                                   ` Karl MacMillan
2005-07-22 18:18                                     ` Ivan Gyurdiev
2005-07-22 18:40                                       ` Karl MacMillan
2005-07-22 19:01                                         ` Ivan Gyurdiev
2005-07-22 14:42                                 ` Daniel J Walsh
2005-07-22 15:28                                   ` Karl MacMillan
2005-07-22 14:51                                 ` Joshua Brindle
2005-07-22 14:51                               ` Joshua Brindle
2005-07-22 15:39                                 ` Ivan Gyurdiev
2005-07-22 15:57                                   ` Karl MacMillan
2005-07-22 16:14                                     ` Ivan Gyurdiev
2005-07-22 16:31                                       ` Karl MacMillan
2005-07-22 17:59                                         ` Ivan Gyurdiev
2005-07-22 16:28                                     ` Ivan Gyurdiev
2005-07-22 17:28                                   ` Jason Tang
2005-07-22 17:54                                     ` Ivan Gyurdiev
2005-07-22 18:28                                       ` Jason Tang
2005-07-22 18:32                                         ` Ivan Gyurdiev
2005-07-22 19:19                                   ` Joshua Brindle
2005-07-22 19:44                                     ` Ivan Gyurdiev
2005-07-22 19:56                                       ` Joshua Brindle
2005-07-22 20:18                                         ` Ivan Gyurdiev
2005-07-22 20:56                                           ` Ivan Gyurdiev
2005-07-22 15:46                             ` Casey Schaufler
2005-07-22 15:54                               ` Joshua Brindle
2005-07-22 16:11                               ` Frank Mayer
2005-07-22 18:56                                 ` Casey Schaufler
2005-07-24  5:25                           ` James Morris
2005-07-24 15:28                             ` Casey Schaufler
2005-07-25  4:24                               ` James Morris
2005-07-25 15:37                                 ` Daniel J Walsh
2005-07-25 18:24                                   ` Christopher J. PeBenito
2005-07-25 18:28                                     ` Ivan Gyurdiev
2005-07-25 18:43                                       ` Ivan Gyurdiev
2005-07-25 18:55                                         ` Daniel J Walsh
2005-07-25 19:01                                           ` Joshua Brindle [this message]
2005-07-25 19:53                                             ` Ivan Gyurdiev
2005-07-25 22:42                                               ` Joshua Brindle
2005-07-26  0:07                                                 ` Ivan Gyurdiev
2005-07-26  0:13                                                   ` Joshua Brindle
2005-07-22 12:37                         ` Karl MacMillan
  -- strict thread matches above, loose matches on Subject: below --
2005-07-22 14:54 Chad Hanson
2005-07-24  5:08 ` James Morris
2005-07-25 21:00 Chad Hanson
2005-07-25 21:04 Chad Hanson

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=42E536FB.10408@tresys.com \
    --to=jbrindle@tresys.com \
    --cc=casey@schaufler-ca.com \
    --cc=cpebenito@tresys.com \
    --cc=dwalsh@redhat.com \
    --cc=gyurdiev@redhat.com \
    --cc=jmorris@redhat.com \
    --cc=kmacmillan@tresys.com \
    --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.