Kelly

閲覧数: 81(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)
IT小ネタ
blank

夜明けがすっかり遅くなり、季節はすっかり秋になりました。でも今週は夏日もあり、変な季節感だったけど。  続きを読む

ElasticPress 4.3
blank

ElasticPressは、WordPressでElasticsearchを使うためのプラグインとい  続きを読む

予約する?
blank

帰り道のコンビニで、夕食のおにぎりとおやつを買った後、クルマに乗って目にしたのは。 「クリスマスご予  続きを読む

鳩のなかの猫
blank

1959年に発表されたクリスティの長編「Cat Among the Pigeons」の邦題、Wiki  続きを読む

SWIPERでSLIDER
blank

無料テーマを独自に改善する活動の一環として、前回は「おすすめ記事」を表示する部分について書きました。  続きを読む

レオンの歴史
blank

プロジェクションマッピングによってレオンの歴史を紹介するページェントをサンイシドロで催すというので、  続きを読む

スポンサーリンク

コメントを残す

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