SASL(Simple Authentication and Security Layer)

メールサーバー | IT用語集

この用語をシェア

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認証を必須とすることが重要です。

この用語についてもっと詳しく

SASLに関するご質問や、メールサーバー構築のご相談など、お気軽にお問い合わせください。