システム管理者のためのメールサーバ運用管理のポイント

第4回 Dr.Webメールデーモンのプラグイン設定

この記事を読むのに必要な時間:およそ 3 分

最終回では,Dr.Web for Linux/FreeBSD/Solaris(x86)のプラグインにフォーカスを当て,設定方法について紹介します。

はじめに

Dr.Web for Linux/FreeBSD/Solaris(x86)(以降,単にDr.Web)を使った,迷惑メール対策を紹介しています。前回はDr.Web for Linuxのメールデーモンに付属する3つのフィルタリング・プラグインを紹介し,その組み合わせ方を解説しました。今回は,各プラグインごとの設定をとおしてメールサーバの運用に活用できる事例をケーススタディで紹介します。

連載ではLinuxディストリビューション・CentOSを例に,MTAとしてPostixがインストールされたメールサーバに,Dr.Web for Linuxを組み込み解説しています。今回も引き続き同様の環境で作業を行うことをにします。

LinuxでPostfixとともにDr.Webメールデーモンを使用している場合,プラグインの設定は「/etc/drweb/」ディレクトリにある各ファイルを利用します。設定ファイル修正後,内容を反映させるためにメールデーモンの設定再読込を忘れないように実行します。

# /etc/init.d/drweb-monitor reload

ヘッダフィルタ・プラグインの活用

ヘッダフィルタ・プラグインはメールヘッダや添付ファイルの情報をもとにフィルタリングを実施します。たとえばメールヘッダの「Subject」に特定の語彙を含むメールや,「From」に指定されたドメイン名が使われているメールを受信拒否することができます。また添付ファイルについても危険性の高いファイルを受信拒否するよう,拡張子をフィルタリングの条件に加えることができます。

ヘッダフィルタ・プラグインの設定は「plugin_headersfilter.conf」ファイルの[HeadersFilter]セクションで行います。

【ケース1】SubjectやFromでメールを拒否する

メールヘッダを条件に受信拒否するには「RejectCondition」を使って「RejectCondition = ヘッダ名 = 条件」のように記述します。たとえばexample.jpドメインから送信されるメールを受信拒否するには,メールヘッダ・Fromにexample.jpが含まれているものを拒否するよう,次のような1行を「plugin_headersfilter.conf」ファイルの[HeadersFilter]セクションに追記します。

RejectCondition = From = "@example.jp"

ヘッダ名はRFC2822で定義されているTo/Cc/Subject/Date...といったものが使用できます。条件は正規表現で記述できます。たとえばSubjectが「spam」で始まるメールを受信拒否するには次のような1行を追記します。

RejectCondition = Subject = "^spam"

(※「^」は正規表現で行頭を表します)

条件を「AND」「OR」で結合させることも可能です。

Fromに「@example.jp」を含むもの,かつSubjectが「spam」ではじまるもの

RejectCondition = From = "@example.jp" AND Subject = "^spam"

Fromに「@example.jp」を含むもの,またはSubjectが「spam」ではじまるもの

RejectCondition = From = "@example.jp" OR Subject = "^spam"

【ケース2】Subjectでメールを拒否する際に,日本語を条件に加える

Subjectに含まれる文字列を受信拒否条件にする際,「未承諾広告...」のような日本語を含む文字列を条件に指定する場合,RejectConditionの右辺に日本語を記載しても正しく評価されません。メールのSubjectに日本語を使用するには,ISO-2022-JP(7bit JIS)に文字コードを変換した後,BASE64でエンコードします。そのためRejectConditionの条件文にもISO-2022-JP/BASE64に変換した文字列を指定する必要があります。次のようにnkfコマンドでエンコードすることができます。

nkfコマンドで文字列をISO-2022-JPに変換します

$ echo 広告 | nkf -M -j
=?ISO-2022-JP?B?GyRCOS05cBsoQ

「=?ISO-2022-JP?B?」以降を条件文にコピーします

RejectCondition = Subject = "GyRCOS05cBsoQ"

(※ISO-2022-JP/BASE64でエンコードされていないものには一致しません)

【ケース3】添付ファイルの拡張子でメールを拒否する

ウィルスメールの多くが添付ファイルを媒介に感染します。危険性のある添付ファイルには「.EXE」「.COM」「.BAT」「.CMD」「.PIF」「.SCR」といった拡張子が使われます。感染の有無に関わらず,添付ファイルにこれらの拡張子が使われているものを受信拒否することで,危険性を低減することができます。次のような行を「plugin_headersfilter.conf」ファイルの[HeadersFilter]セクションに追記します。

RejectPartCondition = FileName = ".exe$"
RejectPartCondition = FileName = ".com$"
RejectPartCondition = FileName = ".scr$"
...

(※「$」は正規表現で行末を表します。)
(※scrはWindowsのスクリーンセーバのファイルです。)

添付ファイルの拡張子で受信を拒否する際には,そうしたファイルをメールで受け取ることができないことを利用者に周知しておく必要があります。またテキストファイル(.txt)や画像ファイル(.jpgなど)を装ったウィルスファイルも皆無とは言えないため,必ずウィルスチェック・プラグインを併用するようにしましょう。

著者プロフィール

鶴長鎮一(つるながしんいち)

愛知県出身,東京都在住。現在通信会社勤務。在学中に関わったISPの立ち上げにはじまり,古くからオープンソースソフトウェアに親しみ,現在ではシステム構築を中心に執筆を手がけている。2009年の秋には第一子の出産を控え,その準備に追われる日々を過ごしている。

コメント

コメントの記入