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