web-dev-qa-db-ja.com

医療データベースの保護

HEALTH CAREデータベースを保護するために、以下にリストする手法を実装する、情報セキュリティに関するマイナープロジェクトを行っています。

  • SQLインジェクションの防止(準備されたステートメントの使用、検証、トークン化アルゴリズムの使用)
  • CSRF攻撃の防止(フォームに非表示のトークンを挿入)
  • ブルートフォース攻撃の防止(5回の試みが失敗した後にアカウントをロックする)
  • XSSの防止
  • すべての入力を検証する
  • Cookieでのみセッションを開始する
  • ネガティブデータベースの実装( http://en.wikipedia.org/wiki/Negative_database
  • 機密情報の暗号化
  • すべてのユーザーに限定された特権

[〜#〜] edit [〜#〜]これらの点も実装していますが、以前に投稿したことがないので、あまり重要ではないと考えました。しかし、ここでの回答は、これらのポイントの重要性を明確に示しています。

  • 監査ログ
  • 強力なパスワード
  • Session_set_cookie_paramsを使用した安全な接続
  • アクセス制御

さて、私の質問は-忘れていることはありますか?私はそれらのいくつかをネットワーク層のセキュリティなどのように知っています。 localhostのプロジェクトなので、ネットワークレイヤーでは何もできません。

20
Shubham Gupta
  1. SSL接続サーバーに送信されるため、ネットワーク上でパスフレーズやデータを盗聴することはできません。
  2. バックアップ:暗号化する必要がありますも忘れないでください。キーは独立して保存する必要があるため、誰かがバックアップにアクセスした場合、そのデータは使用できません。
  3. 居住国によっては、健康データ保護のために法的要件が存在する場合があります。
  4. アクセス許可の管理:誰かがアクセス許可を失うと、アカウントがキャンセルされることを確認してください。
  5. 特定のIPアドレスへのアクセスを制限する。理想的なケースでは、ローカルネットワーク。別の大陸の誰かがアクセスを必要とすることはほとんどありませんので、国全体をブロックすることを恐れないでください。
  6. ブロックしやすいパスワード。 Password123や同様のものは不可能であるべきです!攻撃者が十分なユーザー名を手に入れると、誰かが弱いパスワードを入手することになります。複数のIP /ボットネットを使用すると、攻撃者はブルートフォース保護を回避できます。
15
Rüdiger Voigt

きめ細かいアクセス制御を追加します。誰がどの医療記録にアクセスできるかを制御するデータベースの上にレイヤーが必要です。 NISTは、粒度の細かいアクセス制御に必要なものを定義します ここ

それが整ったら、ユーザーが責任を負うことができるように、すべてのアクセスと情報のすべての検索をログに記録する手法も必要です。

これらの両方の手法は、医療部門で特に重要なデータのプライバシーを実装するために必要です。

Privacy By Design website を参照してください。これにもいくつかの良い指針があります。

6
David Brossard

アプリケーションを保護および強化するために何を実行する必要があるか、不足しているものはレポートされているかについての良いリストがあります。セキュリティは保護だけでなく、管理についても重要です。失敗したログイン、セキュリティを破る試みなどに関する管理統計を提供できるレポートシステムをリストに追加します。

4
GdD

ここで良い答え。

私はあなたが言及した4つの点に関して介入したいと思います:

  • 機密情報の暗号化
  • すべてのユーザーに限定された特権
  • 監査ログ
  • アクセス制御

ヘルスケア関連のデータなどの機密/個人データを処理する場合に特に重要なものであるため、個別に見ています。通常、SQLインジェクションなどは、アプリケーション層で処理されます(たとえば、Webアプリケーションファイアウォールを使用)。

4つのポイントに戻ると、4つの機能すべてを備えた包括的なDB暗号化ソリューションが必要になります。

あなたのような場合、オープンソースのDBMSを使用している場合は、 D'Amo または MyDiamo などの列ベースの暗号化ソリューションをチェックアウトすることをお勧めします。ファイルレベルでデータを暗号化する、いわゆる「透過的な暗号化ソリューション」は、誰かがDBハードディスクを物理的に盗むのを防ぐことはできませんが、ユーザー、アプリケーション、IPに基づく強力なアクセス制御が必要な場合は、役に立たないだけです。住所、時間帯など.

このような場合に列ベースで得られるもう1つの明らかな利点は、すべてのデータを暗号化する必要がないことです。機密情報を含む特定の列を暗号化し、列ごとに異なるポリシーとenc/dec暗号化キーを定義することを選択できます。

鍵管理は明らかに、このスレッドの範囲外の別の問題になるでしょう。

お役に立てれば。

開示:私は上記の製品のコンサルタントです。

0
NA AE