Kelly

閲覧数: 76(0)

This is Kelly from Jiangsu Longcheng Casting Machinery with more than 15 years’ experience, our core competence is shot blasting machine and sand blasting room.

中国から、レアメタル買わないかとか、ショットブラスト買わないかとか、しょーもないメールがサイトの連絡先に届きます。宛先はこのサイトではなくて、Tsubopediaの方ですが。Kellyはショットブラスト担当ですw ちなみにレアメタルはJamesが担当でした。

そもそもメールサーバーを止めればいいだけの話なんですが、SSL化の際にドメイン認証のために使っているのと、アドセンスやアマゾンアフィリエイトではコンタクト先は必須なので、安易に止めるわけにもいかず、転送先のメールボックスにルール設定して削除してきましたが、ちょっと手間をかけて根本的に対策してみようかと、だいたい、この手のSPAMと呼ばれるメールは、送信者のアドレスと、FROMアドレスが不一致であることが大半です。勝手によそのメールサーバーを経由して送信するのが常套手段なのです。

ヘッダーを見ると、以下のようにotte.comというカナダのプロバイダのアドレスです。

Sender:Kelly <bnqhkbhd@otte.com>

ところが、本当の送信元は、163.comという中国のプロバイダです。

smtp.mailfrom=bnqhkbhd@otte.com; dkim=none header.d=163.com; x-hmca=none header.id=ci760719@163.com

そもそも、中国のプロバイダからのメールなんて、SPAMしか来ないので、完全にブロックしていますが、通常の163.comをブロックするだけでは、otte.comを偽装(経由)されると通過してしまいます。otte.comをブロックすると、また新たな実在するドメインを偽装して送ってきます。

対策をするモジュールは、postfixで、基本的な設定としては、存在しないドメインからのメールを受信しない、とかです。この設定をすると2週間ぐらいは防げます。SPAMを送りつける時、適当なアドレスから送ると、postfixで弾いてくれますが、2週間ぐらいすると、実在するアドレスを勝手に使って送りつけるようになります。ここからイタチごっこが始まりますw

追加で対策したのは、SPF、Sender Policy Frameworkと呼ばれるSPAM対策です。FROMアドレスをいかに偽装しようとも、送信元のアドレスは偽装しようがないので、その両者を比較して偽装アドレスからのメールを拒否します。

モジュール自体はyumを使ってインストールします。

yum install pypolicyd-spf

AWS上のAmazon Linuxでは以下のモジュールがインストールされます。

================================================================================
 Package              アーキテクチャー
                                  バージョン               リポジトリー    容量
================================================================================
インストール中:
 pypolicyd-spf        noarch      1.3.2-1.el6              epel            44 k
依存性関連でのインストールをします:
 python-pydns         noarch      2.3.6-1.el6              epel            39 k
 python-pyspf         noarch      2.0.11-1.el6             epel            47 k
 python26             x86_64      2.6.9-2.88.amzn1         amzn-main      5.8 M
 python26-ipaddr      noarch      2.1.9-5.5.amzn1          amzn-main       58 k
 python26-libs        x86_64      2.6.9-2.88.amzn1         amzn-main      697 k

Pythonは既にインストールされているはずなのですが、ここであえてバージョン違いのPythonがインストールされます。これが原因で後で少しハマりました。正常にインストールされたことを確認するために、Pythonコマンドで確認しますが、エラーが出ます。

/usr/bin/python /usr/libexec/postfix/policyd-spf /etc/python-policyd-spf/policyd-spf.conf

テスト系では何のエラーも出なかったのに、本番系ではエラーが出てしまいます。

Traceback (most recent call last):
  File "/usr/libexec/postfix/policyd-spf", line 35, in <module>
    import spf
ImportError: No module named spf

標準で入っているのはPython2.7でPythonのリンク先は2.7となっていますが、policyd-spfはPython2.6が互換バージョンだったことが原因です。/usr/bin/python2.6と指定することで、先ほどの確認もエラーが出なくなります。実際の起動はPostfixから行われるので、/etc/postfix/master.cfの設定でpython2.6を指定するように変更します。master.cfの最終行へ追加します。

policy-spf     unix  -       n       n       -       0       spawn
  user=nobody argv=/usr/bin/python2.6 /usr/libexec/postfix/policyd-spf /etc/python-policyd-spf/policyd-spf.conf

main.cfへは次の設定を追加します。

smtpd_recipient_restrictions =
   == 途中省略 ==
   check_policy_service unix:private/policy-spf
 
   == 最終行へ追加 ==
policy_time_limit = 3600

Postfixを再起動すれば、設定は完了です。今回はデフォルトの「Fail」設定のまま行くので、設定ファイルは変更していませんが、確認しながら行く場合は、まずは状況を見て、「False」という選択もあります。

#  For a fully commented sample config file see policyd-spf.conf.commented

debugLevel = 1
defaultSeedOnly = 1

HELO_reject = Fail
Mail_From_reject = Fail

PermError_reject = False
TempError_Defer = False

skip_addresses = 127.0.0.0/8,::ffff:127.0.0.0/104,::1

Gmailなどでメールを送って見て、maillogにSPF-PASSと記録されていればOKだと思います。

img_1787
昨日、鳥取で大きな地震があって、お隣の島根県でも出雲市は震度4を記録、古い実家が崩れていないか確認のため、朝一で出雲入り。とりあえず見える範囲では無事でした。

カテゴリーIT閑話, 公開
関連記事
JL279
blank
2020年6月20日

4ヶ月ぶりの出雲便です。緊急事態宣言や移動自粛は解除されましたが、まだ1日3往復(先週までは1日1往  続きを読む

パンくずリスト詳細
blank
2020年5月12日

テーマの「マイナーチェンジ」に伴って「パンくずリスト」の仕様を若干変更しました。一つ前のテーマではパ  続きを読む

カテゴリーを制限する
blank
2020年5月11日

過去に何度も書いた「カテゴリー制限」の話、元はと言えば初期に書かれた「非公開」の記事が原因です。トッ  続きを読む

マイナーチェンジ
blank
2020年3月23日

かれこれ一年近くほったらかしだったので、気合をいれて「テーマ変更」と思っていたのですが、、、いろいろ  続きを読む

欧州出張番外編
blank
2020年3月5日

欧州出張も後半が終わりバルセロナに戻ってきました。ここからは番外編です。マドリッドを経由してレオンへ  続きを読む

欧州出張ミュン編
blank
2020年2月27日

正しくは「欧州出張ミュンヘン編」だけど長くなるので「ミュン編」、、、中学生か(笑)。。。ミュンヘンは  続きを読む

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください