設定パラメータ

コンポーネントは、Dr.Web for UNIX Internet Gatewaysの統合された設定ファイル[ICAPD]セクションで指定されている設定パラメータを使用します。

コンポーネントパラメータ

トラフィックモニタリングとアクセスブロックのルール

コンポーネントパラメータ

セクションには以下のパラメータが含まれています。

LogLevel

{logging level}

コンポーネントのログの詳細レベル

パラメータ値が指定されていない場合は、[Root]セクションDefaultLogLevelパラメータの値が使用されます。

デフォルト値:Notice

Log

{log type}

コンポーネントのロギング方式

デフォルト値:Auto

ExePath

{path to file}

コンポーネントの実行ファイルへのパス。

デフォルト値:<opt_dir>/bin/drweb-icapd

GNU/Linuxの場合:/opt/drweb.com/bin/drweb-icapd

FreeBSDの場合:/usr/local/libexec/drweb.com/bin/drweb-icapd

RunAsUser

{UID | user name}

このパラメータは、コンポーネントを実行するユーザー名を決定します。ユーザー名は、ユーザーのUIDまたはユーザーのログインとして指定できます。ユーザー名が数字で構成されている場合(UIDに似ている場合)は、「name:」というプレフィックスを付けて指定します。次に例を示します。RunAsUser = name:123456

ユーザー名が指定されていない場合、コンポーネント操作は開始後にエラーが発生して終了します。

デフォルト値:drweb

Start

{Boolean}

コンポーネントはDr.Web ConfigD設定デーモンによって起動される必要があります。

このパラメータにYes値を指定すると、設定デーモンはただちにコンポーネントを開始するように指示されます。また、No値を指定すると、設定デーモンはただちにコンポーネントを終了するように指示されます。

デフォルト値:No

DebugDumpIcap

{Boolean}

詳細なICAPメッセージをデバッグレベルでログファイルに含めるように指示します(つまり、LogLevel = DEBUGを設定した場合)。

デフォルト値:No

ListenAddress

{network socket}

Dr.Web ICAPDがHTTPプロキシサーバーからの接続を待ち受け(リッスン)する必要があるネットワークソケット(IPアドレスとポート)を定義します。

デフォルト値:127.0.0.1:1344

UsePreview

{Boolean}

ICAPプレビューモードを使用するようにDr.Web ICAPDに指示します。

必要でない限り、このパラメータのデフォルト値を変更しないことを推奨します。

デフォルト値:Yes

Use204

{Boolean}

Dr.Web ICAPDがICAPプレビューモードでないときにもレスポンスコード204を返すことを許可するかどうかを定義します。

必要でない限り、このパラメータのデフォルト値を変更しないことを推奨します。

デフォルト値:Yes

AllowEarlyResponse

{Boolean}

Dr.Web ICAPDがICAPの早期レスポンスモードを使用すること、つまりHTTPプロキシサーバーからリクエスト全体を受信する前にクライアントへの「早期」レスポンスの送信を開始することを許可するかどうかを定義します。

必要でない限り、このパラメータのデフォルト値を変更しないことを推奨します。

デフォルト値:Yes

TemplatesDir

{path to directory}

Webリソースをブロックしたときに送信されるHTML通知のテンプレートを含むディレクトリへのパス。

デフォルト値:<var_dir>/templates/icapd

GNU/Linuxの場合:/var/opt/drweb.com/templates/icapd

FreeBSDの場合: /var/drweb.com/templates/icapd

Whitelist

{domain list}

ホワイトリストとして使用できるドメインのリスト(つまり、これらのドメインがブロックされたカテゴリーに含まれている場合でも、ユーザーの接続が許可されているドメインのリスト。さらに、このリストに示されているドメインのすべてのサブドメインへユーザーがアクセスすることが許可されます)。

リストの値は、コンマ(引用符内の各値)で区切る必要があります。パラメータはセクションで複数回指定できます(この場合、そのすべての値が1つのリストにまとめられます)。

例:ドメインexample.comexample.netのリストに追加します。

1.設定ファイルに値を追加します。

1つの文字列に2つの値

[ICAPD]
Whitelist = "example.com", "example.net"

2つの文字列(文字列ごとに1つの値)

