はじめに #
Cyrus SASL(サイラス・サスル) は、SASL
(Simple Authentication and Security Layer)認証機構を提供するためのライブラリとなります。
メールサーバー(Postfix
,Dovecot
など)など認証を必要とする多くのサーバーソフトで利用されています。
本記事では、Rocky Linux 8
環境でのインストール方法や設定ファイルについて解説します。
より詳細な情報は以下のドキュメントをご確認ください。
公式ドキュメントインストール方法 #
RockyLinux8環境で「Cyrus SASL」をインストールするには以下のように「dnf
」コマンドを使用します。
dnf install cyrus-sasl
利用するLinuxOS等によっては初期状態から導入されている場合がございます。
追加インストール #
plainやmd5メカニズムを使用する場合は追加パッケージをインストールする必要があります。
plainを使用する場合 #
dnf install cyrus-sasl-plain
md5を使用する場合 #
dnf install cyrus-sasl-md5
ライブラリを使用する場合 #
dnf install cyrus-sasl-lib
開発用 #
dnf install cyrus-sasl-devel
設定ファイル #
Cyrus SASLの設定ファイルは以下に配置されます。
これはPostfixなどのSMTP認証に関する設定に使用されます。
/etc/sasl2/smtpd.conf
主な設定項目 #
pwcheck_method #
pwcheck_method
項目ではユーザーの認証情報をどのモードで確認するかを指定する事ができます。
主要な設定は「saslauthd
」や「auxprop
」等があります。
以下は動作モードを指定した例となります。
pwcheck_method: saslauthd
以下は、Cyrus SASLで指定可能な動作モードの一覧表となります。
使用するモードは、利用するサービスや認証方式の要件に応じて選択してください。
モード名 | 説明 |
---|---|
auxprop |
内部のユーザーデータベース(sasldb )を使用して認証します。 |
saslauthd |
外部の認証デーモン(saslauthd )を使用します。PAMなどと連携が可能です。 |
pwcheck |
古いモード。現在は非推奨で、saslauthdに置き換えられています。 |
authdaemond |
Courier IMAPなどの一部ソフトで使用される認証デーモンと連携します。 |
mech_list #
mech_list項目ではCyrus SASLがサポートする認証メカニズムを指定する事ができます。
主要な設定は「PLAIN
」や「LOGIN
」等があります。
以下は認証メカニズムを指定した例となります。
mech_list: PLAIN LOGIN
以下は、Cyrus SASLで指定可能な主な認証メカニズムの一覧表となります。
使用するメカニズムは、セキュリティ要件や互換性に応じて選択してください。
メカニズム名 | 説明 |
---|---|
PLAIN |
最も基本的な認証方式。ユーザー名とパスワードを平文で送信します。 |
LOGIN |
PLAINと似ていますが、ステップが分かれています。 |
CRAM-MD5 |
チャレンジレスポンス方式で、パスワードをハッシュ化して送信します。 |
DIGEST-MD5 |
HTTP認証にも使われる方式で、MD5を用いたチャレンジレスポンス認証です。 |
SCRAM-SHA-1 |
チャレンジレスポンス方式で、SHA-1を使用します。 |
SCRAM-SHA-256 |
SCRAMの一種で、SHA-256を使用します。 |
GSSAPI |
Kerberosを利用した認証方式です。 |
NTLM |
WindowsのNT LAN Manager認証方式です。 |
EXTERNAL |
外部の認証情報を使用します。 |
ANONYMOUS |
匿名アクセスを許可します。 |
OTP |
一度限りのパスワードを使用する認証方式です。 |
SRP |
セキュアなパスワード認証方式で、パスワードを直接送信しません。 |
log_level #
log_level項目ではCyrus SASLの動作に関するログ出力の詳細度を指定する事ができます。
以下はログ出力の詳細度を「2
」に指定した例となります。
log_level: 2
以下は指定できる値の表となります。
値 | 内容 |
---|---|
0 | ログなし(デフォルト) |
1 | エラーメッセージのみ |
2 | エラー + 警告 |
3 | 通知も含む |
5 | 詳細な動作ログ |
7 | デバッグレベルの出力 |