Hitachi

Hitachi Advanced Data Binder システム構築・運用ガイド


11.7.1 PAM認証の環境設定

〈この項の構成〉

(1) 環境設定の流れ

PAM認証の環境設定の流れを次の表に示します。

表11‒9 PAM認証の環境設定の流れ

項番

作業項目

説明

実行者

作業対象のマシン

1

PAMの設定

OSのPAMの認証機能をHADBサーバが使用するためにPAM設定ファイルを準備します。

OSのスーパユーザ

サーバマシン

2

/etc/shadowファイルの読み取り権限の許可

/etc/shadowファイルに対する読み取り権限を持っているOSのグループに,HADB管理者であるOSユーザを追加します。

OSユーザ名とパスワードを使用してPAM認証をする場合に必要な作業です。

3

SSSDの設定

OSのSSSDのサービスを設定します。

LDAPサーバなど,外部の認証サーバを使用してPAM認証をする場合に必要な作業です。

4

HADBユーザの作成

CREATE USER文でHADBユーザを作成します。

DBA権限を持っているHADBユーザ

5

秘密鍵ファイルの作成

HADBクライアントからHADBサーバに送信した暗号化されたパスワードの復号に使用する秘密鍵ファイルを作成します。

HADB管理者

6

公開鍵ファイルの作成

HADBクライアントからHADBサーバへパスワードを暗号化して送信するために,パスワードの暗号化に使用する公開鍵ファイルを作成します。

7

サーバ定義の指定

PAM認証に関するオペランドを指定します。

8

HADBクライアントでの環境設定

サーバマシンで作成した公開鍵ファイルをクライアントマシンにコピーします。また,クライアント定義にPAM認証に関するオペランドを指定します。

HADBクライアントを管理するOSユーザ

クライアントマシン

上記の各作業については,以降で順次説明します。

(2) PAMの設定

OSのPAMの認証機能をHADBサーバが使用するためには,/etc/pam.dディレクトリにPAM設定ファイルを格納する必要があります。PAM設定ファイルのサンプルファイル($ADBDIR/sample/pam/hadb)を/etc/pam.dディレクトリ下にコピーして,パーミッションを設定してください。設定手順を次に示します。

手順

次のすべての操作は,OSのスーパユーザで実行してください。

  1. PAM設定ファイルのサンプルファイルをコピーする

    PAM設定ファイルのサンプルファイル($ADBDIR/sample/pam/hadb)を,/etc/pam.dディレクトリ下にコピーしてください。

    重要

    PAM設定ファイルのサンプルファイル($ADBDIR/sample/pam/hadb)の内容は変更しないでそのままコピーしてください。

  2. PAM設定ファイルの所有者と所有グループを変更する

    chown root:root /etc/pam.d/hadb

    上記のコマンドを実行して,PAM設定ファイル(/etc/pam.d/hadb)の所有者と所有グループをOSのスーパユーザに変更します。

  3. PAM設定ファイルに対するパーミッションを設定する

    chmod 644 /etc/pam.d/hadb

    上記のコマンドを実行して,PAM設定ファイル(/etc/pam.d/hadb)に対して,OSのスーパユーザが読み取りおよび書き込みが実行できるようにパーミッションを設定します。また,OSのスーパユーザ以外のユーザには,PAM設定ファイルに対する読み取り権限だけを設定します。

メモ

PAM設定ファイルのサンプルファイル($ADBDIR/sample/pam/hadb)の内容を次に示します。

#%PAM-1.0
auth            sufficient       pam_sss.so
auth            required         pam_unix.so
account         sufficient       pam_sss.so
account         required         pam_unix.so

(3) /etc/shadowファイルの読み取り権限の許可

OSユーザ名とパスワードを使用してPAM認証をする場合は,/etc/shadowファイルに対する読み取り権限を持っているOSのグループに,HADB管理者であるOSユーザを次の手順で追加してください。

手順

/etc/shadowファイルに対する読み取り権限を持つグループshadowを作成し,このグループにHADB管理者であるOSユーザ(adbmanager)を追加する手順を説明します。

次のすべての操作は,OSのスーパユーザで実行してください。

  1. /etc/shadowファイルに対する読み取り権限を許可するOSユーザの所属グループshadowを作成する

    groupadd shadow
  2. /etc/shadowファイルの所有グループをshadowに変更する

    chgrp shadow /etc/shadow
  3. /etc/shadowファイルのパーミッションを設定する

    /etc/shadowファイルに,所有グループに対して読み取り権限だけを許可するようにパーミッションを設定してください。

    chmod g+r /etc/shadow
  4. /etc/shadowファイルの所有グループshadowにHADB管理者(adbmanager)を追加する

    gpasswd -a adbmanager shadow

上記の設定をしないと,HADB管理者以外のOSユーザ名とパスワードを使用してPAM認証を行った際に,ユーザ名とパスワードが正しくてもPAM認証に失敗します。

メモ

PAM認証の際にLDAPサーバなど外部の認証サーバを使用する場合は,上記の作業を実施する必要はありません。

(4) SSSDの設定

LDAPサーバなど外部の認証サーバを使用してPAM認証をする場合は,OSのSSSDのサービスを設定してください。SSSDの設定方法については,OSのマニュアルを参照してください。

SSSDの設定が完了したあとに,次のコマンドをOSのスーパユーザで実行し,SSSDのサービスを起動してください

systemctl start sssd

SSSDのサービスがすでに起動している場合は,次のコマンドをOSのスーパユーザで実行し,SSSDのサービスを再起動してください

systemctl restart sssd

SSSDのサービスの起動または再起動が完了したあとに,SSSDのサービスを使用して,LDAPサーバなどの外部の認証サーバを使用するユーザでOSに正しくログインできることを確認してください。

メモ

OSユーザ名とパスワードを使用してPAM認証をする場合は,上記の作業を実施する必要はありません。

(5) HADBユーザの作成

外部ユーザ名(OSユーザ名LDAPユーザ名など)と同じ名称の認可識別子のHADBユーザを作成してください。DBA権限を持っているHADBユーザで,次のSQL文を実行してください。

CREATE USER "OSUSER01" IDENTIFIED WITH PAM

下線部分には,外部ユーザ名(OSユーザ名LDAPユーザ名など)を指定します。

上記のCREATE USER文を実行すると,認可識別子がOSUSER01のHADBユーザが作成されます。

重要

作成したHADBユーザには,権限は付与されていません。「11.8.1 HADBユーザにユーザ権限とスキーマ操作権限を付与する方法」を参照して,必要な権限を付与してください。

メモ

(6) 秘密鍵ファイルの作成

PAM認証を使用する場合,HADBクライアントからHADBサーバへパスワードを送信します。暗号化したパスワードの復号に使用する秘密鍵ファイルを次の手順で作成してください。

手順

次のすべての操作は,HADB管理者で実行してください。

  1. 秘密鍵ファイルの保存先ディレクトリをサーバマシン上に作成する

    mkdir /HADB/.private_key

    上記のコマンドを実行すると,秘密鍵ファイルの保存先ディレクトリとして/HADB/.private_keyが作成されます。

  2. 秘密鍵ファイルの保存先ディレクトリに対する権限を設定する

    秘密鍵ファイルの保存先ディレクトリに対する書き込み権限,読み取り権限,および実行権限をHADB管理者だけに設定してください。

    chmod 700 /HADB/.private_key
  3. 秘密鍵ファイルを作成する

    OpenSSLのコマンドを実行して,秘密鍵ファイルの保存先ディレクトリ下に秘密鍵ファイルを作成してください。

    openssl genrsa -out /HADB/.private_key/adb_privkey.pem 4096

    上記のコマンドを実行すると,RSA暗号方式の鍵長4,096ビットの秘密鍵ファイルadb_privkey.pemが作成されます。

    メモ
    • 秘密鍵ファイルには,任意のファイル名を指定できます。adb_privkey.pem以外でもかまいません。

    • 鍵長は4,096ビットにしてください。

    • 秘密鍵ファイルには,パスフレーズを設定しないでください。

    OpenSSLのコマンドの詳細については,OpenSSLのドキュメントを参照してください。

  4. 秘密鍵ファイルに対する読み取り権限をHADB管理者にだけ設定する

    chmod 400 /HADB/.private_key/adb_privkey.pem
メモ

秘密鍵ファイルの保存先ディレクトリおよび秘密鍵ファイルは,PAM認証をやめるときなど不要になった場合は,ユーザが削除してください。

(7) 公開鍵ファイルの作成

HADBクライアントからHADBサーバへパスワードを暗号化して送信するために,パスワードの暗号化に使用する公開鍵ファイルを次の手順で作成してください。

手順

次のすべての操作は,HADB管理者で実行してください。

  1. 公開鍵ファイルの保存先ディレクトリをサーバマシン上に作成する

    mkdir /HADB/public_key

    上記のコマンドを実行すると,公開鍵ファイルの保存先ディレクトリとして/HADB/public_keyが作成されます。

  2. 公開鍵ファイルの保存先ディレクトリに対する権限を設定する

    公開鍵ファイルの保存先ディレクトリに対する書き込み権限,読み取り権限,および実行権限をHADB管理者に設定してください。

    chmod 755 /HADB/public_key
  3. 公開鍵ファイルを作成する

    OpenSSLのコマンドを実行して,公開鍵ファイルの保存先ディレクトリ下に公開鍵ファイルを作成してください。

    openssl rsa -in /HADB/.private_key/adb_privkey.pem -pubout -out /HADB/public_key/adb_pubkey.pem

    上記のコマンドを実行すると,秘密鍵ファイル(/HADB/.private_key/adb_privkey.pem)に対応した公開鍵ファイル(/HADB/public_key/adb_pubkey.pem)が作成されます。

    メモ
    • 秘密鍵ファイルには,「(6) 秘密鍵ファイルの作成」で作成した秘密鍵ファイルを指定してください。

    • 公開鍵ファイルには,任意のファイル名を指定できます。adb_pubkey.pem以外でもかまいません。

    OpenSSLのコマンドの詳細については,OpenSSLのドキュメントを参照してください。

  4. 公開鍵ファイルに対する読み取り権限を全OSユーザに設定する

    chmod 444 /HADB/public_key/adb_pubkey.pem
メモ

公開鍵ファイルの保存先ディレクトリおよび公開鍵ファイルは,PAM認証をやめるときなど不要になった場合は,ユーザが削除してください。

(8) サーバ定義の指定

サーバ定義に次のオペランドを追加してください。

指定例
set adb_auth_passwd_privkey_path = /HADB/.private_key/adb_privkey.pem   ...1
set adb_cmd_passwd_pubkey_path = /HADB/public_key/adb_pubkey.pem        ...2
  1. (6) 秘密鍵ファイルの作成」で作成した秘密鍵ファイルの絶対パスを指定します。

  2. (7) 公開鍵ファイルの作成」で作成した公開鍵ファイルの絶対パスを指定します。

重要
  • adb_auth_passwd_privkey_pathオペランドを指定しない場合,PAM認証の使用時にパスワードは暗号化されません。このとき,パスワードは平文でHADBクライアントからHADBサーバへ送信されます。パスワードを平文で送信した場合,パスワードが外部に流出するリスクが高まるため,秘密鍵ファイルおよび公開鍵ファイルを作成してパスワードを暗号化することを推奨します。

  • マルチノード機能を使用する場合,adb_auth_passwd_privkey_pathオペランドおよびadb_cmd_passwd_pubkey_pathオペランドの指定に注意が必要です。詳細については,「7.2.12 PAM認証に関するオペランド(set形式)」を参照してください。

(9) HADBクライアントでの環境設定

HADBクライアントで必要な環境設定について説明します。

(a) 公開鍵ファイルの保存先ディレクトリの作成

公開鍵ファイルの保存先ディレクトリを作成して権限を設定します。ここで説明している操作は,HADBクライアントを管理するOSユーザで実行してください。

  • Linux版のHADBクライアントの場合

    手順

    1. 公開鍵ファイルの保存先ディレクトリをクライアントマシン上に作成する

      mkdir /HADBCLT/public_key

      上記のコマンドを実行すると,公開鍵ファイルの保存先ディレクトリとして/HADBCLT/public_keyが作成されます。

    2. 公開鍵ファイルの保存先ディレクトリに対する権限を設定する

      公開鍵ファイルの保存先ディレクトリに対する書き込み権限,読み取り権限,および実行権限をHADBクライアントを管理するOSユーザだけに設定してください。

      chmod 700 /HADBCLT/public_key
  • Windows版のHADBクライアントの場合

    手順

    1. 公開鍵ファイルの保存先フォルダをクライアントマシン上に作成する

    2. 公開鍵ファイルの保存先フォルダに対する権限を設定する

      公開鍵ファイルの保存先フォルダに対する書き込み権限,読み取り権限,および実行権限を,HADBクライアントを管理するOSユーザだけに設定してください。

(b) 公開鍵ファイルの保存

(a) 公開鍵ファイルの保存先ディレクトリの作成」で作成したディレクトリ下に公開鍵ファイルを保存します。

  • Linux版のHADBクライアントの場合

    手順

    1. 公開鍵ファイルを保存する

      次のどちらかの方法で公開鍵ファイルをクライアントマシン上に保存してください。

      • HADBクライアントを管理するOSユーザでサーバマシンにアクセスします。「(7) 公開鍵ファイルの作成」で作成した公開鍵ファイルを,クライアントマシン上に作成した公開鍵ファイルの保存先ディレクトリ下にOSのscpコマンドなどを実行してコピーしてください。

      • (7) 公開鍵ファイルの作成」で作成した公開鍵ファイルのコピーをHADB管理者から受け取ります。受け取ったファイルをクライアントマシン上に作成した公開鍵ファイルの保存先ディレクトリ下に保存してください。

    2. 公開鍵ファイルに対する読み取り権限をHADBクライアントを管理するOSユーザに設定する

      chmod 400 /HADBCLT/public_key/adb_pubkey.pem
  • Windows版のHADBクライアントの場合

    手順

    1. 公開鍵ファイルを保存する

      次のどちらかの方法で公開鍵ファイルをクライアントマシン上に保存してください。

      • HADBクライアントを管理するOSユーザでサーバマシンにアクセスします。「(7) 公開鍵ファイルの作成」で作成した公開鍵ファイルを,クライアントマシン上に作成した公開鍵ファイルの保存先フォルダ下にOSのscpコマンドなどを実行してコピーしてください。

      • (7) 公開鍵ファイルの作成」で作成した公開鍵ファイルのコピーをHADB管理者から受け取ります。受け取ったファイルをクライアントマシン上に作成した公開鍵ファイルの保存先フォルダ下に保存してください。

    2. 公開鍵ファイルに対する読み取り権限をHADBクライアントを管理するOSユーザに設定する

メモ

公開鍵ファイルの保存先ディレクトリ(公開鍵ファイルの保存先フォルダ)および公開鍵ファイルは,PAM認証をやめるときなど不要になった場合は,ユーザが削除してください。

(c) クライアント定義の指定

クライアント定義に次のオペランドを追加してください。

  • adb_clt_passwd_pubkey_path

指定例
set adb_clt_passwd_pubkey_path = /HADBCLT/public_key/adb_pubkey.pem

(b) 公開鍵ファイルの保存」で保存した公開鍵ファイルの絶対パスを指定します。