FreeBSD sendmail sasl blacklistd

pkg(ports)のsendmailをインストールする

sendmail_program="/usr/local/sbin/sendmail"
sendmail_procname="/usr/local/sbin/sendmail"

blacklistd対応するなら以下も追加

sendmail_flags="-L sm-mta -bd -q30m -O UseBlacklist"

FreeBSDでpkg/ports版のSendmailを使う | 人生という名の酷道で遭難中 2022

とても参考になる

confEBINDIR
Bin directory for mail.local and smrsh
/usr/libexec から /usr/local/libexec に変更する

sendmail を ports パッケージに切り替える – システム管理メモ

FreeBSD 12.3

$ /usr/libexec/sendmail/sendmail -d0.1 -bv root
Version 8.16.1
 Compiled with: DNSMAP IPV6_FULL LOG MAP_REGEX MATCHGECOS MILTER
		MIME7TO8 MIME8TO7 NAMED_BIND NETINET NETINET6 NETUNIX NEWDB NIS
		PIPELINING SCANF STARTTLS TCPWRAPPERS TLS_EC TLS_VRFY_PER_CTX
		USERDB XDEBUG
...

pkg

$ sudo pkg install sendmail

$ /usr/local/sbin/sendmail -d0.1 -bv root
Version 8.17.1
 Compiled with: DANE DNSMAP IPV6_FULL LOG MAP_REGEX MATCHGECOS MILTER
		MIME7TO8 MIME8TO7 NAMED_BIND NETINET NETINET6 NETUNIX NEWDB NIS
		PICKY_HELO_CHECK PIPELINING SASLv2 SCANF STARTTLS TCPWRAPPERS
		TLS_EC TLS_VRFY_PER_CTX USERDB XDEBUG
...

DANE PICKY_HELO_CHECK SASLv2

SASLv2でSMTP-AUTH

blacklistd

P.S. blacklistctl dump -aってsortされないので表示順が見にくいですね。IPv4だけなら、IPアドレス順に表示したければ、

blacklistctl dump -a | sort -t . -n

last access順なら

blacklistctl dump -a | sort -t / -k 3

で一応sortできます。
blacklistd for sendmail(その5) – Welcome to ish.org

$ sudo blacklistctl dump -a 
    address/ma:port	id	nfail	last access
  141.98.11.17/32:587	OK	3/3	2022/05/11 23:16:03
  141.98.11.14/32:587		2/3	2022/05/11 22:57:48
  141.98.11.23/32:587		2/3	2022/05/11 23:05:02

$ sudo ipfw table port587 list
141.98.11.17/32 0

$ sudo ipfw -a list | grep port587
02587   16   1027 deny tcp from table(port587) to any 587

PICKY_HELO_CHECK

https://forums.freebsd.org/threads/sendmail-x-authentication-warning-claimed-to-be-local-ip.83527/

・ 実は、8.11.* からの移行の場合、特に .cf を変更しなくても大抵の場合正常に動作する。しかし、うちの 環境の場合、そのままでは mail header に
X-Authentication-Warning: : Host [] claimed to be <逆引きした host 名>
のような行が挿入されてうるさいので、とりあえず .mc の

define(`confPRIVACY_FLAGS', `authwarnings,noexpn,novrfy')dnl

define(`confPRIVACY_FLAGS', `noexpn,novrfy')dnl

に書き換えて対処。本当はこれだとその他の X-Authentication-Warning: も抑止されてしまうのであまりよろし くないのだが、根本的対策を取ってからまた warning を有効にすることにす る。
書きかけの歳時記 - 2002/06a Diary 2002