[ICAPD]
Whitelist = example.com
Whitelist = example.net

2.コマンドdrweb-ctl cfsetを使用して値を追加します。

# drweb-ctl cfset ICAPD.Whitelist -a example.com
# drweb-ctl cfset ICAPD.Whitelist -a example.net

注意

このパラメータで示されるドメインリストの実際の使用方法は、Dr.Web ICAPDに定義されているWebソースへのアクセス管理ルールでの使用方法によって決まります。

デフォルトルールのリスト(下記参照)は、ブロックされるWebソースカテゴリーのリストのドメインがこのリストに含まれている場合でも、このリストのドメイン(およびそのサブドメイン)へのアクセスが提供されることを保証します。さらに、このデフォルトのルールセットは、ホワイトリストドメインからダウンロードされたデータに脅威が含まれているかどうかがスキャンされることも保証します。

デフォルト値:(未設定)

Blacklist

{domain list}

ブラックリストとして使用できるドメインのリスト(つまり、これらのドメインがブロックされたカテゴリーに含まれていない場合でも、ユーザーの接続が禁止されているドメインのリスト。さらに、このリストに示されているドメインのすべてのサブドメインへユーザーがアクセスすることが禁止されます)。

リストの値は、コンマ(引用符内の各値)で区切る必要があります。パラメータはセクションで複数回指定できます(この場合、そのすべての値が1つのリストにまとめられます)。

例:ドメインexample.comexample.netのリストに追加します。

1.設定ファイルに値を追加します。

1つの文字列に2つの値

[ICAPD]
Blacklist = "example.com", "example.net"

2つの文字列(文字列ごとに1つの値)

[ICAPD]
Blacklist = example.com
Blacklist = example.net

2.コマンドdrweb-ctl cfsetを使用して値を追加します。

# drweb-ctl cfset ICAPD.Blacklist -a example.com
# drweb-ctl cfset ICAPD.Blacklist -a example.net

注意

このパラメータで示されるドメインリストの実際の使用方法は、Dr.Web ICAPDに定義されているWebソースへのアクセス管理ルールでの使用方法によって決まります。

デフォルトルールのリスト(以下参照)は、このリストのドメイン(およびそのサブドメイン)へのアクセスが常に禁止されることを保証します。このドメインがホワイトリストブラックリストに同時に追加される場合、デフォルトのルールにより、そのドメインへのユーザーアクセスは確実にブロックされます。

デフォルト値:(未設定)

Adlist

{list of strings}

広告URLを表す正規表現のリスト。ここにリストされているいずれかの正規表現に一致するURLは広告URLと見なされます。

リストの値は、コンマ(引用符内の各値)で区切る必要があります。パラメータはセクションで複数回指定できます(この場合、そのすべての値が1つのリストにまとめられます)。

例:式「.*ads.+」および「.*/ad/.*\.gif$」をリストに追加します。

1.設定ファイルに値を追加します。

1つの文字列に2つの値

[ICAPD]
Adlist = ".*ads.+", ".*/ad/.*\.gif$"

2つの文字列(文字列ごとに1つの値)

[ICAPD]
Adlist = .*ads.+
Adlist = .*/ad/.*\.gif$

2.コマンドdrweb-ctl cfsetを使用して値を追加します。

# drweb-ctl cfset ICAPD.Adlist -a '.*ads.+'
# drweb-ctl cfset ICAPD.Adlist -a '.*/ad/.*\.gif$'

正規表現は、POSIX構文(BRE、ERE)またはPerl構文(PCRE、PCRE2)のいずれかを使用して指定されます。

注意

このパラメータで示される式リストの実際の使用方法は、Dr.Web ICAPDに定義されているWebソースへのアクセス管理ルールでの使用方法によって決まります。

デフォルトルールのリスト(以下参照)は、このリストのURLへのアクセスが、これらのURLのドメインがホワイトリストにない場合にのみ、常に禁止されることを保証します。

デフォルト値:(未設定)

BlockInfectionSource

{Boolean}

悪意のあるソフトウェア(InfectionSourceカテゴリーに含まれる)を含むWebサイトへの接続試行をブロックするように指示します。

ブロックをアクティブにするには、次のルールを設定に追加する必要があります下記の詳細を参照)。

