自宅サーバの道しるべ
▼ホーム
ホームへ戻る
▼基本設定
ネットワーク構成
Fedoracore3の設定
コンパイラの導入
ポート設定の概要
ポート設定(ルータ)
ポート設定
(ファイアウォール)
▼新サーバPC
新サーバPCのスペック
ネットワークドライバの
インストール
グラフィックドライバの
インストール
▼ダイナミックDNS
ダイナミックDNSの概要
DynDNSの設定
ddclientの設定
▼メールサーバ
メールサーバの概要と準備
Postfixの構築
Qpopperの構築
不正メール中継テスト
空メール(自動返信メール)
スパムメール対策(Postfix)
バーチャルドメイン設定
(Postfix)
▼Webサーバ
Webサーバの概要と準備
Apacheの構築
PHPの構築
バーチャルホストの設定
HTTPリダイレクトの設定
▼データベース
MySQLの構築
PostgreSQLの構築
▼FTPサーバ
FTPサーバの概要と準備
vsftpdの構築
▼共有サーバ
Sambaの概要と準備
Samba構築(ファイル共有)
cupsの概要と準備
cupsの構築(プリンタ共有)
プリンタ設定(クライアント)
▼資料
HTTPステータスコード
▼リンク
参考書籍一覧
参考書籍のレビュー
リンク
関連サイト
 ■ホーム>スパムメール対策(Postfix)
■スパムメールとは
不要な広告メール、または迷惑メール等の望まないメールのことです。
これらのメールは大変迷惑なことに無差別送信されています。

特に自分のサイト等にメールアドレスを載せておくと、
そのメールアドレス宛に大量のスパムメールが届きます。

※当サイトでもサポート用メールアドレス”support@my-server.homelinux.com”宛に
 かなりの数のスパムメールが毎日送られてきます。


■Postfixによるスパムメール対策の効果
Postfixの構築ページでは分かりやすいように構築のみに限定した内容の為、
最低限の機能であるメール送信のみの動作環境でした。
つまりスパムメールに対しては無防備な状態となっています。

そこでPostfixの環境設定にいくつか項目を追加し、スパムメールを排除します。
但し、排除といってもスパムメール対策はPostfixの設定だけでは不十分であり、
スパムメールの判別は非常に困難な為現在のところ完璧な防御手段というものがありません

上記の理由により、Postfixの設定によるスパムメール対策は
スパムメールを完全に排除するのではなく、スパムメールを減らす
という程度に捉えて下さい。


■スパムメールに対するセキュリティレベル
当サイトではスパムメールに対するセキュリティレベルを独自に”低・中・高”の
3段階に分けて説明します。
各セキュリティレベルの概要は以下のようになります。
セキュリティ
レベル
概 要
何も対策しない、最も危険な状態です。
すべてのメールを無条件に受信します。
ある程度のスパムメールを排除できます。
※当サイトでは、この排除レベルで運用しています。
かなり高確率でスパムメールを排除できます。
強力な反面、悪意の無いメールもブロックしてしまう場合があります。
セキュリティレベル”低”については説明の必要がありません。
説明の順番からすると次はセキュリティレベル”中”なのですが、
訳あって先にセキュリティレベル”高”の設定について説明します。

セキュリティレベル”高”の設定
Postfix環境設定ファイル”/etc/postfix/main.cf”の末尾に次の設定を追加します。
環境設定ファイル(セキュリティレベル”高”)
/etc/postfix/main.cf
disable_vrfy_command = yes
smtpd_helo_required = yes
smtpd_client_restrictions = reject_unknown_client
■解説
disable_vrfy_command = yes
VRFYコマンドの使用を禁止します。
VRFYコマンドとは、ユーザーが存在するか問い合わせるコマンドです。
このコマンドを禁止にすることにより、有効なメールアドレスの流出を防ぐことができます。

smtpd_helo_required = yes
HELO コマンドでホスト名を通知しないホストの接続を拒否します。

smtpd_client_restrictions = reject_unknown_client
IPアドレスから対応するホスト名を引けない(逆引きができない)場合に拒否します。
この設定が諸刃の剣で、悪意の無いメールも排除してしまう場合があります。

具体的な例として、下記のような環境の場合を想定します。

設置場所 ドメイン メールアドレス IPアドレス
自宅PC home.xx.jp jitaku.mail@home.xx.jp 11.22.33.44
会社PC office.xx.jp kaisha.mail@office.xx.jp 55.66.77.88
具体的な例として、上記のような環境を想定します。
その環境下で、以下のような設定でメールを送信します。

・自宅PCから送信元(from)が会社PCのメールアドレス”kaisha.mail@office.xx.jp”としてメール送信
・会社PCから送信元(from)が自宅PCのメールアドレス”jitaku.mail@home.xx.jp”としてメール送信

いずれの場合も、メールアドレスのドメイン名とIPアドレスが一致しない為、
550 relaying to <送信元メールアドレス> prohibited by administrator

というエラーメッセージが返ってきます。

※会社のメールアドレスを個人的に使用することは好ましくありませんが、
 身近で分かりやすい具体例として取り上げました。

セキュリティレベル”中”の設定
セキュリティレベル”高”で都合が悪い方は、こちらの設定がおススメです。
上記のセキュリティレベル”高”よりスパムメール排除率は下がりますが、
悪意の無いメールを弾いてしまうことはなくなります。
環境設定ファイル(セキュリティレベル”中”)
/etc/postfix/main.cf
disable_vrfy_command = yes
smtpd_helo_required = yes
smtpd_sender_restrictions = permit_mynetworks, reject_unknown_sender_domain
■解説
disable_vrfy_command = yes
VRFYコマンドの使用を禁止します。
VRFYコマンドとは、ユーザーが存在するか問い合わせるコマンドです。
このコマンドを禁止にすることにより、有効なメールアドレスの流出を防ぐことができます。

smtpd_helo_required = yes
HELO コマンドでホスト名を通知しないホストの接続を拒否します。

※上記2つの設定項目はセキュリティレベル”高”と同じです。

smtpd_sender_restrictions = permit_mynetworks, reject_unknown_sender_domain
この項目では2つの値を設定しています。
どちらの設定にも該当しなかったメールは受信されます。
・permit_mynetworks→自身のネットワークからの接続を許可します。
・reject_unknown_sender_domain→送信元メールアドレスが存在しない場合に拒否します。

再起動
セキュリティレベルに関わらず、Postfixの環境設定ファイルを変更した場合、
Postfixを再起動させて環境設定を反映させます。
終端(ターミナル)を開きます。
# /etc/init.d/postfix restart
Shutting down postfix:           [
OK ]
Start postfix                         [
OK ]

#

このコマンドにより、
Postfixのサービスが再起動します。

スパムメール対策の参考サイト
このページで紹介する方法以外にもスパムメール対策はあります。
以下のサイトを参考にして、オリジナルのスパムメール対策設定に挑戦してみるのも良いでしょう!!
阻止率99%のスパム対策方式の研究報告
Postfixでスパムメールを拒否する

参考書籍
()カッコ内は現在発売中の新版に関する記述です。
※価格はすべて税込みの価格です。
実践Postfixメールサーバー構築 ソーテック ¥2,919
この本に対する当サイトのレビューを見る



ホームへ戻る

ページトップへ