sendmail関連(sendmail,greylist,dkim,domainkeys,spf,clamav ...)



milter-greylist <2006/07/02更新>

greylisting機能を提供するsendmail用milter。ライセンスはBSD。

環境

  • OS: NetBSD 3.0
  • sendmail: 8.13.8.Beta0
  • milter-greylist: 2.1.5

インストール

% ./configure
% make
# make install

設定

/etc/mail/greylist.confを編集します。 こんなスクリプト (filegris2greylist)で、milter-grisの設定を変換します。

% gris2greylist /etc/mail/access >> /etc/mail/greylist.conf

内部からのメールにX-Greylist:ヘッダがつかないように、greylist.confに

report delays

と書いておきます。こうすると、遅延メールにだけX-Greylist:ヘッダがつくようになります。

sendmail.cfの設定

以下をsendmail.mcに追加しsendmail.cfをつくりなおします。

INPUT_MAIL_FILTER(`milter-greylist',
       `S=unix:/var/milter-greylist/milter-greylist.sock, T=C:1m;S:30s;R:6m;E:1m')dnl

起動用スクリプト

rc-bsd.shを参考に以下のように /etc/rc.d/miltergreylistを作成します。

#!/bin/sh
# $Id: rc-bsd.sh.in,v 1.2 2004/07/29 06:53:02 manu Exp $

# PROVIDE: miltergreylist
# REQUIRE: LOGIN
# BEFORE: sendmail

. /etc/rc.subr

name="miltergreylist"
rcvar=$name
command="/usr/local/bin/milter-greylist"
pidfile="/var/run/milter-greylist.pid"
command_args="-P ${pidfile} -u root -p  /var/milter-greylist/milter-greylist.sock"
start_precmd="rm -f /var/milter-greylist/milter-greylist.sock"
required_files="/etc/mail/greylist.conf"

load_rc_config ${name}
run_rc_command "$1"

/etc/rc.confに以下を追加します。

miltergreylist=YES

sid-milter <2005/12/13更新>

送信者認証技術 SPF/senderIDのsendmail用milterを導入してみます。 http://sendmail.net/sid-milter

注意

NetBSD 3.0rc5上でコンパイルした 0.2.10 は現在動作していないため、NetBSD 2.0.2を使用してコンパイルしたsid-milterを使用います(2005/12/15現在)

0.2.9 on NetBSD 2.0.2

正常

0.2.10 on NetBSD 3.0rc5 with libar

以下のエラーを出して起動しません。

_res is not supported for multi-threaded programs.

0.2.10 on NetBSD 3.0rc5 without libar

起動はしますが、ドメインの解決に失敗します。

sender-id=fail (DomainDoesNotExist); spf=fail (DomainDoesNotExist)

0.2.9 on NetBSD 3.0rc5 without libar

以下のエラーを出して起動しません。

_res is not supported for multi-threaded programs.

0.2.9 on NetBSD 3.0rc5 without libar

起動はしますが、ドメインの解決に失敗します。

sender-id=fail (DomainDoesNotExist); spf=fail (DomainDoesNotExist)

環境

  • OS: NetBSD 3.0rc5
  • sendmail: 8.13.5
  • sid-milter: 0.2.10

DNSの設定

受信側でDNS設定例

MXホストからのみ送信を許可する場合(それ以外から送信されたらsoftfail)
 IN TXT "v=spf1 mx ~all"

インストール

% tar zxvf sid-milter-0.2.10.tar.gz
% cd sid-milter-0.2.10

devtools/Site/site.config.m4を以下のように作成

define(`confMTLDOPTS', `-lpthread')

そのままBuildして作成すると、実行時に以下のようなメッセージがでます。

_res is not supported for multi-threaded programs

これを回避するために、sid-filter/Makefile.m4を編集し、以下の二行を削除します。

PREPENDDEF(`confINCDIRS', `-I../../libar ')
APPENDDEF(`confENVDEF', `-DUSE_ARLIB ')
% ./Build
% su
# make install

以下NetBSDの設定ファイルでは/var/libのかわりに/var/spoolを使用する

sedmail.mcの設定

sendmail.mcに以下を追加してsendmail.cfをつくり直す

INPUT_MAIL_FILTER(`sid-filter', `S=inet:8893@localhost')

起動

# mkdir /etc/mail/sid-milter

/etc/mail/sid-milter/peerlistを作成(チェックしないアドレスを登録)

例: 
192.168.100.0/24
127.0.0.0
# /usr/bin/sid-filter -l -a /etc/mail/sid-milter/peerlist -p inet:8893@localhost
# /etc/init.d/sendmail restart

動作確認(送信時設定)

./INSTALL中に示されているアドレス、sa-test@sendmail.netにテストメイルを送付し、 返送結果を確認します。

以下のようにResult:がGOODになっていればOKです。

Authentication System:       Sender ID
   Result:                   SID data confirmed GOOD
   Description:              Sending host is authorized for sending domain
   Reporting host:           sendmail.net
   More information:         http://www.microsoft.com/senderid
   Sendmail milter:          http://www.sendmail.net/sid-milter

Authentication System:       Sender Permitted From (SPF)
   Result:                   SPF data confirmed GOOD
   Description:              Sending host is authorized for sending domain
   Reporting host:           sendmail.net
   More information:         http://spf.pobox.com/

動作確認(受信時設定)

返送されたメイルのヘッダに、

Authentication-Results: mail.example.com from=sa-test@sendmail.net; sender-id=neutral; spf=neutral

があれば受信時の設定はOKです。

OSブート時起動設定(NetBSD)

/etc/rc.confに以下を追加

sidfilter=YES
sidfilter_flags="-l -a /etc/mail/sid-milter/peerlist -u sidfilter -P /var/run/sidfilter/sidfilter.pid -p inet:8893@localhost"

/etc/rc.d/sidfilterを作成

#!/bin/sh

# REQUIRE: syslogd
# BEFORE:  mail
# KEYWORD: FreeBSD NetBSD

. /etc/rc.subr

name="sidfilter"
rcvar=$name
command="/usr/bin/sid-filter"
pidfile="/var/run/sidfilter/${name}.pid"

load_rc_config $name
run_rc_command "$1"

考察

上記peerlist以外のホストから受信したメールにAuthentication-Results:ヘッダが付くようになる。

Authentication-Results: yyy.example.org from=xxx@example.com; sender-id=softfail; spf=softfail (softfail時)
Authentication-Results: yyy.example.org from=xxx@example.com; sender-id=pass; spf=pass (pass時)

これをどう処理するかは別途処理が必要(例: procmail等)

TODO

milter-grisと連携できないかな?

dk-milter <2006/05/22更新>

送信者認証技術Domain Keysのsendmail milterを導入します。 http://sendmail.net/dk-milter

環境

  • OS: NetBSD 3.0
  • sendmail: 8.13.6
  • dk-milter: 0.4.0

インストール

% tar zxvf dk-milter-0.4.0.tar.gz
% cd dk-milter-0.4.0

devtools/Site/site.config.m4を以下のように作成

define(`confMTLDOPTS', `-lpthread')
% ./Build
# ./Build install

sedmail.mcの設定

sendmail.mcに以下を追加してsendmail.cfをつくり直す

INPUT_MAIL_FILTER(`dk-filter', `S=inet:8892@localhost')

キーの生成およびDNSの設定

SELECTORは識別子となるようです。今回はSELECTORを「mail」とします。
% cd dk-milter-0.4.0/dk-filter
% ./gentxt.csh mail

標準出力に

mail._domainkey IN TXT "g=; k=rsa; t=y; p=XXXXXXXYYYYYYYZZZZZZZZ"

のようなものが出力されます。これをDNSに設定します。bindの設定ファイルだったら、このまま張り付ければOKです。 bind等を再起動し mail._domainkey.example.com のTXTエントリがアクセスできることを確認します。

% host -t txt mail._domainkey.example.com
mail._domainkey.example.com descriptive text "g=\; k=rsa\; t=y\; p=XXXXXXXYYYYYYYZZZZZZZZ"

このように出力されればOKです。

gentxt.cshを実行すると、mail.public, mail.privateというファイルが生成 されます。mail.privateを適当なディレクトリにコピーします。mail送信時に このファイルを用いてサインされます。 ついでなのでmail.publicもコピーし ておきます。

# mkdir -p /var/db/domainkeys
# cp -p mail.private mail.public /var/db/domainkeys

起動

# /usr/bin/dk-filter -l \
                     -i /etc/mail/dk-milter/ilist \
                     -p inet:8892@localhost \
                     -S mail \
                     -s /var/db/domainkeys/mail.private \
                     -d example.com,example.org
# /etc/rc.d/sendmail restart

動作確認(送信時設定)

./INSTALL中に示されているアドレス、sa-test@sendmail.netにテストメイルを送付し、 返送結果を確認します。

以下のようにResult:がGOODになっていればOKです。 なお、送付したメイルにはDomainKey?-Signature:ヘッダが付加されていない場合は設定を再確認します。

Authentication System:       Domain Keys
   Result:                   DK signature confirmed GOOD
   Description:              Signature verified, message arrived intact
   Reporting host:           sendmail.net
   More information:         http://antispam.yahoo.com/domainkeys
   Sendmail milter:          http://www.sendmail.net/dk-milter

動作確認(受信時設定)

返送されたメイルのヘッダに、

DomainKey-Status: good

があれば受信時の設定はOKです。

OSブート時起動設定(NetBSD)

/etc/rc.confに以下を追加

dkfilter=YES
dkfilter_flags="-l -S mail -i /etc/mail/dk-milter/ilist -p inet:8892@localhost -s /var/db/dk-filter/mail.private -d example.org,example.com -u dkfilter -P /var/run/dkfilter/dkfilter.pid"

/etc/rc.d/dkfilterを作成

#!/bin/sh

# REQUIRE: syslogd
# BEFORE:  mail
# KEYWORD: FreeBSD NetBSD

. /etc/rc.subr

name="dkfilter"
rcvar=$name
command="/usr/bin/dk-filter"
pidfile="/var/run/dkfilter/${name}.pid"
required_files="/etc/mail/dk-milter/ilist"

load_rc_config $name
run_rc_command "$1"

dkim-milter <2007/04/09更新>

送信者認証技術 DKIMのsendmail用milterを導入してみます。 http://sourceforge.net/projects/dkim-milter/

環境

  • OS: NetBSD 3.1
  • sendmail: 8.14.1
  • dkim-milter: 0.6.3

インストール

% tar zxvf dkim-milter-0.6.3.tar.gz
% cd dkim-milter-0.6.3

devtools/Site/site.config.m4を以下のように作成

define(`confMTCCOPTS', `-pthread')
define(`confMTLDOPTS', `-pthread')
% ./Build
# make install
インストールされるもの↓
/usr/bin/dkim-filter
/usr/lib/libar.a

sedmail.mcの設定

sendmail.mcに以下を追加してsendmail.cfをつくり直す

INPUT_MAIL_FILTER(`dkimfilter', `S=inet:8891@localhost')

dkim-filterを実行するためのユーザ作成

セキュリティ上、dkimを実行するためのユーザは分離したほうがいいので、dkimを実行するためのユーザを作成します。

# useradd dkim

キーの生成およびDNSの設定

SELECTORは識別子となるようです。今回はSELECTORを「lagoon」とします。
% cd dkim-filter
% ./gentxt.csh 

標準出力に

lagoon._domainkey IN TXT "v=DKIM1; g=; k=rsa; t=y; p=XXXXXXXYYYYYYYZZZZZZZZ"

のようなものが出力されます。これをDNSのzoneファイルに設定します。bindであればこのまま張り付ければOKです。 DNSには以下のようにポリシーも設定します。

_policy._domainkey IN TXT "t=y; o=~"

bind等を再起動し lagoon._domainkey.example.com のTXTエントリがアクセスできることを確認します。

% host -t txt lagoon._domainkey.example.com
lagoon._domainkey.example.com descriptive text "v=DKIM1\; g=\; k=rsa\; t=y\; p=XXXXXXXYYYYYYYZZZZZZZZ"

このように出力されればOKです。

gentxt.cshを実行すると、lagoon.public, lagoon.privateというファイルが生成 されます。lagoon.privateを適当なディレクトリにコピーします。mail送信時に このファイルを用いてサインされます。 ついでなのでlagoon.publicもコピーし ておきます。

# mkdir -p /var/db/dkim
# cp lagoon.private lagoon.public /var/db/domainkeys
# chown -R dkim /var/db/dkim
# chmod 500 /var/db/dkim

その他のdkim-filter用設定ファイル

dkim-filterではサインするかどうかは受信したときの相手のIPアドレスで判定します。 デフォルトでは127.0.0.1のみとなっていますが、自ネットワーク内のアドレスをここに設定します。

# mkdir /etc/mail/dkim
# vi /etc/mail/dkim/ilist
192.168.1.0/24
127.0.0.1
# chown -R dkim /etc/mail/dkim
# chmod 500 /etc/mail/dkim

起動

# /usr/bin/dkim-filter -l \
                       -i /etc/mail/dkim/ilist \
                       -p inet:8891@localhost \
                       -s lagoon \
                       -k /var/db/dkim/lagoon.private \
                       -d example.com,example.org
# /etc/init.d/sendmail restart

上記は0.5.0用。0.2.0ではオプションが異なります

(obsolete: dkim-filter 0.2.0用)
# /usr/bin/dkim-filter -l \
                       -i /etc/mail/dkim/ilist \
                       -p inet:8891@localhost \
                       -S lagoon \
                       -s /var/db/dkim/lagoon.private \
                       -d example.com,example.org
# /etc/init.d/sendmail restart

動作確認(送信時設定)

./INSTALL中に示されているアドレス、sa-test@sendmail.netではDKIMのテストができないようです(2005/12/06現在)。そこで、autorespond+dkim@dk.elandsys.comにテストメイルを送付し返送結果を確認します。

2005/12/15現在、sa-test@sendmail.netでも確認できるようです。

以下のように結果がpassになっていればOKです。 なお、送付したメイルにはDKIM-Signature:ヘッダが付加されていない場合は設定を再確認します。

DKIM Test: pass

動作確認(受信時設定)

返送されたメイルのヘッダに、

Authentication-Results: example.com header.From=autorespond@dk.elandsys.com; dkim=pass

があれば受信時の設定はOKです。

OSブート時起動設定

/etc/rc.confに以下を追加します。

dkimfilter=YES
# for 0.2.0
# dkimfilter_flags="-l -S lagoon -i /etc/mail/dkim/ilist -p inet:8891@localhost -s /var/db/dkim/lagoon.private -d example.org,example.net -u dkim -P   /var/run/dkim/dkimfilter.pid"
# for 0.5.0
dkimfilter_flags="-l -s lagoon -i /etc/mail/dkim/ilist -p inet:8891@localhost -k /var/db/dkim/lagoon.private -d example.org,example.net -u dkim -P   /var/run/dkim/dkimfilter.pid"

/etc/rc.d/dkimfilterを作成します。内容は以下です。

#!/bin/sh

# REQUIRE: syslogd
# BEFORE:  mail
# KEYWORD: FreeBSD NetBSD

. /etc/rc.subr

name="dkimfilter"
rcvar=$name
command="/usr/bin/dkim-filter"
pidfile="/var/run/dkim/${name}.pid"
required_files="/etc/mail/dkim/ilist"

load_rc_config $name
run_rc_command "$1"

clamav-milter <2005/10/21更新>

環境

  • OS: NetBSD 2.0.2
  • clamav: clamav-0.87

インストール

基本的にはpkgsrcからインストールします。

その前に、milterを使えるように、 /etc/mk.confに以下を追加します。

PKG_OPTIONS.clamav += milter
# cd /usr/pkgsrc/mail/clamav/                                                        

自前でインストールしたlibmilter(sendmailのインストール時にインストール しました)を使えるように、Makefileに以下のパッチをあてておきます。

--- Makefile.orig       2005-08-04 09:49:05.000000000 +0900
+++ Makefile    2005-08-17 15:51:42.000000000 +0900
@@ -65,7 +65,7 @@
 # to check API compatibility(!), so it must build with as new a
version of
 # libmilter as pkgsrc is capable of providing
 USE_BUILTIN.libmilter= no
-.  include "../../mail/libmilter/buildlink3.mk"
+# .  include "../../mail/libmilter/buildlink3.mk"
 CONFIGURE_ARGS+=       --enable-milter
 PLIST_SUBST+=          MILTER=
 .else

さて、ここからがインストール本番です。

# make install

設定

/usr/pkg/etc/clamd.confの設定

# ↓コメントにします
#Example

/usr/pkg/etc/freshclam.confの設定

# ↓コメントにします
#Example

# ↓追加します
DatabaseMirror db.jp.clamav.net  

データベース更新

freshclamコマンドを実行し、データベースを最新にします。

# freshclam

milterの準備

# mkdir /var/spool/clamav-milter
# chown clamav /var/spool/clamav-milter

デーモン設定

デーモン起動用スクリプトを所定の場所におきます。

# cd /usr/pkg/share/examples/rc.d
# cp -p clamd freshclamd /etc/rc.d/ 

なお、clamav-milter起動用スクリプトはサンプルが添付されていないため、以下のように作成しました。

fileclamavmilter

/etc/rc.confに以下を追加します。

clamd=YES
clamavmilter=YES
clamavmilter_flags="--noxheader -loe /var/spool/clamav-milter/socket"

※ メール送信時にもチェックする設定で、かつdk-milterの後にclamav-milterを実行する設定のため、 オプションの--noxheaderをつけないとclamav関連ヘッダがついてしまうためDomainkeysのチェックでNGとなります。

以下のように起動します。

# /etc/rc.d/clamd start
# /etc/rc.d/freshclamd start
# /etc/rc.d/clamavmilter start

/var/log/clamd.logや /var/log/maillogで問題がないことを確認します。

なお、freshclamdはデーモンとして起動し、デフォルトで1日2回データベースの更新 があるかどうかをチェックするようになります。

sendmail.cfの設定

以下をsendmail.mcに追加しsendmail.cfを作成します

INPUT_MAIL_FILTER(`clamav-filter',`S=local:/var/spool/clamav-milter/socket,
 F=, T=S:4m;R:4m')dnl

おまけ X-Virus-Scanned:ヘッダ

上述したように、X-Virus-Scanned:ヘッダやX-Virus-Status:ヘッダは付けないように設定していませんが、 もし付けるように設定した場合、以下の方法でこれをいじることができます。

clamav-milterではX-Virus-Scanned:ヘッダが付加されます。このときこのヘッダには、 以下のようにclamav-milterを実行したホスト名が表示されます。

X-Virus-Scanned: ClamAV version 0.86.2, clamav-milter version 0.86 on xxx.example.com
X-Virus-Status: Clean

このホスト名をsendmail.cfの%jで設定されたものが使用されるようにソース を修正します。パッチ(filepatch-xx)を /usr/pkgsrc/mail/clamav/patches/ に置き、distinfoにこのファイルのSHA1 を追加します。

# echo 'SHA1 (patch-xx) = c03147581b61a34c13cdffec3066a2d1a04f3ac5' >> distinfo

ちなみに、これは以下の方法で作成したものです。

# sha1 patch-xx
SHA1 (patch-xx) = c03147581b61a34c13cdffec3066a2d1a04f3ac5

参考ページ

sendmail 8.14.0.Alpha2 with SASL/STARTTLS <2006/10/22更新>

sendmail-8.14.0.Alpha2をインストールします。 greylistingやspfが使えるようにmilterも使えるようにしておきます。

環境

  • OS: NetBSD 3.0
  • sendmail: sendmail.8.14.0.Alpha2

準備

cyrus-saslをpkgsrcからインストールします。 cyrus-saslがdb4を使うように/etc/mk.confに以下の設定をします。

SASL_DBTYPE=berkeley

その後、以下のパッケージをインストールします。

cyrus-sasl-2.1.22
cy2-crammd5-2.1.22
cy2-digestmd5-2.1.22

/etc/ld.so.confに以下を追加します。

/usr/pkg/lib
/usr/pkg/lib/sasl2

ldconfigコマンドを実行します。

# ldconfig

sasl用ユーザを作成します。

# saslpasswd2 -u example.com testuser

登録を確認します。

# sasldblistusers2
testuser@example.com: userPassword

sendmail本体のインストール

% tar zxvf sendmail.8.14.0.Alpha2.tar.gz
% cd sendmail-8.14.0.Alpha2

devtools/Site/site.config.m4 を作成します。

APPENDDEF(`conf_sendmail_ENVDEF', `-DSASL=2 -DSTARTTLS')
APPENDDEF(`conf_sendmail_LIBS', `-lsasl2 -lssl -lcrypto')
APPENDDEF(`confLIBDIRS', `-L/usr/pkg/lib')
APPENDDEF(`confLIBS', `-ldb4')
APPENDDEF(`confINCDIRS', `-I/usr/pkg/include -I/usr/pkg/include/db4')

コンパイルを行います。

% ./Build
% su
# ./Build install

libmilterのインストール

% cd libmilter
% ./Build
% su
# ./Build install

インストールされるもの↓
/usr/include/libmilter/*
/usr/lib/libmilter.a

sendmail.cf, submit.cfの作成

% cd ../cf/cf
hogehoge.mc, hogehoge-submit.mcを編集します。
hogehoge.mcでは、greylisting,spf,dkを追加するために、もともとの.mcに以下を追加します。
define(`_FFR_MILTER', `1')dnl

define(`confLOG_LEVEL', `14')dnl
define(`confMILTER_LOG_LEVEL', 14)dnl

define(`confCACERT_PATH', `/etc/mail/certs/')
define(`confCACERT', `/etc/mail/certs/my.cert.pem')
define(`confSERVER_CERT', `/etc/mail/certs/my.cert.pem')
define(`confSERVER_KEY', `/etc/mail/certs/my.key.pem')

define(`confAUTH_MECHANISMS', `DIGEST-MD5 CRAM-MD5')
TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5')

INPUT_MAIL_FILTER(`dkimfilter', `S=inet:8891@localhost')
INPUT_MAIL_FILTER(`dk-filter', `S=inet:8892@localhost')
INPUT_MAIL_FILTER(`sid-filter', `S=inet:8893@localhost')
INPUT_MAIL_FILTER(`milter-greylist',
       `S=unix:/var/milter-greylist/milter-greylist.sock, T=C:1m;S:30s;R:6m;E:1m')dnl
INPUT_MAIL_FILTER(`clamav-filter',`S=local:/var/spool/clamav-milter/socket, F=,

T=S:4m;R:4m')dnl

※この例ではdkimfilter, dk-filter, sid-filter, milter-greylist,clamav-filterの順にフィ
ルタが実行されます
なお設定値の意味は sendmail/libmilter/docs/installation.html を参照
INPUT_MAIL_FILTER(`filter2', `S=unix:/var/run/f2.sock, F=T, T=S:1s;R:1s;E:5m')
F=Rフィルタが利用できない場合はコネクションを拒否する
Tフィルタが利用できない場合はコネクションを一時エラーにする
F=を設定しない場合はフィルタが利用できない場合はフィルタなしの動作を行う
T=Cフィルタへの接続のタイムアウト(デフォルト5分)
SMTAからフィルタへの送信タイムアウト(デフォルト10秒)
Rフィルタから応答読み出しタイムアウト(デフォルト10秒)
Eフィルタへメッセージの最後まで送信してから、最終確認を待っている間のタイムアウト(デフォルト5分)

最後に.cfを作成し所定の場所にインストールします。

% make hogehoge.cf hogehoge-submit.cf
# cp hogehoge.cf /etc/mail/sendmail.cf
# cp hogehoge-submit.cf /etc/mail/submit.cf 

STARTTLS用証明書

qpopperで作った証明書を利用する。

# cd /etc/mail/certs
# chmod g-w .
# cp -p signed-req.pem my.cert.pem
# cp -p cert.pem my.key.pem
# vi my.key.pem
  証明書の部分(BEGIN CERTIFICATEからEND CERTIFICATEまで)を削除

clientの設定(wanderlustの場合)

wanderlustでSTARTTLS利用時にはstarttlsパッケージが必要です。 ftp://opaopa.org/pub/elisp/starttls-0.10.tar.gz

% tar zxvf starttls-0.10.tar.gz
% cd starttls-0.10
% ./configure --prefix=/usr/local
% make
% su
# make install

/.wlなどに以下を追加

;
; SMTP AUTH用
;
(setq wl-smtp-posting-user "testuser@example.com")
(setq wl-smtp-authenticate-type "digest-md5")
;
; STARTTLS用
;
(setq wl-smtp-connection-type 'starttls)

milter-gris <2005/09/11更新>

sendmailでgreylistingを使う方法の一つです。http://www.milter.info/milter-gris/

環境

環境1

  • OS: NetBSD 2.0.2
  • milter-gris: milter-gris 0.12 NetBSDの設定ファイルでは/var/libのかわりに/var/spoolを使用する

環境2

  • OS: Vine Linux 3.0 (VineSeed?)
  • Kernel: linux-2.6.9
  • milter-gris: milter-gris 0.8

sendmailのインストール

上記インストール手順でmilterを使えるようにしたsendmailをインストールします。

milter-grisのダウンロード

http://www.snertsoft.com/download/ から

libsnert-1.52.tar.gz
milter-gris-0.12.tar.gz

をダウンロードします。 なお、最近(0.10あたりから)はダウンロードするためにはアカウントを登録す る必要があるようです。

milter-grisのインストール

% tar zxvf libsnert-1.52.tar.gz
% tar zxvf milter-gris-0.12.tar.gz

NetBSDだとcom/snert/src/lib/sys/Mutex.cのコンパイルに失敗するので以下 のパッチをあてる。 fileMutex.c.diff

% cd com/snert/src/lib
% CFLAGS=-D__unix__ ./configure --with-db=/usr/pkg
% gmake
% cd ../milter-gris
% CFLAGS=-D__unix__ ./configure --with-db=/usr/pkg
% gmake
% su
# gmake install

# mkdir /home/milter
# chown milter.milter /home/milter

sendmail.cfの設定

.mcに以下を追加してsendmail.cfをつくりなおし

define(`_FFR_MILTER', `1')dnl
define(`confLOG_LEVEL', `14')dnl
define(`confMILTER_LOG_LEVEL', 14)dnl

INPUT_MAIL_FILTER(
        `milter-gris',
        `S=unix:/var/lib/milter-gris/socket, T=C:1m;S:30s;R:6m;E:1m'
)dnl

sendmail 第3版〈VOLUME1〉運用編
sendmail 第3版〈VOLUME1〉運用編
sendmail 第3版〈VOLUME2〉設定編
sendmail 第3版〈VOLUME2〉設定編

添付ファイル: filepatch-xx 1364件 [詳細] filegris2greylist 1171件 [詳細] fileclamavmilter 1815件 [詳細] fileMutex.c.diff 1407件 [詳細]