최근에 새 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-exim
exim 데몬이 "키" 파일에 액세스할 수 있지만 파일 그룹이 ssl
(보조 사용자 그룹 )일 때는 액세스할 수 Debian-exim
없는 이유는 무엇입니까?
답변1
사용자가 속한 그룹은 로그인 프로세스에 의해 부여됩니다. 데몬이 시작된 후 사용자 및 그룹으로 전환되면 일반적으로 해당 사용자 및 그룹(다음 setgid
) 으로만 전환되며 (기본 그룹) 및 (보조 그룹) 이 암시하는 다른 그룹은 setuid
사용하지 않습니다 . exim에 이런 동작이 있는지는 확인하지 않았지만, 그렇지 않은 경우에는 이상한 일입니다./etc/passwd
/etc/group
grep '^Groups:' /proc/1234/status
1234
where 는 exim 프로세스의 PID를 실행하여 exim 프로세스가 실행 중인 그룹을 확인할 수 있습니다 .
Debian-exim
사용자나 그룹이 키 파일을 읽을 수 있도록 해야 합니다 Debian-exim
.ACL이 켜져 있는지 확인하세요를 클릭한 다음 Debian-exim
키 파일의 ACL과 해당 파일로 연결되는 모든 비공개 디렉터리에 추가합니다.
setfacl -m group:Debian-exim:r /path/to/key
setfacl -m group:Debian-exim:x /path/to