Firewall rules using SELinux context (Was Re: RFE: FireKit)

Stephen Smalley sds at tycho.nsa.gov
Fri Jul 24 19:53:19 UTC 2009


On Fri, 2009-07-24 at 15:47 -0400, Casey Dahlin wrote:
> A couple of mentions of SELinux have cropped up in the FireKit thread, which got me thinking about the Firewall and SELinux and ways in which they are similar. I had the following thought:
> 
> SELinux already has a lot of policy information from which we might like to determine whether ports should be open to a particular program. The simplest mechanism I can see for doing that is to allow SELinux context to be referenced in the firewall rules. This prevents either system from having to be grotesquely modified.
> 
> An example rule might look like this:
> 
> -A INPUT -Z apache_t -j ACCEPT
> 
> Here we tell the firewall to allow incoming traffic that will be intercepted in userspace by a process in the apache_t context.
> 
> This does break in at least one way from traditional SELinux policy: something external to SELinux is interpreting the meaning of the context. The firewall rules can change while the actual SELinux policy stays put. I don't know how serious a problem that is (if it is one).
> 
> Thoughts?

SECMARK already allows you to label packets using iptables and then use
SELinux policy to control sending or receiving them.

http://paulmoore.livejournal.com/4281.html

There are also the name_connect and name_bind controls that regulate the
ability to connect or bind to specific ports via policy.

-- 
Stephen Smalley
National Security Agency




More information about the fedora-devel-list mailing list