IMSVA 9.1 では送信者フィルタは IPプロファイラ、メールレピュテーション (Email Reputation Services, ERS)、そして SMTP トラフィックスロットリングの機能で構成されています。
ここでは SMTP トラフィックスロットリングの機能について説明します。
- SMTP トラフィックスロットリング機能を利用するには、IMSVA は直接インターネットからメッセージを受信する場所 (メールゲートウェイ) に配置されている必要があります。IMSVA が内部メールサーバ間に配置されている場合には効果はありません。
- SMTP トラフィックスロットリング機能は IPv6 のアドレスには対応していません。
IPベースのスロットリングと送信者ベースのスロットリング
IMSVA 9.1 における SMTP トラフィックスロットリング機能では、特定の送信元や送信者からの接続 (トラフィック) を制御し、以下のふたつの機能に分かれます。
- IPベースのスロットリング
- 送信者ベースのスロットリング
IPベースのスロットリングではメッセージの送信者に関係なく、接続元のIPアドレスを対象に SMTP 接続を拒否します。一方、送信者ベースのスロットリングでは接続元のIPアドレスに関係なく、メッセージの送信者 (エンベロープの送信者) を対象にブロックします。
「接続数」とは IMSVA が SMTP サーバとしてメッセージを受信した SMTP の接続数です。あくまでも SMTP 接続の数であり、ひとつの SMTP 接続で複数のメッセージを送信した場合でも接続数は 1 とカウントされます。
一方、「メッセージ数」とはひとつの SMTP 接続、複数の SMTP 接続に関係なく、メッセージを受信した数です。ひとつの SMTP 接続で 5通 のメッセージを受信した場合、メッセージ数は 5 とカウントされます。
送信者ベースのスロットリング、IPベースのスロットリングのいずれの場合でも、IMSVA は SMTP クライアント (送信元メールサーバやメールクライアント) に 421 の応答コードを返すため、通常、メッセージは送信元 (接続元) のメールサーバのキューに保存され、そのメールサーバの再送設定にしたがって再送が試みられます。
再送されたタイミングでIPアドレスまたは送信者がブロックリストから削除されていれば、メッセージは検索サービスに渡され、ポリシールールの検索後、配送先のメールサーバに配されます。
IPベースのスロットリングによるブロック
IPベースのスロットリングでは、あるIPアドレスから「監視期間」のあいだに (初期設定では 5分間) 、指定された「最大接続数」 (初期設定では 10000 接続) を超える接続があった場合、または「最大メッセージ数」 (初期設定では 1000 通) を超えるメッセージを受信した場合、そのIPアドレスが 送信者フィルタ > ブロックリスト に登録されます。
「ブロック期間」に指定された期間 (初期設定では 30分間)、同じIPアドレスから接続があった場合、IMSVA は接続元の SMTP クライアントに "421 ... Client host rejected: Connection IP is blocked by SMTP Traffic Throttling of IMSVA" の応答コードを返し、一時的に SMTP 接続を拒否します。
その際、Postfix のメールログ (/var/log/maillog) には以下のようなログが出力されます。
Feb 12 17:33:28 imsva91 postfix/smtpd[12888]: NOQUEUE: reject: CONNECT from unknown[172.16.1.20]: 421 4.7.5 : Client host rejected: Connection IP is blocked by SMTP Traffic Throttling of IMSVA; proto=SMTP
「最大メッセージ数」を超過する場合、SMTP 接続の確立後に MAIL FROM コマンドが発行されたタイミングで拒否する場合があります。その場合、メールログには次のようなログが出力されます。
Feb 12 17:58:29 imsva91 postfix/smtpd[30251]: NOQUEUE: reject: MAIL from unknown[172.16.10.1]: 421 4.7.5 : Sender address rejected: Connection IP is blocked by SMTP Traffic Throttling of IMSVA; from= proto=ESMTP helo=
また、管理コンソールの ログ > ログクエリ の画面で「送信者フィルタ」「IPベースのSMTPトラフィックスロットリング」を選択して検索すると、ブロックしたログが以下のように表示されます。
送信者ベースのスロットリングによるブロック
送信者ベースのスロットリングでは、あるメールアドレスから「監視期間」のあいだに (初期設定では 5分間)、指定された「最大メッセージ数」 (初期設定では 1000 通) を超えるメッセージを受信した場合、その送信者 (エンベロープの送信者) のメールアドレスが 送信者フィルタ > ブロックリスト に登録されます。
「ブロック期間」に指定された期間 (初期設定では 30分間)、同じ送信者から接続があった場合、IMSVA は接続元の SMTP クライアントに "421 ... Sender address rejected: Current Sender is blocked by SMTP Traffic Throttling of IMSVA" の応答コードを返し、一時的に SMTP 接続を拒否します。
その際、Postfix のメールログ (/var/log/maillog) には以下のようなログが出力されます。
Feb 12 17:45:23 imsva91 postfix/smtpd[17955]: NOQUEUE: reject: MAIL from unknown[10.3.233.200]: 421 4.7.5 : Sender address rejected: Current Sender is blocked by SMTP Traffic Throttling of IMSVA; from= proto=ESMTP helo=
また、管理コンソールの ログ > ログクエリ の画面で「送信者フィルタ」「送信者ベースのSMTPトラフィックスロットリング」を選択して検索すると、ブロックしたログが以下のように表示されます。
SMTP トラフィックスロットリングの有効化/無効化
IMSVA 9.1 の初期設定では SMTP トラフィックスロットリングの機能は無効です。
設定方法
SMTP トラフィックスロットリング機能を有効化するには、以下の設定を行います。
-
管理コンソールの 送信者フィルタ > ルール > SMTPトラフィックスロットリング の画面を開きます。
初期設定では SMTP トラフィックスロットリング機能は無効となっており、「IPベースのスロットリング」「送信者ベースのスロットリング」のチェックも外れています。
-
必要に応じて監視期間や最大接続数、最大メッセージ数などの設定値を変更します。
IPベースのスロットリングを有効化するのであれば「最大接続数」「最大メッセージ数」のいずれか、あるいは両方にチェックを入れ、「IPベースのスロットリング」にチェックを入れます。
送信者ベースのスロットリングを有効化するのであれば、「送信者ベースのスロットリング」にチェックを入れます。
設定値を初期設定値に戻すのであれば、[規定値に戻す] をクリックします。
SMTP トラフィックスロットリング機能自体を無効化するのであれば、「IPベースのスロットリング」「送信者ベースのスロットリング」のチェックを外してください。
-
最後に、[保存] ボタンをクリックして、設定を保存します。
ブロック対象を特定の送信者に制限する
IMSVA 9.1 では b1989 以降、送信者ベースのスロットリングに対して、特定の送信者の場合のみ、ブロック対象に設定することができます。
-
IMSVA サーバに root でログインして、PostgreSQL の psql コマンドを実行し、データベースにログインします。
# /opt/trend/imss/PostgreSQL/bin/psql imss sa
-
次に、セミコロン (";") まで以下の SQL コマンドを順に実行して行を登録します。
imss=# INSERT INTO tb_global_setting VALUES ('smtp_traffic_throttling','throttling_sender_enabled','yes','imss.ini',''); INSERT 0 1 imss=# INSERT INTO tb_global_setting VALUES ('smtp_traffic_throttling','throttling_sender_list','john@example.com','imss.ini',''); INSERT 0 1
上記例では、送信者のメールアドレスが john@example.com の場合にのみ、送信者ベースのスロットリングのブロック対象となります。
ブロック対象とする送信者を変更する場合、最後のセミコロン (";") まで以下の SQL コマンドを順に実行して、行をいったん削除した上で、再度登録します。
imss=# DELETE FROM tb_global_setting WHERE name = 'throttling_sender_list' and section = 'smtp_traffic_throttling'; DELETE 1 imss=# INSERT INTO tb_global_setting VALUES ('smtp_traffic_throttling','throttling_sender_list','*@example.com;*@sales.example.com','imss.ini',''); INSERT 0 1
複数のドメインをブロック対象のメールアドレスとして登録する場合、セミコロン (";") で区切ります。上記例では、送信者のメールアドレスが example.com または sales.example.com の場合にのみ、送信者ベースのスロットリングのブロック対象となります。
また、設定を初期設定に戻すには、セミコロン (";") まで下記 SQL コマンドを順に実行して、追加した行を削除します。
imss=# DELETE FROM tb_global_setting WHERE name = 'throttling_sender_enabled' and section = 'smtp_traffic_throttling'; DELETE 1 imss=# DELETE FROM tb_global_setting WHERE name = 'throttling_sender_list' and section = 'smtp_traffic_throttling'; DELETE 1
-
下記コマンドを実行して、psql のセッションを終了します。
imss=# \q
-
最後に、次のコマンドを実行して Manager サービスを再起動します。
# /opt/trend/imss/script/S99MANAGER restart
IMSVA 9.1 b1989 未満の環境で送信者ベースのスロットリングのブロック対象を特定の送信者に制限したい場合、最新の HotFix を提供しますので、ビジネスサポートポータルまたはパートナーポータルからサポートセンターにご連絡ください。