このセクションの内容
•概要
•ルールフォーマット
•条件
•アクション
•ルールで使用される変数
•不要なWebサイトと脅威のカテゴリー
•ルール条件で使用できる設定パラメータ
•設定ファイルにルールを保存する機能
概要
ルールは、IF <conditional_part> THEN <action_part>などの構文で表されます。条件部分には「変数値が指定されている(いない)」または「変数値が指定セットに含まれている(いない)」のスキャンタイプが指定されます。アクション部分には一連のアクション(1つ以上)が含まれ、各アクションは最終的な解決(スキャンしたオブジェクトのスキップまたはブロック)、または「スキャンしたオブジェクトの機能の変更」、「指定変数へのセット値の割り当て」、または「指定変数の値の配列へのセット値の追加」などの修正アクションになります。
ルールで指定されているアクションは、条件部分がtrueの場合にのみ実行されます。条件部分がfalseの場合、このルールで指定されたアクションは実行されず、プログラムは次のルールにジャンプします。最終的な解決が実行されるまで、ルールは上から順に処理されます。その後、以降のルール(ある場合)はすべて無視されます。ルールを実行するときは、アクション部分のアクションを左から右に、指定された順序で実行することが重要です。アクションのチェーンに最終的な解決策があり、ルールの処理を中断する場合は、アクション部分で指定された残りのアクションは実行されません。
ルールフォーマット
ルールのフォーマットは次のとおりです。
[<condition>[, <condition>[, …]]] : <action>[, <action>[, …]]
|
ルールの条件部分(「:」の前)は省略できます。その場合、アクション部分は条件なしで実行されます。ルールの条件部分がない場合は、「:」の区切り文字を省略できます。条件部分の条件とアクション部分のアクションとの間のコンマは、論理積(「and」)の役割を果たします。条件部分は、すべての条件がtrueである場合にのみtrueになります。アクション部分に指定されたすべてのアクションは、ルールの処理を中断する最終的な解決まで、左から右へ指定された順序で実行されます。ルールで使用されるキーワード、変数名、設定パラメータでは、大文字と小文字は区別されません。
条件
次のタイプの条件がルールで使用できます。
条件
|
解説
|
<variable> <value >
|
変数の値がルールで指定された値と一致している。
同時に値のセットを含むことができる変数にのみ使用できます。
|
<variable> [not] in <set of values>
|
変数の値が、指定された値のセットに含まれている(notの場合 - 指定された値のセットと一致しない)。
|
<variable> [not] match <set of values>
|
変数の値が、指定されたセットにある任意の正規表現と一致する(notの場合 - 指定されたセットのどの表現とも一致しない)。

|
正規表現は、POSIX構文(BRE、ERE)またはPerl構文(PCRE、PCRE2)のいずれかを使用して指定されます。
|
|
<variable> [not] gt <value>
|
変数の値が、指定された値よりも大きい(大きくない)。
単一の値を持つことができる変数にのみ使用できます。
|
<variable> [not] lt <value>
|
変数の値が、指定された値よりも小さい(小さくない)。
単一の値を持つ変数にのみ使用できます。
|
*)オプションのキーワードnotは否定を意味します。
変数と比較される<set of values>の部分は、以下の方法で指定できます。
構文
|
意味
|
(<value 1>[, <value 2>[, …]])
|
括弧内にはチェックする値がリストされます(最小数は1以上でなければなりません)。値が1つしかなく、in条件が使用されている場合は、括弧を省略できます(場合によっては<variable> <value>になります)。
|
"<section>.<parameter>"
|
設定パラメータに現在割り当てられている値のセット。引用符の間には、値(または値のセット)のチェックが必要な設定パラメータの名前を指定します(パラメータが属するセクションの名前も指定する必要があります)。
条件として使用できるパラメータのリストは、ルールが設定されているコンポーネントによって異なります。リストは以下に示します。
|
file("<file name>")
|
値のリストを含むテキストファイル<file name>へのパス。ファイル内の各文字列はリスト項目に対応します。先頭と末尾のスペースは無視されます。
絶対パス以外は使用できません。
<file name>に引用符やアポストロフィが含まれる場合、それらは'\'でエスケープします。

