pkgを使ってインストールします。
# pkg install cyrus-sasl-saslauthd
SENDMAIL_CFLAGS=-I/usr/local/include -DSASL=2 -DLDAPMAP -DSM_CONF_LDAP_MEMFREE -DSM_CONF_POLL SENDMAIL_LDFLAGS=-L/usr/local/lib SENDMAIL_LDADD=-lsasl2 -llber -lldap
コンパイルして置き換えます。
# cd /usr/src/lib/libsm # make cleandir # make obj # make # make install # cd /usr/src/usr.sbin/sendmail # make cleandir # make obj # make # make install
Sendmailがsaslauthd経由で認証できるようにします。
pwcheck_method: saslauthd
基本的にsubmit.cfは変更する必要はないので、
sendmail.cfのみ以下の仕様に変更します。
仕様
以下を追加
FEATURE(`no_default_msa') DAEMON_OPTIONS(`Port=25, Name=IPv4, Family=inet')dnl DAEMON_OPTIONS(`Port=25, Name=IPv6, Family=inet6, M=O')dnl DAEMON_OPTIONS(`Port=587, Name=IPv4MSA, Family=inet, M=Ea')dnl DAEMON_OPTIONS(`Port=587, Name=IPv6MSA, Family=inet6, M=OEa')dnl define(`confAUTH_MECHANISMS', `DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl define(`confAUTH_OPTIONS', `p y')dnl TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')
To:next-hop.net RELAY
# cd /etc/mail # make sendmail.cf # make access.db
sendmail_enable="YES" saslauthd_enable="YES"
各daemonを起動します。
# /etc/rc.d/sendmail restart # /usr/local/etc/rc.d/saslauthd start
opensslで確認してみます。
TLSで接続しているのでLOGINとPLAINが有効になっています。
認証せずにメールを送信しようとするとエラーになることを確認します。
% openssl s_client -connect mta.next-hop.net:587 -starttls smtp CONNECTED(00000003) ...<省略> 250 HELP EHLO mta.next-hop.net 250-mta.next-hop.net Hello mta.next-hop.net [192.168.0.10], pleased to meet you 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-8BITMIME 250-DSN 250-AUTH DIGEST-MD5 CRAM-MD5 LOGIN PLAIN 250-DELIVERBY 250 HELP MAIL FROM:<root@next-hop.net> 530 5.7.0 Authentication required
PAMからLDAPを使うなど、デフォルトの認証、認可と異なる方式を使用す る場合は、/etc/pam.d/smtpを作成します。
# mkdir /etc/mail/auth # echo '"AuthInfo:your.isp.net "U:root" "I:usr" "P:password"' > /etc/mail/auth/client-info # cd /etc/mail/auth # makemap hash client-info < client-info # chmod -R go-rwx /etc/mail/auth
define(`SMART_HOST', `your.isp.net') FEATURE(`authinfo', `hash /etc/mail/auth/client-info')
Copyright ©2000-2018 T.Hiraga <hiraga@next-hop.net> All Rights Reserved. Last modified: $Date: 2011/04/15 04:53:21 $ |