[Receiver]セクションではReceiverコンポーネントの設定が定義されています。このコンポーネントはEximおよびPostfixメールシステム向けDr.Web for UNIX mail servers、およびDr.Web for UNIX mail gatewaysで使用します。

Address = {socket address}

Receiverコンポーネントがメッセージを受け取る際に使用するアドレスの指定です。このパラメータの値としてソケットのアドレスが指定されます(TCPソケットをinet:port@hostname形式で、またはUNIXソケットをlocal:path_to_socket_file形式で)。

デフォルト値:

Address = inet:25@0.0.0.0

PoolOptions = {pool settings}

スレッドプールの設定を指定します。

デフォルト値:

PoolOptions = auto

RealClients = {Yes | No}

クライアントまたはMTAからの直接接続の許可を指定します。

デフォルト値:

RealClients = Yes

ProcessingErrors = {actions}

メッセージ受信中にエラーが発生した際に適用するアクションの指定です。必須アクションはtempfail、discard、rejectで、指定可能なアクションはいずれか1つです。

デフォルト値:

ProcessingErrors = reject

StalledProcessingInterval = {time}

処理が完了しなかったメッセージの再処理間隔の指定です。プラグインが受信し、Checkerコンポーネントに送るための処理が時間内に完了しなかったメッセージで、ネットワークまたは電源に問題がある場合に発生する可能性があります。

デフォルト値:

StalledProcessingInterval = 10m

OneCommandTimeout = {time}

1つのコマンドを実行する際の最大許容時間の指定です。

デフォルト値:

OneCommandTimeout = 5m

OneMessageTimeout = {time}

1通のメッセージを受信する際の最大許容時間の指定です。

デフォルト値:

OneMessageTimeout = 10m

AddReceivedHeader = {Yes | No}

受信したメッセージ全てにReceived ヘッダを追加する指定です。

デフォルト値:

AddReceivedHeader = Yes

ReturnReject = {Yes | No}

Rejectアクションが発生した場合のReceiverコンポーネントポリシーの指定です。 Yesが指定された場合、5** errorを返します。Noが指定された場合は2** errorを返し、DSNレポートがメッセージの送信者に 送付されます。

Exim MTAを使用し、BeforeQueueFiltersリストにいくつかプラグインがある場合、メッセージが Eximキュー内でフリーズするのを防ぐためReturnReject = Noにすることを推奨します。

デフォルト値:

ReturnReject = Yes

GreetingString = {string}

新しいクライアントが接続された際にグリーティングメッセージを出力する指定です。"%host%"マクロが [General]セクションのHostnameパラメータ値に置き換えられ、"%ver%"マクロがdrweb-receiverモジュールの現在のバージョンに置き換えられます。

デフォルト値:

GreetingString = "%host% Dr.Web SMTP receiver v%ver% ready"

MaxRecipients = {integer}

最大受信者数の指定です。パラメータ値が0に設定されている場合、受信者数に制限はありません。

接続を開始したIPアドレスがtrustedに設定されている場合、この制限は検査されません。

デフォルト値:

MaxRecipients = 100

MaxConcurrentConnection = {integer}

1つのIPアドレスからのSMTP接続の最大数を指定します。パラメータ値が0に設定されている場合、制限はありません。

デフォルト値:

MaxConcurrentConnection = 5

MaxMailsPerSession = {integer}

1セッションごとのメッセージの最大数を指定します。パラメータ値が0に設定されている場合、制限はありません。

デフォルト値:

MaxMailsPerSession = 20

MaxReceivedHeaders = {integer}

Receivedヘッダの最大数の指定です。パラメータ値が0に設定されている場合、制限はありません。

デフォルト値:

MaxReceivedHeaders = 100

MaxErrorsPerSession = {integer}

1セッションごとのエラーの許容最大数の指定です。パラメータ値が0に設定されている場合、制限はありません。

デフォルト値:

MaxErrorsPerSession = 10

MaxMsgSize = {size}

メッセージの最大サイズの指定です。この制限は、接続を開始したIPアドレスがtrustedに設定されている場合でも、常にReceiverコンポーネントによって検査されます。

デフォルト値:

MaxMsgSize = 10m

MaxJunkCommands = {integer}

セッションごとのRSET、NOOP、NTFYコマンドの最大数を指定します。

指定された値を超えた場合、エラーカウンタがアクティブになります。

エラーカウンタの値は、メッセージがdrweb-maildモジュールによって正常に処理される度に0に設定されます。パラメータ値が0に設定されている場合、この制限は無視されます。

デフォルト値:

MaxJunkCommands = 100

MaxHELOCommands = {integer}

セッションごとのHELO、EHLO、LHLOコマンドの最大数を指定します。

指定された値を超えた場合、エラーカウンタがアクティブになります。

パラメータ値が0に設定されている場合、この制限は無視されます。

デフォルト値:

MaxHELOCommands = 20

RelayDomains = {lookups}

メッセージの中継を許可するドメインのリストの指定です。

デフォルト値:

RelayDomains =

以下のパラメータは、trustedに設定されていない接続IPアドレスをSMTPセッションの様々なステージで検証するアクションを指定します。

デフォルトではlocalhostおよびUNIXソケットからの接続のみがtrustedと見なされます。

接続のIPアドレスに適用される検証アクションは、対応するパラメータ値内でカンマで区切って連続的に指定されます。アクションは指定された順番で適用されます。

SessionRestrictions = {string}

接続が開始されるとすぐに実行される検査

trust_protected_network [SCORE] - [SCORE] - 接続IPアドレスがProtectedNetworksパラメータで指定されたリストに含まれている場合、そのアドレスはtrustedになります。SCOREが指定されている場合、その値は現在のセッション内で転送される各メッセージのスコア、および送信者のIPアドレスのスコアに加えられます。
trust_protected_domains [SCORE] - 接続IPアドレスがProtectedDomainsパラメータで指定されたリストに含まれているかどうかの検査で、二重のDNSリクエストを使用して実行されます。受信したホスト名がProtectedDomainsリスト内にあるかどうかを検査する為にPTRリクエストが送信されます。リストに含まれていた場合、受信したアドレスのリスト内に接続IPアドレスがあるかどうかを検査するためにAリクエストが送信され、これもあった場合に、アドレスはtrustedなIPアドレスになります。SCOREが指定されている場合、その値は現在のセッション内で転送される各メッセージのスコア、および送信者のIPアドレスのスコアに加えられます。
trust_white_networks [SCORE] - 接続IPアドレスがWhiteNetworksパラメータで指定されたホワイトリストに含まれている場合、そのアドレスはtrustedになります。SCOREが指定されている場合、その値は現在のセッション内で転送される各メッセージのスコア、および送信者のIPアドレスのスコアに加えられます。
trust_white_domains [SCORE] - 接続IPアドレスがWhiteDomainsパラメータで指定されたホワイトリストに含まれているかどうかの検査で、PTRリクエストが送信されます。リスト内にあった場合はtrustedなIPアドレスになります。SCOREが指定されている場合、その値は現在のセッション内で転送される各メッセージのスコア、および送信者のIPアドレスのスコアに加えられます。
reject_dnsbl [SCORE] - 接続IPアドレスがDNSBLListパラメータで指定されたRBL/DNSBLブラックリストに含まれているかどうかの検査で、PTRリクエストが送信されます。リスト内にあった場合、セッションは中断されエラーコードが返されます。SCOREが指定されている場合、その値は現在のセッション内で転送される各メッセージのスコア、および送信者のIPアドレスのスコアに加えられます。
reject_black_networks [SCORE] - 接続IPアドレスがBlackNetworksパラメータで指定されたブラックリストに含まれている場合、セッションが中断されます。SCOREが指定されている場合、エラーがログに出力され、スコアの値は現在のセッション内で転送される各メッセージのスコア、および送信者のIPアドレスのスコアに加えられます。
reject_black_domains [SCORE] - 接続IPアドレスがBlackNetworksパラメータで指定されたブラックリストに含まれているかどうかの検査で、PTRリクエストが送信されます。リスト内にあった場合、セッションは中断されエラーコードが返されます。SCOREが指定されている場合、エラーがログに出力され、スコアの値は現在のセッション内で転送される各メッセージのスコア、および送信者のIPアドレスのスコアに加えられます。

デフォルト値:

SessionRestrictions = trust_protected_network, trust_sasl_authenticated

HeloRestrictions = {string}

HELO/EHLO ステージで実行される検査

