Sun Java System Calendar Server 6 2004Q2 配備計画ガイド |
第 6 章
安全な Calendar Server の設計この章では、セキュリティ方法の概要と、広く見られるセキュリティ上の危険性について説明し、セキュリティの必要性を分析する手順を概説しています。
この章で説明する内容は次のとおりです。
セキュリティ戦略の作成セキュリティ戦略の作成は、配備を計画する際のもっとも重要な手順の 1 つです。計画する戦略は、組織のセキュリティニーズに対応し、ユーザーを威圧することなく、セキュリティ保護されたカレンダ環境を提供する必要があります。
さらに、セキュリティ戦略は、単純で管理可能なものである必要があります。複雑なセキュリティ戦略は、ユーザーが自分のメールにアクセスできなくなるような間違いにつながる場合があります。または、アクセスを許可していない情報の変更や検索をユーザーや権限のない侵入者に許してしまう可能性があります。
RFC 2196、『Site Security Handbook』には、セキュリティ戦略を開発するための次のような 5 つの手順が示されています。
- 保護しようとしている対象を識別する
たとえば、リストには、ハードウェア、ソフトウェア、データ、従業員、マニュアル、ネットワークインフラストラクチャ、組織の評判などを含めることができます。
- 何から保護しようとしているかを特定する
たとえば、カレンダ、予定、または作業に対する不正なアクセスなどがあります。
- システムにおける危険性の度合いを予測する
規模の大きなサービスプロバイダの場合、セキュリティの危険性の度合いは規模の小さい組織より大きくなります。さらに、組織の性格もセキュリティの危険性を誘発することがあります。
- コスト効率の良い方法で資産を保護する方策を実装する
たとえば、SSL 接続を設定する際の余分のオーバーヘッドは、Calendar の配備のパフォーマンスに負担になる可能性があります。セキュリティ戦略を設計する際、セキュリティの必要性とサーバーの容量とのバランスを取る必要があります。
- 継続的に使用している戦略を検討し、弱点を見つけしだい改善を図る
定期的に監査を行い、セキュリティポリシー全体の効率を検証します。Calendar Server のログファイルを調査することによってこれを行うことができます。詳細については、『Sun Java System Calendar Server 管理ガイド』を参照してください。
さらに次の項目についてセキュリティ戦略を計画する必要があります。
物理的セキュリティ
インフラストラクチャの重要な部分への物理アクセスを制限してください。たとえば、盗用、改ざん、または他の誤用を防止するため、ルーター、サーバー、ワイヤリングクローゼット、サーバールーム、またはデータセンターに物理的な境界線を設けます。権限のない人物がサーバールームに入室し、ルーターのプラグを抜くことができるなら、ネットワークおよびサポートのセキュリティはまだ解決されていない問題ということになります。
サーバーのセキュリティ
SolarisTM Security Toolkit などのセキュリティ製品を使用してオペレーティングシステムの堅固することを考慮してください。さらに、サーバーへの Telnet、FTP、rlogin によるアクセスなどの使用していないサービスや設備を除去します。
多層環境では、バックエンドサーバーを設定して、適切なサービスを既知のフロントエンドサーバーのみに提供するようにしてください。
重要なオペレーティングシステムのアカウントやデータへのアクセス制限も、あらゆるセキュリティ戦略の一部です。オペレーティングシステムで使用可能な認証やアクセス制御メカニズムによって保護を実現できます。
さらに、数か月に一度またはベンダーからのセキュリティ警告に応じて、オペレーティング環境の最新のセキュリティパッチをインストールし、パッチの更新を設定する必要があります。
ネットワークのセキュリティ
ネットワークへのアクセスを制限することはセキュリティ戦略の重要な部分です。通常、ネットワークへのアクセス全体はファイアウォールの使用により制限されています。しかし、電子メールはサイトの外部でも使用できるようにする必要があります。SMTP はそのようなサービスの 1 つです。
ネットワークのセキュリティを保護するには、次のことをする必要があります。
Calendar のセキュリティの概要セキュリティは、今日の企業の日々の業務の中で重要な役割を果たしています。セキュリティの侵害は、企業秘密を危険にさらす可能性だけでなく、停止時間、データの破損、および運用コストの増大を招く可能性もあります。Calendar Server は、ユーザーを盗聴、不許可の使用、または外部からの攻撃から保護するためにいくつかのセキュリティレベルを提供します。基本レベルのセキュリティは認証によるものです。Calendar Server は、デフォルトの設定で LDAP 認証を使用していますが、代替の認証方法が必要とされる場合、認証プラグインの使用もサポートしています。さらに Identity Server と統合する場合、Calendar Server はそのシングルサインオン機能を利用することができます。
セキュリティにはユーザーが本人であることを確かめる以上のことが関係しています。セキュリティにはデータの機密保護を確実にすることも含まれます。このため、Calendar Server はログインまたはログインとデータに対して、SSL 暗号化技術の使用をサポートしています。つまり、Web クライアントからサーバーへ、ログインのみが暗号化される場合と、ログインを含むセッション全体が暗号化される場合があります。
Java System Portal Server、Secure Remote Access 製品との統合によっても SSL 暗号化技術が可能になりますが、プロキシゲートウェイを介します。さらに、ポータルゲートウェイとの統合により提供される URL 書き換え機能により、外部のエンティティからさらに Calendar Server を隔離することが可能になります。Calendar Server は、ゲートウェイを介さない Calendar Server と直接接続ができないようにする、ポータルゲートウェイとともに配備することができます。この場合、すべての URL が書き換えられるため、Calendar Server の本当の URL の特定が困難になります。ユーザーが認証される場合でも、それによって、そのユーザーに他のカレンダユーザーのデータへのアクセス権があるわけではありません。
カレンダドメインの中には、認証されたユーザーが他の認証されたユーザーのカレンダデータにアクセスできないようにする、他のセキュリティ層があります。セキュリティの方策の 1 つに、Calendar Server アクセス制御のエントリによる方法があります。アクセス制御によって、カレンダユーザーは、自分のカレンダを閲覧可能な人、予定を自分のカレンダにスケジュール設定可能な人、自分のカレンダを変更可能な人、自分のカレンダから予定を削除可能な人を指定することができます。さらにアクセス制御によって、ユーザーは、自分の代わりに招待に応答することのできる人、予定のスケジュール設定または変更ができる人、予定を削除できる人を選択することができます。最後に、アクセス制御を使用すると、ユーザーのドメインの範囲を調整できるので、あるドメインのユーザーが別のドメインのユーザーによる予定のスケジュール設定を防止したり、または可能にしたりすることができます。
ただし、アクセス制御に加えて、Calendar Server は、カレンダフロントエンドとデータベースバックエンドを分割する配備に、データベースプロトコルレベルの他のレベルのセキュリティを装備することができます。このセキュリティレベルは、データベースワイヤプロトコル (DWP) 認証と呼ばれ、ユーザーの名前とパスワードのペアを利用して DWP 接続を認証します。DWP 接続が認証されるためには、ユーザー ID とパスワードのペアが、フロントエンドとデータベースバックエンドの両方で同じである必要があります。
セキュリティ戦略の監視
サーバーの監視はセキュリティ戦略の重要な部分です。システムへの攻撃を識別するため、メッセージキューサイズ、CPU 使用率、ディスクの可用性、およびネットワーク使用率を監視してください。メッセージキューサイズの異常な増大やサーバー応答時間の異常な減少から、攻撃のいくつかは識別できます。さらに、異常なシステムロードパターンや異常な接続を調査してください。毎日ログを検査して何らかの異常な動作がないかを確認します。
ユーザー認証の計画ユーザー認証によって、ユーザーはカレンダクライアントを介してログインし、自分のカレンダ情報を取得できます。ユーザー認証の方法には次のものがあります。
プレーンテキストと暗号化パスワードによるログイン
ユーザー ID とパスワードは、LDAP ディレクトリに格納されています。最小限の長さなど、パスワードのセキュリティ基準はディレクトリポリシーの要件で決定されます。パスワードのセキュリティ基準は Calendar Server の管理範囲外のものです。ディレクトリサーバーのパスワードポリシーについては、次の Web サイトから入手できる『Sun Java System Directory Server 配備計画ガイド』を参照してください。
プレーンテキストと暗号化パスワードによるログインが使用可能です。
SSL (Secure Sockets Layer) を使用する証明書ベースの認証
Calendar Server は SSL プロトコルを使用して、暗号化通信やクライアントとサーバーの証明書ベースの認証を行います。この節では証明書ベースの SSL 認証について説明します。
SSL は公開鍵暗号化技術の概念に基づいています。機能的に TLS (Transport Layer Security) は SSL のスーパーセットですが、その名前は同じように使用されています。
高いレベルでは、SSL サポートするサーバーには、証明書、公開鍵、非公開鍵、証明書、鍵、およびセキュリティのデータベースが必要とされます。これによって、メッセージの認証、プライバシ、および完全性が確保されます。
SSL で認証するため、カレンダクライアントはサーバーと SSL セッションを確立し、ユーザーの証明書をサーバーに送信します。次に、サーバーは送信された証明書の信頼性を評価します。証明書が検証された場合、ユーザーは認証されたとみなされます。
認証に SSL を使用する場合は、Calendar Server のサーバー証明書を取得する必要があります。クライアントや他のサーバーは、その証明書によってサーバーを識別します。サーバーは、自らを明確にする複数のサーバー証明書を保持することができます。さらにサーバーは、信頼されている認証局 (CA) の証明書をいくつでも保持し、クライアントの認証に使用することができます。
SSL の詳細については 次の Web サイトから入手できる『Sun Java System Calendar Server 管理ガイド』を参照してください。
http://docs.sun.com/db/prod/entsys?l=ja
セキュリティの誤解についてこの節では、配備のセキュリティニーズに逆効果になる一般的なメッセージングの誤解について説明します。
他のセキュリティリソースセキュリティ保護された Messaging の配備については、次の Computer Emergency Response Team (CERT) Coordination Center のサイトを参照してください。