この用語をシェア
SASLとは
SASL(Simple Authentication and Security Layer)は、RFC 4422で標準化された認証フレームワークです。メールサーバーでは、SMTP AUTH(SMTP認証)の実装に使用され、メール送信時のユーザー認証を実現します。Submission(ポート587)での認証に不可欠な技術です。
SASLの主な認証メカニズム
代表的な認証方式
- PLAIN: ユーザー名・パスワードを平文で送信(TLS併用必須)
- LOGIN: PLAIN類似(Base64エンコード)
- CRAM-MD5: チャレンジ・レスポンス方式(ハッシュ化)
- DIGEST-MD5: より強固なハッシュ認証
- GSSAPI: Kerberos認証(企業環境)
- OAUTHBEARER: OAuth 2.0認証
推奨設定
現代のメールサーバーでは、PLAIN + STARTTLSの組み合わせが標準的です。TLS暗号化により、平文パスワードの送信も安全に行えます。
自社メールサーバー運用への応用
Postfix + Dovecot SASL設定
PostfixでDovecot SASLを使用する設定:
# /etc/postfix/main.cf
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
broken_sasl_auth_clients = yes
# Submission認証必須
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination
Dovecot SASL設定
# /etc/dovecot/conf.d/10-master.conf
service auth {
unix_listener /var/spool/postfix/private/auth {
mode = 0660
user = postfix
group = postfix
}
}
# /etc/dovecot/conf.d/10-auth.conf
auth_mechanisms = plain login
Docker Mailserverでの設定
Docker Mailserverでは、SASL認証が自動的に設定されます:
services:
mailserver:
environment:
- ENABLE_SASLAUTHD=1
- SASLAUTHD_MECHANISMS=rimap
# ユーザー追加
# docker exec -it mailserver setup email add user@example.com password
セキュリティベストプラクティス
- TLS暗号化必須: PLAINメカニズムはTLS併用が必須
- 認証失敗のレート制限: ブルートフォース攻撃対策
- 強固なパスワードポリシー: 12文字以上の複雑なパスワード
- 送信者検証: 認証ユーザーとFROMアドレスの一致確認
関連ブログ記事
まとめ
SASLは、メールサーバーでのユーザー認証に不可欠なフレームワークです。自社メールサーバーでは、SASL認証の有効化、TLS暗号化との併用、適切な認証メカニズムの選択により、安全なメール送信環境を構築できます。特にSubmission(ポート587)では、SASL認証を必須とすることが重要です。
2025-2026年の最新動向
OAuth 2.0 / OAUTHBEARER認証がメール認証の新標準として普及しています。Gmail、Microsoft 365が従来のパスワード認証を廃止し、OAuth 2.0ベースの認証を必須化する流れが加速しています。SASLのOAUTHBEARERメカニズムがこれを実現します。
SCRAM-SHA-256の標準化が進み、パスワードベース認証でも安全な方式への移行が推奨されています。サーバー側でパスワードを平文保存する必要がなく、リプレイ攻撃にも耐性があります。
パスキー/FIDO2との統合の研究が進行中で、将来的にはメール認証にもパスワードレス認証が導入される可能性があります。
外部リンク
関連用語
- Postfix - 高性能メール転送エージェント
- Dovecot - IMAP/POP3サーバー
- TLS - メール通信の暗号化
- STARTTLS - メール通信の暗号化プロトコル
- Submission - メール送信ポート587
よくある質問(FAQ)
Q. SASLとは?
インターネットプロトコルに認証機能を追加するフレームワークです。SMTP、IMAP等で使用され、複数の認証メカニズムを提供します。
Q. どの認証メカニズムを使うべき?
2025年現在、SCRAM-SHA-256またはOAUTHBEARER(OAuth 2.0)が推奨されています。PLAINはTLS上での使用に限定してください。
Q. PostfixでのSASL設定方法は?
Dovecot SASLをバックエンドとして使用し、main.cfでsmtpd_sasl_auth_enable=yesと設定します。STARTTLSとの組み合わせが必須です。