reject_unknown_hostname [SCORE] - ホスト名がDNS AレコードおよびDNS MXレコードのどちらも持っていない場合、そのアドレスからのメールはブロックされます。SCOREが指定されている場合、エラーがログに出力され、スコアの値は現在のセッション内で転送される各メッセージのスコア、および送信者のIPアドレスのスコアに加えられます。Aリクエストが送信され、またMXリクエストが送信される場合もあります。
reject_diff_ip [SCORE] - ReceiverIPアドレスが接続を開始したIPアドレスと異なる場合、そのアドレスからのメールはブロックされます。SCOREが指定されている場合、エラーがログに出力され、スコアの値は現在のセッション内で転送される各メッセージのスコア、および送信者のIPアドレスのスコアに加えられます。

デフォルト値:

HeloRestrictions =

SenderRestrictions = {string}

FROMステージで実行される検査

reject_unknown_domain [SCORE] - 送信者のホスト名がDNS AレコードおよびDNS MXレコードのどちらも持っていない場合、そのアドレスからのメールはブロックされます。SCOREが指定されている場合、エラーがログに出力され、スコアの値は現在のセッション内で転送される各メッセージのスコア、および送信者のIPアドレスのスコアに加えられます。Aリクエストが送信され、またMXリクエストが送信される場合もあります。
trust_sasl_authenticated [SCORE] - SASL認証に成功した場合、アドレスはtrustedなIPアドレスになります。SCOREが指定されている場合、その値がメッセージスコアに加えられます。

デフォルト値:

SenderRestrictions = trust_sasl_authenticated

RecipientRestrictions = {string}

RCPTステージで実行される検査。全ての受信者が順番に検査されます。

reject_unknown_domain [SCORE] - 送信者のホスト名がDNS AレコードおよびDNS MXレコードのどちらも持っていない場合、そのアドレスからのメールはブロックされます。SCOREが指定されている場合、エラーがログに出力され、スコアの値は現在のセッション内で転送される各メッセージのスコア、および送信者のIPアドレスのスコアに加えられます。Aリクエストが送信され、またMXリクエストが送信される場合もあります。
reject_unauth_destination [SCORE] - 送信先のドメインがRelayDomainsリストおよびProtectedDomainsリストのどちらにも含まれていない場合、このアドレスへのメールはブロックされます。SCOREが指定されている場合、エラーがログに出力され、スコアの値がメッセージスコアに加えられます。
reject_unknown_rcpts [SCORE] - 送信先がProtectedEmailsリスト内で指定されているかどうかを検査します。宛先のアドレスがリストに含まれていない場合、このアドレスへのメールはブロックされます。SCOREが指定されている場合、エラーがログに出力され、スコアの値がメッセージスコアに加えられます。anti_dha Reputation IP Filterと一緒に使用することを推奨します。

デフォルト値:

RecipientRestrictions = reject_unauth_destination

DataRestrictions = {string}

RCPT ステージで実行される検査。全ての受信者が順番に検査されます。

reject_spam_trap [SCORE] - スパムトラップの検査です。宛先のアドレスが<USER@HOST>形式を持っている必要があります。ProtectedDomainsパラメータで指定されたリストにホスト名が含まれていて(リストが空でなければ)、SpamTrapパラメータで指定されたリストにユーザ名が含まれている場合、メッセージはブロックされます。SCOREが指定されている場合、エラーがログに出力され、スコアの値がメッセージスコアに加えられます。フルメールアドレスはSpamTrapリスト内で指定することも出来ます。
reject_multi_recipient_bounce [SCORE] - FROMヘッダが空で複数の宛先をもつメールをブロックします。SCOREが指定されている場合、エラーがログに出力され、スコアの値がメッセージスコアに加えられます。

デフォルト値:

DataRestrictions =

RestrictionStat = {Yes | No}

制限のある動作に関する統計情報です。統計情報を得るにはdrweb-receiver処理にSIGUSER1シグナルを送信してください。統計情報は[General]セクションのBaseDirパラメータ内で指定されたディレクトリにあるrestrictions.txtファイルに保存されています。

デフォルト値:

RestrictionStat = No

DelayRejectToRcpt = {Yes | No}

RCPTステージまでメールのブロックを行わない指定です。このパラメータを設定すると最新でないメールクライアントと一緒に動作することができ、ブロックされた送信先アドレスのリストをログファイルに出力することが出来ます。

デフォルト値:

DelayRejectToRcpt = Yes

BlackNetworks = {lookups}

WhiteNetworks = {lookups}

ネットワークのブラックリストとホワイトリストの指定です。これらのリストはtrust_white_networksおよびreject_black_networksアクションで使用します。詳細についてはProtectedNetworksパラメータを参照してください。

