dovecotのerror.logが異様に肥大していた。
macOS上のDovecotの設定は特殊だったの作業でだいぶ減ったがまだ多い。
これをどうにかしたい。
これがログの肥大しているところ。
info.logくらいにでっかくなっている。
|
1 2 3 4 5 6 7 8 9 |
% ls -l total 7152 -rw-r--r-- 1 root mail 298864 7 4 13:43 error.log -rw-r--r-- 1 root mail 1103180 7 2 05:22 error.log-20260702 -rw------- 1 root mail 895604 7 4 13:42 info.log -rw------- 1 root mail 52134 6 27 05:18 info.log-20260627.gz -rw------- 1 root mail 57147 6 30 05:24 info.log-20260630.gz -rw------- 1 root mail 1248023 7 2 05:23 info.log-20260702 |
この内容は大体二つで埋まっている。
|
1 2 3 4 |
2026-07-04 00:25:10 auth: Error: auth client 0 disconnected with 1 pending requests: EOF 2026-07-04 00:25:55 auth: Error: auth client 0 disconnected with 1 pending requests: EOF 2026-07-04 00:26:47 master: Warning: Time moved forwards by 0.144352 seconds - adjusting timeouts. 2026-07-04 00:29:57 master: Warning: Time moved forwards by 0.110008 seconds - adjusting timeouts. |
Warningはntpの動作はmacos任せだから対応方法は(多分)ほぼ無い。
Errorの方はどうにかしたいと思った。
そして予想を立てたのが、postfix.logのこれ。
|
1 2 3 4 |
Jul 04 05:42:46 mail postfix/smtpd[47875]: connect from unknown[112.30.127.9] Jul 04 05:42:55 mail postfix/smtpd[47875]: warning: unknown[112.30.127.9]: SASL LOGIN authentication failed: (reason unavailable), sasl_username=rluw8d04fe Jul 04 05:42:56 mail postfix/smtpd[47875]: NOQUEUE: lost connection after AUTH from unknown[112.30.127.9] Jul 04 05:42:56 mail postfix/smtpd[47875]: disconnect from unknown[112.30.127.9] ehlo=2 starttls=1 auth=0/1 commands=3/4 |
これって、[112.30.127.9]がloginしようとして来ているよね。
だからpostfixはdovecotに要求を出し
dovecot/authがdovecot/loginに対応させようとする
しかし[112.30.127.9]は、そのまま接続を切っちゃってる
つまりauth処理待ちがタイムオーバーでErrorとなっている。
と考えた。
dovecotのerror発生時刻とpostfixのlogin要求時刻は(多分)dovecot/imap-loginが待ちの状態分だけ遅れている。
なので見付けづらかったんじゃ無いかなぁ。
なので、こんなスクリプトを作った。
|
1 2 3 4 5 6 7 |
#!/bin/sh # # add_pf_authFailed.sh # SASL LOGIN authentication failedを拾ってpfでブロックする # grep "postfix/smtpd" /opt/local/var/log/postfix/postfix_log | grep "SASL LOGIN authentication failed" | grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b" | sort -u | pfctl -t murus.blacklist -T add -f - |
これも3日に1回動作するにした。
dovecotのerror.log減ると良いな〜。
上記のスクリプトを3日ごとに動かしてみたが、ログはあんまり減らなかった
なので毎日動かしてみることにした。今度はどうなるだろう?

