レンタルサーバー・自宅サーバー設定・構築のヒント
レンタルサーバー・自宅サーバー設定・構築のヒント - レンタルサーバー・自宅サーバーの設定・構築情報を公開しています。

sendmail で smf-spf を使ってSPF認証する

2011年11月23日 2015年5月15日
postfix spf dkim

以前の記事 評判のさくらのVPSでSMTP(Sendmail)を公開する時にやっておきたいこと では、SPFの送信側の対処について記述しました。今回は、受信側の対応になります。 受信側が、SPFの認証作業が必要になりますので、Sendmail , Postfixなどのメールサーバーへの対応が必要になります。

ここでは、sendmailでSPF認証を行ってみます。

sendmail で SPF認証するためには、大きく3つのやり方があります。(個人的に調べた結果です。本当は、もっとあるかもしれませんが・・・。

  • spamass-milter + spamassassin + perl-Mail-SPF-Query ( perl-Mail-SPF ) を使う

    Postfixでは、postfix-policyd-spf-perl + perl-Mail-SPF の組み合わせが最も有名みたいです。


  • senderid-milter ( sid-milter ) を使う (libmilter.a が必要 )
    http://sourceforge.net/projects/sid-milter/

  • Sendmail SPF milter ( smf-spf ) を使う (libSPF2 が必要 )
    http://smfs.sourceforge.net/smf-spf.html
    ( SPF Sendmail milter と呼ばれているものも同じ )

ここでは、Sendmail SPF milter ( smf-spf ) を使ってみます。 色々と調べた結果、yum を使って簡単にインストールできそうなのは、smf-spf みたいです。CentOS , Scientific Linux , Fedora Core (RedHat系) なら、やっぱりyumでインストールできるのが良いですよね。

sendmail で smf-spfを使ってSPF認証する

SPF認証をするためにのsmf-spfをインストールし、sendmail でメール受信時に認証作業を行うために 情報を渡すように設定する必要があります。

まずは、smf-spfをインストールから、SPF認証するまでの手順を以降に記述します。

smf-spf をインストールする

smf-spf の rpm は、通常のリポジトリにはありません。
smf-spf の rpm は、http://www.city-fan.org/ で公開されています。
そのため、まずは、city-fan.org で公開されているリポジトリをインストールするところから始めます。

  1. city-fan.org リポジトリをインストールする
    $ wget http://www.city-fan.org/ftp/contrib/yum-repo/city-fan.org-release-1-10.rhel5.noarch.rpm
    $ rpm --import http://www.city-fan.org/ftp/contrib/yum-repo/CITY-FAN.ORG-GPG-KEY
    $ rpm -Uvh city-fan.org-release-1-10.rhel5.noarch.rpm
    それぞれのバージョンでリポジトリファイルが異なります。

    CentOS 4 : city-fan.org-release-1-10.rhel4.noarch.rpm
    CentOS 4 source : city-fan.org-release-1-10.rhel4.src.rpm
    CentOS 5 : city-fan.org-release-1-10.rhel5.noarch.rpm
    CentOS 5 source : city-fan.org-release-1-10.rhel5.src.rpm
    CentOS 6 : city-fan.org-release-1-10.rhel6.noarch.rpm
    CentOS 6 source : city-fan.org-release-1-10.rhel6.src.rpm

    Scientific Linuxも同じです。

  2. city-fan.org リポジトリは、無効にしておく

    city-fan.org リポジトリは、正式なところでもないので、間違って変なものをインストールしてしまうと面倒です。常に無効にしておきます。使いたい時は、yum のパラメータに–enablerepo を指定して使うようにしておきます。

    /etc/yum.repos.d/city-fan.org.repo

    [city-fan.org]
    name=city-fan.org repository for Red Hat Enterprise Linux (and clones) $releasever ($basearch)
    #baseurl=http://mirror.city-fan.org/ftp/contrib/yum-repo/rhel$releasever/$basearch
    mirrorlist=http://mirror.city-fan.org/ftp/contrib/yum-repo/mirrorlist-rhel$releasever
    enabled=0
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-city-fan.org
    ...

  3. smf-spf をインストールする
    $ yum -y --enablerepo=city-fan.org install smf-spf
    Loading mirror speeds from cached hostfile
     * base: ftp.nara.wide.ad.jp
     * city-fan.org: nervion.us.es
     * extras: ftp.nara.wide.ad.jp
          :
    
    Complete!
    $ 


smf-spf を利用するように sendmail.mc を編集する

smf-spf を sendmailで利用するためには、MILTER が組み込まれていないといけません。通常、CentOS , Scientific Linux で提供されている Sendmailは、既に組み込まれています。
sendmailに組み込まれているかどうか確認するためには、以下のようにコマンドで確認することができます。

$ sendmail -d0.10
Version 8.13.8
 Compiled with: DNSMAP HESIOD HES_GETMAILHOST LDAPMAP LOG MAP_REGEX
                MATCHGECOS MILTER MIME7TO8 MIME8TO7 NAMED_BIND NETINET NETINET6
                NETUNIX NEWDB NIS PIPELINING SASLv2 SCANF SOCKETMAP STARTTLS
                TCPWRAPPERS USERDB USE_LDAP_INIT
        :

上記のようにMILTERが含まれていればOKです。もし含まれていないようなら、再インストールするか、再構築してMILTERが組み込まれた状態にしましょう。

/etc/mail/sendmail.mc を以下のように追加します。

        :

define(`confMILTER_MACROS_HELO', confMILTER_MACROS_HELO`, {verify}')dnl
INPUT_MAIL_FILTER(`smf-spf', `S=unix:/var/run/smfs/smf-spf.sock, T=S:30s;R:1m')dnl

編集を終えたら、cfファイルを作成します。

$ m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

smf-spf を起動し、sendmail を再起動する

全ての設定を終えたら、smf-spf を起動し、sendmail を再起動します。

$ /etc/init.d/smf-spf start
smf-spf を起動中:                                          [  OK  ]

$ /etc/init.d/sendmail restart
sendmail を停止中:                                         [  OK  ]
sendmail を起動中:                                         [  OK  ]

$ chkconfig smf-spf on
最後にシステムの再起動があってもsmf-spf が自動で起動するようにchkconfigで設定しておきましょう。

Yahoo!などのフリーメールからメールを送信してSPF認証を確認してみる

Yahoo!などのフリーメールからメールを送信してみましょう。
受信したメールのヘッダ情報に以下のような情報が追加されていればSPF認証が実施されています。

X-SPF-Scan-By: smf-spf v2.0.2 - http://smfs.sf.net/
Received-SPF: Pass (mail.exmaple.com: domain of test@yahoo.co.jp designates 183.79.28.116 as permitted sender) receiver=mail.exmaple.com; client-ip=183.79.28.116; envelope-from=<test@yahoo.co.jp>; helo=web100414.mail.kks.yahoo.co.jp;

smf-spf をカスタマイズする

smf-spf の設定には、
/etc/mail/smfs/smf-spf.conf の編集を行います。

デフォルトでは、以下のような設定になっています。

# smf-spf configuration file v2.0.2 (it's read at start)
#

# Whitelist by a sender IP address
#
# The syntax is an IP address followed by a slash
# and a CIDR netmask (if the netmask is omitted, /32 is assumed)
#
WhitelistIP     127.0.0.0/8
WhitelistIP     10.0.0.0/8
WhitelistIP     172.16.0.0/12
WhitelistIP     192.168.0.0/16

# Whitelist by a sender PTR record (reverse DNS record)
#
# Performs a case insensitive substring match
#
#WhitelistPTR   .friendlydomain.tld
#WhitelistPTR   friendlyhost.friendlydomain.tld

# Whitelist by an envelope sender e-Mail address
#
# Performs a case insensitive substring match
#
#WhitelistFrom  friend@
#WhitelistFrom  @friendlydomain.tld
#WhitelistFrom  friend@friendlydomain.tld

# Whitelist by an envelope recipient e-Mail address
#
# Performs a case insensitive substring match
#
#WhitelistTo    postmaster@
#WhitelistTo    @yourspamloverdomain.tld
#WhitelistTo    spamlover@yourdomain.tld

# Refuse e-Mail messages at SPF Fail results (RFC-4408)
#
# Default: on
#
#RefuseFail     on      # (on|off)
RefuseFail      off

# Subject tagging of e-Mail messages at SPF SoftFail
# and Fail (if RefuseFail set to off) results
#
# Default: on
#
#TagSubject     on      # (on|off)

# Subject tagging string
#
# Default: [SPF:fail]
#
#Tag            [SPF:fail]

# Build a standard Received-SPF: header
#
# Default: on
#
#AddHeader      on      # (on|off)

# Quarantine of e-Mail messages at SPF SoftFail
# and Fail (if RefuseFail set to off) results
#
# Default: off
#
#Quarantine     off     # (on|off)

# Quarantine mailbox
#
# Default: postmaster
#
#QuarantineBox  postmaster
#QuarantineBox  spambox@yourdomain.tld

# In-memory cache engine TTL settings
#
# The time is given in seconds, except if a unit is given:
# m for minutes, h for hours, and d for days
# Specify zero to disable caching
#
# Default: 1h
#
#TTL            1h

# Run as a selected user (smf-spf must be started by root)
#
# Default: smfs
#
#User           smfs

# Socket used to communicate with Sendmail daemon
#
# Default: unix:/var/run/smfs/smf-spf.sock
#
#Socket         unix:/var/run/smfs/smf-spf.sock

# Facility for logging via Syslog daemon
#
# Default: mail
#
#Syslog         mail    # (daemon|mail|local0...local7)
WhitelistIP
SPF認証を行わないIPアドレスを設定します。
連携しているメールサーバーなどがあれば、ここにIPアドレスを指定すると良いです。
WhitelistPTR
SPF認証を行わないホスト名(一部でも可)を設定します。
WhitelistFrom
SPF認証を行わない送信者メールアドレス(一部でも可)を設定します。
WhitelistTo
SPF認証を行わない受信者メールアドレス(一部でも可)を設定します。
RefuseFail
SPF認証で Fail となった場合の対処。ON拒否 , offそのまま受信
TagSubject
SPF認証で Fail or SoftFail となった場合、サブジェクトへ情報を付加するか否かフラグ。ON付加する , off付加しない
Tag
TagSubject on 時の文字列。デフォルト [SPF:fail] がサブジェクトに付加されます。
AddHeader
ヘッダ情報に Received-SPF: を付加するか否かフラグ。ON付加する , off付加しない
Quarantine
SPF認証で Fail or SoftFail となった場合、メールを隔離するか否かフラグ。ON隔離する , off隔離しない
QuarantineBox
Quarantine on 時の隔離先メールボックス。
TTL
TTLのキャッシュ時間。
User
smf-spf のrun ユーザ。(smf-spfはrootによって起動される必要があります)
Socket
smf-spf のSendmailと通信するためのソケット。
Syslog
Syslogのファシリティ(ログIDのようなもの)。

どうでしょうか、Sendmail に SPF認証機能を設定するには、簡単だと思います。

spamassassinも良いのですが、結局、spamassassinは、スパムかもしれない・・・と判定するだけで、メール受信が多ければ負荷もそれなりにかかりますから、 できれば、避けたいと思って、色々探してみると日本ではsid-milterが有名みたいですが、海外ではsmf-spfが有名っぽい・・・ので、備忘録をかねてインストール手順を書いてみました。

SPF認証だけでスパムかどうか判断するのは、危険ですが、Fail判定は、smf-spfを含めた設定の誤りで無い限り、スパムの可能性大です。
また、HELO情報もくっついてますから、本当のスパムのHELOの特徴がよくわかって助かります。まだ、今からSPFを設定するという方は、smf-spfの選択肢も有りだと思います。
ご利用のブラウザは、広告ブロック(AdBlockなど) が適用となっていませんか?
このサイトでは、コンテンツの一部が非表示、あるいは、コメント、お問い合わせの投稿ができない検索ができないことがあります。


関連記事 :

sendmail で milter-regex を使ってスパム対策

以前の記事 評判のさくらのVPSでSMTP(Sendmail)を公開する時にやっておきたいこと では、SPFの送信側の対処 sendmai ...

評判のさくらのVPSでSMTP(Sendmail)を公開する時にやっておきたいこと

以前の記事 評判のさくらのVPSを使うときに最初にやっておきたいこと(CentOS編) の SMTP(Sendmail)サーバー編で ...

リポジトリの追加・削除、無効・有効の設定をしてみる

このサイトでは、主に2つのリポジトリを追加、利用しています。 IUS – IUSコミュニティプロジェクトは、Redhat ...

Sender Policy Framework (SPF) の仕組み

今回は、Sender Policy Framework (以降、SPF) の仕組みについて簡単に解説してみます。 直訳すると、送信者方針の ...

CentOS(Scientific Linux)で postfix を使ってみる

Debian(Ubuntu)で postfix を使ってみる では、Debian/UbuntuへのPostfixの対応について書きました。 ...



コメントを投稿 :

お名前 *

メールアドレス *
( メールアドレスが公開されることはありません。)

サイトアドレス

コメント *

* 印の項目は、入力が必要な項目です。




最近投稿の記事

[ 画像提供元 : Amazon ] 先日、1TBのディスクの入れ替え時にバックアップをとろうとディスクコピーを行いました。 その際 ...

Windows で Linux ファイルシステム Ext4 のディスクをマウントするには? Ext3Fsd が、おそらく、最も簡単なツール ...

今回は、Windows で Compass を使ってみました。 Compass とは、 Sass(サス、Syntactica ...

今回は、Anti Adblock を使ってみました。 Anti Adblock とは、 そもそも Adblock という ウェブ ...

デスクトップ環境でない サーバーで、Webページのキャプチャー画像をコマンドで撮る には、wkhtmltoimage, CutyCapt ...


さくらのVPS 全プラン リニューアルです。(石狩(北海道)も選択可)


root権限ありで ¥685 / 月 ~ と非常にリーズナブルな CPU 1(core)の 512 プランから、 最高 CPU 10(core), メモリ 32(GB), SSD容量 800(GB) までとプランが充実。
ディスクは、SSDとHDDの選択が可能になった他、データセンターは人気の東京、石狩(北海道)となりました。

また、どのプランでも好きなOSが選べます
( CentOS, Fedora, Scientific Linux, FreeBSD, Ubutu, Debian )

管理人もおすすめのVPSです。
試用期間がありますから、一度、お試しを!!

詳しくは、http://vps.sakura.ad.jp/さくらのVPSのサイトへ へどうぞ!!

カテゴリ


Serverman@VPS 完全1ヶ月無料 キャンペーン実施中です。


Serverman@VPS 完全1ヶ月無料 キャンペーン実施中です。
最近、スワップにも対応した Serverman@VPS は、かなりリーズナブルかもです。

  • メモリ1GB~2GBのEntryプラン :月額:490円
  • メモリ2MB~4GBのStandardプラン :月額:980円
  • メモリ4GB~8GBのProプラン :月額:1,980円

新規申し込みで1ヶ月間完全無料となるキャンペーンを実施中です。
Serverman@VPSの特徴は、安さとIPv6対応です。また、初期設定費0円もポイントです。

IPv6でちょっと遊んでみたい方には、おすすめかもしれませんね。最低利用期間もありませんから、気に入らないときは即解約もできます。

Serverman@VPSの詳細については、 http://dream.jp/vps/ Serverman@VPSのサイトへへどうぞ。



KVM採用 ConoHa VPSは、時間単位で借りれる便利なVPSです。


ConoHa VPS は、初期設定費0円最低利用期間無し時間単位で清算可能、 さらに、Web APIを使って自動化を図ることもできる便利なVPSです。

海外サーバー設置も可能で、ローカル接続にも対応と、かなり、機能豊富なサーバーです。

新規ユーザ登録で、クーポンもらえますから、まずは、お試しですね。

ConoHa VPSの詳細については、
http://www.conoha.jp/ へどうぞ。

KVM採用 お名前.com VPS(KVM) 2G プラン 初期設定費無料 キャンペーン 実施です。


メモリ2GBプラン CPU:3core、Disk:200GB
月額:1,153円から (初期設定:1,680円0円)

さくらのVPSがリニューアルされてもなんのその。
1GBメモリ / 2Core を ¥834 – の格安価格で提供中です!
間違いなくスペックからすると割安感ありです。
年間割引時の途中解約で返金がないのは、 ちょっと残念ですが、それでもこの割安感は魅力です。

まずは、お試しですね。

お名前.com VPS(KVM)の詳細については、
http://www.onamae-server.com/vps/ へどうぞ。(お試し期間が15日あります。)



  • ソーシャルブックマーク

  • はてなブックマークへ追加するはてな登録数
ページトップへ
Time : 0.2593 [s]