私のPostfixメールログには、毎日次のようないくつかのメッセージが表示されます。
postfix/smtpd[7363]: warning: non-SMTP command from unknown[xx.xx.xx.xx]: GET / HTTP/1.0
無視する必要がありますか、それともブロックする必要がありますか?これらの試みをブロックする必要がある場合の最良のアプローチは何ですか(iptables、サフィックスアクセスマッピングなど)。
答え1
私はFail2banを使用します。 /etc/fail2ban/filter.d/postfix.confを編集して追加の試みをキャプチャできます。疑わしい動作があるかどうか /var/log/mail.log ファイルを監視し、必要に応じて postfix.conf に追加します。ここで上記の行をキャプチャする私のpostfix.confがあります。
[INCLUDES]
before = common.conf
[Definition]
_daemon = postfix/smtpd
failregex = ^%(__prefix_line)sNOQUEUE: reject: RCPT from \S+\[<HOST>\]: 554 5\.7\.1 .*$
^%(__prefix_line)sNOQUEUE: reject: RCPT from \S+\[<HOST>\]: 450 4\.7\.1 : Helo command rejected: Host not found; from=<> to=<> proto=ESMTP helo= *$
^%(__prefix_line)sNOQUEUE: reject: VRFY from \S+\[<HOST>\]: 550 5\.1\.1 .*$
^%(__prefix_line)sNOQUEUE: reject: RCPT from \S+\[<HOST>\]: 454 4\.7\.1 :*$
reject: RCPT from (.*)\[<HOST>\]: 550 5.1.1
reject: RCPT from (.*)\[<HOST>\]: 450 4.7.1
reject: RCPT from (.*)\[<HOST>\]: 554 5.7.1
reject: RCPT from unknown\[<HOST>\]: 454 4.7.1
connect from unknown\[<HOST>\]
ignoreregex =
追加することもできます。
warning: non-SMTP command from unknown\[<HOST>\]:: GET / HTTP/1.0
上記の内容ですべての内容が解決されない場合。
過去のIPアドレスを手動で禁止するには、IPテーブルを使用してください。
挨拶と幸運を祈ります。
マット
答え2
「コマンド」をブロックする必要はありません。誰かが間違ったコマンドを一括で実行していることを発見した場合、そのIPアドレスはブロックされます。無効なコマンドは害を及ぼさず、場合によっては実用的です(問題のあるクライアントをサポートするためなど)。