データベース管理者は、データのセキュリティを強化するためにさまざまなアクションを実行できます。次に例を示します。
パスワードの慎重な選択 デフォルトのユーザ ID とパスワードを使用するデータベースを展開しないでください。パスワードのセキュリティの強化を参照してください。
DBA 権限の制限 DBA 権限は非常に強力であるため、本当に必要なユーザにだけ付与するようにしてください。DBA 権限を持っているユーザは、データベース内で何でも参照したり実行したりできます。
DBA 権限を持つユーザには、ユーザ ID を 2 つ与えてください。1 つを DBA 権限付き、もう 1 つを DBA 権限なしにすれば、必要なときにだけ DBA ユーザとして接続できます。
保護されたデータベース機能の使用 -sf データベース・サーバ・オプションでは、データベース・サーバ上のすべてのデータベースに対して機能を有効または無効にすることができます。無効にできる機能には、外部ストアド・プロシージャや Java の使用、リモート・データ・アクセス、要求ログ設定の変更機能などがあります。-sf サーバ・オプションと保護された機能の指定を参照してください。
外部システム関数の削除 外部関数の xp_cmdshell、xp_startmail、xp_startsmtp、xp_sendmail、xp_stopmail、xp_stopsmtp は、セキュリティを考慮した環境で使用すると問題が発生する可能性があります。
xp_cmdshell プロシージャを使用すると、ユーザはオペレーティング・システム・コマンドやプログラムを実行できます。
電子メール・コマンドを使用すると、ユーザはサーバに自分が作成した電子メールを送信させることができます。悪意のあるユーザであれば、電子メール・コマンドやコマンド・シェル・プロシージャを使用して、付与されていない権限でオペレーティング・システムのタスクを実行することもありえます。セキュリティを考慮した環境では、このような関数は削除してください。
プロシージャの削除については、DROP PROCEDURE 文を参照してください。
データベース・ファイルの保護 データベース・ファイル、ログ・ファイル、DB 領域ファイルを不正アクセスから保護する必要があります。このようなファイルは共有ディレクトリまたはボリュームには保管しないでください。
データベース・ソフトウェアの保護 SQL Anywhere ソフトウェアも同様に保護する必要があります。ユーザには、アプリケーション、DLL、その他の必要なリソースへのアクセス権だけを付与してください。
サービスまたはデーモンとしてのデータベース・サーバの実行 権限のないユーザがサーバを停止したり、データベースやログ・ファイルへのアクセスを取得したりしないように、データベース・サーバを Windows サービスとして実行してください。UNIX では、同様の目的でサーバをデーモンとして実行します。現在のセッション外でのサーバの起動を参照してください。
SATMP をユニークなディレクトリに設定 UNIX プラットフォームでデータベース・サーバを保護するには、SATMP をユニークなディレクトリに設定し、他のすべてのユーザに対して、このディレクトリの読み取り、書き込み、実行を制限します。これによって、すべての接続が強制的に TCP/IP を使用することになり、共有メモリ接続よりも安全になります。
クライアントとサーバ間で使用される共有メモリのバッファは、実際のデータが 2 つのサイト間で送受信される前に、ディレクトリ・ツリーから削除されます。これは、共有メモリのバッファやファイルが非表示であるため、他のプロセスは通信データを参照できず、データを処理できないことを意味します。
データベースを強力に暗号化 データベースを強力に暗号化すると、キーがなければまったくアクセスできなくなります。他の方法を使っても、データベースを開いたり、データベースやトランザクション・ログ・ファイルを表示したりできません。
詳細については、-ep サーバ・オプションと-ek データベース・オプションを参照してください。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |