Distributed-dbms-security-distributed-databases
提供:Dev Guides
DDBMS-分散データベースのセキュリティ
多くのユーザー、多様なデータ、複数のサイト、分散制御があるため、分散システムには集中システムよりも追加のセキュリティ対策が必要です。 この章では、分散データベースセキュリティのさまざまな側面について説明します。
分散通信システムでは、侵入者の2種類があります-
- 受動的盗聴者-メッセージを監視し、個人情報を取得します。
- アクティブな攻撃者-メッセージを監視するだけでなく、新しいデータを挿入したり、既存のデータを変更したりしてデータを破損します。
セキュリティ対策には、通信のセキュリティ、データのセキュリティ、およびデータ監査が含まれます。
通信セキュリティ
分散データベースでは、データ、ユーザー、トランザクションの場所が多様化するため、多くのデータ通信が行われます。 そのため、ユーザーとデータベース間、および異なるデータベース環境間の安全な通信が要求されます。
通信のセキュリティには次のものが含まれます-
- 転送中にデータが破損しないようにしてください。
- 通信チャネルは、受動的な盗聴者とアクティブな攻撃者の両方から保護する必要があります。
- 上記の要件を達成するには、明確に定義されたセキュリティアルゴリズムとプロトコルを採用する必要があります。
エンドツーエンドの安全な通信を実現するための2つの一般的な一貫した技術は次のとおりです-
- Secure Socket LayerプロトコルまたはTransport Layer Securityプロトコル。
- 仮想プライベートネットワーク(VPN)。
データセキュリティ
分散システムでは、通信とは別にデータを保護する手段を採用することが不可欠です。 データのセキュリティ対策は-
- 認証と承認-これらは、認証されたユーザーのみがデータベースを使用できるようにするために採用されたアクセス制御手段です。 認証を提供するために、デジタル証明書が使用されます。 また、ログインはユーザー名とパスワードの組み合わせによって制限されます。
- データ暗号化-分散システムでのデータ暗号化の2つのアプローチは次のとおりです-
- 内部から分散データベースへのアプローチ:ユーザーアプリケーションはデータを暗号化し、暗号化されたデータをデータベースに保存します。 保存されたデータを使用するために、アプリケーションはデータベースから暗号化されたデータを取得し、それを解読します。
- 分散データベースの外部:分散データベースシステムには独自の暗号化機能があります。 ユーザーアプリケーションは、データがデータベースに暗号化された形式で格納されていることを認識せずに、データを格納および取得します。
- 有効な入力-このセキュリティ対策では、ユーザーアプリケーションはデータベースの更新に使用する前に各入力をチェックします。 未検証の入力は、バッファオーバーラン、コマンドインジェクション、クロスサイトスクリプティング、データの破損など、さまざまな悪用を引き起こす可能性があります。
データ監査
データベースセキュリティシステムは、採用すべきセキュリティ対策を確認するために、セキュリティ違反を検出および監視する必要があります。 多くの場合、発生時にセキュリティ侵害を検出することは非常に困難です。 セキュリティ違反を識別する1つの方法は、監査ログを調べることです。 監査ログには次のような情報が含まれます-
- 失敗したアクセス試行の日付、時刻、およびサイト。
- 成功したアクセス試行の詳細。
- データベースシステムの重要な変更。
- 特に複数のサイトのデータベースからの膨大な量のデータへのアクセス。
上記のすべての情報は、データベース内のアクティビティの洞察を提供します。 ログの定期的な分析は、サイトおよび発生時刻とともに不自然なアクティビティを識別するのに役立ちます。 このログは、攻撃者がアクセスできないように、理想的には別のサーバーに保存されます。