$Id: howto-CF.html,v 1.2 2004/03/17 08:56:44 sakane Exp $
%Hd: CF の使い方
CF パッケージをどこからか拾って来る。
例えば ftp://ftp.kyoto.wide.ad.jp/mail/CF/
o CF-3.7Wpl2
だいたい一緒。
o CF-3.6Wbeta7
perl があると早くコンパイルできるとあるが、無くてもできるので無視。
perl をどーしても使いたいなら、Makefile の PERL に perl を設定する。
% gunzip -c CF-3.6Wbeta7.tar.gz | tar xvf -
% cd CF-3.6Wbeta7
README.jpn, INTRO.jpn を一通り読む。
doc/MANUAL.jpn をよーく読む。
% make cleantools
% make tools
% make samples
% cp Standards/sendmail-v7.def sendmail.def
% vi sendmail.def
(編集)
% make sendmail.cf
一応動作を確認。
% sendmail -d21.2 -bs -C ./sendmail.cf
適当な場所にインストール
基本的な設定
DEF_ID='$Id: howto-CF.html,v 1.2 2004/03/17 08:56:44 sakane Exp $'
OS_TYPE=sunos4.1 <-- Master/OSTYPE から
MX_SENDMAIL=yes
MY_DOMAIN=dcl.co.jp
MY_NAME=dclwide
OFFICIAL_NAME='$w.$m' <-- $w: MY_NAME
$j: OFFICIAL_NAME
$m: MY_DOMAIN
MY_ALIAS='localhost'
STAT_FILE_PATH='/etc/sendmail.st'
TRUSTED_USERS='root daemon'
COPY_ERRORS_TO='postmaster'
外部から受けた dcl.co.jp 宛のメールを133.143.10.1 に配送する。
ただし dclwide.dcl.co.jp は local で受け取りたい。
内部も MX 配送できると嬉しいんだけど…(^^ bind8 使うか…
方法1:
MAILERTABLE=yes
% cat mailertable
dclwide.dcl.co.jp local
+dcl.co.jp smtp:[133.143.10.1]
% makemap hash /etc/mailertable.db < mailertable
方法2:
STATIC_ROUTE_FILE=sendmail.static
% cat sendmail.static
GW local
DOM dclwide.dcl.co.jp
GW smtp: [133.143.10.1]
DOM dcl.co.jp
それ以外は MX で配送。
DIRECT_DELIVER_DOMAINS=all
spam対策
spam とは?
http://www.ayamura.org/interop98/を参照すべし。
こっちも参照。大文字SPAMと書かないでと主張してます。
SMTP from=any, mail from=any, rcpt to=*.dcl.co.jp は通す。
SMTP from=133.143.*, mail from=any, rcpt to=any は通す。
それ以外は拒否したい。
MAIL_RELAY_RESTRICTION=yes
LOCAL_HOST_IPADDR=133.143
ALLOW_RELAY_JUST_TO=dcl.co.jp
失敗※LOCAL_HOST_DOMAIN=dcl.co.jp
内部ホスト名の逆引きが出来ないので、
relay=133.143.foge.hage で reject される。
失敗※ALLOW_RELAY_JUST_FROM=dcl.co.jp
外部から接続して、
mail from=
rcpt to=
すると配送できてしまう…。(-_-;;
sendmail-8.9.1+3.1W ならば…
MAPS RBL (the Mail Abuse Protection System Realtime Blackhole List) http://maps.vix.com/rbl/や ORBS (Open Relay Blocking System) http://www.dorkslayers.com/orbs/が使える。
http://www.itojun.org/diary/19981016a/を参照すべし。
その他のセキュリティ対策
PRIVACY_FLAGS='needmailhelo,needexpnhelo,needvrfyhelo,authwarnings'
needmailhelo SMTP/MAIL コマンドの発行前に HELO を要求する
needexpnhelo SMTP/EXPN コマンドの発行前に HELO を要求する
needvrfyhelo SMTP/VRFY コマンドの発行前に HELO を要求する
authwarnings 発信者アドレスの偽造可能性に関する情報をヘッダに付加
特定のドメイン宛のメールを拒否する
例えば dsc.dcl.co.jp を拒否するためには、sendmail.cf の
Scheck_rcpt_remote
ら辺に、
R$*<@$*dsc.dcl.co.jp>$* $# error $@ 5.7.1 $: 571 Relay operation rejected
と言う行を追加する。
もちろん、クラスを使用して、
F{RelayDenyToDom} -o /etc/sendmail.denytodom
R$*<@$*$={RelayDenyToDom}>$* $# error $@ 5.7.1 $: 571 Relay operation rejected
% cat /etc/sendmail.denytodomain
dsc.dcl.co.jp
などとすることも可能。
CF-3.6Wbeta7 へのパッチ
sendmail-8.9.1 + CF-3.7Wpl2 では対応済
特定のアドレス宛のメールを拒否する
例えば sakane@net.dcl.co.jp を拒否するためには、sendmail.cf の
Scheck_rcpt
ら辺に、
R$*$* $# error $@ 5.7.1 $: 571 Relay operation rejected
と言う行を追加する。
CF-3.6Wbeta7 へのパッチ
sendmail-8.9.1 + CF-3.7Wpl2 では対応済