В настоящее время я запускаю сценарий before-queue-milter (написанный на java), и я вижу, что постфикс обменивается данными с milter в виде обычного текста через соединение сокета. Есть ли способ защитить это с помощью некоторой транспортной безопасности?
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
Неавторизованные пользователи не могут получить доступ к папке, в которой находится сокет. Таким образом, данные, передаваемые через такие сокеты, безопасно передаются.
Дополнительные механизмы безопасности транспорта не требуются, если только вы не предоставите методы исследования локального сокета ненадежным пользователям иным образом - не следует.