Re: postfix, procmail and SELinux - No Go

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Marc Schwartz wrote:
Nicolas Mailhot wrote:
Le mardi 30 mai 2006 à 15:58 -0500, Marc Schwartz (via MN) a écrit :
<snip>

Paul,

Thanks for your assistance.
Give me a bit of time, with everything else (ie. work) going on, to
implement and test your recommendations (and to review some
documentation).

I'll post back as soon as I have something definitive.

On your query on pyzor, much like razor and dcc, it is called as part of
the spamassassin checks when present. These constitute the 'remote'
checks that one can perform when using SA. This is why I find it curious
that there were no avc messages for razor and dcc.

are you sure razor and dcc are used ? Last I looked the FC version of SA
disabled the razor check because of licensing problems

As for pyzor, I've reported it in the past, you need the policy to allow
reading its config file, then connecting to pyzor servers, etc

Nicolas,

Thanks kindly for making note of this.

In SA 3.1.x, which is new to FC5, these checks are indeed disabled. From some Googling, this appears to not be unique to FC, but to SA itself.

In FC4, which used SA 3.0.x, these checks worked fine without adjustments to config files. I was not aware of the change.

I have now edited:

  /etc/mail/spamassassin/v310pre

to enable the checks. I also did some fine tuning to ~/.spamassassin/user.prefs to account for some setting changes as well.

Sure enough, avc messages are now being logged. I have cc'd Paul to reference the additional info below:


Now for grep "dcc":

type=SYSCALL msg=audit(1149104051.041:8648): arch=40000003 syscall=197 success=yes exit=0 a0=4 a1=bfaad188 a2=4891eff4 a3=3 items=0 pi d=25104 auid=500 uid=500 gid=0 euid=500 suid=0 fsuid=500 egid=0 sgid=500 fsgid=0 comm="dccproc" exe="/usr/local/bin/dccproc"
type=AVC_PATH msg=audit(1149104051.041:8648):  path="/var/dcc/map"
type=AVC msg=audit(1149104051.041:8649): avc: denied { lock } for pid=25104 comm="dccproc" name="map" dev=hdc5 ino=87811 scontext=s ystem_u:system_r:spamd_t:s0 tcontext=user_u:object_r:var_t:s0 tclass=file type=SYSCALL msg=audit(1149104051.041:8649): arch=40000003 syscall=221 success=yes exit=0 a0=4 a1=7 a2=bfaae304 a3=bfaae304 items=0 pi d=25104 auid=500 uid=500 gid=0 euid=500 suid=0 fsuid=500 egid=0 sgid=500 fsgid=0 comm="dccproc" exe="/usr/local/bin/dccproc"
type=AVC_PATH msg=audit(1149104051.041:8649):  path="/var/dcc/map"
type=AVC msg=audit(1149104167.275:8694): avc: denied { read write } for pid=25544 comm="dccproc" name="map" dev=hdc5 ino=87811 scon text=system_u:system_r:spamd_t:s0 tcontext=user_u:object_r:var_t:s0 tclass=file type=SYSCALL msg=audit(1149104167.275:8694): arch=40000003 syscall=5 success=yes exit=4 a0=80ba6e0 a1=2 a2=180 a3=11 items=1 pid=25544 auid=500 uid=500 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=500 fsgid=0 comm="dccproc" exe="/usr/local/bin/dccproc"
type=CWD msg=audit(1149104167.275:8694):  cwd="/var/dcc"
type=PATH msg=audit(1149104167.275:8694): item=0 name="/var/dcc/map" flags=101 inode=87811 dev=16:05 mode=0100600 ouid=0 ogid=0 rdev= 00:00 type=AVC msg=audit(1149104167.275:8695): avc: denied { getattr } for pid=25544 comm="dccproc" name="map" dev=hdc5 ino=87811 scontex t=system_u:system_r:spamd_t:s0 tcontext=user_u:object_r:var_t:s0 tclass=file type=SYSCALL msg=audit(1149104167.275:8695): arch=40000003 syscall=197 success=yes exit=0 a0=4 a1=bfbf5cc8 a2=4891eff4 a3=3 items=0 pi d=25544 auid=500 uid=500 gid=0 euid=500 suid=0 fsuid=500 egid=0 sgid=500 fsgid=0 comm="dccproc" exe="/usr/local/bin/dccproc"
type=AVC_PATH msg=audit(1149104167.275:8695):  path="/var/dcc/map"
type=AVC msg=audit(1149104167.275:8696): avc: denied { lock } for pid=25544 comm="dccproc" name="map" dev=hdc5 ino=87811 scontext=s ystem_u:system_r:spamd_t:s0 tcontext=user_u:object_r:var_t:s0 tclass=file type=SYSCALL msg=audit(1149104167.275:8696): arch=40000003 syscall=221 success=yes exit=0 a0=4 a1=7 a2=bfbf6e44 a3=bfbf6e44 items=0 pi d=25544 auid=500 uid=500 gid=0 euid=500 suid=0 fsuid=500 egid=0 sgid=500 fsgid=0 comm="dccproc" exe="/usr/local/bin/dccproc"
type=AVC_PATH msg=audit(1149104167.275:8696):  path="/var/dcc/map"

