第3回 ウイルス対策に重要なのは「多層防御」
竹島 友理
NRIラーニングネットワーク株式会社
2008/10/9
トランスポートルールを活用し、条件一致で一括処理を
ほとんどのウイルスメールには、「From:ヘッダフィールドやTo:ヘッダフィールドに、特定の電子メールアドレスが入っている」「特定のメッセージヘッダフィールドに、特定の値が設定されている」「件名やメッセージ本文の文字列数が少ない」「特定の危険なファイルが添付されている」など、そのメッセージがウイルスであることを示す固有の情報が含まれています。
これらの特性情報はウイルスレポートから取得することができるので、うまく使用することで、Exchangeがインターネットから受信したメッセージがウイルスに感染しているかどうかを判別して、メッセージを拒否する、またはメッセージを完全に削除するなど有害なメッセージに適切な処理を実行できます。
ここで役に立つのが前述のExchange Server 2007のトランスポートルールです。トランスポートルールは、送受信中のメッセージの中から、ある条件に一致するメッセージをピックアップし、それらのメッセージに適切な処理を実行する機能です。これはエッジトランスポートサーバとハブトランスポートサーバが持っている機能です。ただし、インターネットゲートウェイの役割であるエッジトランスポートサーバと、組織内のメッセージ転送を担当するハブトランスポートサーバとでは、指定できる条件や実行できる処理の種類が異なります。
ウイルス対策においては、Exchange組織に侵入してくる多くの有害なメッセージを早い段階で処理することが重要となるので、ここでは、エッジトランスポートサーバのEdge Rule Agentが実行するトランスポートルールを使用します。有害なメッセージを見つけると、Edge Rule Agentは、それらのメッセージを完全に削除、拒否、検疫メールボックスへの隔離、件名への警告の追加など、ウイルスの侵入を防御する処理を実行します。境界ネットワークに配置しているエッジトランスポートサーバで有害なメッセージを処理することにより、内部サーバがウイルスを検索して、処理を実行するコストを削減できます。
以下は、エッジトランスポートサーバのトランスポートルールで指定できる条件と実行できる処理の一覧です。
●トランスポートルールの条件 | |
“件名”フィールドに<特定の文字>が含まれている場合 | |
メッセージの“件名”フィールドまたは本文に<特定の文字>が含まれている場合 | |
メッセージヘッダに<特定の文字>が含まれている場合 | |
差出人のアドレスに<特定の文字>が含まれている場合 | |
受信者のアドレスに<特定の文字>が含まれている場合 | |
“件名”フィールドに<テキストパターン>が含まれている場合 | |
メッセージの“件名”フィールドまたは本文に<テキストパターン>が含まれている場合 | |
メッセージヘッダに<テキストパターン>が含まれている場合 | |
差出人のアドレスに<テキストパターン>が含まれている場合 | |
受信者のアドレスに<テキストパターン>が含まれている場合 | |
SCL(Spam Confidence Level)レベルが<制限値>以上の場合 | |
添付ファイルのサイズが<制限値>以上の場合 | |
差出人が組織の<内部または外部>のユーザーの場合 |
表2 エッジトランスポートサーバのトランスポートルールで指定できる「条件」 |
●トランスポートルールの処理 | |
メッセージのイベントをログ出力する | |
件名の先頭に文字列を追加する | |
Spam Confidence Levelを値に設定する | |
ヘッダに値を設定する | |
ヘッダを削除する | |
“あて先”フィールドのアドレスに受信者を追加する | |
メッセージをアドレスにコピーする | |
メッセージをアドレスにBCC(ブラインドカーボンコピー)で送信する | |
接続を解除する | |
メッセージをアドレスにリダイレクトする | |
SCL(Spam Confidence Level)メッセージを検疫場所に移動する | |
状態コードおよび応答を持つメッセージを拒否する | |
メッセージを確認なしで削除する |
表3 エッジトランスポートサーバのトランスポートルールで実行できる「処理」 |
SMTP接続の切断、メッセージ削除、メッセージ拒否という処理を実行する場合、メッセージを取得することはできず、すべてはじいてしまいます。特に最後の「メッセージを確認なしで削除する」という処理を実行した場合、受信者や送信者への通知もなく、電子メールメッセージを削除します。
もし、ユーザーにはメッセージを配信したくないが、メッセージ自体を削除したくない場合は、メッセージを検疫メールボックスに配信するようにルールを構成してください。ただし、どのメールボックスを検疫用として使用するかは、トランスポートルールの中で設定することはできません。検疫用メールボックスの設定は、エッジトランスポートサーバのコンテンツフィルタで構成してください(コンテンツフィルタの詳細は、連載第2回を参照してください)。
それでは、例として、「件名が空白のメッセージを検疫用メールボックスに隔離する」というトランスポートルールを作成してみましょう。
- エッジトランスポートサーバの[Exchange管理コンソール]を起動します。
- [トランスポートルール]タブから、トランスポートルールを新規作成します。
- トランスポートルールウィザードの[名前]フィールドに、トランスポートルールの名前を入力して、[次へ]をクリックします。
図7 - 条件を設定するページで、[ステップ1:条件の選択]ボックスから[“件名”フィールドにテキストパターンが含まれる場合]という条件を選択し、[ステップ2: 下線付きの値をクリックしてルールの説明を編集]ボックス内の[テキストパターン]という青い下線付きの単語をクリックします。
図8 - [テキストパターンの指定]ダイアログボックスで、条件に適用する値を入力します。ここでは、空白の正規表現である「^$」を入力して[追加]をクリックし、[OK]をクリックしてウィンドウを閉じます。
図9 - 条件を設定するページで、[次へ]をクリックします。
図10 - 処理を設定するページで、[ステップ1:処理の選択]ボックスから、[メッセージを検疫場所に移動する]を選択して、[次へ]をクリックします。
図11 - もし、例外がある場合は、例外条件を設定するページで条件を追加して、[次へ]をクリックします。なお、例外の選択は必須ではありません。
- [構成の概要]を確認し、構成内容が正しければ[新規作成]をクリックし、[完了]をクリックします。
これで、トランスポートルールの作成が完了です。このように、会社が立てたウイルス対策の方針やウイルスの特性情報を活用して、必要なトランスポートルールを作成してください。
ハブトランスポートサーバはActive Directoryデータベースを使用しているので、一度ルールを作成すると、それを組織内のすべてのハブトランスポートサーバで実行できますが、エッジトランスポートサーバはワークグループで構成されているため、Active Directoryデータベースを使用していません。従って、エッジトランスポートサーバのトランスポートルールは、サーバごとに構成する必要があります。
このとき、エッジトランスポートサーバの構成情報をエクスポートするExportEdgeConfig.ps1スクリプトファイルと、既存の構成情報を読み込むImportEdgeConfig.ps1スクリプトファイルを使用すると、同じ設定の複数のエッジトランスポートサーバを簡単に構成できます。
最後に、トランスポートルールの条件の<テキストパターン>で使用できる正規表現をご紹介しておきます。
パターン文字列 |
説明 |
\S | スペース以外の任意の1文字 |
\s | 任意の1つのスペース文字 |
\D | 数値以外の任意のけた数 |
\d | 任意の1つの数値のけた数 |
\w | a-z、A-Z、0-9の任意の1文字、またはそのほかの任意のUnicode文字 |
| (パイプ) |
OR機能を実行 |
* (ワイルドカード) |
その前にある文字の0個以上のインスタンス 例)ab*cは、ac、abc、abxxxxcなどの文字列と一致 |
( ) | グループ化の区切り記号 例)a(bc)*は、a、abc、abcbc、abcbcbcなどの文字列と一致 |
\\ (2つのバックスラッシュ) |
バックスラッシュの後に続く文字をエスケープ 例)「\a」と表現したい場合は、「\\a」と入力する |
^ (キャレット) |
キャレットに続くパターン文字列が、一致させる文字列の先頭に存在する必要があることを示す 例)^taro@adatumは、taro@adatum.comやtaro@adatum.co.jpと一致するが、Y_taro@adatum.comとは一致しない また、^と$を組み合わせると、一致する正確な文字列を指定できる 例)^taro@adatum.com$は、taro@adatum.comとのみ一致し、taro@adatum.com.jpなどの文字列とは一致しない |
$ | その前にあるパターン文字列が、一致させる文字列の末尾に存在する必要があることを示す |
表4 トランスポートルールのテキストパターン文字列の正規表現 |
次回はExchange Server 2007での暗号化について解説します。
3/3 |
Index | |
ウイルス対策に重要なのは「多層防御」 | |
Page1 エッジで守れ! ハブでも守れ! メールボックスでも守れ! 新たにサポートされたExchange用のForefront |
|
Page2 Exchange Server 2007が持つ2つのウイルス対策フィルタ 添付ファイルの脅威を防ぐ |
|
Page3 トランスポートルールを活用し、条件一致で一括処理を |
新・Exchangeで作るセキュアなメッセージ環境 連載インデックス |
- Windows起動前後にデバイスを守る工夫、ルートキットを防ぐ (2017/7/24)
Windows 10が備える多彩なセキュリティ対策機能を丸ごと理解するには、5つのスタックに分けて順に押さえていくことが早道だ。連載第1回は、Windows起動前の「デバイスの保護」とHyper-Vを用いたセキュリティ構成について紹介する。 - WannaCryがホンダやマクドにも。中学3年生が作ったランサムウェアの正体も話題に (2017/7/11)
2017年6月のセキュリティクラスタでは、「WannaCry」の残り火にやられたホンダや亜種に感染したマクドナルドに注目が集まった他、ランサムウェアを作成して配布した中学3年生、ランサムウェアに降伏してしまった韓国のホスティング企業など、5月に引き続きランサムウェアの話題が席巻していました。 - Recruit-CSIRTがマルウェアの「培養」用に内製した動的解析環境、その目的と工夫とは (2017/7/10)
代表的なマルウェア解析方法を紹介し、自社のみに影響があるマルウェアを「培養」するために構築した動的解析環境について解説する - 侵入されることを前提に考える――内部対策はログ管理から (2017/7/5)
人員リソースや予算の限られた中堅・中小企業にとって、大企業で導入されがちな、過剰に高機能で管理負荷の高いセキュリティ対策を施すのは現実的ではない。本連載では、中堅・中小企業が目指すべきセキュリティ対策の“現実解“を、特に標的型攻撃(APT:Advanced Persistent Threat)対策の観点から考える。
|
|