検索

高いセキュリティ環境の構築と監査の実施


データベース・パスワード

データベースのセキュリティを守る上で最も基本的で重要な対策が、適切なパスワードの設定とその運用です。Teradataデータベースにアクセスを試みるユーザーは、ユーザー名とパスワードが一致する場合に認証され、ログオンすることができます。ユーザー名は公開可能な情報であるため、セキュリティを高めるには、ユーザーは第三者から予想が不可能なできるだけ複雑なパスワードを設定することが求められます。しかし、ユーザーに何も制約を与えないと、つい単純で覚えやすいパスワード(=見破られやすいパスワード)を設定しがちになります。そこでデータベース管理者は、不正なログオンを防止するために、パスワードの最少および最大文字数、数字の使用、大小文字の使用、有効期限、同じパスワードの再利用の可否、許されるログオン試行回数等の各種ルールを定め、ユーザーがより強力なパスワードを設定して運用することを強要できます(表1)。

また、Teradataデータベースのシステム・テーブルには、art や coffee といったパスワードとしては相応しくない一般的な用語や人名が 2400 以上予め登録されており、必要に応じてこれらの用語のパスワードでの使用を禁止することもできます(図2)。さらに、このリストは新たな禁止用語を追加するなど、カスタマイズして運用することも可能です※1。各ユーザーが登録するパスワードは、DES ※2 や SHA-256 ※3 といった強力な暗号化技術を用いて暗号化された後、システム・テーブル上に格納されるため、たとえ悪意を持ったユーザーが該当するテーブルを覗くことができたとしても、パスワード自体を解読することはできません。

また、Teradataデータベースは、Kerberos ※4、NTLM ※5、あるいは LDAP ※6 等の外部認証メカニズムを用いて、シングル・サインオン環境を実現できます(図3)。シングル・サインオンにより、ユーザーは一組のユーザー名とパスワードでさまざまなアプリケーションにログインすることができます。パスワードのメモを残すことは、セキュリティを著しく低下させますが、一方で人が暗記できるユーザー名とパスワードの組み合わせの数には限度があります。一般的には、複数のユーザー名とパスワードを管理するよりも、一組のユーザー名とパスワードに集中して適切に運用するほうが、高いセキュリティを維持できます。

通信データの暗号化と IPアドレスによるアクセス制限

安全性が十分に確保されていないネットワークを介して Teradataデータベースにアクセスすると、その上を流れる情報は悪意のある第三者に盗聴される危険性があります。このような盗聴に対して効果を発揮するのが、通信データの暗号化です。通信データが暗号化されていれば、たとえ盗聴されたとしても意味を解読することができないため、情報の漏えいを防ぐことができます(図4)。Teradata の通信データの暗号化は、ログオン情報の暗号化と伝送データの暗号化の 2つに分類できます。

1. ログオン情報の暗号化

クライアント・アプリケーションと Teradataデータベース間のネットワーク上で流れる、ユーザー名やパスワードなどのログオン情報は、常に暗号化されます※7。

2. 伝送データの暗号化

クライアント・アプリケーションと Teradataデータベース間のネットワーク上で流れる伝送データは、オプションにより暗号化することができます。データの暗号化はパフォーマンスに影響を及ぼすため、伝送データを暗号化するか否かは、パフォーマンスの劣化と暗号化によるセキュリティ向上の価値を検討して判断する必要があります。伝送データ暗号化の有効化/無効化は、クライアント・アプリケーションによるログオンの中で設定することができるため、ユーザーは、データの保護とパフォーマンスの影響を考慮して柔軟に判断することができます。

また、TeradataデータベースV2R6.2以降では、IPアドレスによるユーザー・アクセスの制限を設定することができます。Teradataデータベースに対してアクセスを許可あるいは拒否する IPアドレスのフィルタを定義することで、アクセス対象を信頼できるクライアントに絞り込むことができるため、より高いセキュリティ環境を実現できます。

ログの監査

セキュリティを考慮する上でもう一つ大切な要件は、システムの監査です。そのためには、データベースに対するアクセスの記録を保持し、それを定期的にモニタリングすることで不正や異常がないかを確認することが必要になります。Teradataデータベースは、ログオンとログオフに関する活動を自動的にログに記録します。またアクセス・ログやクエリー・ログを有効化することで、さまざまな監査証跡を得ることができます。アクセス・ログには、アクセスのタイプ、要求のタイプ、要求元のユーザー、参照先オブジェクト、アクセス頻度などの情報が含まれるため、「誰が、いつ、どのデータベース・オブジェクトにアクセスしたか」を知ることができます。また、クエリー・ログは実際に実行した SQL に関する詳細な情報を記録することができるため、より精密な監査を行うことが可能になります。

このように各種ログを採取し、それを定期的に監査していることを周知させることによって、ユーザーに対して節度ある行動を促すと同時に、不正アクセスに対する予防効果も期待できます。

まとめ

Teradataデータベースは、セキュリティを高めるための多くの仕組みを提供しています。セキュリティの基本は適切なパスワードの設定と運用であり、ユーザーに強力なパスワードを設定してもらうための各種ルールを定めることができます。また、通信データの暗号化や IPアドレスによるアクセス制限などで、より高いセキュリティ環境を実現できます。さらに、各種ログの採取と監査によって、不正アクセスを監視することができます。ただし、機能面でどれだけ防止策を講じたとしても、正しいアクセス権限を持つ人によるデータ持ち出しは阻止できません。多くの情報漏えいは、内部の人間によって行われています。したがって、データベース側の機能によるセキュリティ強化の実施と同時に、マシン室への入退出の管理などのセキュリティ・ポリシーを設け、運用やモラルの面での向上を図る必要があります。セキュリティの脆弱性は、経営リスクに直結する恐れが高いため、今後ますます慎重な対応が求められます。

  • ※1: カスタム・パスワード制限は Teradata 12.0 から使用可能

  • ※2: DES(Data Encryption Standard)・・・データ暗号化標準規格

  • ※3: SHA(Secure Hash Algorithm)・・・セキュア・ハッシュ・アルゴリズム

  • ※4: Kerberos・・・暗号化技術を用いた認証方式の 1つ

  • ※5: NTLM・・・Windows NT で使われていたユーザー認証方式

  • ※6: LDAP(Lightweight Directory Access Protocol)・・・ ディレクトリ・サービスに接続するために使用するプロトコルの 1つ

  • ※7: Teradataデータベースのシステム設定で暗号化を解除することも可能


eventbanner.png