Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 » SQL Anywhere サーバ データベース管理 » ユーザとデータベースのセキュリティ » データのセキュリティ

 

セキュリティに関する一般的なヒント

データのセキュリティを強化するために、さまざまなアクションを実行できます。

  • パスワードの慎重な選択   デフォルトのユーザ ID とパスワードを使用するデータベースは、決して配布しないでください。セキュリティについての考慮事項:パスワードを参照してください。

  • スーパユーザの使用の制限   すべての権限、ロール、および管理権限を持つロールの作成と付与は避けてください (つまり、スーパユーザは避けてください)。代わりに、権限と権利の論理的なグループを持つロールを作成し、そのロールを慎重に付与してください。スーパユーザを作成する場合は、どうしても必要な場合にのみ使用し、そのパスワードを、必要なときに取り出せるように金庫などの安全な場所に保管してください。スーパユーザを参照してください。

    データベース管理者に 2 つの ID を与えることを検討してください。つまり、すべての権限を持つ ID と、権限が限られている ID です。そして、すべての権限を持つ ID は、必要なときにのみ使用するようにします。

  • 保護されたデータベース機能の使用   -sf データベースサーバオプションでは、データベースサーバ上のすべてのデータベースに対して機能を有効または無効にすることができます。無効にできる機能には、外部ストアドプロシージャや Java の使用、リモートデータアクセス、要求ログ設定の変更機能などがあります。 -sf データベースサーバオプションセキュリティ機能キーの作成を参照してください。

  • 外部システム関数の削除   次の外部関数は、セキュリティ上のリスクを生じさせる危険性があります。

    電子メールシステムプロシージャを使用すると、ユーザはサーバに自分が作成した電子メールを送信させることができます。悪意のあるユーザが、電子メールコマンドやコマンドシェルプロシージャを使用して、付与されていないパーミッションでオペレーティングシステムのタスクを実行することもありえます。セキュリティを考慮した環境では、このような関数は削除してください。

    プロシージャの削除については、DROP PROCEDURE 文を参照してください。

  • データベースファイルの保護   不正アクセスからデータベースファイル、ログファイル、DB 領域ファイルを保護してください。これらのファイルは、共有ディレクトリや共有ボリュームには保管しないでください。

  • データベースソフトウェアの保護   不正アクセスから SQL Anywhere ソフトウェアを保護してください。ユーザには、アプリケーション、DLL、その他の必要なリソースへのアクセス権だけを付与してください。

  • サービスまたはデーモンとしてのデータベースサーバの実行   権限のないユーザがサーバを停止したり、データベースやログファイルへのアクセスを取得したりしないように、データベースサーバを Windows サービスとして実行してください。UNIX では、同様の目的でサーバをデーモンとして実行します。サービスまたはデーモンとしてデータベースサーバを実行する方法を参照してください。

  • SATMP 環境変数をユニークなディレクトリに設定 (UNIX)   UNIX プラットフォームでデータベースサーバを保護するには、SATMP をユニークなディレクトリに設定し、他のすべてのユーザに対して、このディレクトリの読み取り、書き込み、実行を制限します。これによって、すべての接続が強制的に TCP/IP を使用することになり、共有メモリ接続よりも安全になります。

    クライアントとサーバ間で使用される共有メモリのバッファは、実際のデータが 2 つのサイト間で送受信される前に、ディレクトリツリーから削除されます。他のプロセスは、共有メモリのバッファやファイルが非表示であるために通信データを参照できず、データを処理できません。SATMP 環境変数を参照してください。

  • データベースを強力に暗号化   データベースを強力に暗号化すると、キーがなければまったくアクセスできなくなります。他の方法で、データベースを開くことも、データベースやトランザクションログファイルを表示することもできません。-ep データベースサーバオプション-ek データベースオプションを参照してください。

  • -xs サーバオプション HTTP と MaxRequestSize プロトコルオプションを調整   -xs サーバオプション HTTP{ TO、KTO と MaxRequestSize プロトコルオプション } を調整します。-xs データベースサーバオプションを参照してください。

  • 1 つの要求が無制限にサーバリソースを消費することがないように request_timeout を設定   request_timeout データベースオプションを設定して、1 つの要求が無制限にサーバリソースを消費することがないようにします。request_timeout オプションを参照してください。

  • ディスクサンドボックス機能をセキュリティで保護   ディスクサンドボックス機能を有効にしている場合は、データベースファイル操作が、メインデータベースファイルがあるディレクトリとそのサブディレクトリに制限されます。 参照:

  • データベースの開始と停止   パーソナルデータベースサーバ (dbeng16) を使用している場合、デフォルトでは、すべてのユーザが実行中のサーバ上で追加のデータベースを起動できます。

    デフォルトでは、ネットワークデータベースサーバ (dbsrv16) が、稼働中のデータベースサーバでデータベースを起動するには、SERVER OPERATOR システム権限が必要です。-gd データベースオプションは、この機能を実行できるユーザを、すでに接続しているデータベースで特定のレベルの権限を付与されているユーザに制限できます。

  • データベースの作成と削除   パーソナルデータベースサーバ (dbeng16) を実行している場合、デフォルトでは、すべてのユーザが CREATE DATABASE 文を使用してデータベースファイルを作成できます。

    デフォルトでは、ネットワークデータベースサーバ (dbsrv16) がデータベースを作成するには、SERVER OPERATOR システム権限が必要です。-gu オプションは、この機能を実行できるユーザを、すでに接続しているデータベースで特定のレベルの権限を付与されているユーザに制限できます。

  • サーバの停止   dbstop ユーティリティは、データベースサーバを停止します。このユーティリティは、バッチファイルや、サーバを対話形式で (データベースサーバメッセージウィンドウの [シャットダウン] をクリックして) 停止できない場合に便利です。

    パーソナルデータベースサーバ (dbeng16) の場合、デフォルトでは、どのユーザも、dbstop を実行してサーバを停止できます。

    ネットワークデータベースサーバ (dbsrv16) の場合、デフォルトでは、データベースサーバを停止するために SERVER OPERATOR システム権限が必要です。-gk オプションは、この機能を実行できるユーザを、データベースで特定のレベルの権限を付与されているユーザに制限できます。

  • データのロードとアンロード   LOAD TABLE 文、UNLOAD TABLE 文、UNLOAD 文はすべて、データベースサーバコンピュータ上のファイルシステムにアクセスできます。-gl データベースサーバオプションを使用して、データのロードとアンロードを行うために必要なデータベース権限を制御できます。UNIX 以外のオペレーティングシステムのパーソナルデータベースサーバ (dbeng16) のデフォルト設定は all です。ネットワークデータベースサーバと UNIX パーソナルサーバのデフォルト設定は DBA です。パーソナルデータベースサーバが稼働中の場合は、すでにファイルシステムにアクセスできるため、セキュリティ上の問題はありません。ネットワークデータベースサーバを稼働中の場合は、ファイルシステムへの不当なアクセスによってセキュリティ問題の起こる可能性があります。

  • トランスポートレイヤセキュリティ (TLS) によるクライアント/サーバ通信の暗号化   トランスポートレイヤセキュリティを使用して、クライアントアプリケーションとデータベースサーバ間の通信を認証することで、ネットワークパケットのセキュリティを高めることができます。トランスポートレイヤセキュリティでは、RSA 暗号方式を使用します。

  • データベース機能の無効化   -sf データベースサーバオプションを使用すると、データベースサーバ上で実行されているデータベースで無効にする機能のリストを指定できます。このリストに含まれる機能は、クライアントアプリケーションだけでなく、データベース内に定義されているストアドプロシージャ、トリガ、イベントでも使用できません。この設定が役に立つのは、使用するデータベースが自分の所有しているものではないため、ウイルスやトロイの木馬などの望ましくないアクションが組み込まれている可能性がある場合です。