From: Stephen Smalley <sds@tycho.nsa.gov>
To: Sam Gandhi <samgandhi9@gmail.com>
Cc: selinux@tycho.nsa.gov
Subject: Re: Generating policy for embedded platforms.
Date: Thu, 14 Apr 2011 13:04:17 -0400 [thread overview]
Message-ID: <1302800657.31033.67.camel@moss-pluto> (raw)
In-Reply-To: <BANLkTi=owF5uDftV12_ujGU=wWiKkG8M2w@mail.gmail.com>
On Thu, 2011-04-14 at 09:07 -0700, Sam Gandhi wrote:
> Hello,
>
> Hopefully this is appropriate mailing list for this type of email, if
> not please do let what is the appropriate forum for questions below.
>
> I am trying to enable SELinux on a embedded platform running linux 2.6.35.
>
> One of the idea we have is to run seLinux is permissive mode and
> gather the AVC messages as our programs start and convert those
> messages to 'allow' policy and deny everything else, much like what is
> done in IP packet forwarding, allow only traffic you know you want to
> process and deny everything else.
>
> Now the question are: is how does one generate deny-all policy for SELinux?
>
> I have come across mdp program in kernel source code and
> install_policy.sh script is that the right way to get started on
> building the most minimum policy set for embedded system, where large
> desktop policy may not be appropriate?
>
> Below is the script I am trying to use to setup the dummy policy (as
> described in Documentation/SELinux.txt), and booting kernel with
> enforcing=0 selinux=1 kernel parameters.
>
> problem is I don't see any of the avc messages as my applications
> start and open files/sockets etc. What am I doing wrong?
First, are you loading the policy into the kernel at boot? That is the
responsibility of early userspace, typically handled from /sbin/init or
the initramfs script. Look for messages from SELinux in dmesg output
beyond the initial ones, along the lines of:
SELinux: 2048 avtab hash slots, 215487 rules.
SELinux: 2048 avtab hash slots, 215487 rules.
SELinux: 9 users, 14 roles, 3521 types, 184 bools, 1 sens, 1024 cats
SELinux: 81 classes, 215487 rules
SELinux: Completing initialization.
SELinux: Setting up existing superblocks.
SELinux: initialized (dev sysfs, type sysfs), uses genfs_contexts
...
Second, if you use the policy generated by mdp, you'll have a policy
with exactly one type that is allowed to do everything. So you'll see
no denials at all until you start adding further types to the policy.
New types are not automatically generated by audit2allow - you have to
create them. A type is a security equivalence class, so you don't need
one for every individual program or file, only where you need to
distinguish permissions.
--
Stephen Smalley
National Security Agency
--
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:[~2011-04-14 17:04 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-14 16:07 Generating policy for embedded platforms Sam Gandhi
2011-04-14 17:04 ` Stephen Smalley [this message]
2011-04-14 18:06 ` Sam Gandhi
2011-04-14 18:26 ` Stephen Smalley
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=1302800657.31033.67.camel@moss-pluto \
--to=sds@tycho.nsa.gov \
--cc=samgandhi9@gmail.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.