〔新機能〕SMTP接続時の「IPロックアウト機能」について updated!

E-Postシリーズに従来から実装されていた接続ロックアウト機能について、DDos攻撃のような連続無差別攻撃に対して有効なセキュリティ対策を強化するため、SMTP認証接続時の認証接続ロックアウト機能に加える形で、新たにIPロックアウト機能が追加されました。
IPロックアウト機能では一定の時間(サンプリング間隔)の間に設定回数以上の連続した接続に対し、設定されたロックアウト時間の間、接続を拒絶します。このIPロックアウト機能により、特定のIPアドレスから繰り返されるDDos攻撃のような連続無差別攻撃に対しても、接続そのものを自動的に遮断できるようになります。その結果、サーバーの負荷を高めずにセキュリティ対策を強化できます。
このIPロックアウト機能は、2019年2月以降のSMTPサービスモジュールに実装されています。IPロックアウト機能を使用するには、以下を参照してください。

【基本機能と仕様】
  1. SMTP接続時の「IPロックアウト機能」は、E-POSTコントロールセンターのメールサーバ管理から[システム管理メニュー]をクリック、[SMTP受信詳細]を開き、画面下部にある「IPロックアウトまでの接続回数」項目や「IPロックアウト判定間隔」「ロックアウト期間」項目を設定します。続いて[SMTP認証ロックアウト]ボタンクリックでテーブル情報ともなっている設定ファイル "rejectsmtpip.dat" を確認したり編集できるようになっています。
  2. SMTP接続時に一定の時間(サンプリング間隔)の間に設定回数以上の連続接続に対し、設定されたロックアウト時間の間、接続を拒絶します。SMTP接続時に特定の同一IPアドレスからの接続回数が設定された回数に達したとき、接続元IPアドレスと接続時間情報(シリアル値)を "rejectsmtpip.dat" ファイルにテーブル情報として追記で記録します。右端に表記される "iplock" はIPロックアウト機能による拒絶の目印となります。
  3. "rejectsmtpip.dat" ファイルはプログラムインストールフォルダ(既定値 /usr/local/mta/bin/)内に自動生成され、その内容は[SMTP認証ロックアウト]ボタンクリックで確認できます。
  4. 設定された「ロックアウト期間」=接続拒絶期間の間、epstrd サービスは該当IPアドレスからの接続を一切拒絶し、接続時に強制切断します。これにより認証までに至らないSMTP接続のDDos攻撃に対して強力な威力を発揮します。
  5. 設定された「ロックアウト期間」=接続拒絶期間をすぎると、自動的に再度接続が可能となります。再び一定時間(サンプリング間隔)の間に設定回数以上の連続接続があると、再度テーブル情報に記録、同様の拒絶動作が繰り返されます。
  6. メールサーバ管理者が "rejectsmtpip.dat" ファイルを編集し、記録された接続時間情報(シリアル値)部分をカット、接続元IPアドレスだけを残すと、該当IPアドレスからの接続は、永続的に拒絶されます。
  7. メールサーバ管理者が "rejectsmtpip.dat" ファイルを編集し、記録された接続元IPアドレスおよび接続時間情報(シリアル値)部分を行ごと削除すれば、該当IPアドレスからの接続はリセット扱いされます。
  8. メールサーバ管理者が "rejectsmtpip.dat" ファイルを編集し、接続を許可したい接続元IPアドレスを "true" 指定する方法で該当IPアドレスからの接続を永続的に許可するようになります。
【設定方法】
  1. E-POSTコントロールセンターのメールサーバ管理から[システム管理メニュー]をクリック、[サービス制御]をクリックして表示される「サービス制御」画面から epstrd サービス停止。
  2. E-POSTコントロールセンターのメールサーバ管理から[システム管理メニュー]をクリック、[SMTP受信詳細]を開き、画面下部にある「IPロックアウトまでの接続回数」項目を設定。設定値 "0" のときは認証ロックアウト機能は無効になっていることを表わしている。認証ロックアウトを有効にするには、"0" 以外の任意の回数、たとえば10回なら "10" を入力。
  3. 続いて「IPロックアウト判定間隔」(サンプリング間隔)項目を秒単位で設定。設定するには任意の秒数、たとえば1秒なら "1" を入力。
  4. 続いて「ロックアウト期間」項目を秒単位で設定。設定値 "0" のときはIPロックアウト期間無効=期間無制限を表す。設定するには任意の秒数、たとえば5分なら "300" を入力。
  5. 最後に最下の[設定する]ボタンをクリック。
  6. E-POSTコントロールセンターのメールサーバ管理から[システム管理メニュー]をクリック、[サービス制御]をクリックして表示される「サービス制御」画面から epstrd サービス開始。
  7. E-POSTコントロールセンターのメールサーバ管理から[システム管理メニュー]をクリック、[SMTP受信詳細]を開くと表示される[SMTP認証ロックアウト]ボタンをクリック。"rejectsmtpip.dat" ファイルが表示され、設定直後は空の状態であることを確認。
  8. IPロックアウト機能で拒絶された情報は、"rejectsmtpip.dat" 内に以下の順で記載されテーブル情報の形でデータ蓄積される。このファイルはSMTP認証接続時の認証接続ロックアウト機能と共用。 "iplock" の表記されているものはIPロックアウト機能による拒絶の目印となる。
    接続元IPアドレス[TAB]接続時間情報(シリアル値)[TAB]iplock

    なお "rejectsmtpip.dat" データは蓄積されていく一方ですので、ある程度日数が経過した古いテーブル情報は削除する、同一IPアドレスからの接続は一つにまとめシリアル値部分をカットすることにより永続的拒絶とするなど、システム管理者が定期的に手動で整理する必要があります。
    このSMTP接続時の「IPロックアウト機能」は2019年2月以降のSMTPサービスモジュールになっていることを確認して使用してください。

【参考】「IPロックアウト機能」の設定ファイル「指定時間内でのIP毎の同時接続可能数・回数」「サンプリング間隔」「ロックアウト期間」設定ファイル
以下の設定ファイルをviエディタで作成、下記のように設定値を記述することでも可能です。設定後はサービスの再起動が必要です。
"IPLockOut.1" の任意回数(例・10[回]とか30[回]など)の設定とともに、"IPLockOutSPTime.1" のサンプリング間隔設定(例・1[秒]など)で機能が有効に働くようになります。また "IPLockOutTime.1" は上2つの設定によるロックアウト時間を設定します。(例・300[秒]とか60[秒]など)。

(関連FAQ)
SMTP認証時の「認証接続ロックアウト機能」について