IAjapanロゴ
有害情報対策ポータルサイト
−迷惑メール対策編−
■ トップ > メール管理者の皆様へ > 運用情報 > 実装の導入 > SPFとsid-milterの導入
サイト紹介 | 新着情報 | 一般利用者の皆様へ | メール管理者の皆様へ | 活動・関連情報
実装の導入 Sendmail編
実装の導入 postfix編
SPFとsid-milterの導入
―― Solaris10での実例
・SPF とは
・準備と設定
・動作確認
DKIMとdkim-milterの導入
―― Solaris10での実例
Submissionポートの適切な設定について
■ 3. 準備と設定    

Solaris 10に付属のsendmailのバージョンは8.13.7または8.13.8で、milterオプション付きでビルドされているため、sendmailを入れ替えることなくそのまま使うことができる。

# /usr/sbin/sendmail -bi -d0
Version 8.13.8+Sun
 Compiled with: DNSMAP LDAPMAP LOG MAP_REGEX MATCHGECOS MILTER MIME7TO8
                MIME8TO7 NAMED_BIND NDBM NETINET NETINET6 NETUNIX NEWDB NIS
                NISPLUS PIPELINING SCANF STARTTLS TCPWRAPPERS USERDB
                USE_LDAP_INIT XDEBUG
============ SYSTEM IDENTITY (after readcf) ============
      (short domain name) $w = www2
  (canonical domain name) $j = www2.mvs.co.jp
         (subdomain name) $m = mvs.co.jp
              (node name) $k = www2.mvs.co.jp
======================================================== 

sendmailのコンパイル情報が表示される。“MILTER”オプションがついているので、このsendmailではmilterを使用できる。

 

3.1 sid-milterソースの入手

以下のURLから入手する。

http://sourceforge.net/projects/sid-milter/

バージョンは、0.2.14 (2007年2月1日現在)。

 

3.2 コンパイルとインストール

Solaris 10をEntire Distributionでインストールすれば、プログラムのコンパイルに必要な開発ツールやライブラリは揃っている。実際にコンパイルするには、必要なツールが起動されるようにPATHを正しく設定する。

# PATH=/usr/sfw/bin:/usr/ccs/bin:/usr/local/bin:/usr/bin:/usr/sbin
# export PATH
# gzcat sid-milter-0.2.14.tar.gz | tar xvf -
# cd sid-milter-0.2.14
# sh Build
# cd obj.SunOS.5.10.sun4/sid-filter
# cp sid-filter /usr/local/libexec/

Buildスクリプトでインストールもできるが、milterプログラム以外もインストールされてしまうので、プログラム本体をコピーしてもよい。

 

3.3 sid-filter を動かす

インストールしたsid-filterを起動する。オプションなしで起動すると、使用できるオプションが表示される。

# /usr/local/libexec/sid-filter
sid-filter: usage: sid-filter -p socketfile [options]
-a peerlist     list of hosts to ignore
-A              auto-restart
-D              softfail DNS errors
-d domlist      domains to always pass
-f              don't fork-and-exit
-h              prepend identifying header
-H name         hostname to use in headers
-l              log activity to system log
-L level        libmarid log level
-M text         rejection message
-P pidfile      file to which to write pid
-r level        set rejection level
-q              quarantine instead of rejecting
-t              test-only mode
-T secs         DNS timeout
-u userid       change to specified userid
-V              print version number and terminate

sendmailとの通信はソケットを使用する。

# /usr/local/libexec/sid-filter -l -p local:/var/run/sid-filter -P /var/run/sid-filter.pid -r 0 -t

きちんと動かすためには、rcスクリプトを用意して自動起動する。


rcスクリプトの例

#!/sbin/sh
#
#ident  "@(#)sid-filter 1.0     2006/11/15 miz"
milter="/usr/local/libexec/sid-filter"
milter_domain="www2.mvs.co.jp"
milter_sock="local:/var/run/sid-filter"
milter_pid="/var/run/sid-filter.pid"
milter_flags="-l -h -r 0 -t"
milter_opt="${milter_flags} -p ${milter_sock} -P ${milter_pid} -d ${milter_domain}"
case "$1" in
start)
        exec $milter $milter_opt
         ;;
stop)
         pkill sid-filter
         rm -f /var/run/sid-filter
         ;;
*)
         echo "Usage: $0 { start | stop }"
         exit 1
         ;;
esac
exit 0

 

3.4 sendmail.cfを作る

SMTPフィルターを呼び出すようにsendmail.cfを作成してインストールする。Solaris 10にはm4 cfが付属しているので、簡単に作成できる。

# cd /etc/mail/cf/cf
# cat www2.mc
       divert(-1)
       #
       #
       divert(0)dnl
       VERSIONID(`@(#)www2.mc  1.0 (miz) 06/21/2004')
       OSTYPE(`solaris8')dnl
       DOMAIN(`solaris-antispam')dnl
       INPUT_MAIL_FILTER(`sid-filter',`S=local:/var/run/sid-filter,F=T,T=R:2m')dnl 
           ↑ この行を追加
       MAILER(`local')dnl
       MAILER(`smtp')dnl

mcファイルを修正したらsendmail.cfを作成し、sendmailを再起動する。

# make www2.cf
# cp www2.cf /etc/mail/sendmail.cf
# svcadm restart sendmail

 

《PREV》  
《NEXT》
IAjapanについて | 連絡先 | リンク・転載・引用・ロゴ使用について | プライバシーポリシー
 (c) 2001-2009 Internet Association Japan