第1章 システム認証の概要
セキュアなネットワーク環境を確立するための基盤の 1 つは、ネットワークへのアクセス権限を持つユーザーにアクセスが制限されるようにすることです。アクセスが許可されると、ユーザーはシステムに対して 認証 できます。つまり、ユーザーはアイデンティティーを検証できます。
Red Hat Enterprise Linux システムには、ユーザー ID を作成して識別できるさまざまなサービスがあります。これは、Kerberos や Samba などの大きな ID ドメインに接続するローカルシステムのファイルや、そのドメインを作成するツールになります。
本書では、管理者がローカルシステムの認証およびアイデンティティーを管理するために利用できる一般的なシステムサービスおよびアプリケーションを説明します。その他のガイドは、Linux ドメインの作成、および Linux システムの Windows ドメインへの統合 に関する詳細を提供する利用可能なガイドです。
1.1. ユーザーアイデンティティーの確認
認証 は、アイデンティティーを確認するプロセスです。ネットワークの対話については、認証には、別の当事者による識別が必要です。ネットワーク上で認証を使用する方法は、簡単なパスワード、証明書、ワンタイムパスワード (OTP) トークン、生体認証スキャンなどの数多くの方法があります。
反対に 承認 を行うと、認証されたユーザーが操作またはアクセスできるものを定義します。
認証では、ユーザーがなんらかの 認証情報 を提示してアイデンティティーを確認する必要があります。必要な認証情報の種類は、使用される認証メカニズムによって定義されます。システム上のローカルユーザーには、以下のような認証があります。
- パスワードベースの認証。ほとんどのすべてのソフトウェアは、認識されたユーザー名とパスワードを提供することでユーザーが認証できるようにします。これは 簡易認証 とも呼ばれます。
- 証明書ベースの認証の使用。証明書に基づくクライアント認証は、SSL プロトコルの一部です。クライアントは無作為に生成されたデータの一部に署名し、ネットワーク全体で証明書および署名されたデータの両方を送信します。サーバーは署名を検証し、証明書の有効性を確認します。
- Kerberos 認証。Kerberos は、TGT (ticket-granting tickets) と呼ばれる有効期限の短い認証情報のシステムを確立します。ユーザーは、ユーザーを特定し、ユーザーにチケットを発行できることをシステムに示す認証情報、つまりユーザー名およびパスワードを提示します。TGT は、Web サイトや電子メールなどの他のサービスへのアクセスチケットを要求するために繰り返し使用できます。TGT を使用した認証では、ユーザーはこの方法で単一の認証プロセスのみを実現できます。
- スマートカードベースの認証。これは、証明書ベースの認証のバリアントです。スマートカード (または トークン) は、ユーザー証明書を格納します。ユーザーがトークンをシステムに挿入すると、システムは証明書を読み取り、アクセスを付与できます。スマートカードを使用したシングルサインオンには、以下の 3 つの手順があります。
- ユーザーがスマートカードをカードリーダーに挿入します。Red Hat Enterprise Linux のプラグ可能な認証モジュール (PAM) は、挿入されたスマートカードを検出します。
- システムは、証明書をユーザーエントリーにマップし、スマートカードに表示された証明書を、証明書ベースの認証で説明されているように秘密鍵で暗号化して、ユーザーエントリーに保存されている証明書と比較します。
- 証明書がキー配布センター (KDC) に対して正常に確認されると、ユーザーはログインを許可されます。
スマートカードベースの認証は、追加の識別メカニズムとして証明書を追加し、物理的なアクセス要件を追加することにより、Kerberos によって確立された単純な認証層に基づいています。