多くの組織はこれを避けられない悪と考えていますが、現実には、企業がシステムやデータへの不正アクセスを防ぐために今できることはたくさんあります。
ポイント番号1. ITシステムの設定を理解する-構成を確認する
多くのデータリークは、誤った構成の単純なエラーが原因で発生します。これは、システムセキュリティのレベルを下げることで違反のリスクを不注意に増加させるデータベースパラメータです。
それらは、不十分なパスワードポリシーのように単純な場合もあれば、企業ネットワーク上で不十分に構成された暗号化手順のように複雑な場合もあります。
安全なエンジニアリングガイド( STIG )が役立つ場合があります
また、ソフトウェアに登録されたホールを持つ公開データベースを使用することも忠実です( National Checklist Program Repository )。
ポイント番号2.すべてのデータを暗号化する
データは最も価値のあるビジネス資産の1つであり、暗号化はセキュリティを確保するための重要なステップです。
暗号化はパフォーマンスに影響を与えると多くの人はいまだに信じていますが、クラウドコンピューティングと最新の暗号化技術の出現により、多くの場合、これは事実ではありません。
すべての主要なデータベースプロバイダーは何らかの形式のデータベース暗号化を提供し、通常、この機能を< Transparent Data Encryption (TDE)のようなものと呼びます。
このタイプの暗号化は、攻撃者がオペレーティングシステム、バックアップ、またはデータアレイを介してデータにアクセスしたり読み取ったりすることを防ぎ、これらの外部グループ攻撃からデータベースを保護することにより、データベースアクセス制御メカニズムを回避しようとする攻撃から保護するのに役立ちます。
どのデータが機密であるかを継続的に分析することに焦点を合わせないでください。すべてのアプリケーションデータを単純に暗号化する利点は、絶えず暗号化を分析して再導入するコストを上回ります。
基本レベルでの暗号化により、データベースまたはバックアップファイルをマスクショーまたは直接アクセスによる盗難から保護できます。 2000年代初頭、身元不明の人々がオンタリオ州(カナダ)の税務省に入り、警備員を頭に置いてサーバーを連れて行きました。
攻撃者がマスターキーを持っていない場合(サーバー以外の安全な場所にある必要があります)、データは比較的安全です。
アイテム#3. SQL Database Firewallを使用する
ベースを暗号化するだけでは十分ではありません。 企業ネットワークとデータベースサーバーにアクセスできる攻撃者は、標準のソフトウェア製品を使用してデータベースに簡単にクエリを実行し、データを読み取ることができます。または、データベースの管理者は、データベースを備えたサーバーにアプリケーションを直接インストールし、データをマージできます。
データベースファイアウォールを適切に構成すると、データベースが監視され、不正アクセスがプロアクティブに検出され、ブロックされ、アプリケーションやSQLインジェクションがバイパスされます。
データベースファイアウォールを設定するときは、異常なアクティビティを簡単に特定するのに役立つポリシーを定義する必要があります。
ほとんどの場合、データベースワークロードは反復的です。アプリケーションサーバーとクライアントの明確に定義されたグループが、データベースにアクセスするために同じ一貫したプログラムセットを使用しています。
さまざまなデータベースファイアウォールベンダーは、ポリシー開発のために独自の独自のパラダイムを提供していますが、それらのほとんどすべてに、通常のクライアントアクティビティの例外を特定する方法があります。
場合によっては、この通常のアクティビティのプロファイリングは、データベースの通常のSQLアクティビティの定義と同じくらい詳細になる可能性があるため、データベースファイアウォールはSQLインジェクション攻撃をブロックすることさえできます。
ポイント番号4.すべてを制御する-データベースを確認する
定期的なデータベース監査は、データが外部の脅威や不正アクセスにさらされるリスクを最小限に抑える最良の方法の1つです。
組織は知らないことを知らず、定期的な監査プロセスが実施されない場合、脆弱性がどこにあり、不適切な構成のために機密データが保護されていない場所を特定することは不可能です。
サードパーティ組織から製品を購入または注文した場合、特に重要です。サードパーティ組織は、脆弱性を検出した場合、評判のリスクのためにそれを宣伝するのが急ではないかもしれません。
ネットワークモニターは、ネットワークを通過し、たとえばSSL / TLSでスクリプト化されていないプレーンテキストコマンドのみを表示できるようになっていることに注意してください。
データベースがネットワーク経由でルーティングされない直接ローカル接続を許可している場合、データベースファイアウォールはそれらを認識しない場合があります。
データベースで作成されたすべてのオブジェクトの整合性を定期的にチェックし、オブジェクトの作成時間をチェックすることをお勧めします。
ポイント番号5.可視性を制限する-アクセスルールを設定する
組織が従業員の仕事に影響を与えることなく機密データへのアクセスを制限できる方法は数多くあります。
ユーザーと管理者を、ビジネスタスクに必要な特権に制限するようにしてください。
最初のステップは、各ビジネスタスクに必要なデータを決定し、特定のビジネスデータセットにアクセスするための厳格なルールを確立することです。
これは、社内でのデータの不正使用を防ぐための最も重要なツールの1つです。
データベースがこれをサポートしている場合は、アクセス制御メカニズムを使用して、データベース管理者とシステムの責任をデータベース内のデータの管理から分離します。
少なくとも、特権ユーザーデータへのアクセスを確認する必要があります。
一部のベース(MSSQLなど)では、システム管理者からベースを保護できません。
ここでは、同じ人の物理的アクセスをデータベースのすべての物理的部分に分割し、データを部分に分割することにより、より残忍な決定が機能します。
またはより安価な方法-特定の時間枠の監督下でのみ管理者にデータベースにアクセスします。
これが内部製品である場合、これを行う最良の方法は、データベース内のアプリケーションロールを持つサーバーアプリケーションを使用することです。
サードパーティのアプリケーションはテーブルにまったくアクセスできません!
ビューまたは関数を介してのみデータを読み取ります。
手順によるデータの変更。
ビューと関数には、テーブルの読み取り権限のみが必要です。
一時的なアクセス制限-銀行のオペレーターが8から5まで働いている場合-特定のコンピューターからデータベースへのアクセスを制限する必要があります-これはシステムテーブルのトリガーであり、データベースへの接続をリセットします。
データ量の制限-オペレーターが1日あたり10〜20文書を処理する場合-データベースへの50アクセスをブロックする必要があります-これにより、すべての文書の排出を防ぐことができます。
ポイント番号6。データをマスクします。これにより、攻撃の結果によるリスクを軽減できます。
アプリケーション開発者および管理者は、ビジネスアプリケーションを開発、保守、および展開するためにテスト環境を必要とする場合があります。
多くの場合、テストと開発には本番と同等のサイズと複雑さのデータセットが必要です。その結果、多くの組織が本番データベースを複製してこれらの低レベル環境を作成します。
これが発生すると、データのコピーが2つ(または5つ)になるため、運用データベースに固有のセキュリティリスクが突然増加します。
データをマスクすることでリスクを軽減-機密データを、真のデータを明らかにしない人工的に生成または暗号化されたデータに置き換えます。
これに対する業界用語は、静的データマスキングです。
箱入り製品を販売する場合、ほとんどの場合、顧客にデータベースのコピーを要求します。
私がRIMで働いていたとき、商業および州の何百もの組織のデータベースのコピーが私を通過しました。
州の組織(名前を声に出して誰にも話さない)では、データがマスクされたことはありません。
いくつかの商用のものは暗号化されたバックアップ、カップル(Walmartと日本のセキュリティ会社は必要なテーブルのみを送信しました)、そして1つの会社のみがテキストファイルの個別のフィールドを送信しました。
つまり、実際には問題は壊滅的です。
システムのセキュリティを改善する別の方法があります。
動的データマスキング-基礎となるデータを変更することなく、非破壊的です。 たとえば、ほとんどの場合、クレジットカード番号にアクセスできる人は番号全体を見る必要はなく、最後の4桁のみを見る必要があります。
記事「 エンタープライズクラウンジュエルの保護:DBレベルでデータを保護する方法」に基づく