第1章 システム認証の概要
安全なネットワークでは、アクセスを許可する前にユーザーのアイデンティティーを確認する必要がある。Red Hat Enterprise Linux は、ローカルシステムファイルから Kerberos や Samba などの外部ドメインまで、これらのアイデンティティーを管理するためのツールを提供しています。
1.1. RHEL の認証方法 リンクのコピーリンクがクリップボードにコピーされました!
認証は認証情報を用いてアイデンティティー確認を行い、認可はアクセス権限を決定する。RHEL は、安全なネットワーク通信を確保するために、パスワード、証明書、トークンなど、複数の検証メカニズムをサポートしています。
認証では、当事者が自身のアイデンティティーを検証するために何らかの認証情報を提示する必要があります。必要な認証情報の種類は、使用される認証メカニズムによって定義されます。
1.1.1. システム上のローカルユーザー認証の種類 リンクのコピーリンクがクリップボードにコピーされました!
- パスワードベースの認証
- ほとんどのソフトウェアで、ユーザーは認識されたユーザー名とパスワードを提供することで認証できます。これは簡易認証とも呼ばれます。
- 証明書ベースの認証
- 証明書に基づくクライアント認証は、Secure Sockets Layer (SSL) プロトコルの一部です。クライアントは無作為に生成されたデータの一部に署名し、ネットワーク全体で証明書および署名されたデータの両方を送信します。サーバーは署名を検証し、証明書の有効性を確認します。
- Kerberos 認証
- Kerberos は、Ticket-Granting Ticket (TGT) と呼ばれる、有効期間が短い認証情報のシステムを確立します。ユーザーは、ユーザーを特定し、ユーザーにチケットを発行できることをシステムに示す認証情報、つまりユーザー名およびパスワードを提示します。TGT は、Web サイトや電子メールなどの他のサービスへのアクセスチケットを要求するために繰り返し使用できます。Kerberos を使用した認証では、ユーザーはこのように 1 回の認証プロセスのみを実行することになります。
- スマートカードベースの認証
これは証明書ベースの認証の一種です。スマートカード (またはトークン) にはユーザー証明書が保存されています。ユーザーがトークンをシステムに挿入すると、システムが証明書を読み取ってアクセスを許可します。スマートカードを使用したシングルサインオンには、以下の 3 つの手順があります。
- ユーザーがスマートカードをカードリーダーに挿入します。Red Hat Enterprise Linux のプラグ可能な認証モジュール (PAM) は、挿入されたスマートカードを検出します。
- システムは、証明書をユーザーエントリーにマップし、スマートカードに表示された証明書を、証明書ベースの認証で説明されているように秘密鍵で暗号化して、ユーザーエントリーに保存されている証明書と比較します。
- 証明書がキー配布センター (KDC) に対する検証に成功すると、ユーザーはログインを許可されます。
スマートカードベースの認証は、追加の識別メカニズムとして証明書を追加し、物理的なアクセス要件を追加することにより、Kerberos によって確立された単純な認証層に基づいています。
- ワンタイムパスワード認証
- ワンタイムパスワードにより、認証セキュリティーに関する手順が追加されます。この認証では、ユーザーのパスワードと自動的に生成されたワンタイムパスワードを組み合わせて使用します。
- パスキー認証
- パスキーは、Yubikey 5 や Nitrokey など、libfido2 ライブラリーでサポートされている FIDO2 認証デバイスです。パスワードレス認証と多要素認証を可能にします。システムが IdM 環境に登録および接続されている場合、この認証方法により Kerberos チケットが自動的に発行されます。これにより、Identity Management (IdM) ユーザーのシングルサインオン (SSO) が可能になります。
- 外部アイデンティティープロバイダー
- OAuth 2 デバイス認可フローをサポートする外部アイデンティティープロバイダー (IdP) にユーザーを関連付けることができます。このユーザーが RHEL 9.1 以降で利用可能な SSSD バージョンで認証すると、ユーザーは、外部 IdP で認証と認可を実行した後、Kerberos チケットを使用した RHEL Identity Management (IdM) シングルサインオン機能を受け取ります。