sendmail:SMTP Auth の設定方法
 by ip-domain-search.com
IPドメインSEARCH IPドメインLOOKUP IPドメイン半自動 IPドメイン来訪者ログ WWWサーバへ渡す情報
ドメイン基礎講座 独自ドメインの取得 自社(宅)サーバの構築 複数ドメインの運用 お問合せ・PROFEEL


--<Sponsered Link>--

ここでは、自社サーバーのsendmailの送信機能(SMTP)に、(スパムメール送信の踏み台に利用されない為の)「SMTP_Auth」と呼ばれる認証手法を構築する方法について記載します。
 
7年位前に構築したFreeBSD9.2のMailサーバー(sendmail)では「POP_before_SMTP」呼ばれる手法を使って、SMTP(メール送信)サーバーの無断使用を防止していましたが、今回FreeBSDを12.1にバ-ジョンアップすると(問題点も多く指摘されて、廃止の方向にある為か)「POP_before_SMTP」実現の為のdracdがportsに準備され無くなっていました。 (dracdの開発が長期間停止しているからだそうです。)  (FreeBSD9.2のportsにあったdracdをFreeBSD12.1のportsにコピーしても、makeでエラーが出るので、最新のFreeBSD12.1での「POP_before_SMTP」の使用は諦めました)

「SMTP_Auth」はFreeBSD本家サイトの解説や他のWebサイトの解説を参考にしましたが、各サイトで指定されているソフトが現時点ではportsに存在しない等、そのまま解説に従っても構築出来ませんでした。従って、各サイトの良いとこ取りで、現時点で動作した「SMTP_Auth」の構築方法を備忘の為に記録しておきます。


構築手順 (下書き)

SMTP_Auth 認証 

--------------------------------------------------
cyrus-saslのインストール

# pkg install cyrus-sasl-saslauthd

-------------------
  ## 確認
/usr/local/include/sasl フォルダーの存在を確認する
/usr/local/lib/sasl2 フォルダーの存在を確認する

/usr/local/lib/sasl2/Sendmail.conf を編集する
pwcheck_method: saslauthd
-------------------

/etc/make.conf に追加する (FreeBSD本家サイトの解説に依る)
#---- FreeBSD Site++
SENDMAIL_CFLAGS=-I/usr/local/include/sasl -DSASL
SENDMAIL_LDFLAGS=-L/usr/local/lib
SENDMAIL_LDADD=-lsasl2



-------------------
sendmailの再構築
/usr/ports/mail/sendmail
make
make install


/usr/local/etc/mail 内の
mailer.conf をチェック (sendmailインストール完了時のメッセージに依る)
sendmail	/usr/local/sbin/sendmail
send-mail	/usr/local/sbin/sendmail
mailq		/usr/local/sbin/sendmail
newaliases	/usr/local/sbin/sendmail
hoststat	/usr/local/sbin/sendmail
purgestat	/usr/local/sbin/sendmail

無ければ /usr/local/etc/mail/mailer.conf.sendmailをコピーしてmailer.confを作る。


/etc/make.conf に追加 (sendmailインストール完了時のメッセージに依る)
SENDMAIL_CF_DIR=        /usr/local/share/sendmail/cf

/etc/mail/(your_host_name).mcに追加  (your_host_name) は貴サーバー名を打ちます。

		(sendmailインストール完了時のメッセージに依る)
dnl -------- for SMTP AUTH  sendmail after install message---------------
define(`confEBINDIR', `/usr/local/libexec')dnl
define(`UUCP_MAILER_PATH', `/usr/local/bin/uux')dnl

		(FreeBSD本家サイトの解説に依る)
dnl --- FreeBSD site--------------------
dnl set SASL options
TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
define(`confDEF_AUTH_INFO', `/etc/mail/auth-info')dnl

		(https://www.next-hop.net/~hiraga/FreeBSD/smtp-auth-tls.shtmlサイトの解説に依る)
dnl -URL:https://www.next-hop.net/~hiraga/FreeBSD/smtp-auth-tls.shtml----
FEATURE(`no_default_msa')
DAEMON_OPTIONS(`Port=587, Name=IPv4MSA, Family=inet,  M=Ea')dnl
DAEMON_OPTIONS(`Port=587, Name=IPv6MSA, Family=inet6, M=OEa')dnl

	上記は MAILER(local)	MAILER(smtp)の上位に置く

/etc/mail/accessを変更追加
Connect:127.0.0.1				RELAY
Connect:(メール送信を許可するSMTPサーバー名)		RELAY


-------------------
/etc/mail/ で makeし、エラーが無くなれば

cp /etc/mail/(your_host_name).cf sendmail.cf
cp /etc/mail/(your_host_name).submit.cf submit.cf
	(your_host_name) は貴サーバー名を打ちます。

/etc/rc.conf に追加
sendmail_enable="YES"
saslauthd_enable="YES"			#SMTP AUTH

-------------------
sendmail saslauthdを再起動
sh /etc/rc.d/sendmail start:stop:restart
sh /usr/local/etc/rc.d/saslauthd start:stop:restart

-------------------

  (http://freebsd.vn102.space/?title=smtp_auth_for_freebsd&more=1&c=1&tb=1&pb=1サイトの解説に依る))

SMTP AUTH の為の送信パスワードの設定
# saslpasswd2   *********(任意のID)	
# passwd='xxxxxxx'		(任意)
このデータは /usr/local/etc/sasldb2.db として保存される。
外部からの送信時にパスワードをチェックされる。

ユーザーの追加も
# saslpasswd2   *********2(任意のID)	
# passwd='xxxxxxx2'	(任意)

ユーザー確認は	# sasldblistusers2




以上

間違いや誤字脱字があった場合はEメールでお知らせ下さいますようにお願い申し上げます。


Copyright(c) 2020 ip-domain-search.com  All rights reserved.




--<Sponsered Link>--

IPドメインSEARCH IPドメインLOOKUP IPドメイン半自動 IPドメイン来訪者ログ WWWサーバへ渡す情報
ドメイン基礎講座 独自ドメインの取得 自社(宅)サーバの構築 複数ドメインの運用 お問合せ・PROFEEL
goeika.com ご詠歌.com 御詠歌.com