Dr.Web MailD はプロトコルフィルタプログラム経由でIMAPサーバと動作することが可能です(キャッシングはサポートされています)。IMAPフィルタプログラムはIMAPサーバのdrweb-maildと接続されたプロキシサーバで、サーバによってユーザに送信された電子メールをフィルタします。IMAPサーバはローカル、またはリモートコンピュータ上で動作することができます。
[IMAP]セクションではdrweb-imapモジュールに関する設定が定義されています。
ServerAddress = {socket address}
|
フィルタがIMAPサーバへの接続に使用するアドレスの指定です。
|
デフォルト値:
ServerAddress = inet:imap@127.0.0.1
|
ListenAddress = {socket address}
|
クライアントからのリクエストを受け取る際に使用するソケットアドレスのリストを指定します。
次の種類のアドレスを指定することが出来ます: inet:.. or inet-ssl:.. (TLS/SSLを使用する場合)
後者の場合、 IMAPフィルタが使用するIMAPSプロトコルが必要です。
|
デフォルト値:
ListenAddress = inet:5200@0.0.0.0
|
ServerTLSSettings = {TLS/SSL settings}
|
IMAPでのサーバ接続に対するTLS/SSL 設定を指定します。
設定はカンマで区切られます。認証および非公開キー(private_keyファイル)が指定され、inet-sslソケットが使用されている場合のみサーバが使用されます。使用可能なパラメータについての詳細は一般設定ファイルの説明をご覧ください。
例:
ServerTLSSettings = use_sslv2 no, private_key_file /path/to/pkey, certificate /path/to/certificate
IMAPフィルタによって権限を使用されるユーザ(通常drwebユーザ)は認証のあるファイルに対する読み取り権限を持っている必要があります。
プログラムの現在のバージョンではSSLセッションのキャッシュは出来ません。
|
デフォルト値:
ServerTLSSettings =
|
ClientTLSSettings = {TLS/SSL settings}
|
IMAPでのクライアント通信に対するTLS/SSL設定の指定です。.
設定はカンマで区切られます。使用可能なパラメータについての詳細は一般設定ファイルの説明をご覧ください。
例:
ClientTLSSettings = use_sslv2 no, private_key_file /path/to/pkey, certificate /path/to/certificate
IMAPフィルタによって権限を使用されるユーザ(通常drwebユーザ)は認証のあるファイルに対する読み取り権限を持っている必要があります。
プログラムの現在のバージョンではSSLセッションのキャッシュは出来ません。
|
デフォルト値:
ClientTLSSettings =
|
IoTimeout = {time}
|
動作が進行中の場合の、クライアントソケットとの全ての入力/出力動作に対するタイムアウトの指定です。
|
デフォルト値:
IoTimeout = 60s
|
ProcessingTimeout = {time}
|
drweb-maild がメッセージを処理するタイムアウトの指定です。
|
デフォルト値:
ProcessingTimeout = 60s
|
MinFilterToMaildConnections = {numerical value}
|
IMAPフィルタとdrweb-maild 間の接続数の下限を指定します。
|
デフォルト値:
MinFilterToMaildConnections = 2
|
MaxFilterToMaildConnections = {numerical value}
|
IMAPフィルタとdrweb-maild間の接続数の上限を指定します。値が0に設定されている場合、接続数に制限はありません。
|
デフォルト値:
MaxFilterToMaildConnections = 0
|
FilterToMaildKeepAliveTime = {time}
|
IMAPフィルタとdrweb-maild間の非活動接続を保持する時間の上限を指定します。
drweb-maildとインタラクトする為にIMAPフィルタはdrweb-maildとの接続を複数維持し、各接続はそれぞれ1つの動作を行います。使用可能な接続が残っていない場合、MaxFilterToMaildConnectionパラメータ値で指定された閾値の数に達するまで新しい接続が作成されます。FilterToMaildKeepAliveTimeパラメータ値で指定された時間を超えて接続が非活動であった場合、それらの接続は閉じられます。開かれた接続の合計はMinFilterToMaildConnectionsパラメータ値よりも少なくなることはありません。
|
デフォルト値:
FilterToMaildKeepAliveTime = 60s
|
CallbackPoolOptions = {pool settings}
|
補助スレッドプール設定の指定です。スレッドはdrweb-maildからの、完了したメッセージ処理に関するシグナルを処理します。
|
デフォルト値:
CallbackPoolOptions = auto
|
ThreadInactivityTimeout = {time}
|
スレッド非活動のタイムアウトを指定します。この時間を経過すると、非活動スレッドは削除されます。
|
デフォルト値:
ThreadInactivityTimeout = 30s
|
PoolOptions = {pool settings}
|
メインスレッドプールの設定を指定します。このスレッドはクライアントからの接続を処理します。各接続にはそれぞれ新しいスレッドが必要です。それが無い場合、クライアントのいくつかはフリースレッドを待って接続が切れたままになります。
|
デフォルト値:
PoolOptions = auto
|
MaxConnections = {numerical value}
|
受信する接続数の上限を指定します。値が0に設定されている場合、制限はありません。
|
デフォルト値:
MaxConnections = 0
|
MaxConnectionsPerIp = {numerical value}
|
1つのIPアドレスからの同時接続数の上限を指定します。値が0に設定されている場合、制限はありません。
|
デフォルト値:
MaxConnectionsPerIp = 0
|
DisablePlainText = {Yes | No}
|
クライアントがログインおよびパスワードをプレーンテキストで送信することを許可しない指定です。前もって設定するにはOpenSSLが必要です。
|
デフォルト値:
DisablePlainText = no
|
DoS_Blackhole = {Yes | No}
|
1つのIPアドレスからの同時接続が多すぎた場合に、クライアントに対してエラーメッセージを送信せずにそれらをすぐにドロップする指定です。
|
デフォルト値:
DoS_Blackhole = no
|
MaxCommandLength = {size}
|
IMAPプロトコルに対するコマンドの最大サイズを指定します。各コマンドは、クライアントからサーバに送信されるストリングです。現在のRFCによると、このコマンドの可能な最大サイズは約1000バイトです。
このパラメータ値が小さい(10バイト以下)、または0に設定されている場合、クライアントのコマンドは処理されないので注意してください。
|
デフォルト値:
MaxCommandLength = 1000b
|
MaxCachedHeadersPerMail = {size}
|
よく使われるヘッダを保存する為に割り当てられるメモリサイズの上限を指定します。IMAPフィルタは、メインメッセージヘッダへのアクセスを迅速化するためにそれらをランダムにキャッシュします。
値が0に設定されている場合、制限はありません。
|
デフォルト値:
MaxCachedHeadersPerMail = 64k
|
MaxLettersPerUser = {numerical value}
|
1つのセッション中にキャッシュされるメッセージの最大数を指定します。IMAPプロトコルによってクライアントは1つのメッセージに対する部分的リクエストを大量に実行することが出来る為、IMAPフィルタは、チェックされたメッセージのキャッシュを保持します。
多くの場合リクエストは順次実行されますが、ユーザが複数のレコードを要求した場合はメッセージを2つ以上キャッシュする必要があります。
値が0に設定されている場合(推奨出来ません)、キャッシュされるメッセージ数に上限は無いとみなされます。
|
デフォルト値:
MaxLettersPerUser = 6
|
MaxDiskPerUSer = {size}
|
キャッシュされたメッセージが占めるディスク容量の上限を指定します。
|
デフォルト値:
MaxDiskPerUSer = 10m
|
OnFilterErrors = {actions}
|
メッセージがdrweb-maildモジュールに渡される前にエラーが発生した場合にメッセージに適用されるアクションの指定です。可能な値はrejectおよびpassです。
|
デフォルト値:
OnFilterErrors = reject
|
IMAPフィルタは、メインメッセージヘッダへのアクセスを迅速化するためにそれらをRAMメモリ内にキャッシュします。 理論上、使用可能なメモリを全て消費し、ヘッダを多く含む大量のメッセージによってIMAPフィルタの動作を遅くさせすることが可能です。
IMAPフィルタは、キャッシュするヘッダの合計サイズをコントロールする特別なanti-floodingパラメータであるMaxCachedHeadersPerMailを持っています。このパラメータの値が小さすぎると、MIME attachmentの名前とタイプを表示するのが難しくなる場合があるので注意してください。
IMAPフィルタとお使いのMTAとのインタラクションを設定するにはmaild_MTA.mmcファイル内の以下のラインをアンコメントしてください。
drweb-imap local:/var/drweb/ipc/.agent 15 30 MAIL drweb:drweb
|