url_category in "ICAPD.BlockCategory" :BLOCK as _match

デフォルト値:Yes

BlockNotRecommended

{Boolean}

非推奨サイト(NotRecommendedカテゴリーに含まれる)への接続試行をブロックするように指示します。

ブロックをアクティブにするには、次のルールを設定に追加する必要があります下記の詳細を参照)。

url_category in "ICAPD.BlockCategory" :BLOCK as _match

デフォルト値:Yes

BlockAdultContent

{Boolean}

アダルトコンテンツ(AdultContentカテゴリーに含まれる)を含むWebサイトへの接続試行をブロックするように指示します。

ブロックをアクティブにするには、次のルールを設定に追加する必要があります下記の詳細を参照)。

url_category in "ICAPD.BlockCategory" :BLOCK as _match

デフォルト値:No

BlockViolence

{Boolean}

暴力的描写(Violenceカテゴリーに含まれる)を含むWebサイトへの接続試行をブロックするように指示します。

ブロックをアクティブにするには、次のルールを設定に追加する必要があります下記の詳細を参照)。

url_category in "ICAPD.BlockCategory" :BLOCK as _match

デフォルト値:No

BlockWeapons

{Boolean}

武器に関するWebサイト(Weaponsカテゴリーに含まれる)への接続試行をブロックするように指示します。

ブロックをアクティブにするには、次のルールを設定に追加する必要があります下記の詳細を参照)。

url_category in "ICAPD.BlockCategory" :BLOCK as _match

デフォルト値:No

BlockGambling

{Boolean}

ギャンブルのWebサイト(Gamblingカテゴリーに含まれる)への接続試行をブロックするように指示します。

ブロックをアクティブにするには、次のルールを設定に追加する必要があります下記の詳細を参照)。

url_category in "ICAPD.BlockCategory" :BLOCK as _match

デフォルト値:No

BlockDrugs

{Boolean}

麻薬に関するWebサイト(Drugsカテゴリーに含まれる)への接続試行をブロックするように指示します。

ブロックをアクティブにするには、次のルールを設定に追加する必要があります下記の詳細を参照)。

url_category in "ICAPD.BlockCategory" :BLOCK as _match

デフォルト値:No

BlockObsceneLanguage

{Boolean}

卑猥な表現(ObsceneLanguageカテゴリーに含まれる)を含むWebサイトへの接続試行をブロックするように指示します。

ブロックをアクティブにするには、次のルールを設定に追加する必要があります下記の詳細を参照)。

url_category in "ICAPD.BlockCategory" :BLOCK as _match

デフォルト値:No

BlockChats

{Boolean}

チャットWebサイト(Chatsカテゴリーに含まれる)への接続試行をブロックするように指示します。

ブロックをアクティブにするには、次のルールを設定に追加する必要があります下記の詳細を参照)。

url_category in "ICAPD.BlockCategory" :BLOCK as _match

デフォルト値:No

BlockTerrorism

{Boolean}

テロリズムに関するWebサイト(Terrorismカテゴリーに含まれる)への接続試行をブロックするように指示します。

ブロックをアクティブにするには、次のルールを設定に追加する必要があります下記の詳細を参照)。

url_category in "ICAPD.BlockCategory" :BLOCK as _match

デフォルト値:No

BlockFreeEmail

{Boolean}

無料メールサービスのWebサイト(FreeEmailカテゴリーに含まれる)への接続試行をブロックするように指示します。

ブロックをアクティブにするには、次のルールを設定に追加する必要があります下記の詳細を参照)。

url_category in "ICAPD.BlockCategory" :BLOCK as _match

デフォルト値:No

BlockSocialNetworks

{Boolean}

ソーシャルネットワーキングサイト(SocialNetworksカテゴリーに含まれる)への接続試行をブロックするように指示します。

ブロックをアクティブにするには、次のルールを設定に追加する必要があります下記の詳細を参照)。

url_category in "ICAPD.BlockCategory" :BLOCK as _match

デフォルト値:No

BlockDueToCopyrightNotice

{Boolean}

著作権者のリクエストに従って追加されたWebサイト(DueToCopyrightNoticeカテゴリーに含まれる)への接続試行をブロックするように指示します。

