IIJが開発したmilterの1つである enma をインストールした時の備忘録です。

■enma
http://sourceforge.net/projects/enma/

■説明
ここでは、IIJが開発したenmaをCentOS6.2にインストールします。
enmaで出来ることは以下の4つで、受信処理だけです。

・SPF
・Sender ID
・DKIM
・DKIM ADSP
※現バージョンのenmaではDKIM署名できない。

enmaの導入は非常に簡単です:-)
enmaとインストールに必要なもの(依存関係)は、パッケージ化してインストールします。
ただ、enma自体で拒否することはできないみたいです。

ちなみに、利用するMTAはデフォルトのPostfixです。

■OS
CentOS6.2 64bit

■enma
1.1.992-1

■ldns
1.6.11
http://nlnetlabs.nl/projects/ldns/
※enmaをインストールするのに必要

■Postfix
2.6.6-2.2.el6_1.x86_64

(1)必要なパッケージのインストール

[root@example ~]# yum -y install libpcap-devel openssl-devel python-devel sendmail-devel postfix

(2)enmaのsrc.rpmをダウンロード
[root@example ~]# wget http://sourceforge.net/projects/enma/files/ENMA/1.1.992/enma-1.1.992-1.src.rpm/download

(3)ldnsをダウンロード
[root@example ~]# wget http://nlnetlabs.nl/downloads/ldns/ldns-1.6.11.tar.gz

(4)ldnsのrpmパッケージ化、インストール
[root@example ~]# mkdir -p rpmbuild/{SPECS,SOURCES}
[root@example ~]# tar zxvf ldns-1.6.11.tar.gz
[root@example ~]# cp ldns-1.6.11/packaging/fedora/ldns.spec rpmbuild/SPECS/
[root@example ~]# tar zcvf rpmbuild/SOURCES/ldns-1.6.11.tar.gz ldns-1.6.11
[root@example ~]# rm -rf ldns-1.6.11*
[root@example ~]# cd rpmbuild/SPECS/
[root@example SPECS]# nkf -Lu --overwrite ldns.spec
[root@example SPECS]# rpmbuild -bb ldns.spec
[root@example SPECS]# cd ../RPMS/x86_64/
[root@example x86_64]# rpm -ivh ldns-1.6.11-1.el6.x86_64.rpm ldns-devel-1.6.11-1.el6.x86_64.rpm
※specファイルの改行コードがCRLFのためビルドに失敗してしまう。そのため、改行コードをLFに書き換える必要がある。ここでは、nkfを使っている。

(5)enmaのrpmパッケージ化、インストール
[root@example ~]# rpm -ivh enma-1.1.992-1.src.rpm
[root@example ~]# cd rpmbuild/SPECS/
[root@example SPECS]# rpmbuild -bb enma.spec
[root@example SPECS]# cd ../RPMS/x86_64/
[root@example x86_64]# rpm -ivh enma-1.1.992-1.x86_64.rpm

(6)使用するMTAの選択
[root@example ~]# alternatives --config mta

2 プログラムがあり 'mta' を提供します。

  選択       コマンド
-----------------------------------------------
   1           /usr/sbin/sendmail.postfix
*+ 2           /usr/sbin/sendmail.sendmail

Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:1

(7)enmaの設定
[root@example ~]# vi /etc/enma.conf
milter.postfix: false
↓ # 変更
milter.postfix: true
※デフォルトでは、全て(SPF/Sender ID/DKIM/DKIM ADSP)利用するになっています。

(8)Postfixの設定
[root@example ~]# vi /etc/postfix/main.cf
--以下を最終行にでも追加--
# enma
smtpd_milters = inet:127.0.0.1:10025

(9)enmaの起動
[root@example ~]# service enma start
enma を起動中:                                             [  OK  ]
[root@example ~]# ps aux | grep enma
daemon    2278  0.0  0.0  33268   944 ?        Sl   21:43   0:00 /usr/libexec/enma -c /etc/enma.conf
root      2282  0.0  0.0 107508   944 pts/0    S+   21:43   0:00 grep enma
[root@example ~]# lsof -i:10025
COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
enma    2278 daemon    4u  IPv4  74486      0t0  TCP localhost:10025 (LISTEN)
[root@example ~]# chkconfig enma on

(10)Postfixの起動 or リロード
[root@example ~]# service postfix reload
postfix を再読み込み中:                                    [  OK  ]
[root@example ~]# ps aux | grep postfix
postfix   2328  0.0  0.3  78756  3212 ?        S    21:45   0:00 pickup -l -t fifo -u
postfix   2329  0.0  0.3  78824  3260 ?        S    21:45   0:00 qmgr -l -t fifo -u
root      2331  0.0  0.0 107508   948 pts/0    S+   21:45   0:00 grep postfix

これで、インストール・設定は完了です:-)

検証は、また今度XD

その他文献
1. http://internet.watch.impress.co.jp/cda/news/2008/08/29/20703.html


12月 26, 2011 at 9:42 pm by 黒ぶちメガネ
Category: Linux, Postfix, spam対策