Postfixで構築した送信メールサーバーの不正アクセス対策についてまとめました。
PostfixとDovecot
Postfix(ポストフィックス)とは、「メール転送エージェント(MTA)」と呼ばれるソフトウェアの1つです。
メールサーバーを構築する場合、送信メールサーバー(SMTPサーバー)と受信メールサーバー(POP/IMAPサーバー)の構築が必要となります。
- 送信メールサーバーの構築に採用される代表的なソフトウェア
- Postfix、sendmail、qmailなど
- 受信メールサーバーの構築に採用される代表的なソフトウェア
- Dovecotなど
不正アクセス対策①何度もSMTP Auth(SASL認証)してくる不審なIPアドレスをブロック
postfixのメールログを調査し、SMTP Auth(SASL認証)を繰り返し試行してくるユーザーは、スパムメールの業者による不正アクセスの可能性が高いです。
ログの例
アクセスログ(/var/log/maillog)からSASL認証が失敗(authentication failed)しているログをgrepコマンドで抽出した例です。
不審な時間帯に「xxx.xxx.xxx.xxx」という送信元IPアドレスが、短時間で何度もログインを試みて失敗しており、さらにログインパスワードには「12345678」「11111111」「password」といった単純なものを使用しているため、プログラムによる辞書型攻撃である可能性が高いと判断できます。
$ sudo grep "authentication failed" /var/log/maillog | head -3 Oct 1 01:23:35 mailsv1 postfix/smtpd[30764]: warning: unknown[XXX.XXX.XXX.XXX]: SASL LOGIN authentication failed: 12345678 Oct 1 01:23:45 mailsv1 postfix/smtpd[30764]: warning: unknown[XXX.XXX.XXX.XXX]: SASL LOGIN authentication failed: 11111111 Oct 1 01:23:55 mailsv1 postfix/smtpd[30764]: warning: unknown[XXX.XXX.XXX.XXX]: SASL PLAIN authentication failed: password
特に送信元IP[XXX.XXX.XXX.XXX]を逆引きして調べた結果、「海外のIPアドレス」であったり、「RBL」にリストアップされていれば不正アクセスの可能性が高いと判断できます。
- RBL
- Real-time Blackhole Listの略で、スパムメールを送信している疑いのあるIPアドレスをまとめたブラックリスト。
-代表例はAbuseIPDBなど
- Real-time Blackhole Listの略で、スパムメールを送信している疑いのあるIPアドレスをまとめたブラックリスト。
アクセス拒否
不正アクセスの可能性が高いと判断したIPアドレスに対しては、アクセス拒否を行います。
まずは、アクセスログ(/var/log/maillog)から、「authentication failed」のあるIPアドレスを抽出します。
$ sudo cat /var/log/maillog | grep 'authentication failed' | awk '{print $7}' unknown[XXX.XXX.XXX.XXX]: unknown[XXX.XXX.XXX.XXX]: unknown[XXX.XXX.XXX.XXX]:
抽出したIPアドレスを「iptable」やsmtpd_client_restrictions =check_client_access:hash:【ファイ名】」等でアクセス拒否します。
SMTP-AUTHのパスワード変更
もしアクセスログ(/var/log/maillog)を調査して、不審なユーザーがSASL認証に成功していた場合、SMTP-AUTHのパスワードを変更します。
パスワード変更後、SMTP-AUTHのプロセスを一度キルし、再起動します。
理由は、ログインに成功している不審なユーザーとメールサーバーのセッションは確立したままであり、パスワード変更後でも引き続き不正な操作をされる恐れがあるためです。
コメント