SASLユーザは一度作ると3か月後、6か月後、1年後にパスワードを変更するまで、コマンドを使わないので記録しておかないと忘れてしまう。また、SMTP認証 smtpauthを新たに使う場合の注意点も記載しておく。
SASLユーザの追加 (SMTPユーザの作成)
新規ユーザ作成
# saslpasswd2 -c -u {mydomain} {username}
ユーザ一覧表示
# sasldblistusers2
パスワード変更
# saslpasswd2 -u {mydomain} {username}
ユーザ削除
# saslpasswd2 -d -u {mydomain} {username}
SMTP認証の失敗時の確認
マルチドメインの場合、2つの制約があります。
- 認証方式としてPAM認証を使用する必要がある
- smtpd_sasl_local_domainの値は空にする
sasldbによる認証が失敗する時、認証では、main.cfの smtpd_sasl_local_domain に認証を行うドメインを指定する必要がありますが、ドメインは1つしか指定できず、複数のドメインは指定できません。下記記載のとおり、Postfixの設定ファイル main.cf と 同じ 設定をしておく必要があります。
1.PostfixがDBを見に行けるか確認
# ll /etc/sasldb2
-rw-r----- 1 root postfix 12288 Jan 13 23:31 /etc/sasldb2
2.Postfixのmain.cfの設定とSASLユーザのドメインが同じか確認
# grep smtpd_sasl_local_domain /etc/postfix/main.cf
smtpd_sasl_local_domain = $mydomain
※smtpd_sasl_local_domain の 指定 と saslpasswd2 -u で指定した文字列が同じか確認
saslの設定と起動
# vi /etc/sasl2/smtpd.conf
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: cram-md5 digest-md5 plain login
# systemctl status saslauthd.service
● saslauthd.service - SASL authentication daemon.
Loaded: loaded (/usr/lib/systemd/system/saslauthd.service;,,,)
参考文献
Simple Authentication and Security Layer(SASL)は、インターネットプロトコルにおける認証とデータセキュリティのためのフレームワークである。アプリケーションプロトコルから認証機構を分離することを可能にし、理論上はSASLでサポートする任意の認証機構を任意のアプリケーションプロトコルで使うことができる。あるユーザーが別の者のアイデンティティを仮定できる「プロキシ認証」もサポートできる。データ一貫性/データ機密性サービスを提供する「データセキュリティ層」も提供できる。データセキュリティ層を提供する機構の例として DIGEST-MD5 がある。SASLをサポートするアプリケーションプロトコルは、Transport Layer Security (TLS) もサポートしてSASLの提供するサービスを補完するのが一般的である。
Wikipedia
エラー集
必要なパッケージがない場合
--
Jan sq3 postfix/submission/smtpd[]: warning: SASL authentication failure: Internal Error -4
Jan sq3 postfix/submission/smtpd[]: warning: SASL authentication failure: Internal Error -4
Jan sq3 postfix/submission/smtpd[]: warning: xsasl_cyrus_server_get_mechanism_list: no mechanism available
Jan 28 sq3 postfix/submission/smtpd[]: fatal: no SASL authentication mechanisms
# dnf install cyrus-sasl-md5
# dnf install cyrus-sasl-plain