48.6. Kerberos
ネットワーク内のシステムのセキュリティーと整合性は望ましくない可能性があります。複数の管理者がネットワークで実行されているサービスや、これらのサービスが使用される方法を追跡するためにだけの時間を占有することができます。
さらに、ネットワークサービスへのユーザーの認証は、従来の FTP プロトコルおよび Telnet プロトコルを使用したネットワーク上で暗号化されていないパスワードの転送によって明らかであるため、プロトコルが使用する方法が本質的に安全でないと、危険を証明することができます。
Kerberos は、安全でない認証メソッドを許可するプロトコルの必要性をなくすことです。これにより、ネットワークセキュリティー全体が強化されます。
48.6.1. Kerberos とは
Kerberos は MIT によって作成されたネットワーク認証プロトコルで、対称キー暗号を使用します。[17] ネットワークサービスに対してユーザーを認証します。つまり、パスワードがネットワーク上で送信されることはありません。
そのため、ユーザーが Kerberos を使用してネットワークサービスに対して認証を行う際に、ネットワークトラフィックを監視してパスワードの収集を図っている不正なユーザーを効果的に阻止することができます。
48.6.1.1. Kerberos の利点
従来のネットワークサービスの多くは、パスワードベースの認証スキームを使用します。このようなスキームでは、ユーザー名とパスワードを指定して、特定のネットワークサーバーに対してユーザーが認証する必要があります。ただし、多くのサービスに対する認証情報の送信は暗号化されません。このようなスキームをセキュアにするには、ネットワークを外部からアクセスできないようにする必要があり、ネットワーク上のすべてのコンピューターおよびユーザーが信頼でき、信頼できるものでなければなりません。
その場合でも、インターネットに接続されたネットワークは安全であるとは想定されなくなります。ネットワークへのアクセスを取得する攻撃者は、パケットスニファーとも呼ばれる単純なパケットアナライザーを使用してユーザー名とパスワードを傍受し、ユーザーアカウントやセキュリティーインフラストラクチャー全体の整合性を損なうことができます。
Kerberos の主な設計の目的は、ネットワーク全体で暗号化されていないパスワードの送信を排除することです。適切に使用されていると、Kerberos は、パケットスニッファーがネットワーク上でもたらす脅威を効果的に排除します。
48.6.1.2. Kerberos の欠点
Kerberos は一般的で深刻なセキュリティーの脅威を排除しますが、さまざまな理由で実装が困難な場合があります。
- このタスクを実行する自動メカニズムがないため、
/etc/passwd
や/etc/shadow
などの標準の UNIX パスワードデータベースから Kerberos パスワードデータベースにユーザーパスワードを移行することはできます。オンラインの Kerberos FAQ で質問 2.23 を参照してください。 - Kerberos は、ほとんどの Red Hat Enterprise Linux サーバーが使用する PAM (Pluggable Authentication Modules)システムとの部分的な互換性しかありません。この問題の詳細は、「Kerberos および PAM」 を参照してください。
- Kerberos は、各ユーザーが信頼されていて、信頼できないネットワーク上で信頼できないホストを使用していることを前提としています。その主な目的は、暗号化されていないパスワードがそのネットワーク上で送信されないようにすることです。ただし、適切なユーザー以外のユーザーが、認証に使用されるチケットを発行するホスト( キー配布センター (KDC)と呼ばれる)にアクセスできる場合、Kerberos 認証システム全体が危険にさらされます。
- アプリケーションが Kerberos を使用するには、そのソースを変更して Kerberos ライブラリーに適切な呼び出しを行う必要があります。この方法で変更したアプリケーションは、Kerberos 対応 または Kerberized として考慮されます。アプリケーションによっては、アプリケーションのサイズや設計により、非常に問題になる場合があります。その他の互換性のないアプリケーションでは、サーバーとクライアントが通信する方法に変更を加える必要があります。ここでも、詳細なプログラミングが必要になる場合があります。デフォルトでは Kerberos サポートのないクローズソースアプリケーションは、多くの場合最も問題となります。
- Kerberos は、すべてまたはなしのソリューションです。ネットワークで Kerberos を使用する場合は、Kerberos 以外の対応サービスに転送される暗号化されていないパスワードはすべて危険にさらされます。したがって、このネットワークは Kerberos を使用する利点はありません。Kerberos でネットワークを保護するには、暗号化されていないパスワードを送信する すべて のクライアント/サーバーアプリケーションの Kerberos 対応バージョンを使用するか、そのようなクライアント/サーバーアプリケーションをまったく使用しない必要があります。