Dr.Web for UNIX mail serversシステムコンポーネントのセットアップには設定ファイルが使われます。設定ファイルは次の構造を持ったプレーンテキストファイルです(どのテキストエディターでも編集できるようになっています)。
--- beginning of the file ---
[Section 1 name]
Parameter1 = value1, ..., valueK
...
ParameterM = value1, ..., valueK
...
[Section X name]
Parameter1 = value1, ..., valueK
...
ParameterY = value1, ..., valueK
--- end of the file ---
";" または "#" で始まる行は、コメント行です。コメントアウトされた行は、設定ファイルのパラメータを読み込むときにスキップされます。コメント行、または値が指定されていないパラメータの場合は、ハードコード化されたデフォルト値が使用されます。
不正なパラメータが指定されている場合、Dr.Web for UNIX mail serversはエラーメッセージを出力して終了します。設定ファイルに未知のパラメータを見つけると、Dr.Web for UNIX mail serversはログファイルに警告を出力し続けます。
パラメータ値は引用符で囲むことが出来ます(空白文字を含む場合は引用符で囲まれていなくてはなりません)。パラメータの中には、複数の値を持つことが出来るものがあります。そのような値はカンマで区切ることが出来、またそれぞれの値を設定ファイルの別々のストリング内で設定することが可能です。複数の値を持つかどうかは、パラメータ記述内に明記されています。
例:
カンマで区切られた複数の値:
Names = XXXXX, YYYYY
複数のストリング内に設定された複数の値
Names = XXXXX
Names = YYYYY
本書ではパラメータは全て次のように記述します。
ParameterName = {parameter type | possible values}
パラメータ記述。
{複数の値を持つ可能性}
デフォルト値:
ParameterName = {value | empty}
パラメータは、該当する設定ファイル内での順番通りに記述されます。
パラメータにはいくつかの種類があり、それぞれ以下の値を指定することができます。
• | numerical value - 0以上の整数。 |
例: 30s, 15m
• | size - ファイルサイズなどを示す0以上の整数。 |
b
|
バイト
|
k
|
キロバイト
|
m
|
メガバイト
|
g
|
ギガバイト
|
例: 20b, 15k
大文字と小文字は区別しません。単位が省略された場合はバイトで値が設定されます。
• | permissions - ファイルとディレクトリに与えられるアクセス権を示す数値。 |
例: 755 (-rwxr-xr-x), 644 (-rw-r--r--)
• | path to file/directory - ファイルまたは、ディレクトリへのパス。 |
• | actions - 実行される動作、処理(パラメータごとに実行可能な動作が異なるため、それぞれのパラメータで説明があります)。必須、及び任意の2つのタイプのアクションがあります。 Dr.Web MailD では必須のアクションを1つ、任意のアクションを3つまで指定することが出来ます。必須アクションは常にリストの最初にきます。 Dr.Web Scanner に対して指定出来るアクションは1つだけです。 |
使用出来る必須アクション:
o | Cure - 感染したオブジェクトの修復及びメッセージのリパック。 |
o | Remove - 感染したオブジェクトの削除及びメッセージのリパック。 |
o | Discard - 送信者にその旨の通知を出さずにメッセージを拒否。 |
o | Reject - 送信者にその旨の通知を出してメッセージを拒否。 |
o | Tempfail - メッセージが一時的に送信されない旨を送信者に通知。 |
使用出来る任意のアクション:
o | Quarantine - メッセージを隔離に移動。 |
o | Redirect [(address[|address|...])] - 角括弧内に指定されたアドレスにメッセージを転送。アドレスが指定されていない場合、メッセージは [MailD]セクション内のRedirectMailパラメータ値で定義されたアドレスに送られます。 "|" 記号で区切ることによって複数のアドレスを指定することが可能です。 |
o | Notify - 検出した脅威に関するレポートを送信。メッセージの処理は続けられます。 |
o | Add-header (HEADER) - メッセージに HEADER を追加。HEADERは [NAME:]BODYで指定され、 NAME はヘッダー名で(デフォルトではX-DrWeb-MailD)、BODY はヘッダーの値です。 |
o | Score (SCORE) - メッセージスコアにSCOREを追加。 SCOREの値はマイナスの場合があります。 |
Dr.Web Scannerで使用出来るアクション:
o | Rename - 感染したオブジェクトのリネーム。 |
• | address - Dr.Web for UNIX mail servers コンポーネントと外部パッケージのソケット。 これらのパラメータは TYPE:ADDRESSで指定されます。使用出来るアドレスタイプは次のとおりです。 |
o | inet - TCPソケットをPORT@HOST_NAMEの形式で指定します。HOST_NAMEは、ホスト名・IPアドレスのどちらでも指定できます。 |
例:
Address = inet:3003@127.0.0.1
o | local - ローカルのUNIXソケットをソケットファイルへのパスで指定します。 |
例:
Address = local:%var_dir/.daemon
o | PID - プロセスの実アドレスは、そのPIDファイルから読み込まれる必要があります。 指定可能な場合、個々のパラメータの説明で記載があります。 |
• | text value - パラメータ値はテキスト文字列で、引用符で囲むことが出来ます(空白を含む場合は引用符で囲まれていなくてはなりません)。 |
• | pool options - スレッドプールの設定。 |
最初は、プール内のスレッド数は定義されています。
o | auto - プール内のスレッド数は現在のシステムロードに応じて自動的に検出されます。 |
o | N - 負ではない整数。プール内の少なくとも N 個のスレッドがアクティブになります。要求に応じて新しいスレッドが作成されます。 |
o | N-M - 正の整数で、 M ≥ N。 プール内の少なくとも N個のスレッドがアクティブになります。要求に応じて新しいスレッドがM個まで作成されます。 |
さらに、以下の追加パラメータを指定することが出来ます。
o | timeout = {time} - 指定された時間内にスレッドがアクティブにならなかった場合、そのスレッドは閉じられます。このパラメータは最初のNスレッドには影響を与えず、それらは要求を待ち続けます。 |
デフォルト値: 2m
o | stat = {yes|no} - プール内にあるスレッドの統計。SIGUSR1システムシグナルを受け取るたびに、[General]セクションからのBaseDirパラメータ値で指定されたディレクトリに保存されます。 |
デフォルト値: no
o | log_level = {Quiet|Error|Alert|Info|Debug} - プール内にあるスレッドに対するログの詳細レベル。値が明確に指定されていない場合は[Logging]セクションからのLogLevelパラメータ値が使われます。 |
o | stop_timeout = {time} - 動作しているスレッドが停止するまでの時間の上限(プログラムが動作を終了、またはプール内のスレッド数を減らす必要がある場合など)。 |
例:
InPoolOptions = auto, timeout=1m, stat = yes
スレッド数は自動的に検出されます。それを過ぎるとスレッドが動作していないと見なされるタイムアウトは1分に設定され、統計が収集されます。
• | string - コンマによって区切られたテキスト値のセットです。パラメータ値がfile:/path_to_fileフォーマットで設定されている場合、テキスト値は path_to_fileファイルから取られます。このファイル内でテキスト値はそれぞれ別々のラインで指定されなくてはなりません。値をpath_to_fileファイルから読み込むことが出来ない場合、エラーに関する通知がログに出力され、プログラムは続けて実行されます。 |
• | lookups - オブジェクト内の検索を実行、またそれらの値を受け取るための一般インターフェース。値はコンマによって区切られています。値の前に検索の種類を特定するプレフィックスを置くことが出来ます。 [PREFIX1:]VALUE。1, [PREFIX2:]VALUE2, ... プレフィックスが指定されていない場合、値のみが使われます。使用出来るプレフィックスは以下のとおりです。 |
o | file - ファイルへのパス。ファイル内の値はそれぞれ新しいライン上になくてはなりません。 ファイル内でソート、及びバイナリサーチを使うことができるので、最も速く検索することが出来ます。 |
o | regex - 正規表現(Perlシンタックス)はサブストリングとして検索されます。完全に適合する必要ありません。 |
o | rfile - ファイルへのパス。ファイルには正規表現(Perlシンタックス)のセットが含まれ、それらはそれぞれ新しいライン上になくてはなりません。 |
o | odbc, oracle - ODBCまたはOracleデータベースに対するSQL要求。 |
o | postgres - PostgreSQL データベースに対するSQL要求。 |
o | cdb - CDBデータベースに対する要求(例えばデータベースキーのテキスト名)。CDBデータベースはSQLシンタックスには対応していません。対応しているのは[text key]:[text value] 要求のみです。 |
o | berkeley - Berkeleyデータベースに対する要求。 |
o | firebird - Firebirdデータベースに対するSQL要求。 |
o | sqlite - SQLiteデータベースに対するSQL要求。 |
o | mysql - MySQLデータベースに対するSQL要求。 |
• | LookupsLite - 1つの点を除いてlookupsと同じです。このタイプでは値そのものか、またはfileタイプの検索のみ使うことが出来ます。 |
• | storage - データを保存するオブジェクト。プレフィックスの種類が異なり、また $sマクロを使用することが出来ないという点を除いてlookupsと同じシンタックスです。 |
使用出来るプレフィックスは以下のとおりです。
o | odbc - シンタックスはLDAPに対する要求と同じです。SQL要求では、値は:name<type> フォーマットで指定されます。 name は保存するオブジェクトの名前(パラメータごとにそれぞれ独自の、使用できる名前のリストが使われます)で、typeはデータベースに記録される時に使われるパラメータの種類です。 |
o | oracle - シンタックスはODBCに対する要求と同じです。 |
o | postgres, mysql, sqlite, firebird - シンタックスは1つの点を除いてODBCに対する要求と同じです。char(length) タイプには対応していません。ストリングデータにはvarchar_longタイプを使う必要があります。 |
例:
"odbc:insert into plugin_stat values (:plugin_name<varchar_long>, :size<int>, :num<int>)";
この要求ではカンマが使われているため、引用符が必要であることに注意してください。
• | TLS Settings - TLS及びSSL暗号化通信設定。設定フォーマットは PARAMETER VALUEです。PARAMETER VALUEのペアはカンマで区切られています。VALUEがファイルへのパスである場合、大文字と小文字の区別をします。現在のバージョンでは以下の設定に対応しています。 |
o | use_sslv2 {yes | no} - SSLv2プロトコル使用のトグル。このプロトコルは安全ではないので、デフォルトでは使用は無効になっています。 |
o | use_sslv3 {yes | no} - SSLv3プロトコル使用のトグル。 デフォルトでは有効です。 |
o | use_tlsv1 {yes | no} - TLSv1プロトコル使用のトグル。 デフォルトでは有効です。 |
o | private_key_file {path to the file} - プライベートキーファイルへの絶対パス。キーはPEMフォーマットでなくてはならず、また暗号化することが出来ます。サーバコンフィギュレーションにはパラメータが必要です。パラメータの値はデフォルトでは指定されていません。 |
o | private_key_password {string} - private_key_fileパラメータで指定されたキーに対するパスワード。パラメータ値はデフォルトでは指定されていません。 |
o | certificate {path to the file} - 署名付きパブリックキーがある証明書のファイルへのパス。このパラメータの値はprivate_key_fileパラメータの値と一緒に指定する必要があります。サーバコンフィギュレーションにはこのパラメータが必要です。パラメータの値はデフォルトでは指定されていません。 |
o | verify_mode {none | peer | client_once | fail_if_no_peer_cert} - ピア証明書を検証するモードを設定。 |
• | none - ピア証明書の検証をスキップします。デフォルトではこの値が設定されています。 |
• | peer - ピア証明書を検証します。サーバが匿名暗号化に対する証明書を送信しない場合、クライアントモードではこのパラメータは無視されます。クライアント接続ではこれがデフォルト値です。 |
• | client_once - 初めて接続された時にのみサーバが証明書を要求するようにします。このパラメータのpeer値と一緒にのみ使用することが可能です。 |
• | fail_if_no_peer_cert - クライアント証明が無い場合にエラーとして扱うようサーバを設定します。値はこのパラメータのpeer値と一緒にのみ使用することが可能です。 |
例:
verify_mode peer, verify_mode client_once
verify_mode none
peer と none が同じブロック内にある場合、最後に指定された値が使われます。
o | verify_ca {the path to a file | the path to a directory} - PEMフォーマットのCA証明書があるファイルまたはディレクトリへの絶対パス。これらの証明書はピアの証明書を検証するのに使われます。 |
o | cipher_list {string} - 使用出来る暗号化アルゴリズムのリスト。リストのフォーマットに関する情報を得るにはman ciphersコマンドを使用します(OpenSSLがインストールされている必要があります)。 |
• | value - パラメータの中には、上記以外のタイプを持つことが出来るものもあります。 |
Dr.Web MailDコンポーネントへのロギングは非常に詳細(Debug値が指定されている場合)、または完全に省略される(Quiet値が指定されていて、どの情報もロギングされない場合)ことがあります。ログの詳細レベルの設定にはQuiet、Error、Info、Alert、Notice、Warning、Verbose、Debugの値を使用します。
全てのDr.Web MailDコンポーネントにQuiet、Error、Alert、Info、Debugのログの詳細レベルを使用します。
Dr.Web Daemon 及び Dr.Web Scanner コンポーネントは Error、Info、Notice、Warning、Alertのレベルで動作します。
Dr.Web Updaterコンポーネントには Quiet、Error、Alert、Info、Debug、Verboseのレベルを使用します。
|