デーモンファイルへのアクセスを拒否する必要がありますが、拒否されました。

デーモンファイルへのアクセスを拒否する必要がありますが、拒否されました。

最近、新しいSSL証明書をインストールし、秘密鍵を読みにくくしてセキュリティを強化することにしました。

これにより exim に問題が発生します。

今、証明書は640で、ユーザーrootとグループはssl。このユーザーはDebian-eximこのグループに属しています。

シェルから秘密鍵ファイルにアクセスできます。

#sudo -u Debian-exim cat key
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----

ただし、eximログファイルには次のように表示されます。

2012-04-21 00:00:00 <Message-id> unable to open private key file for reading: /.../key
2012-04-21 00:00:00 <Message-id> == some@email <some@email> R=dnslookup T=remote_smtp defer (-1): smtp transport process returned non-zero status 0x0100: exit code 1
2012-04-21 00:00:00 <Message-id> Frozen

使用審査ファイルシステムへのアクセスを確認しました。

time->Sat Apr 21 00:00:00 2012
type=PATH msg=audit(1335027881.290:6): item=0 name="/.../key" inode=1794200 dev=09:01 mode=0100640 ouid=0 ogid=105 rdev=00:00
type=CWD msg=audit(1335027881.290:6):  cwd="/var/spool/exim4"
type=SYSCALL msg=audit(1335027881.290:6): arch=c000003e syscall=2 success=no exit=-13 a0=16184f8 a1=0 a2=0 a3=0 items=1 ppid=11831 pid=11847 auid=4294967295 uid=100 gid=102 euid=100 suid=100 fsuid=100 egid=102 sgid=102 fsgid=102 tty=pts1 ses=4294967295 comm="exim4" exe="/usr/sbin/exim4" key="sslkey"

これは失敗したことを示しています(理由はわかりませんが)。比較すると、できるだけ同じ成功した呼び出し(ファイルグループがDebian-exim代わりに変更されましたssl

time->Sat Apr 21 00:00:00 2012
type=PATH msg=audit(1335028586.882:34): item=0 name="/.../key" inode=1794200 dev=09:01 mode=0100640 ouid=0 ogid=102 rdev=00:00
type=CWD msg=audit(1335028586.882:34):  cwd="/var/spool/exim4"
type=SYSCALL msg=audit(1335028586.882:34): arch=c000003e syscall=2 success=yes exit=11 a0=24f74f8 a1=0 a2=0 a3=0 items=1 ppid=13958 pid=13961 auid=4294967295 uid=100 gid=102 euid=100 suid=100 fsuid=100 egid=102 sgid=102 fsgid=102 tty=(none) ses=4294967295 comm="exim4" exe="/usr/sbin/exim4" key="sslkey"

何が問題なのかわかりません。。ファイルグループが(Debian-eximデフォルトユーザーグループ)の場合、Debian-eximeximデーモンは「キー」ファイルにアクセスできますが、ファイルグループがssl(セカンダリユーザーグループ)の場合はアクセスできDebian-eximないのはなぜですか?

答え1

ユーザーが属するグループはログインプロセスによって付与されます。デーモンの起動後にユーザーとグループに切り替えると、通常はそのユーザーとグループ(次のsetgid)にのみ切り替えられ、(デフォルトグループ)と(セカンダリグループ)が暗示する他のグループはsetuid使用されません。 eximにこの動作があるかどうかは確認していませんが、そうでない場合は奇妙です。/etc/passwd/etc/group

grep '^Groups:' /proc/1234/status1234whereはeximプロセスのPIDを実行して、eximプロセスが実行されているグループを確認できます。

Debian-eximユーザーまたはグループがキーファイルを読み取ることができるようにする必要がありますDebian-eximACLがオンになっていることを確認してくださいをクリックし、Debian-eximキーファイルのACLとそのファイルに関連付けられているすべてのプライベートディレクトリに追加します。

setfacl -m group:Debian-exim:r /path/to/key
setfacl -m group:Debian-exim:x /path/to

関連情報