19.3.2.5. Spam の停止
電子メールのスパムは、通信を要求したことがないユーザーから受信した、不要な迷惑メールとして定義することができます。これは、破壊的でコストがかかる、広く蔓延したインターネット通信標準の悪用です。
Sendmail を使用すると、迷惑メールの送信に使用されている新たなスパム技術を比較的に簡単にブロックすることができます。さらに、数多くの一般的なスパム手法もデフォルトでブロックします。sendmail で利用可能な主要なアンチスパム機能は ヘッダーチェック、リレー拒否 (バージョン 8.9)、アクセスデータベース、送信者情報の確認 です。
たとえば、リレーとも呼ばれる
SMTP
メッセージの転送は、Sendmail バージョン 8.9 以降デフォルトでは無効になっています。この変更前に、Sendmail はメールホスト(x.edu
)に対して、ある当事者(y.com
)からのメッセージを受け入れるよう指示し、それらを別の当事者(z.net
)に送信していました。しかし、現在は任意のドメインがサーバーを介してメールをリレーするよう Sendmail を設定する必要があります。リレードメインを設定するには、/etc/mail/relay-domains
ファイルを編集して Sendmail を再起動します。
~]# service sendmail restart
ただし、ユーザーはインターネット上のサーバーからスパムを送信することもできます。その場合は、
/etc/mail/access
ファイルで利用可能な Sendmail のアクセス制御機能を使用して、不要なホストからの接続を阻止することができます。以下の例は、このファイルを使用したブロックの方法と Sendmail サーバーへのアクセスを具体的に許可する方法を示しています。
badspammer.com ERROR:550 "Go away and do not spam us anymore" tux.badspammer.com OK 10.0 RELAY
この例では、basp
ammer.com から送信
された電子メールはいずれも 550 RFC-821 準拠のエラーコードでブロックされ、メッセージは送り返されます。tux.badspammer.com
サブドメインから送信される電子メールは受け入れられます。最後の行は、10.0..* ネットワークから送信された電子メールは、メールサーバーを介してリレーできることを示しています。
/etc/mail/access.db
ファイルはデータベースであるため、makemap コマンドを使用して変更を更新します。これは、root
で以下のコマンドを使用して行います。
~]# makemap hash /etc/mail/access < /etc/mail/access
メッセージヘッダー分析により、ヘッダーの内容に基づいてメールを拒否することができます。
SMTP
サーバーは、電子メールの取り組みに関する情報をメッセージヘッダーに保存します。メッセージがある MTA から別の MTA に移動すると、それぞれは他のすべての Received
ヘッダーの上に Received
ヘッダーに配置されます。この情報はスパムで変更可能である可能性があることに注意してください。
上記の例は、アクセスの許可や阻止に関する Sendmail が持つ機能のほんの一部です。詳細と例は、
/usr/share/sendmail-cf/README
ファイルを参照してください。
Sendmail は、メールの配信時に Procmail MDA を呼び出すため、SpamAssassin のようなスパムフィルタリングプログラムを使用して、ユーザーに対してスパムを識別してファイルに保存することも可能です。SpamAssassin の詳細な使用方法は、「spam フィルター」 を参照してください。