TeamWARE Office 200X V2.0 管理者ガイド |
目次 索引 |
第8章 MIMEゲートウェイの管理 | > 8.9 スパムメールフィルタ |
ここでは、コネクションフィルタに含まれる2つの機能(IPフィルタ機能、SMTPフィルタ機能)について説明します。
IPフィルタ機能は、MIMEゲートウェイのSMTPレスポンダスレッドへの接続を制限する機能です。接続に関する制限機能としては、“8.8 外部からの接続制限”で説明した「allow_ip_address」と「no_relay」がありますが、この機能はそれを拡張したものです。
この機能では、外部からSMTPレスポンダへの接続に対して、IPアドレスをチェックすることにより、「接続」や「Relay」の許可/拒否が設定できます。これにより、見知らぬネットワークからの接続や、中継機能を悪用した不正メールの第三者中継などを防ぐことができます。
IP フィルタ機能のフィルタ定義は、ipfiltersファイルに記述します。ipfiltersファイルには、「ACCEPT」、「REJECT」、「RELAY」の3つのセクションが存在し、それぞれにIPアドレスの範囲を記述します。セクションの意味を以下に示します。
セクション名 |
説明 |
---|---|
[ACCEPT] |
このセクションに定義されたIPアドレスは、接続を許可されます。 |
[REJECT] |
このセクションに定義されたIPアドレスは、接続が拒否されます。 |
[RELAY] |
このセクションに定義されたIPアドレスは、中継が許可されます。 |
なお、各セクションに同じIPアドレスがかかれた場合の優先度は、以下のようになります。
[RELAY] > [ACCEPT] > [REJECT]
また、どのセクションにも属さないIPアドレスの接続権限は、許可となります。中継については、no_relayオプションの設定に依存します。
[RELAY]セクションによる中継権限の制御を行う場合は、no_relayオプションの設定を行う必要があります。中継が許されない設定を行った場合、外部からはTeamWAREのベースアドレスを持っているアドレスにしかメールを送ることができなくなります。
no_relayオプションはto.iniの[MIME]セクションに記述し、パラメータにより、以下の動作をします。
no_relay=0 |
: |
すべての中継を許します。(デフォルト) |
no_relay=1 |
: |
すべての中継を拒否します。(TeamWAREの内部宛のみ送りことができます) |
no_relay=2 |
: |
送信者アドレスのベースアドレスがTeamWAREのベースアドレスと一致する場合のみ、中継を許します。 |
no_relay=3 |
: |
ipfiltersファイルの定義により中継が制御されます。 |
上記以外の値を指定した場合の動作は、0が指定された場合と同じになります。
no_relay機能の設定値とIPフィルタ機能の各セクションに書かれたIPアドレスとの関係は以下のようになります。
セクション |
接続 |
中継 |
---|---|---|
デフォルト |
○ |
○ |
[REJECT] |
× |
× |
[ACCEPT] |
○ |
○ |
[RELAY] |
○ |
○ |
セクション |
接続 |
中継 |
---|---|---|
デフォルト |
○ |
× |
[REJECT] |
× |
× |
[ACCEPT] |
○ |
× |
[RELAY] |
○ |
× |
セクション |
接続 |
中継 |
---|---|---|
デフォルト |
○ |
△ |
[REJECT] |
× |
× |
[ACCEPT] |
○ |
△ |
[RELAY] |
○ |
△ |
セクション |
接続 |
中継 |
---|---|---|
デフォルト |
○ |
× |
[REJECT] |
× |
× |
[ACCEPT] |
○ |
× |
[RELAY] |
○ |
○ |
各セクションに記述するIPアドレスのフォーマットは、CIDR形式で記述します。CIDR形式では、標準的な32ビットIPアドレスを表現することができます。さらに、先頭から有効なビット数を指定することができます。
例えば、CIDR形式は「206.13.01.48/24」のように記述します。この「/24」が先頭から24ビットが有効なネットワークアドレスという意味になります。ipfiltersの定義のフォーマットを以下に示します。
{CIDR address range}, {logging} |
フォーマット |
値 |
説明 |
---|---|---|
CIDR address range |
IPアドレス |
IPアドレスをCIDR形式で記述します。 |
logging |
on または off |
onの場合、動作ログを出力します。省略時はspam.iniの初期設定に依存します。 |
ipfiltersのフォーマットに違反した場合、以下のようなメッセージがspamfilter.logに出力されます。
#tomime# INFO 2004-01-16 05:40.46 pid:444/1772 1bc/6ec 128 |
CIDR形式の基本的な記述例を以下に示します。
1.2.3.4/32;1.2.3.4のみ |
ipfiltersの記述例 # |
allow_ip_addressオプションとIPフィルタ機能が同時に指定された場合は、allow_ip_addressオプションが優先されます。そのため、IPフィルタ機能を有効にするためには、allow_ip_addressオプションの定義を削除し、設定をipfiltersに記述しなおす必要があります。
allow_ip_address形式からCIDR形式への変換テーブルを以下に示します。
|
allow_ip_addressオプションは、オプションに指定されているIPアドレスしか接続が許されないようにするオプションです。記述されているIP以外は接続拒否となります。したがって、allow_ip_addressをipfiltersに転記する場合は、以下のような記述になります。
[REJECT] |
IPフィルタにチェックされた場合、spamfilter.logにログを出力します。
以下にログの例を示します。
#tomime# INFO 2003-11-26 02:08.58 pid:1672/1800 688/708 128 |
SMTPフィルタ機能は、MIMEゲートウェイのSMTPレスポンダスレッドとSMTPサーバ間で会話されるSMTP(Simple Mail Transfer Protocol)を制限する機能です。
この機能により、特定の送信者、受信者アドレスによりメール拒否などが行えるようになります。
SMTP フィルタ機能のフィルタ定義は、smtpfiltersファイルに記述します。
smtpfiltersの定義のフォーマットを以下に示します。
{Command}, {Pattern}, {Action}, {Logging} |
フォーマット |
値 |
説明 |
---|---|---|
Command |
HELO |
チェックするSMTPコマンド名を記述します。 |
Pattern |
文字列 |
一致条件の文字列を記述します。 |
Action |
Accept |
Acceptは許可である。Rejectの場合は、「:」で区切って、応答メッセージを記述します。 |
logging |
on または off |
onの場合、動作ログを出力します。 |
なお、ActionがRejectの場合、応答メッセージも記述する必要があります。応答メッセージは、フリーテキストですが、メッセージの最初は、RFC2821に定義される応答コード(例えば550など)の範囲内である必要があります。
また、Patternには、カンマ「,」を含む文字列は指定できません。
smtpfiltersのフォーマットに違反した場合、以下のようなメッセージがspamfilter.logに出力されます。
#tomime# INFO 2004-01-16 05:40.46 pid:444/1772 1bc/6ec 128 |
以下にコマンドとその用途について説明します。
HELO(EHLO)は、SMTP接続の最初に送られてくるコマンドです。通常、このコマンドの引数には、接続を行おうとするSMTPサーバのマシン名(FQDN)が指定されています。この文字列を一致条件に記述すれば、SMTPサーバのマシン名で拒否することが可能になります。
拒否応答メッセージの例)RFC2822より
550 Requested action not taken: mailbox unavailable
MAILコマンドは、SMTPプロトコル上のメールの送信者アドレスが指定されているコマンドです。このコマンドの引数には、送信者アドレスが指定されています。一致条件に送信者アドレスを記述すれば、特定の送信者からのメールを拒否することが可能になります。
拒否応答メッセージの例)RFC2822より
550 Requested action not taken: mailbox unavailable
RCPTコマンドは、SMTPプロトコル上のメールの受信者アドレスが指定されているコマンドです。このコマンドの引数には、受信者アドレスが指定されています。一致条件に受信者アドレスを記述すれば、特定の受信者のメールを拒否することが可能になります。
拒否応答メッセージの例)RFC2822より
550 Requested action not taken: mailbox unavailable
smtpfilters の記述例を以下に示します。
HELO, bigbadspammer.com, reject:550 Mail not allowed from this domain, on |
SMTPフィルタにチェックされた場合、spamfilter.logにログを出力します。
以下にログの例を示します。
#tomime# INFO 2003-12-25 05:57.20 pid:824/1888 338/760 128 |
SMTPフィルタ機能は、一致条件に書かれた文字列とSMTPコマンドで送られてきた文字列を比較します。
指定された文字列がコマンドに含まれた場合、一致したと判断します。なお、一致条件{Pattern}を省略した場合、すべてに一致することになります。
目次 索引 |