ブロックをアクティブにするには、次のルールを設定に追加する必要があります下記の詳細を参照)。

url_category in "ICAPD.BlockCategory" :BLOCK as _match

デフォルト値:Yes

BlockOnlineGames

{Boolean}

オンラインゲームWebサイト(OnlineGamesカテゴリーに含まれる)への接続試行をブロックするように指示します。

ブロックをアクティブにするには、次のルールを設定に追加する必要があります下記の詳細を参照)。

url_category in "ICAPD.BlockCategory" :BLOCK as _match

デフォルト値:Yes

BlockAnonymizers

{Boolean}

アノニマイザーWebサイト(Anonymizersカテゴリーに含まれる)への接続試行をブロックするように指示します。

ブロックをアクティブにするには、次のルールを設定に追加する必要があります下記の詳細を参照)。

url_category in "ICAPD.BlockCategory" :BLOCK as _match

デフォルト値:Yes

BlockCryptocurrencyMiningPools

{Boolean}

仮想通貨マイニングのための一般的なサービスへのアクセスを提供するWebサイト(CryptocurrencyMiningPoolカテゴリーに含まれる)への接続試行をブロックするように指示します。

ブロックをアクティブにするには、次のルールを設定に追加する必要があります下記の詳細を参照)。

url_category in "ICAPD.BlockCategory" :BLOCK as _match

デフォルト値:Yes

BlockJobs

{Boolean}

求人検索Webサイト(求人カテゴリーに含まれます)への接続試行をブロックするように指示します。

ブロックをアクティブにするには、次のルールを設定に追加する必要があります下記の詳細を参照)。

url_category in "ICAPD.BlockCategory" :BLOCK as _match

デフォルト値:No

ScanTimeout

{time interval}

Dr.Web ICAPDによって開始された1つのファイルに対するスキャンのタイムアウト。

1秒から1時間の範囲の値を指定できます。

デフォルト値:30s

HeuristicAnalysis

{On | Off}

Dr.Web ICAPDによって開始されたファイルのスキャン中に脅威を検出するためにヒューリスティック解析を使用するかどうかを指定します。ヒューリスティック解析における検出の信頼性は高いのですが、ウイルススキャンに時間がかかります。

ヒューリスティックアナライザによって検出された脅威に適用されるアクションは、BlockSuspiciousパラメータ値として指定します。

使用可能な値:

On - スキャン時にヒューリスティック解析を使用するように指示します。

Off - ヒューリスティック解析を使用しないように指示します。

デフォルト値:On

PackerMaxLevel

{integer}

圧縮されたオブジェクトスキャン時の最大ネスティングレベル。Dr.Web ICAPDによって開始されたデータのスキャン中に、より深いネストレベルにあるすべてのオブジェクトがスキップされます。

0から60までの範囲の値を指定できます。値を0に設定すると、ネストしたオブジェクトはスキャンされません。

デフォルト値:8

ArchiveMaxLevel

{integer}

アーカイブスキャン時の最大ネスティングレベル。Dr.Web ICAPDによって開始されたデータのスキャン中に、より深いネストレベルにあるすべてのオブジェクトがスキップされます。

0から60までの範囲の値を指定できます。値を0に設定すると、ネストしたオブジェクトはスキャンされません。

デフォルト値:0

MailMaxLevel

{integer}

メールメッセージとメールボックスをスキャンするときの最大ネストレベル。Dr.Web ICAPDによって開始されたデータのスキャン中に、より深いネストレベルにあるすべてのオブジェクトがスキップされます。

0から60までの範囲の値を指定できます。値を0に設定すると、ネストしたオブジェクトはスキャンされません。

デフォルト値:0

ContainerMaxLevel

{integer}

コンテナ(HTMLページなど)をスキャンするときの最大ネストレベル。Dr.Web ICAPDによって開始されたデータのスキャン中に、より深いネストレベルにあるすべてのオブジェクトがスキップされます。

0から60までの範囲の値を指定できます。値を0に設定すると、ネストしたオブジェクトはスキャンされません。

デフォルト値:8

MaxCompressionRatio

{integer}

圧縮/パックされたオブジェクトの最大圧縮率(非圧縮サイズと圧縮サイズの比率)。オブジェクトの比率が制限を超えると、そのオブジェクトはDr.Web ICAPDによって開始されたデータのスキャン中にスキップされます。