These all appear to be dccproc doing read/write/lock operations on /var/dcc/map. This is happening in the spamd_t domain, which seems wrong to me since spamd_t should transition to dcc_client_t. Check what the context of /usr/local/bin/dccproc is; I think it should be dcc_client_exec_t (and it would be if it was in /usr/bin).

Also, /var/dcc and everything under it apart from /var/dcc/map should be
dcc_var_t; /var/dcc/map should be dcc_client_map_t.

You might check out the file contexts from the dcc policy module (listed below) and check that everything else is labelled correctly in the places you have installed them:

/etc/dcc(/.*)? gen_context(system_u:object_r:dcc_var_t,s0) /etc/dcc/dccifd -s gen_context(system_u:object_r:dccifd_var_run_t,s0) /etc/dcc/map -- gen_context(system_u:object_r:dcc_client_map_t,s0)

/usr/bin/cdcc -- gen_context(system_u:object_r:cdcc_exec_t,s0) /usr/bin/dccproc -- gen_context(system_u:object_r:dcc_client_exec_t,s0)

/usr/libexec/dcc/dbclean -- gen_context(system_u:object_r:dcc_dbclean_exec_t,s0) /usr/libexec/dcc/dccd -- gen_context(system_u:object_r:dccd_exec_t,s0) /usr/libexec/dcc/dccifd -- gen_context(system_u:object_r:dccifd_exec_t,s0) /usr/libexec/dcc/dccm -- gen_context(system_u:object_r:dccm_exec_t,s0)

/var/dcc(/.*)? gen_context(system_u:object_r:dcc_var_t,s0) /var/dcc/map -- gen_context(system_u:object_r:dcc_client_map_t,s0)

/var/run/dcc(/.*)? gen_context(system_u:object_r:dcc_var_run_t,s0) /var/run/dcc/map -- gen_context(system_u:object_r:dcc_client_map_t,s0) /var/run/dcc/dccifd -s gen_context(system_u:object_r:dccifd_var_run_t,s0)

For grep "razor":

type=AVC msg=audit(1149102177.498:8243): avc: denied { append } for pid=20136 comm="spamd" name="razor-agent.log" dev=hdc7 ino=98923 scontext=system_u:system_r:spamd_t:s0 tcontext=system_u:object_r:default_t:s0 tclass=file

default_t file should have been relabelled by now.

Again, check out the default contexts for razor and make sure that the files in the locations you have installed it to have the right contexts:

ifdef(`strict_policy',`
HOME_DIR/\.razor(/.*)? gen_context(system_u:object_r:ROLE_razor_home_t,s0)
')

/etc/razor(/.*)? gen_context(system_u:object_r:razor_etc_t,s0)

/usr/bin/razor.* -- gen_context(system_u:object_r:razor_exec_t,s0)

/var/lib/razor(/.*)? gen_context(system_u:object_r:razor_var_lib_t,s0) /var/log/razor-agent.log -- gen_context(system_u:object_r:razor_log_t,s0)

Paul.

--
fedora-selinux-list mailing list
fedora-selinux-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-selinux-list

[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux