DoqueDBのセキュリティ対策を行う方法を説明します。
ユーザーの新規追加、パスワード変更などのユーザー管理は専用のコマンドで行います。 SQL文で行うことはできません。 SQL文で行えるのは、データベースのアクセス権の変更だけです。 詳しくはユーザーズマニュアルの3.3.2 ユーザー管理を参照してください。
DoqueDBの各リソースにアクセスを行うためには、ユーザー認証を行う必要があります。 ユーザー認証を行うためのパスワードファイルは、パラメータServer_PasswordFilePathに記述されたファイルで、ユーザー名とパスワードとを記述したファイルです。 パスワードはMD5を利用して符号化されています。
<ユーザー名>:<パスワード>:<UID>:<ユーザー種別※>
※0がスーパーユーザーを表し、パスワードファイル中に1行だけ記述できます。1は一般ユーザーを表します。
このパスワードファイルは、UNIXの/etc/passwdファイルのように、パスワードファイルを直接編集してパスワードを空にすることができます。 パスワードファイルを編集する前には必ずDoqueDBを停止してください。
root:48a365b4ce1e322a55ae9017f3daf0c0:0:0: dqpub:7ae51f28f2cf4e27e75f5c6c7d40b415:1:1:
というパスワードファイルの場合、dqpub のパスワードを空にするには、
root:48a365b4ce1e322a55ae9017f3daf0c0:0:0: dqpub::1:1:
とします。その後DoqueDBを起動して、userpasswordコマンドでdqpubのパスワードを設定してください。
各データベースには、UIDとそのアクセス権のみが管理されています。 別のDoqueDBで作成したデータベースをマウントする場合、マウントするデータベースへアクセス権のあるUIDを持つユーザーを、パスワードファイルにあらかじめ作成しておく必要があります。 また、同じUIDのユーザーがすでに存在する場合には、アクセス権はそのユーザーに付与されることになります。 これらの動作はUNIXのファイルシステムと似ています。
パラメータServer_PasswordFilePathに"NoPassword"と記述することにより、ユーザー認証機能を無効化できます。 アクセス可能なユーザーが限定できる閉じた環境でのみお使いください。
Server_PasswordFilePath "NoPassword"
DoqueDB がクライアントからの接続をバインドするインターフェースを限定することができます。 たとえばlocalhostに限定した場合、DoqueDBが起動しているホスト外からのすべてのアクセスをブロックすることが可能となります。 パラメータCommunication_BindHostNameにインターフェース名を設定してください。
Communcation_BindHostName "localhost"
Copyright (c) 2023 Ricoh Company, Ltd. All rights reserved.