圧縮率には2よりも小さい値は指定できません。

デフォルト値:500

BlockKnownVirus

{Boolean}

データに既知の脅威が含まれる場合、そのデータの受信または送信をブロックするように指示します。

ブロックをアクティブにするには、次のルールを設定に追加する必要があります下記の詳細を参照)。

threat_category in "ICAPD.BlockThreat" :BLOCK as _match

デフォルト値:Yes

BlockSuspicious

{Boolean}

データに未知の脅威(ヒューリスティックアナライザによって検出されたもの)が含まれている場合、そのデータの受信または送信をブロックするように指示します。

ブロックをアクティブにするには、次のルールを設定に追加する必要があります下記の詳細を参照)。

threat_category in "ICAPD.BlockThreat" :BLOCK as _match

デフォルト値:Yes

BlockAdware

{Boolean}

データにアドウェアが含まれる場合、そのデータの受信または送信をブロックするように指示します。

ブロックをアクティブにするには、次のルールを設定に追加する必要があります下記の詳細を参照)。

threat_category in "ICAPD.BlockThreat" :BLOCK as _match

デフォルト値:Yes

BlockDialers

{Boolean}

データにダイアラープログラムが含まれる場合、そのデータの受信または送信をブロックするように指示します。

ブロックをアクティブにするには、次のルールを設定に追加する必要があります下記の詳細を参照)。

threat_category in "ICAPD.BlockThreat" :BLOCK as _match

デフォルト値:Yes

BlockJokes

{Boolean}

データにジョークプログラムが含まれる場合、そのデータの受信または送信をブロックするように指示します。

ブロックをアクティブにするには、次のルールを設定に追加する必要があります下記の詳細を参照)。

threat_category in "ICAPD.BlockThreat" :BLOCK as _match

デフォルト値:No

BlockRiskware

{Boolean}

データにリスクウェアが含まれる場合、そのデータの受信または送信をブロックするように指示します。

ブロックをアクティブにするには、次のルールを設定に追加する必要があります下記の詳細を参照)。

threat_category in "ICAPD.BlockThreat" :BLOCK as _match

デフォルト値:No

BlockHacktools

{Boolean}

データにハッキングツールが含まれる場合、そのデータの受信または送信をブロックするように指示します。

ブロックをアクティブにするには、次のルールを設定に追加する必要があります下記の詳細を参照)。

threat_category in "ICAPD.BlockThreat" :BLOCK as _match

デフォルト値:No

BlockUnchecked

{Boolean}

データがスキャンできない場合、そのデータの受信または送信をブロックするように指示します。

デフォルト値:No

MessageHook

{path to file | Lua function}

LuaでHTTPメッセージを処理するためのスクリプトまたはそのスクリプトを含むファイルへのパス(LuaでのHTTPメッセージ処理セクションを参照)。

Lua関数またはファイルパスが指定されていない場合、メッセージはルールに従って処理されます。指定したファイルが利用できない場合、コンポーネントの起動時にエラーが返されます。

デフォルト値:

自動的に生成されます。デフォルト設定では、次のようになります。

local dw = require "drweb"
local cfg = require "drweb.config"
local dwl = require "drweb.lookup"
local rx = require "drweb.regex"

function message_hook(ctx)
  if ctx.direction == "request" then
    local url = ctx.request.url
    if url.in_list(cfg.blacklist) then
      return "block"
    end
    if not url.in_list(cfg.whitelist) then
      if rx.search(cfg.adlist, url) or rx.search(cfg.adlist, url.raw) then
          return "block"
      end
      if url.in_categories(cfg.block_url_categories) then
          return "block"
      end
    end
  end
  if ctx.body.has_threat{category = cfg.block_threats} then
    return "block"
  end
  if cfg.block_unchecked and ctx.body.scan_error then
    return "block"
  end
  return "pass"
end

トラフィックモニタリングとアクセスブロックのルール