デフォルト値:

BlackNetworks =

WhiteNetworks =

DNSBLList = {lookups}

DNSBLサーバのリストの指定です。このリストはreject_dnsblアクションで使用します。サーバはパラメータ値内で指定された順番で、メッセージがブロックされるまで、またはリストの最後まで検査されます。

デフォルト値:

DNSBLList =

PositiveDNSBLCacheTimeout = {time}

DNSBLサーバから返ってきた陽性の返答をキャッシュするタイムアウトの指定です。

デフォルト値:

PositiveDNSBLCacheTimeout = 24h

NegativeDNSBLCacheTimeout = {time}

DNSBLサーバから返ってきた陰性の返答をキャッシュするタイムアウトの指定です。

デフォルト値:

NegativeDNSBLCacheTimeout = 10m

NegativeDNSCacheTimeout = {time}

DNSサーバから返ってきた陰性の返答をキャッシュするタイムアウトの指定です。パラメータ値はDNSBL以外の全てのDNSの返答に対して有効です。

デフォルト値:

NegativeDNSCacheTimeout = 10m

BlackDomains = {lookups}

WhiteDomains = {lookups}

ドメインのブラックリストとホワイトリストの指定です。これらのリストはtrust_white_domainsおよびreject_black_domainsアクションで使用されます。詳細についてはProtectedDomainsパラメータを参照してください。

デフォルト値:

BlackDomains =

WhiteDomains =

SpamTrap = {lookups}

スパムトラップアドレスのリストの指定です。このリストはreject_spam_trapアクションで使用されます。

デフォルト値:

SpamTrap =

ReputationIPFilter = {list of filters}

Reputation IP filterによって、接続に関して収集された統計情報に応じてスコアをIPアドレスに割り当てることができ、スコアの合計が閾値を超えていた場合にはそのIPアドレスを一時的にブロックすることが出来ます。

使用可能なフィルタは次のとおりです: anti_dha、errors_filter、score_filter

フィルタはカンマで区切って記載され、指定された順番で検査されます。

デフォルト値:

ReputationIPFilter =

ProtectedEmails = {lookups}

保護するアドレスのリストの指定です。reject_unknown_rcpts制限内で使用されます。

無効な宛先を持つメールを破棄し、DHA攻撃を防ぐことが出来ます(Reputation IP Filter内のanti_dhaフィルタと一緒に使用されている場合)。

このパラメータとreject_unknown_rcpts制限を一緒に指定し、anti_dhaフィルタと一緒に使用することを推奨します。

デフォルト値:

ProtectedEmails =

MaxSessionScore = {integer}

各セッションの一般スコアに対する閾値の指定です。このスコアが閾値を超えている場合、該当する接続は一時的なエラーを返して閉じられます。この値が0に設定されている場合、このパラメータは無視されます。

デフォルト値:

MaxSessionScore = 10000

制限によって、メッセージが検査の為にdrweb-maildへ渡される前にSMTPセッションのステージでdrweb-receiverモジュール内の望まないメールをフィルタアウトすることが出来ます。リソースの消費を抑えることが出来、スパム検出能力を向上させる高いレベルのスパムフィルタリングが加わります。

制限はSMTPセッションの以下のステージで適用されます。

新しいクライアントの接続(SessionRestrictionsパラメータ)
HELO/EHLOコマンドの受信(HeloRestrictionsパラメータ)
FROMコマンドの受信 - クライアントが新しいメッセージの送信者を指定した場合(SenderRestrictionsパラメータ)
RCPTコマンドの受信 - クライアントが現在のメッセージに新しい宛先を追加した時(RecipientRestrictionsパラメータ)
DATAコマンドの受信 - クライアントが全ての宛先の転送を完了し、メッセージのボディを送信する準備が出来ている時(DataRestrictionsパラメータ)

制限は、*Restrictionsパラメータ値としてカンマで区切って設定され、その順番で左から右へ検査されます。制限が検査されるのは、他の検査が全て実行された後になります(コマンドの優先順位、それらのパラメータの有効性など)。

各接続ごとにTrusted IPフラグが検査されます。設定されている場合、制限は検査されません。 Trusted IPフラグはUNIXソケットを使用して確立された接続に対しては常に設定され、また、いくつかの制限に対しても設定することが出来ます。

