5/08/2006 lspp Meeting Minutes:
===============================
Known Attendees:
Matt Anderson (HP) - MA
Amy Griffis (HP) - AG
Steve Grubb (Red Hat) - SG
Chad Hanson (TCS) - CH
Linda Knippers (HP) - LK
Joy Latten (IBM) - JL
Paul Moore (HP) - PM
Loulwa Salem (IBM) - LS
Al Viro (Red Hat) - AV
Dan Walsh (Red Hat) - DW
George Wilson (IBM) - GW
Janak Desai (IBM) - JD
Klaus Weidner (Atsec) - KW
Darrel Goeddel (TCS) - DG
Valdis Kletnieks(VT) - VAL
Venkat Yekkirala (TCS) - VY
Michael Thompson (IBM) - MT
Kernel update
-------------
LSPP kernel issues
------------------
AV: An unrelated bug in Fedora kernel created problem, but it got sorted out
yesterday, it was a small problem. As far as mainline is concerned, we
are much closer to 2.6.18 so everything els has to wait for 2.6.18.
There is 1 patch that fixes deadlock that will go to Linus tomorrow. As
far as mainline is concerned, we are doing pretty well. There is also a
new lspp.b12 that will keep growing and a new lspp kernel out.
SG: the lspp.23 kernel has everything in it.
AV: You probably need to move to Fedora kernel. if you look at this thing
with the uninitialized spinlocks.
SG: T tested this morning with 2196 kernel. I worked with David Woodhouse to
resolve the issue.
GW: I loaded the .23 kernel Steve, and it behaved like .22 kernel. I need
audit-1.2.2 to clear the ENOBUF issue.
SG: I am working on ppid issue, and will release a new version.
GW: Good. I saw no regression in this kernel, hopefully it will be better
performance wise. thanks Al for the help. We are doing better.
Audit performance and stability issues
--------------------------------------
GW: Amy, how is auditfs and inotify doing.
AG: I just walked in the room and heard my name, can you repeat your
question.
GW: I wanted to know how the inotify work is going.
AG: Last week I finished patch to add audit rule. I am finishing up inotify
tests today. I sound out that I'm missing some events, at this point it
might be bug in my test program and not in inotify; I need to test and
see. Later on this week,I'll work on filesystem auditing patch where
files/directory removes aren't being auditd. This work is for this week
AV: if u need help.. just let me know.
GW: We have new kernel out, and we need to do some regression testing. Are
we ready for another performance run.
SG: yes, I'd so wait for .24 kernel though.
GW: This gets us back on track in terms of stability. I updated my discount
patch, I moved some hooks a bit to capture parameters. I'll put it out
since the more I keep looking at it, I'll keep finding problems. Also I
put a user space patch for it; the functionality should be there.
AuditFS/inotify completion
---------------------------
Audit of POSIX message queues
------------------------------
Audit API
---------
GW: Steve, any updates on audit user space
SG: I am working on ppid . Use auditctl to audit on ppid. It will be in next
release.
Audit failure action inquiry function
--------------------------------------
GW: Any updates on that? I know lisa is out.
LK: Lisa is out, but we talked about it before she left. You'll see
something on the mailing list tomorrow probably.
Audit of service discontinuity
------------------------------
GW: This item has no owner still.
Maintenance mode for secure recovery
------------------------------------
GW: Any one worked on that. Is this item still unowned. Steve still had a
question about if we still need to audit on startup.
SG: Al and I exchanged emails about that.
AV: we can get auditd to start early. it'll stir all messages in kernel,
then put them to auditd later. the point is we can get some formal
auditd running as soon as we get in initrd, that is as early as we get
any logging, as soon we get in initrd.
KW: I think this is more than enough and what's needed for evaluation. What
evaluation cares about is having functioning audit system running before
some processes like ssh and login are run.
AV: auditd will be the second user-land process being run. How to do it? We
can start auditd, kernel knows what process id it's starting. what we
can do is we can tell already running auditd to have its parent run exec
on new binary and then have child which still keeps original binary.
Same trick is done to init, it's a fairly old story. We used to have
rather ugly process for updating sbin/init. We can't queue pruning init,
if you want to change binary, we could do it in place. it requires
reboot, and it gave us a dirty filesystem. Back in '98, that's when init
had been taught to do the following: transfer all its state to its new
binary so you do upgrade in place. init needs more states than we need
for auditd. We should go grep for that code and see how it is done
easily. I think that's doable. I don't see any non trivial issues with
it. Again we can get minimal auditd into initrd, we can get it running
as early as any user land process can run, we can have what it receives
from kernel do a new one.
SG: klaus, you think we don't need this much in depth? or only when it goes
under user control.
KW: It's sufficient. If things run in non privileged user behalf you need
audit to run before those processes.
AV: There is one addition we want for real world use. We want to upgrade
auditd without bringing the system down.
KW: That would be a nice to have feature. if it is necessary we can put the
system in single user mode.
SG: In single user mode do we need to register user action? here auditd
turns off.
KW: We need to get messages of who initiated to a single user mode, after
that it's ok not to audit.
SG: so we just need the message initially.
KW: if an admin initiated switch to single user mode then we need a record.
If the system decides to switch to single user mode due to failure for
example then we need some event to show up in the log.
GW: So we need run level messages. Is it sufficient to know what happened or
do we need explicit messages?
KW: It will be nice to have explicit messages. Is there anther mechanism to
write messages.
AV: We used to have other ways, but not anymore. We can put a watch on
auditctl, and we look for attempts to open it.
VAL: Do you have any need to audit the case when someone hits reset and
reboots in single user mode?
KW: We require that physical access is restricted to trusted admins.
VAL: I'm thinking a TPM hook to get a log of what happened
KW: It is nice to have, but not required for the evaluation.
AV: We are considering having physical access to reset is having physical
access to the disk as well.
VAL: We always end up with systems where physical security ends up to be an
issue.
KW: We try to enforce security through software not hardware.
VAL: in that case, i can live with that.
KW: Put a requirement that the office should be locked.
VAL: try telling that to a university VP? :)
KW: One additional comment on upgrading auditd, we have 2 options, they can
have system availability but loose audit records, or switch to single
user mode, but not both
AV: Bottom line is, this switch from initial to normal user, it's doable but
not high priority.
GW: what about run level messages? when you switch run levels, auditd is
killed.
SG: auditd will get messages that it is terminating.
KW: we can put watches on init, but in this case it would be easier to
modify init to send messages directly to auditd.
AV: we can have init generate messages. duplicate its login
KW: I meant send user messages when run level changes.
AV: wouldn't be useful. It is getting asked by a user to do it, but all
action and login are done by same process with same credential, no way
to tell who asked it.
KW: unless we pass it the id, it will be lost.
AL: probably what we can do; on the other hand we use something like selinux
to restrict access to main pipe, to tell init, which is how we should do
it.
KW: sounds reasonable. Make access to main pipe restricted to admins.
AV: they are already told that in every text book anyway
KW: selinux might also be nice to get assurance that people stick to the
rules. I like the idea to put audit hook in tel-init.
Print
-----
GW: Matt, would you like to tell us how print is going?
MA: I've been messing with using various filters, found way to enforce
postscript files without going to a second cups server. It reduces
complexity and shows we used the trusted path. In that process, I
thought of using pdf as container rather than bitmap file. In bitmap
the text is illegible, but in pdf it remains legible. I need to work on
the bitmap portion of the filter. The problem I'm getting is in multiple
pages we don't get image files.
KW: I am not sure if going in this direction is helpful. Initially we wanted
to use bitmap to have a simple interface between trusted and untrusted
parts of the print queue.
MA: If original input is postscript, the input gets rendered to bitmap
image. and is completely generated by filter without user input. that
will go through to another filter that will put label of original file
overlayed on that postscript file
KW: the postscript file might be from untrusted source. postscript file can
redefine operators.
MA: original input file has already been converted to .tiff or ppm.
KW: but I though it is still running in user context.
MA: no it's running is server context. filters are always running in server
context.
KW: split the context operation, and treat it as untrusted. You want to
avoid postscript interpreters to be trusted. if you get complex
intermediate formats, you may run into trust issues.
MA: we are not using user files, it is already been converted.
AL: what context is it running in
MA: server context
KW: too late, you already trusted it.
MA: labeling operation already handles it separately. labels are applied to
file containing bitmap. The difficulty is how you do different bitmaps
in separate pages. you need containers for that.
AV: bitmap is not a big deal, the problem is the postscript. it's not the
same as running shell script from trusted.
MA: I am running in sandbox, taking output and running it as an image.
KW: output of sandbox needs to be simple. you get assurance if u assume
sandbox is doing the right thing, and if it is, then you don't need the
sandbox then anyway.
MA: postscript output is a small part of previous image file
AL: you can verify that?
LK: don't you need interpreters to make sure you get right output
AV: completely suspended sequences.
MA: postscript containers holds individual bitmaps. we need to have mini
parser to validate input
KW: how about put them in tar file, if you need single file
MA: you can't lpr a tar file
LK: are we sure there is no way to fix image problems
MA: that's where pdf comes in. we don't need to worry about multiple
containers. pdf can use many pages.
KW: pdf is not a full programming language, it does what you want, but it is
complex. Yo use it you need a LLD for the pdf parsing engine. I think
that's probably happening is that you have bitmaps at wrong resolution.
might need to change it.
MA: been using 600 dpi I think .. I'll try changing resolution and see
KW: you should be able to get something readable at 600 dpi, maybe not
beautiful
MA: maybe it is my resolution
KW: 600 is good, if not, there might be other problems
MA: I also tried multiple image types to see it.
KW: if just the bitmap printouts are not readable, it's fixable problem. if
characters are readable but fuzzy in magnifying glass for example that's
another issue, but if not readable at all, then there is a bug
MA: I put a sample a while back
LK: I saw that sample, it is not readable, we have to check
KW: it should not look like a fax hopefully, but at least not worse
MA: I don't want it to look like a fax. but faxes are more readable now that
what it is currently
KW: if you need hight quality option, I know ghost scrip has a flag to get
output in high resolution, see if you need something similar.
CIPSO
-----
PM: I posted to list last week. Stephen made comments about how do we resolve
different access control messes. I posted on friday, and it was largly
ignored.
JL: i'll review it. i talked to Trent Yager and alerted him too
PM: i'm talking about the posting to selinux list, not lspp list. James
Morris said there is another group that can use the patch, I posted to
thier LSM list. Apparently it was good timing, since they didn't port
their CIPSO stuff yet, so they were happy to see some work is being
done. There is plenty of work to do. Starting tomorrow I'll start
implementing changes they suggested on list.
SELinux base update
-------------------
GW: Dan, anything for selinux?
DW: we have a library update. we are submitting upstream. dev-audit is
awaiting approval into fedora extras. Klaus, you had questions on how to
set up roles and users. I have a blog that is half way done about that.
Also, I want to move audit.conf and audit.rules into another directory
to make it easier to control policy. As soon as libraries get updated,
there will be a major update to selinux.
CH: did you run into problems with changing context.
DW: I also put a cookbook on how to do that. need to be staff_t rather than
user_t.
GW: thanks for update Dan. Any other other issues with the roles Mike.
MT: what are roles supposed to do in the separation of roles. Notheing is
concrete to test, which is mainly why I'm asking. I can't test if I
don't know what to test. there are three roles secadmin, sysadm, and
auditadm. auditadm role is clear, but it should be better documented. as
for sysadm, it was cleared a bit but there is an overlap with secadm. So
the question is: what is expected of auditadm, and how do secadm and
sysadm differ?
DW: auditadm manages audit system, runs auditctl, and manages /ets/audit
files, start and stop audit service. secadm, is the manager of selinux
stuff, manage policy, use semanage, turn off and on enforcing. Now
sysadm does everything the first two don't do
MT: Ok ... so auditadm controls anything audit related. what does sysadm do
that falls in secadmin domain?
DW: stop and start audit
MT: should sysadm modify those roles. << not sure if this was sys or sec
admin>>
DW: I'd say no. if u have different file context or sensitivity level, it
become difficult to manage it. directory is easier.
MT: should sysadmin be able to do auditctl -l, or not? He can't modify
config, but can he get rules information
DW: I would say no
KW: It's up to the implementation to decide. only thing required, is that it
is not allowed to change the configuration.
DW: I was playing with it in the afternoon. I believe sys and sec admin
should not be allowed to run auditctl.
KW: It is reasonable to not let them run it.
DW: sec and sys admin are running in system low, and audit is running in
system hight. MLS will restrain them.
MT: what about for audit log?
DW: leave to secadmin
MT: great .. now i can write and run test
GW: we need to document that clear distinction and put on the Fedora wiki.
MT: I can write that up. I also wrote a page on how to add users, but I
don't have access to wiki, do I need to request access.
SG: You need an account, and to accept the terms of use ..
DW: You need specific access to the selinux pages
GW: Is that why it says immutable page.
DW: You need special access.
GW: It is not very intuitive as the old wiki
DW: Carston Wade is one to contact about this. If you can't get it on there
Mike, send it to me and I will.
MLS policy issues
-----------------
GW: Are there any other policy issues. Klaus are you happy with the
definition of roles.
KW: I think we can simplify by having 2 roles, no sec admin, but it is also
up to the implementation. The requirement is to split the audit and
other system tasks. Actually lspp doesn't even mention roles, and RBAC
is easy on that.
GW: Steven Smoogen has said that they have other roles, but customer can
define that.
DW: if we want to get rid of secadm, we can get rid of it, I don't mind
KW: Ok ... anyone wants secadm?
GW: let's put this on the list to get some feedback
SG: someone wanted auditadm instead of secadm, so now we ended up with
three.
CH: there is a difference. We do that sometimes to keep security people
happy and show potential role breakout.
DW: audit, sec, user, staff, and sys admin role. user and staff are default
login roles.
GW: are we happy with those as default.
DW: I am always confused with those, end up with 3 windows
GW: what are the expectation from a customer set point of view
DW: need to put on list. people using MLS will have a more valued opinion.
IPsec labeling, xinetd, secpeer
-------------------------------
GW: James Morris created patch that embodied the dicussion at seLinux
summit. how is that going to interact with existing ipsec labeling and
Pauls CIPSO patch. Joy?
JL: I'll review both patches. James also sent his patches.
PM: I looked at his patch. looks like he got rid of the port and node cache.
JL: I did not look at code yet. Are you saying we don't need those hooks
anymore.
PM: they are still there for compatibility mode, but might not need them for
long.
JL: we don't need that look up anymore? I havn't looked at CIPSO patch yet.
Steven smalley had some concerns about it, but I'll look at it
ipsec-tools patches: Base, SPD dump, and racoon MLS
-----------------------------------------------------
VK: no progress
JL: You made progress on the mls portion?
GW: no ... he already just talked about that.
GW: any word on your work Joy?
JL: We should see stuff on xinetd patch. I did some test, and Trent is
pretty happy with it.
GW: we'll write him if we don't see it on list.
JL: I'll write him on Wednesday if there is no listing yet. Also, good news
IPSEC manual portion is finally accepted, after about 6 months
Device allocation
------------------
GW: Dan talked about those earlier..it seems like a done deal.
Label translation daemon
-------------------------
Self tests
----------
GW: I need to produce new iterations of those
VFS polyinstantiation
---------------------
JD: namespace module is in rawhide. there are bugzillas, one i fixed and
have a patch, mainly moving instant initiation from polyistantiated
directory to another secure directory. Russel had some suggestions also,
which we are going back and forth on mailing list about, he wanted to
add another intermediate directory, but I am not sure about it, but we
are discussing the issue.
Cron, tmpwatch, mail, etc.
--------------------------
JD: As far as cron havn't heard about that.
SG: Jason said he put it in, he wants to release it with the new version of
cron.
JD: For the shared tree work, Adriane is trying to get input but not getting
much response. Do anyone know how to get a response. This is usefull for
pam name space so admins can get information. Is there a Fedora util
maintainer that can ping Adrian? that would be useful.
SG: has the patch been posted?
JD: I think he posted it, but I'll double check
SG: we can carry it in util-linux to start testing.
GW: still need to determine what mail wrapper to use for cron. I beleive
Dustin was working on that, but he didn't finish.
Closing
-------
GW: Ok.. this time I'll focus on the positives ... We are better than 90%
complete andbetter than 80% upstream. We are doing well, and we need to
continue testing and submitting upstream and stop development. As Steve
had said last week, we need to make sure our code is submitted as the
window opens for the .18 kernel.
--
redhat-lspp mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/redhat-lspp