このセクションには、上記のパラメータの他、7つのルールセットRuleSet*RuleSet0、…、RuleSet6)も含まれます。これらは、トラフィックスキャン、Webリソースへのユーザーアクセスのブロック、インターネットからのコンテンツのダウンロードのブロックを直接管理します。条件の一部の値(IPアドレス範囲、Webサイトカテゴリーのリスト、Webソースのブラックリストとホワイトリストなど)については、テキストファイルからロードされる値の置き換えがあり、LDAPを介して外部データソースから抽出されます(Dr.Web LookupDコンポーネントを使用)。接続を設定する際には、最終的な解決を含むルールが見つかるまで、すべてのルールが昇順で検査されます。ルールリストのギャップは無視されます。

ルールについては、トラフィックモニタリングのルールの付録D「トラフィックモニタリングのルール」セクションで詳しく説明されています。

ルールを表示して編集する

ルールリストを簡単に編集するために空白が残されています。つまり、ルールを含まないRuleSet<i>セッがあります(<i> - RuleSetルールセット番号)。RuleSet<i>以外の項目を追加することはできませんRuleSet<i>の要素内のルールは追加および削除できます。ルールの表示と編集は、次のいずれかの方法で実行できます。

(任意のテキストエディターで)設定ファイル設定ファイルを表示、編集する(このファイルにはデフォルトと異なるパラメータのみが保存されます)。

Web管理インターフェース経由(インストールされている場合)。

コマンドラインベースのインターフェースを介して - Dr.Web Ctldrweb-ctl cfshowおよびdrweb-ctl cfset コマンド)。

ルールを編集して設定ファイルを変更した場合は、これらの変更を適用するためにDr.Web for UNIX Internet Gatewaysを再起動します。それには、drweb-ctlreloadコマンドを使用します。

コマンドdrweb-ctl cfshowを使用してルールを表示します。

ルールセットICAPD.RuleSet1のコンテンツを表示するには、このコマンドを使用します。

# drweb-ctl cfshow ICAPD.RuleSet1

drweb-ctl cfsetコマンドを使用してルールを編集します(以降、<rule> - ルールのテキスト)。

ICAPD.RuleSet1セットのすべてのルールを新しいルールで置き換えます。

# drweb-ctl cfset ICAPD.RuleSet1 '<rule>'

ICAPD.RuleSet1ルールセットに新しいルールを次のように追加します。

# drweb-ctl cfset -a ICAPD.RuleSet1 '<rule>'

ICAPD.RuleSet1セットから特定のルールを次のように削除します。

# drweb-ctl cfset -e ICAPD.RuleSet1 '<rule>'

ICAPD.RuleSet1ルールセットを次のようにデフォルトの状態にリセットします。

# drweb-ctl cfset -r ICAPD.RuleSet1

drweb-ctlツールを使用してルールのリストを編集するときは、追加するルールのテキストを一重引用符または二重引用符で囲み、ルールのテキスト内にある二重引用符の前にはバックスラッシュ(「\」)をエスケープ文字として使用します(ルール自体のテキストに二重引用符が含まれている場合)。

設定のRuleSet<i>変数には、ルールの格納について次のような特徴があります。

無条件ルールを追加するときは、条件部分とコロンを省略できます。ただし、そのようなルールは常にルールのリストに文字列「 : <action>」として格納されます。

複数のアクションを含むルール(「<condition> : <action 1><action 2>」など)を追加すると、そのようなルールは基本ルールのチェーン「<condition> : <action 1>」と「<condition> : <action 2>」に変更されます。

ロギングまたはルールは、条件部分で条件の離接(論理和)を許可しないため、論理和を実装するには、各ルールに離接語条件がある条件で一連のルールを記録する必要があります。

接続をスキップするための無条件ルール(Passアクション)をICAPDRuleSet1セットに追加するには、次のコマンドのみを実行します。

# drweb-ctl cfset -a ICAPD.RuleSet1 'Pass'

ただし、指定したルールセットからこのルールを削除するには、次のコマンドを実行する必要があります。

# drweb-ctl cfset -e ICAPD.RuleSet1 ' : Pass'

ICAPD.RuleSet1ルールを、接続用の標準テンプレートへのパスを未解決アドレスから変更してブロックを実行するルールセットに追加するには、次のコマンドを実行する必要があります。

# drweb-ctl cfset -a ICAPD.RuleSet1 'src_ip not in file("/etc/trusted_ip") : set http_template_dir = "mytemplates", Block'

