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

Postfix で dkim-milter を使ってDomainKeys ,DKIM の両方に対応する(Debian/Ubuntu編)

2013年2月14日 2014年1月11日
postfix fake spam

ここまでに、DomainKeys ,DKIM のそれぞれの対応について、下記の記事で書きました。

今回は、Postfix で dkim-milter(dkim-filter) を使ってDKIM に対応する(Debian/Ubuntu編) で利用した dkim-milter を使って 1つにまとめて対応したいと思います。
つまり、Postfix で dk-milter(dk-filter) を使ってDomainKeys に対応する(Debian/Ubuntu編) で紹介した内容は、要らなくなります。 といってもDomainKyesのSignature をメールに付けたい場合は、やっぱり、Postfix で dk-milter(dk-filter) を使ってDomainKeys に対応する(Debian/Ubuntu編) が必要になります。ここでの対応は、あくまでチェックだけです。

CentOS/ScientificLinux 編は、
Postfix で dkim-milter を使ってDomainKeys ,DKIM の両方に対応する(CentOS/ScientificLinux編) を参照してください。

sendmail で dkim-milter を使ってDomainKeys ,DKIM の対応する

ここで紹介する内容は、Postfix で dkim-milter(dkim-filter) を使ってDKIM に対応する(Debian/Ubuntu編) による dkim-milter がインストールされていて、少なくともDKIMへの対応はできている状態であることを前提に 以降 解説します。

dkim-milter を使って、DomainKeysをチェックさせるには、dkim-milter をコンパイル(ビルド)する必要があります。
以降に、その手順を簡単に解説します。

dkim-milter をmakeする

  1. dkim-milter のソースコードをダウンロードする
    $ wget "http://sourceforge.net/projects/dkim-milter/files/DKIM%20Milter/2.8.3/dkim-milter-2.8.3.tar.gz/download" -O dkim-milter-2.8.3.tar.gz
    最新版は、現在(2013.2)では、dkim-milter-2.8.3.tar.gz となります。

  2. dk-milter のソースコードをダウンロードする

    Debian6/Ubuntu10

    $ wget http://sourceforge.net/projects/dk-milter/files/DomainKeys%20Milter/0.6.0/dk-milter-0.6.0.tar.gz/download  -O dk-milter-0.6.0.tar.gz

    Ubuntu12

    $ wget http://sourceforge.net/projects/dk-milter/files/DomainKeys%20Milter/1.0.2/dk-milter-1.0.2.tar.gz/download  -O dk-milter-1.0.2.tar.gz
    最新版は、現在(2012.2)では、dk-milter-1.0.2.tar.gz となります。
    ただし、必要とするOpenSSLのバージョンが、1.0以上となるので、デフォルトのDebian6/Ubuntu10では、対応できていません。
    そこで、Debian6/Ubuntu10では、OpenSSLのバージョンが、1.0未満の最新バージョンである 0.6.0 を利用します。

  3. dkim-milter , dk-milter のソースコードを解凍する
    $ tar xfz dkim-milter-2.8.3.tar.gz -C /usr/local/src
    
    # Debian6/Ubuntu10 の場合
    $ tar xfz dk-milter-0.6.0.tar.gz -C /usr/local/src
    
    # Ubuntu11 の場合
    $ tar xfz dk-milter-1.0.2.tar.gz -C /usr/local/src
    ここでは、わかりやすいように /usr/local/src 配下へソースコードを展開しています。

  4. dkim-milter へ dk-milter の libdk を組み込みます
    $ cd /usr/local/src/dkim-milter-2.8.3
    
    # Debian6/Ubuntu10 の場合
    [dkim-milter-2.8.3]$ ln -s ../dk-milter-0.6.0/libdk/ .
    
    # Ubuntu10 の場合
    [dkim-milter-2.8.3]$ ln -s ../dk-milter-1.0.2/libdk/ .
    ここでは、無駄にディスクを使用しないようにリンクファイルを作成していますが、 /usr/local/…/libdk ディレクトリをまるごとコピーでもOKです。

  5. dkim-milter のmakeための設定ファイルを編集します

    Domainkeys の認証を行うように dkim-milter のmakeファイルを編集します。

    /usr/local/src/dkim-milter-2.8.3/devtools/Site/site.config.m4 を編集します。

    site.config.m4.distというサンプルファイルがありますから、それをコピーして編集します。

    $ cd /usr/local/src/dkim-milter-2.8.3
    [dkim-milter-2.8.3]$ cp site.config.m4.dist devtools/Site/site.config.m4
    ...
    dnl DomainKeys -- Yahoo DomainKeys verification support
    dnl 
    dnl If you also want to verify messages signed with DomainKeys, enable this
    dnl line by deleting "dnl" from the front of it.  See also the README as it
    dnl requires an additional library not included in this package.
    define(`bld_VERIFY_DOMAINKEYS', `true')
    ...
    bld_VERIFY_DOMAINKEYS は、DomeinKeysの認証を有効にすしています。

  6. dkim-milter をmakeします
    $ cd /usr/local/src/dkim-milter-2.8.3
    
    # make でも ./Build でも同じです。
    [dkim-milter-2.8.3]$ make
    ...
    基本的にdk-filterで必要なパッケージと同じものが必要になります。
    ここでは、以下の2つのライブラリをインストールした上で、上記のmake作業を行っています。
    $ aptitude install libssl-dev  libmilter-dev
    ...
    libssl-dev は、そのままOpenSSLが必要なためです。
    libmilter-dev は、libmilter が必要なためです。

    上記以外でも、環境によっては、必要なパッケージがあるかもしれません。 必要に応じてaptでインストールしましょう。

    特にエラーが出力されなければOKです。



dkim-milter をインストールする

dkim-milter をちゃんとインストールするには、make install(or ./Build install) を実行すべきですが、 ここでは、既に rpm による dkim-milter がインストールされていますから、この環境をそのまま残したいところです。

そこで、dkim-filter の実行ファイルのみを入れ替えてインストールします。

  1. dkim-filter の実行ファイルのバックアップを作成します
    # dkim-filter 実行ファイルがどこにあるか確認します。
    $ which dkim-filter
    /usr/sbin/dkim-filter
    
    # もしも新しいdkim-filter が正しく動作しないときは、すぐに戻せるように
    # rpmでインストールした dkim-filter 実行ファイルをバックアップコピーします。
    $ cp /usr/sbin/dkim-filter /usr/sbin/dkim-filter.rpm

  2. dkim-milterを停止します
    $ /etc/init.d/dkim-milter stop
    Shutting down DomainKeys Identified Mail Milter:           [  OK  ]

  3. 最新のdkim-filter の実行ファイルをコピーします
    # 先に作成した dkim-filter 実行ファイルをコピーします。
    $ cp /usr/local/src/dkim-milter-2.8.3/obj.Linux.2.6.32-5-amd64.x86_64/dkim-filter/dkim-filter /usr/sbin/.
    実際のdkim-filter 実行ファイルは、各OSのバージョンや32 bit /64bit 版でディレクトリ名が異なります。
    上記の例は、Debian 6 の64bit版の例です。

    32bit版のOSでは、
    obj.Linux.xxxxxxx.i686 などとなります。

    /usr/local/src/dkim-milter-2.8.3/ 配下の obj….. という名前のディレクトリを確認してください。

  4. dkim-milterを開始します
    $ /etc/init.d/dkim-milter start
    Starting DomainKeys Identified Mail Milter (dkim-filter):  [  OK  ]


dkim-milter の動作確認する

送信時のSignature と DNS 設定による認証を確認するには、Yahoo! や GMailへメールを送信するのが最も簡単な方法です。
送信、受信で正しく動作しているか確認してみましょう。

送信確認

GMailの場合

Authentication-Results: mx.google.com; spf=pass (google.com: domain of hoge@exmaple.com designates 11.22.33.44 as permitted sender) smtp.mail=hoge@exmaple.com; dkim=pass header.i=@exmaple.com
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=exmaple.com; s=sexmaple_com; t=1323065988; bh=yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy=; h=Message-ID:Date:From:MIME-Version:To:Subject:Content-Type: Content-Transfer-Encoding; b=zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz

Yahoo!の場合

Authentication-Results: mta551.mail.kks.yahoo.co.jp from=exmaple.com; domainkeys=neutral (no sig); dkim=pass (ok) header.i=@exmaple.com
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=exmaple.com; s=sexmaple_com; t=1323065988; bh=yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy=; h=Message-ID:Date:From:MIME-Version:To:Subject:Content-Type: Content-Transfer-Encoding; b=zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
Yahoo!の場合は、domainkeysを必ず認証するらしく、その情報が必ず出力されます。

受信確認

GMailの場合

Authentication-Results: mail.example.com; dkim=pass (2048-bit key)
	header.i=@gmail.com; x-dkim-adsp=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20120113;
        h=x-received:message-id:date:from:user-agent:mime-version:to:subject
         :content-type:content-transfer-encoding;
        bh=....;
        b=....

Yahoo!の場合

Authentication-Results: mail.example.com; domainkeys=pass header.from=hoge-hoge@yahoo.co.jp
Authentication-Results: mail.example.com; dkim=pass (1024-bit key)
	header.i=@yahoo.co.jp; x-dkim-adsp=none

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.co.jp; s=yj20110701; t=1360817693; bh=....; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=....
DomainKey-Signature:a=rsa-sha1; q=dns; c=nofws;
  s=y....; d=yahoo.co.jp;
  h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:MIME-Version:Content-Type:Content-Transfer-Encoding;
  b=....;
上記のように Authentication-ResultsがDomainKeys と DKIM用の2つが出力されることがポイントです。
ちゃんと出力されればOKです。


どうでしょうか、このやり方では、1プロセスだけで DomainKeysもDKIMも確認することができます。
また、Signature(署名)もDomainKeysはされなくても DKIMについては行ってくれます。DKIMは、DomainKeysも包含していると言えなくもないですから、2つの署名がそれほど有効性があるかは疑問もあります。

そう考えると、少ないリソースで効率よく偽装メールの判断ができるという点では、このやり方も悪くないと思います。
ただ、どれだけDomainKeysが利用されているか?というと日本では、ほとんどがYahoo!メールになるでしょう。でも、Yahoo!メールもDKIMに対応していますしね。 まあでも、悪質なYahoo!メールの対策にはなるかもしれませんね、少なくともチェック機能が増えることで良くはなるでしょう。
ご利用のブラウザは、広告ブロック(AdBlockなど) が適用となっていませんか?
このサイトでは、コンテンツの一部が非表示、あるいは、コメント、お問い合わせの投稿ができない検索ができないことがあります。


関連記事 :

Postfix で dkim-milter を使ってDomainKeys ,DKIM の両方に対応する(CentOS/ScientificLinux編)

ここまでに、DomainKeys ,DKIM のそれぞれの対応について、下記の記事で書きました。 Postfix で dk-milte ...

Postfix で dkim-milter(dkim-filter) を使ってDKIM に対応する(Debian/Ubuntu編)

以前の記事 postfix で postfix-policyd-spf-python ( or postfix-policyd-spf-p ...

Postfix で dkim-milter(dkim-filter) を使ってDKIM に対応する(CentOS/ScientificLinux編)

以前の記事 postfix で postfix-policyd-spf-python ( or postfix-policyd-spf-pe ...

sendmail で dkim-milter を使ってDomainKeys ,DKIM の対応する

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

DomainKeys Identified Mail (DKIM) の仕組み

今回は、DomainKeys Identified Mail (以降、DKIM) の仕組みについて簡単に解説してみます。 以前に Sender ...



コメントを投稿 :

お名前 *

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

サイトアドレス

コメント *

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




最近投稿の記事

[ 画像提供元 : 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.2499 [s]