- blogs:
- cles::blog

milter-manager を使って特定の IP からの接続時に milters を適用しないようにする



Postfix + milter-manager 環境にメールサーバーを移行したのですが、特定の IP のサーバをホワイトリストに入れて milter を適用しないようにしたかったのでいろいろ調べてみたら「how to bypass milters, whitelist hosts」という掲示板のスレッドを見つけたので、これを参考にちょっと Ruby でコーディングしてみました。
† netaddr をインストール
ホワイトリストは単一の IP ではなく CIDR を使った指定がしたかったので、IP アドレスのレンジを自動的に計算してくれる netaddr を使うことにしました。モジュールは以下のように gem を使って一撃で導入することができます。
† 設定は milter-manager.local.conf で
まず、ホワイトリストを用意します。CIDR で1行に1つずつ記述しておいてください。
ファイルの場所は以下の Ruby 内のホワイトリストのパスと合せてください。
/etc/milter-manager/whitelist
あとは以下の内容を milter-manager.local.conf に追加(ファイルがない場合は作成してください)して、milter-manager を restart すれば OK。
ホワイトリストの IP からアクセスすると [stop] というログが残るのが確認できると思います。
/etc/milter-manager/milter-manager.local.conf
意外と milter-manager の拡張は簡単にできることが分かったのでいろいろと工夫のし甲斐がありそうです。
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/9093
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(110786)
3 . 年次の人間ドックへ(110380)
4 . 2023 年分の確定申告完了!(1つめ)(109927)
5 . 三菱鉛筆がラミーを買収(109827)