$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 では対応済