目前,我正在运行一个 before-queue-milter 脚本(用 Java 编写),我看到 postfix 正在通过套接字连接以纯文本形式与 milter 通信。有没有办法通过某种传输安全来保护这一点?
答案1
postfix 应该(并且据我所知在所有发行版中都是默认设置)设置为每个套接字只能由 postfix 和相应的 milter 访问。
尽管某些 *nix 系统没有实现套接字文件的访问权限,在大多数系统上将它们设置在目录(包含套接字)上就足够了。
$ postconf smtpd_milters
smtpd_milters = local:/mymilter/mymilter.sock
$ ls -ld /var/spool/postfix/mymilter
drwxr-x---- mymilter postfix 4096 Dec 1 2017 /var/spool/postfix/mymilter
$ su nobody -s /bin/sh -c ls /var/spool/postfix/mymilter
ls: cannot open directory '/var/spool/postfix/mymilter': Permission denied
$ su mymilter -s /bin/sh -c ls /var/spool/postfix/mymilter
mymilter.sock
未经授权的用户无法访问套接字所在的文件夹。因此,通过此类套接字传输的数据是安全的。
不需要进一步的传输安全机制,除非您以其他方式向不受信任的用户提供调查本地套接字的方法 - 您不应该这样做。