最終更新日:2013年9月5日
$ sudo apt-get install libsasl2 libsasl2-modules sasl2-bin
(debian6では、apt-get install libsasl2-2 libsasl2-modules sasl2-bin )
::
::
# Should saslauthd run automatically on startup? (default: no)
START=yes ---デフォルトは no
::
::
MECHANISMS="pam"
以上で saslauthd を起動させる準備ができましたので、
$ sudo /etc/init.d/saslauthd restart
以上でsaslauthd を起動させましょう。
正常に起動できれば、
$ testsaslauthd -u ユーザID -p パスワード(ex. testsaslauthd -u matsuzaki -p Real-password)
で、Linuxに登録されているユーザにて saslauthd の動作が確認できます。
::
::
# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/mail-server.pem
smtpd_tls_key_file=/etc/ssl/private/nopass_mail-server.key
::
::
# postfix でTLSを利用する
smtpd_use_tls=yes
::
::
# SASL Auth
# broken_sasl_auth_clients = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_authenticated_header = yes
::
::
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
permit_auth_destination,
reject
pwcheck_method: saslauthd
::
::
# smtps inet n - - - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
↓
smtps inet n - - - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
$ sudo rm -r /var/run/saslauthd/
$ sudo mkdir -p /var/spool/postfix/var/run/saslauthd
$ sudo ln -s /var/spool/postfix/var/run/saslauthd /var/run
$ sudo chgrp sasl /var/spool/postfix/var/run/saslauthd
$ sudo adduser postfix sasl
$ sudo /etc/init.d/saslauthd restart
$ sudo /etc/init.d/postfix restart
以上までの設定で、SMTPパケットのTLSでの暗号化か可能になりました。 (POPやIMAPに関してはまだ暗号化されていません。 それらについては別の章で説明します。)
SASLによるSMTP認証がうまく動作するかの確認は次のように行います。
まず、はじめにLinuxユーザの認証用ID/PasswordをBASE64化したデータを次の手順で入手します。
# perl -MMIME::Base64 -e 'print encode_base64("ユーザID\0ユーザID\0パスワード");'
(例: perl -MMIME::Base64 -e 'print encode_base64("matsuzaki\0matsuzaki\0pass1234");' )
たとえば結果として 「amltbXkAamltbXkAcaaamC1zZWNyZXQ=」が返ってきたとします。
リモートから telnet にてメールサーバに接続して、次のように確認を実施します。
$ telnet メールサーバのIPアドレス 25
Trying xx.xxx.xx.xxx...
Connected to xxxx.
Escape character is '^]'.
220 xxxx ESMTP Mailserver
ehlo ドメイン名 (ex. ehlo robata.org)
250-xxxxx
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH NTLM LOGIN PLAIN DIGEST-MD5 CRAM-MD5
250-AUTH=NTLM LOGIN PLAIN DIGEST-MD5 CRAM-MD5
250 8BITMIME
AUTH PLAIN amltbXkAamltbXkAcaaamC1zZWNyZXQ=
235 Authentication successful --- 認証成功
Copyright© 1998-2013 ROBATA.ORG