ブロックされたメールの数やその効率を明らかにするために、それぞれの制限に関する統計情報を収集することが出来ます。収集されたデータを取得するには、シグナルの章に記載されている方法でdrweb-receiver処理に特別なシグナルを送ってください。統計情報の収集を有効/無効にするにはRestrictionStatパラメータを使用してください。

ブロックの効果は、SMTPセッションのどのステージで実行されるかによって異なります。ブロックがSessionRestrictionsパラメータの制限に応じて実行されている場合、セッション全体がブロックされているようになります。すなわち、ユーザからの以降の全コマンドに対してエラーが返されます。その他の全てのステージでのブロックは特定のコマンドにのみ効果があります。

各制限は任意のパラメータ-スコア値 [SCORE] を取ることが出来ます(スコア値が唯一の必須パラメータであるset_scoreおよびadd_score制限を除く)。スコアは、制限の種類によって異なる方法で処理されます。

メッセージの現在のスコアがパラメータ内で指定された値よりも小さい場合制限が適用されます。
メッセージの現在のスコアがパラメータ内で指定された値よりも大きい場合制限が適用されます。
制限がアクティブになった場合、該当するパラメータの値がメッセージスコアに加えられます。

制限はSMTPセッションのステージによって、現在のセッション内における各メッセージのスコアと一緒に実行される(SessionRestrictionsHeloRestrictionsステージ)か、または処理された各メッセージの個別のスコアと一緒に実行されます(その他のステージ)。

制限を検査するほとんど全てのステージで使用できる制限に加え、各ステージごとの特定の制限もあります。前者には以下が適用されます。

mark_trust [SCORE] - Trusted IP フラグをセットします。このパラメータ以降の制限は全てスキップされます。 SCOREが指定されている場合、現在のメッセージスコアが指定されたスコアよりも小さい場合にのみTrusted IP フラグがセットされます。
sleep SEC [SCORE] - スリープする時間をSECに秒で指定します。 スパマーの大半は、サーバからの返答をほんの数秒でさえも待たないので、それらをブロックするのに便利です。SCOREが指定されている場合、現在のスコアが指定されたスコアよりも大きいメッセージにのみ制限が適用されます。
tempfail [SCORE] - SMTPの一時的なエラー(コード4*)を返します。いくつかの検査を通らなかったが、後で通過する可能性のあるクライアントを一時的に拒否する必要がある場合に便利です。SCOREが指定されている場合、現在のスコアが指定されたスコアよりも大きいメッセージにのみエラーが返されます。
reject [SCORE] - SMTPの恒久的なエラー(コード5*)を返します。クライアントが検査を通らず、また今後も通過できない場合に便利です。SCOREが指定されている場合、現在のスコアが指定されたスコアよりも大きいメッセージにのみエラーが返されます。
pass_sasl_authenticated [SCORE]- クライアントがSASL認証を通過した場合に、SMTPのこのステージ上での他の検査を全てスキップします。認証はHELO/EHLOコマンドを受け取った後にのみ通過することが出来るので、この制限はSenderRestrictions、RecipientRestrictionsおよびDataRestrictionsステージでのみ便利です。SCOREが指定されている場合、現在のスコアがそのスコアよりも小さいメッセージに対する検査のみスキップされます。スキップされるのは、SMTPセッションのこのステージのみに対して指定された検査だけであるという点にご注意ください(例:pass_sasl_authenticatedの後)。他のステージでの検査はスキップされません。
set_score SCORE - 現在のメッセージスコアをSCORE値へ変更します。SessionRestrictionsまたはHeloRestrictionsステージで使用された場合、セッション内の全てのメッセージの値に効果があります。他のステージでは現在処理されているメッセージのスコアに効果があります。
add_score SCORE - SCORE値を現在のメッセージスコアに加えます。SessionRestrictionsまたはHeloRestrictionsステージで使用された場合、セッション内の処理された全てのメッセージのスコアに効果があります。他のステージでは現在処理されているメッセージのスコアに効果があります。

:

SenderRestrictions = trust_protected_networks, reject

- ProtectedNetworks内で指定されたIPアドレスからのメールのみ受信を許可します。他のIPアドレスはブロックされます。

SenderRestrictions = trust_protected_networks, trust_protected_domains, sleep 5, add_score 10

- ProtectedNetworks内で指定されたIPアドレスからのメール、およびProtectedDomains内で指定されたドメインからのメールのみ受信を許可します。その他のメールについては、継続前に5秒停止し、メッセージスコアを10ポイント追加します。