SMTP認証に関する設定は一通り終わりました。SMTP AUTHにより認証によるSMTP利用を認めるには専用のアカウント、パスワードが必要となります。これらの認証はCyrus SASLによって行われます。
Cyrus SASLとは?
SASLとは認証システムをサーバープログラムに提供するライブラリです。サーバープログラムがSASLに対応していれば、SASLによる認証が行えま す。Sendmail3.10以降は対応しています。この認証システムを利用してSMTPに認証機構が付加されます。SASLは非常に強力で、ここで管理 されたユーザーやパスワードは他の対応したサーバープログラムにも共通して利用することが出来ます。暗号化にはGSSAPI DIGEST-MD5 CRAM-MD5 KERBEROS_V4などのアルゴリズムをサポートします。
SMTP専用のユーザーとパスワードを設定します。Linuxにアカウントを持つユーザー名にする必要はありません。セキュリティを第一に考えるなら Linuxユーザーと同じパスワードを設定しないで下さい。ログインユーザーに使われるパスワードとは別にSMTP専用のパスワードと言うことになりま す。
パスワードを2回要求してきますので答えます。この様にユーザーを追加するとSMTPのアカウントは " taro@my_domain.homeip.net " となります。 この設定ではアカウント " taro " では使えませんので注意して下さい。
これでSMTP認証専用のユーザー、パスワードを利用することが出来ます。
/etc/sasldb
に情報が記録されます。このファイルのパーミッションは600でないと動作しないので注意して下さい。
saslpasswdに関するオプション
現在登録されているユーザーと利用可能なアルゴリズムの表示
登録されている任意のユーザーを削除します。
登録ユーザーの削除
SMTP AUTHがどのユーザー・パスワードファイルを使って認証を行うかを指定します。
この場合、SMTP専用のユーザーとパスワードとなります。 /usr/lib/sasl/Sendmail.conf を作成し以下の内容を記述します。
pwcheck_method: sasldb
ここで設定した暗号化のアルゴリズムは以下になります。
GSSAPI DIGEST-MD5 CRAM-MD5 KERBEROS_V4
このうちのいずれかのアルゴリズムに対応したメーラーでないと認証できません。
TurboLinux6wでは、ユーザーパスワードは/etc/shadowに格納されていますので、POPと同じユーザー、パスワードを利用する場合は以下のようにします。POPとSMTPを同じユーザー、パスワードを利用できるため管理は楽になりますが POP認証は元々平文なので意味がありません。
pwcheck_method: shadow
この設定ではPOPと同じ認証設定でSMTPを許可するため、平文であるPOPが盗聴された場合、SMTPも盗聴されたことになるため、意味がありません。
このようなケースはAPOPを導入し、受信認証の暗号化は必須となります。次ページで解説しています。
実際にSASLで登録したユーザーアカウントでメールが送信できるかテストして下さい。当然OutlookやNetscapeは使えません。APOPに対応したMUAであれば大抵のMUAで送信出来る筈です。