ただし、このコマンドでは指定したセットに2つのルールが追加されるため、ルールのセットからこれらのルールを削除するには、次の2つのコマンドを実行する必要があります。

# drweb-ctl cfset -e ICAPD.RuleSet1 'src_ip not in file("/etc/trusted_ip") : set http_template_dir = "mytemplates"'
# drweb-ctl cfset -e ICAPD.RuleSet1 'src_ip not in file("/etc/trusted_ip") : Block'

「悪意のあるオブジェクトKnownVirusテロリズムカテゴリーからのURLが検出された場合はブロックする」などのルールをICAPD.RuleSet1ルールセットに追加するには、このルールセットに次の2つのルールを追加する必要があります。

# drweb-ctl cfset -a ICAPD.RuleSet1 'threat_category in (KnownVirus) : Block as _match'
# drweb-ctl cfset -a ICAPD.RuleSet1 'url_category in (Terrorism) : Block as _match'

ルールのセットからこれらのルールを削除する場合にも、2つのコマンドを実行する必要があります(上の例を参照)。

デフォルトのルールセット

デフォルトでは、次のブロックルールセットが指定されています。

RuleSet0 =
RuleSet1 = direction request, url_host in "ICAPD.Blacklist" :BLOCK as BlackList
RuleSet1 = direction request, url_host not in "ICAPD.Whitelist", url match "ICAPD.Adlist" :BLOCK as BlackList
RuleSet2 =
RuleSet3 = direction request, url_host not in "ICAPD.Whitelist", url_category in "ICAPD.BlockCategory" :BLOCK as _match
RuleSet4 =
RuleSet5 = threat_category in "ICAPD.BlockThreat" :BLOCK as _match
RuleSet6 =

最初の2つのルールは送信HTTP接続を処理します。接続が試みられるホスト(またはURL)がブラックリストに含まれている場合、その接続はブラックリストに基づいてブロックされ、それ以上のスキャンは実行されません。ホスト(URL)がホワイトリストに含まれておらず、アクセスするのが望ましくないとマークされているWebサイトカテゴリーに属しているか、広告URLを表す正規表現のいずれかに一致する場合、URLは望ましくないカテゴリーに属しているため、接続はブロックされます。

RuleSet5で指定されたルールは、(設定に従って)ブロックする必要がある脅威カテゴリーに属する脅威のHTTPリクエストまたはレスポンスをスキャンします。そのような脅威がある場合、接続は脅威の検出に基づいてブロックされます。方向条件が指定されていないため、デフォルトでは、クライアントリクエスト(request)とサーバーレスポンス(response)の両方が検査されます。

トラフィックモニタリングとアクセスブロックのルールの例

1.IPアドレス範囲が10.10.0.0~10.10.0.254のユーザーにChats以外のすべてのカテゴリーのWebサイトへのアクセスを許可する。

src_ip in (10.10.0.0/24), url_category not in (Chats) :PASS

ルール

url_host in "ICAPD.Blacklist" :BLOCK as BlackList

が、指定されたルールより上のルールリストに割り当てられている場合、IPアドレス範囲が10.10.0.0~10.10.0.254のユーザーは、ブラックリストのドメイン、つまりパラメータICAPD.Blacklistにリストされているドメインへのアクセスもブロックされます。また、このルールが下に割り当てられている場合、IPアドレス範囲が10.10.0.0~10.10.0.254のユーザーは、ブラックリストのWebサイトにもアクセスできます。

PASSの処理は最終的なものであるため、これ以上のルールはチェックされず、したがってダウンロードされたデータのウイルススキャンも実行されません。IPアドレス範囲が10.10.0.0~10.10.0.254のユーザーに、ブラックリストに含まれていないChats以外のすべてのカテゴリーのWebサイトへのアクセスを許可し、同時に脅威のダウンロードをブロックするには、次のルールを使用します。

url_category not in (Chats), url_host not in "ICAPD.Blacklist", threat_category not in "ICAPD.BlockCategory" :PASS

2.ビデオファイルのコンテンツ(つまり、MIMEタイプが「video/*」のデータ(*はMIMEクラスvideoの任意のタイプ))のスキャンを実行しない。

content_type in ("video/*") :PASS