|
ファイルサイズは64MB未満である必要があります。
設定ファイルの読み込み中にファイルの内容が読み込まれ、ルールに挿入されます。ファイルが存在しない場合や、ファイルサイズが超過している場合は、設定の読み込み中にエラーx102が返されます。
Dr.Web for UNIX Internet Gatewaysの動作中にファイルを編集する場合、変更を適用するには、その内容を再度読み込む必要があります。次のコマンドを使用します。
ファイルからの値のセットは、すべての変数に使用できるわけではありません。ファイルからの値のセットを用いて値のスキャンに変数を使用できるかどうかは、以下に示します。
|
|
<type_of_LOOKUP_request>@<tag>[@<value>]
|
値の配列は外部データソースからDr.Web LookupDを介して要求されます。<LOOKUP_query_type>はソースのタイプです。<tag>は、チェックされたパラメータのサンプリングのための接続を説明するセクションの名前です。オプションの<value>は、データソースから抽出された値の配列内に必要な値です。

|
Dr.Web LookupDの値は、すべての変数に使用できるわけではありません。条件の<scanning>を適用できない変数もあります。
Dr.Web LookupDを使用して値をチェックできるかどうかについては、以下の各変数の説明で確認できます。
|
|
変数が複数の値を持つ場合は、指定された変数<variable>の現在値のセットと、指定されたセット<set of values>の共通集合が空でない場合に、<variable> in <set of values>の条件はtrueになります。
逆の場合は、not inの条件がtrueになります。たとえば、Xが変数で、現在の値としてa、b、cが設定されているとします。その場合は、
•X in (a, b)は、aとbの値が両方のセットにあるため、trueになります。
•X in (a, d, e)は、aの値が両方のセットにあるため、trueになります。
•X in (d, e)は、変数の値(a、b、c)が(d、e)のセットにないため、falseになります。
•X in ()は、変数の値の配列が空白でないため、falseになります。
•X not in ()は、変数の値の配列が空白でないため、trueになります。
•X not in (d, e)は、変数の値(a、b、c)がセット(d、e)にないため、trueになります。
•X not in (a, d, e)は、aが両方のセットにあるため、falseになります。
以下の変数の説明では、各変数に値のセットを採用できるかどうかを示しています。
アクション
アクションは、オブジェクトの受け渡しを許可するかどうかを決定する最終的な解決策と、後続のルールの条件をチェックするときに使用できる、いくつかの変数の値を変更するアクションに分かれます。
最終的な解決
解決策
|
説明(意味)
|
一般的な解決策
|
Pass
|
トラフィックを通過させます(接続の作成を許可し、オブジェクトを受信者に送信します)。それ以降のルール(ある場合)は使用されません。
|
Block as <reason>
|
トラフィックをブロックします(接続の作成、または受信者へのオブジェクトの送信を禁止します)。それ以降のルール(ある場合)は使用されません。
ブロックの<reason>はログに記録されます。同じ理由が、ユーザーに表示されるブラウザ通知にも使用されます。
Blockの理由は次のとおりです。
•BlackList - ユーザーによってブラックリストに登録されているため、データをブロックします。
•_match - ルールの実行をトリガーするカテゴリーに属する脅威がWebリソースまたはファイルに含まれているため、ブロックします(*_category in (?)の条件の場合)。_match変数には、ブロックされたカテゴリーのリストに一致したものが含まれます。 |
最終的な解決を処理する機能:
•Block as BlackListは、常に「ブラックリストに含まれる」として処理されます(ルールでこの解決策に指定された条件を考慮しません)。
•Block as _matchは、_matchが空白でない場合は「_matchカテゴリーに属する」ものとして処理されます。
•Block as _matchは、_matchが空白の場合は「ブラックリストに含まれる」として処理されます(ルールでこの解決策に指定された条件を考慮しません)。
•すべてのルールが考慮されていて、解決策のあるルールがいずれも実行されない(またはルールに解決策がない)場合、この状況はPassアクションと同じです。
変数の値の変更
変数値を変更するには、次の命令を使用します。
SET <variable> = ([<value 1>[, <value 2>[, …]]])
|
括弧内に値がない場合は、変数値のリストは消去されます。
変数の値が1つだけの場合、括弧は使用されません。
ルールで使用される変数
変数の大文字と小文字は区別されません。複数のアクション名を持つ変数は、アンダースコアを使用しても使用しなくても書くことができます。したがって、variable_name、VariableName、variablenameという名前は、実際には同じ名前の同等のバリエーションになります。以下の表では、すべての変数の名前はアンダースコアを使用して書かれています。
共通変数
変数
|
説明
|
使用可能
|
条件
|
アクション(SET)
|
protocol
|
接続で使用されるネットワークプロトコル
この変数は複数の値を取ることができます。
使用可能な値:HTTP、SMTP、IMAP、POP3。
使用方法
•変数値は、SSL/TLSが使用されていない場合、またはSSLのラップ解除が許可されている場合にのみ定義できます。
•Dr.Web ICAPDのルールで可能な変数の値はHTTPだけです。
•変数の値をチェックするための値のセットは、テキストファイルから読み込むことができます。
例:
protocol in (HTTP, SMTP)
protocol in (POP3)
protocol in file("/etc/file")
|
Yes
|
No
|
sni_host
|
SSL/TLSを介して接続が確立されるSNIホスト(アドレス)。
使用方法
•SSLを使用しない場合、変数の値が定義されていないため、条件はfalseです。
•Dr.Web ICAPDのルールではこの変数を使用できません(SSLを処理しないため、条件は常にfalseと評価されます)。
•変数の値をチェックするための値のセットは、テキストファイルから読み込むことができます。
•この変数はproc変数と組み合わせて使用できます(以下を参照)。
例:
sni_host not in ('vk.com', 'ya.ru')
sni_host in "LinuxFirewall.BlackList"
sni_host in file("/etc/file")
|
Yes
|
No
|
sni_category
|
お使いのコンピューターがSSL/TLSを介して接続しようとしているホストで、ホスト(SNIヘッダーから識別される)が属するカテゴリー(AdultContentなど)のリスト(Webリソースカテゴリーのデータベースに準ずる)。
この変数は複数の値を取ることができます。
使用方法
•SSLを使用しない場合、変数の値は定義されず、条件はfalseと評価されます。
•Dr.Web ICAPDのルールではこの変数を使用できません(SSLを処理しないため、条件は常にfalseと評価されます)。
•Dr.Web ICAPDのルールでは、ホストが事前に定義されたカテゴリー(「安全な」ホスト)のいずれにも属していなくても、not inが使用される条件はtrueになります。
•Webリソースカテゴリーのデータベースがインストールされていない場合、変数はルールで使用できません(ルールの条件がtrueであるかどうかを確認しようとすると、エラーx112が発生します)。
•変数の値をチェックするための値のセットは、テキストファイルから読み込むことができます。
例:
sni_category not in (AdultContent, Chats)
sni_category in "LinuxFirewall.BlockCategory"
sni_category in (FreeEmail)
sni_category not in file("/etc/file")
|
Yes
|
No
|
url
|
クライアントからリクエストされたURL。指定された文字列または正規表現と比較できます。
使用方法
•この変数はDr.Web ICAPDのルールでのみ使用できます。
•Dr.Web LookupDを使用してこの変数の値をチェックできます。
•変数の値をチェックするための値のセットは、ファイルから読み込むことができます。
•この変数はproc変数と組み合わせて使用できます(以下を参照)。
例:
url match ("drweb.com", "example\..*", "aaa\.ru/")
url match "ICAPD.Adlist"
url not match LDAP@BadURLs
url match file("/etc/file")
|
Yes
|
No
|
url_host
|
接続が確立されるURL/ホスト。
使用方法
•接続にSSL/TLSを使用していない場合、またはSSLのラップ解除が許可されている場合にのみ、この変数に値を設定できます。
•Dr.Web LookupDを使用してこの変数の値をチェックできます。
•変数の値をチェックするための値のセットは、テキストファイルから読み込むことができます。
例:
url_host in ('vk.com', 'ya.ru')
url_host not in "ICAPD.Whitelist"
url_host in LDAP@hosts
url_host not in file("/etc/file")
|
Yes
|
No
|
url_category
|
URL/ホストが属するカテゴリーのリスト。情報はカテゴリーのデータベースまたはDr.Web Cloudの応答に基づきます。
この変数は複数の値を取ることができます。
使用方法
•接続にSSL/TLSを使用していない場合、またはSSLのラップ解除が許可されている場合にのみ、この変数に値を設定できます。
•Dr.Web ICAPDのルールでは、URL/ホストが事前に定義されたカテゴリー(「安全な」URL/ホスト)のいずれにも属していなくても、not inが使用される条件はtrueになります。Dr.Web Firewall for Linux(SpIDer Gate)のルールでは、この場合の条件はfalseになります。
•Webリソースカテゴリーのデータベースがインストールされていない場合、変数はルールで使用できません(ルールの条件がtrueであるかどうかを確認しようとすると、エラーx112が発生します)。
•変数の値をチェックするための値のセットは、テキストファイルから読み込むことができます。
例:
url_category not in (AdultContent, Chats)
url_category in "LinuxFirewall.BlockCategory"
url_category in (FreeEmail)
url_category in file("/etc/file")
|
Yes
|
No
|
threat_category
|
転送されたデータにある、脅威が属するカテゴリーのリスト(ウイルスデータベースからの情報に準ずる)。
この変数は、複数の値を指定することができます。
使用方法
•接続にSSL/TLSを使用していない場合、またはSSLのラップ解除が許可されている場合にのみ、この変数に値を設定できます。
•Dr.Web ICAPDのルールでは、オブジェクトが事前に定義されたカテゴリー(「安全な」オブジェクト)のいずれの脅威を含んでいなくても、not inが使用される条件はtrueになります。Dr.Web Firewall for Linux(SpIDer Gate)のルールでは、この場合の条件はfalseになります。
•変数の値をチェックするための値のセットは、テキストファイルから読み込むことができます。
例:
threat_category in "LinuxFirewall.BlockThreat"
threat_category not in (Joke)
threat_category in file("/etc/file")
|
Yes
|
No
|
user
|
その権限により、トラフィックを送信(または受信)しているプロセスが起動されるユーザー。
使用方法
•Dr.Web ICAPDのルールでは、プロキシサーバーで認証されたユーザーの名前が変数の値として設定されます。プロキシサーバーがユーザー認証をサポートしていない場合、変数の値は空です。
•Dr.Web LookupDを使用してこの変数の値をチェックできます。ユーザーが特定のユーザーグループに属しているかどうかを調べる必要がある場合、グループのリストを返すLDAPまたはActive Directoryデータソースを使用して、必要なグループ(ユーザーがそのメンバーであるかどうかを確認するグループ)の名前を指定します。<type of the source for LookupD>@<source of groups>@<required group>の形式を使用します。Active Directory(AD@)へのリクエストはグループのリストのみを返すため、これらのリクエストでは@<required group>部分を使用する必要があります。
•変数の値をチェックするための値のセットは、テキストファイルから読み込むことができます。
例:
user in ('user1', 'user2')
user in AD@Winusergroups@Admins
user in LDAP@AllowedUsers
user not in file("/etc/file")
|
Yes
|
No
|
src_ip
|
接続を確立しているホストのIPアドレス。
使用方法
•Dr.Web LookupDを使用してこの変数の値をチェックできます。
•変数の値をチェックするための値のセットは、テキストファイルから読み込むことができます。
例:
src_ip not in (127.0.0.1, 10.20.30.41, 198.126.10.0/24)
src_ip in LDAP@AllowedAddresses
src_ip not in file("/etc/file")
|
Yes
|
No
|
proc
|
接続を確立するプロセス(完全な実行パス)。
使用方法
•Dr.Web ICAPDのルールではこの変数を使用できません(プロセスに関する情報がコンポーネントに含まれていないため、条件は常にfalseと評価されます)。
•変数の値をチェックするための値のセットは、テキストファイルから読み込むことができます。
•この変数はsni_host、url、dst_addressと組み合わせて使用できます(以下を参照)。
例:
proc in ('/usr/bin/ls')
proc not in ('/home/user/myapp', '/bin/bin1')
proc in "LinuxFirewall.ExcludedProc"
proc in file("/etc/file")
|
Yes
|
No
|
direction
|
接続で送信されるメッセージのタイプ
使用可能な値:request(クライアントリクエスト)、response(サーバー応答)。
この変数は複数の値を取ることができません。matchとinタイプの条件は適用できません。
例:
direction request
direction not response
|
Yes
|
No
|
divert
|
接続の方向。
使用可能な値:input(受信 - ローカルホストの外部から作成/開始)、output(送信 - ローカルホストで作成/開始)。
この変数は複数の値を取ることができません。matchとinタイプの条件は適用できません。
例:
divert input
divert not output
|
Yes
|
No
|
content_type
|
接続で転送されるデータのMIMEタイプ
使用方法
•接続にSSL/TLSを使用していない場合、またはSSLのラップ解除が許可されている場合にのみ、この変数に値を設定できます。
•式「*/*」は、任意のMIMEタイプのデータと、ヘッダーContent-TypeなしのHTTP応答に一致します。
•Dr.Web LookupDを使用してこの変数の値をチェックできます。
•変数の値をチェックするための値のセットは、ファイルから読み込むことができます。
例:
content_type in ("multipart/byteranges", "application/octet-stream")
content_type not in ("text/*", "image/*")
content_type not in ("audio/*")
content_type in ("*/*")
content_type in LDAP@BlockedContent
content_type not in file("/etc/file")
|
Yes
|
No
|
(proc, <variable>)
|
プロセスのネットワークアクティビティ。ここで、procは完全なプロセス実行パス(上記を参照)で、<variable>はアクティビティのタイプを定義し、次のいずれかの値になります。
•sni_host - SSL/TLSを介して接続が確立されるSNIホスト(アドレス)
•url - クライアントによってリクエストされたURL(上記を参照)
•dst_address - プロセスが接続を確立するネットワークアドレス(<IP address>:<port>)
使用方法
•条件一致({<Proc_reg>, <Var_reg>}[, …])でのみ使用します。ここで、<Proc_reg>はprocの正規表現で、<Var_reg>は<variable>の正規表現です。
•Dr.Web ICAPDのルールではこの変数を使用できません(プロセスに関する情報がコンポーネントに含まれていないため、条件は常にfalseと評価されます)。
例:
(proc, url) match ({"/usr/bin/wget", "www\.ya\.*"})
(proc, dst_address) match ({"/usr/bin/.*", "192\.168\.1\.\d+:12345"})
|
Yes
|
No
|
unwrap_ssl
|
SSL/TLSを介して転送されたトラフィックがラップ解除されているかどうかを示します。
使用可能な値:true、false。
使用方法
•この変数の値を空にすることはできません。命令SET unwrap_ssl = ()は不可能です。
•この変数は条件に使用できません。SSLのラップ解除のみ管理する必要があります(こちら側がトリガーしたブロッキングについての通知を含むWebページを表示するためなど)。
•Dr.Web ICAPDのルールではこの変数を使用できません(SSLを処理しないため、変数の変更はルール処理に影響しません)。
例:
SET unwrap_ssl = TRUE
set Unwrap_SSL = false
|
No
|
Yes
|
http_templates_dir
|
ブロックページのテンプレートが保存されているディレクトリへのパス
パスが「/(スラッシュ)」で始まる場合は絶対パスになります。それ以外の記号で始まる場合は、相対パスになります。後者の場合、TemplatesDirパラメータで指定されたディレクトリに相対して指定されます。
使用方法
•HTTP(S)プロトコルで使用できます。
例:
SET http_templates_dir = "/etc/mytemplates"
set http_templates_dir = "templates_for_my_site"
|
No
|
Yes
|
不要なWebサイトと脅威のカテゴリー
1.望ましくないWebサイトのカテゴリー(変数sni_category、url_categoryでの使用)
表記規則
|
Webサイトのカテゴリー
|
InfectionSource
|
悪意のあるソフトウェアを含むWebサイト(「感染源」)
|
NotRecommended
|
閲覧が推奨されない、不正なWebサイト(「ソーシャルエンジニアリング」を使用しているもの)
|
AdultContent
|
ポルノまたはエロティックなコンテンツ、出会い系サイトなどを含むWebサイト
|
Violence
|
暴力行為を助長するWebサイトや、さまざまな死亡事故などに関するコンテンツを含むWebサイト
|
Weapons
|
武器および爆発物に関するWebサイトや、それらの製造に関する情報を提供しているWebサイト
|
Gambling
|
勝負事、カジノ、オークションなどのオンラインゲームへのアクセスを提供するWebサイト(賭けサイトなどを含む)
|
Drugs
|
麻薬の使用、製造または流通などを促進するWebサイト
|
ObsceneLanguage
|
(タイトルや記事などに)卑猥な表現を含むWebサイト
|
Chats
|
テキストメッセージのリアルタイム送信を提供するWebサイト
|
Terrorism
|
攻撃的なプロパガンダ、またはテロ攻撃などに関する内容を含むWebサイト。
|
FreeEmail
|
メールボックスの無料登録を提供するWebサイト
|
SocialNetworks
|
さまざまなソーシャルネットワークサービス(一般、仕事、企業、興味)、テーマ別出会い系Webサイト
|
DueToCopyrightNotice
|
接続先のリンクが一部の著作物(映画、音楽など)の著作権者によって定義されているWebサイト
|
OnlineGames
|
インターネットへの常時接続を使用してゲームへのアクセスを提供するWebサイト
|
Anonymizers
|
ユーザーが個人情報を隠し、ブロックされたWebリソースにアクセスできるWebサイト
|
CryptocurrencyMiningPool
|
仮想通貨マイニングのための一般的なサービスへのアクセスを提供するWebサイト
|
Jobs
|
求人情報のWebサイト
|
変数sni_categoryとurl_categoryの値として、ブロッキングを制御するパラメータの名前を使用することもできます(以下参照)。
2.脅威のカテゴリー(変数threat_category用)
表記規則
|
脅威のカテゴリー
|
KnownVirus
|
既知の脅威(ウイルス)
|
VirusModification
|
既知の脅威(ウイルス)の亜種
|
UnknownVirus
|
未知の脅威、疑わしいオブジェクト
|
Adware
|
アドウェア
|
Dialer
|
ダイアラー
|
Joke
|
ジョークプログラム
|
Riskware
|
リスクウェア
|
Hacktool
|
ハッキングツール
|
変数threat_categoryの値として、ブロッキングを制御するパラメータの名前を使用することもできます(以下参照)。
ルール条件で使用される設定パラメータ
Dr.Web Firewall for Linuxのコンポーネントルールで使用されるパラメータ(プレフィックスLinuxFirewall.で示されます)
パラメータ
|
説明と使用例
|
Whitelist
|
ホワイトリスト。Dr.WebのURLカテゴリーのデータベースに対象のドメインが含まれている場合でも、アクセスが許可されるドメインのリスト
例:
sni_host in "LinuxFirewall.Whitelist" : Pass
url_host not in "LinuxFirewall.Whitelist" : Block as _match
|
Blacklist
|
ブラックリスト。アクセスがユーザー(または管理者)によってブロックされているドメインのリスト
例:
sni_host in "LinuxFirewall.Blacklist" : SET Unwrap_SSL = FALSE
url_host in "LinuxFirewall.Blacklist" : Block as BlackList
|
BlockCategory
|
「メタパラメータ」:[LinuxFirewall]セクションでBlock*パラメータがYesに設定されているWebリソースカテゴリー(Chats、AdultContentなど)の名前のリスト
例:
url_category in "LinuxFirewall.BlockCategory" : Block as _match
sni_category in "LinuxFirewall.BlockCategory" : Block as BlackList
|
BlockThreat
|
「メタパラメータ」:[LinuxFirewall]セクションでBlock*パラメータがYesに設定されている脅威の種類(KnownVirus、Jokeなど)の名前のリスト
例:
threat_category in "LinuxFirewall.BlockThreat" : Block as _match
|
ExcludedProc
|
トラフィックをスキャンから除外する必要がある、信頼できるプロセスのリスト
例:
proc in "LinuxFirewall.ExcludedProc" : Pass
|
Dr.Web ICAPDのコンポーネントルールで使用されるパラメータ(プレフィックスICAPD.で示されます)
パラメータ
|
説明と使用例
|
Whitelist
|
ホワイトリストには、Dr.WebのURLカテゴリーのデータベースに対象のドメインが含まれている場合でも、アクセスが許可されるドメインのリストが含まれます。
例:
url_host not in "ICAPD.Whitelist" : Block as BlackList
|
Blacklist
|
ブラックリストにはドメインのリストが含まれ、そのドメインへのアクセスはユーザー(または管理者)によってブロックされます。
例:
url_host in "ICAPD.Blacklist" : Block as BlackList
|
Adlist
|
広告リスト。広告Webサイトを説明する正規表現のリストが含まれています。リストはユーザー(または管理者)によって定義されます。
例:
url match "ICAPD.Adlist" : Block as BlackList
|
BlockCategory
|
「メタパラメータ」:[ICAPD]セクションでBlock*パラメータがYesに設定されているWebリソースカテゴリー(Chats、AdultContentなど)の名前のリスト
例:
url_category in "ICAPD.BlockCategory" : Block as _match
|
BlockThreat
|
「メタパラメータ」:[ICAPD]セクションでBlock*パラメータがYesに設定されている脅威の種類(KnownVirus、Jokeなど)の名前のリスト
例:
threat_category in "ICAPD.BlockThreat" : Block as _match
|
設定ファイルにルールを保存する機能
•設定ファイルのルールを使用するコンポーネントの設定セクションで、ルールはRuleSetなどの変数で保存され、それぞれが無制限のルールのセット(シーケンス)となります。さらに、各セットのルールは、最終的に解決されるまで、順次(下に向かって)考慮されます。
•無条件のルール(条件部分のないアクションのみを含むルール)を設定ファイルに書き込む場合、空の条件部分と区切り文字「:」が追加されます。
たとえば、条件部分を含まずアクションのみで構成されている次のルール
は、設定ファイルには次のように書き込まれます。
•アクション部分に複数のアクションセットが含まれるルールを設定ファイルに書き込む場合、アクションが一覧表示されるとおりの順序で、同じ条件部分とアクション部分からのアクション1つがあるルールのシーケンスとして書き込まれます。
たとえば、アクション部分に2つのアクションを含んでいる次のルール
user in ('user1', 'user2') : SET http_templates_dir = "/etc/mytemplates", Block as _match
|
は、設定ファイルには2つのルールのシーケンスとして書き込まれます。
user in ('user1', 'user2') : SET http_templates_dir = "/etc/mytemplates"
user in ('user1', 'user2') : Block as _match
|
•ロギングまたはルールは、条件部分で条件の離接(論理和)を許可しないため、論理和を実装するには、各ルールに離接語条件だけがある条件で一連のルールを記録する必要があります。
たとえば次の2つのルールは、「悪意のあるオブジェクトKnownVirusやTerrorismカテゴリーに該当するURLが検出された場合はブロックする」のルールと等しくなります。
threat_category in (KnownVirus) : Block as _match
url_category in (Terrorism) : Block as _match
|
次のレコードは同等です。(a → x, b → x)、((a → x) ∧ (b → x))、((a ∨ b) → x)。
設定パラメータについては、管理ツールDr.Web Ctl(drweb-ctlモジュール)のコマンドcfshowとcfsetを使用して、RuleSetなどのパラメータの値(ルールなど)を表示、変更できます。コマンドライン管理ツールDr.Web Ctl(drweb-ctlモジュール)のcfshowとcfsetのコマンド構文の詳細については、Dr.Web Ctlのセクションを参照してください。
|