3 Oracle Exadata Database Machineのユーザー・セキュリティ

データおよびシステムのセキュリティを強化するには、ユーザー・アクセスを制限し、強力なパスワード・セキュリティ・ポリシーを作成します。

3.1 ユーザー・アカウントの理解

Oracle Exadata Database Machineのコンポーネントを管理するために使用されるユーザーが複数あります

rootユーザーに加えて、Oracle Exadata Storage Serverには2種類のユーザー、celladmincellmonitorがあります。celladminユーザーは、セルですべてのサービスを実行するために使用されます。cellmonitorユーザーは、監視のために使用されます。cellmonitorユーザーはセルでサービスを実行できません。その他のOracle Exadata Database Machineコンポーネントには、コンポーネントの管理用のユーザーがあります。

注意:

Oracle Exadata Database Machineがデプロイされた後、システムのセキュリティ手段として、インストール・プロセスによってすべてのroot SSHキーが無効化され、すべてのユーザー・パスワードが失効します。SSHキーが無効化されたり、パスワードが失効しないようにするには、デプロイメントの前にインストール・エンジニアに依頼してください。

Oracle Exadata System Softwareリリース19.1.0以降では、特定のアクションのセキュリティを向上させるために、2つの新規ユーザーが作成されます。celloflユーザーは、非rootユーザーとしてストレージ・サーバーで問合せオフロード・プロセスを実行します。exawatchユーザーは、データベース・サーバーとストレージ・サーバーの両方でシステム統計を収集およびアーカイブします。

次の表に、Oracle Exadata Database Machineコンポーネントのデフォルトのユーザーとパスワードを示します。Oracle Exadata Database Machineのインストール後、すべてのデフォルトのパスワードを変更する必要があります。デフォルトのユーザー・アカウント・パスワードの変更の詳細は、My Oracle Supportノート1291766.1を参照してください。

表3-1 デフォルトのユーザーとパスワード

ユーザー名とパスワード ユーザー・タイプ コンポーネント

root/welcome1

オペレーティング・システムのユーザー

Oracle Exadata Database Server

Oracle Exadata Storage Server

RDMA over InfiniBand Network Fabricスイッチ

RDMA over RoCE Network Fabricスイッチ

データベース・サーバーILOM

Oracle Exadata Storage Server ILOM

RDMA over InfiniBand Network Fabric ILOM

oracle/We1come$

オペレーティング・システムのユーザー

Oracle Exadata Database Server

grid/We1come$ (このユーザーは、デプロイ時にロールの分離を選択した場合にのみ存在します)

オペレーティング・システムのユーザー

Oracle Exadata Database Server

celladmin/welcome

オペレーティング・システムのユーザー

Oracle Exadata Storage Server

CELLDIAG/Welcome12345

CELLDIAGユーザーのパスワードは、Oracle Exadata Deployment Assistant (OEDA)の「セキュリティ修正の適用」ステップでランダムなパスワードにリセットされます。

Oracle Exadata System Softwareユーザー

Oracle Exadata Storage Server

cellmonitor/welcome

オペレーティング・システムのユーザー

Oracle Exadata Storage Server

cellofl (release 19.1.0 and later) - no logon privileges

オペレーティング・システムのユーザー

Oracle Exadata Storage Server

dbmadmin/welcome

オペレーティング・システムのユーザー

Oracle Exadata Database Server

dbmmonitor/welcome

オペレーティング・システムのユーザー

Oracle Exadata Database Server

exawatch (release 19.1.0 and later) - no logon privileges

オペレーティング・システムのユーザー

Oracle Exadata Database Server

Oracle Exadata Storage Server

SYS/We1come$

Oracle Databaseユーザー

Oracle Exadata Database Server

SYSTEM/We1come$

Oracle Databaseユーザー

Oracle Exadata Database Server

grubブート・ローダー・パスワード: sos1Exadata

オペレーティング・システムのユーザー

Oracle Exadata Database Server

Oracle Exadata Storage Server

nm2user/changeme

ファームウェア・ユーザー

RDMA over InfiniBand Network Fabricスイッチ

ilom-admin/ilom-admin

ILOMユーザー

RDMA over InfiniBand Network Fabricスイッチ

ilom-operator/ilom-operator

ILOMユーザー

RDMA over InfiniBand Network Fabricスイッチ

admin/welcome1

adminユーザーについて、enable mode パスワードおよびシークレット値を保護する必要があります。

ファームウェア・ユーザー

Ethernetスイッチ

admin/welcome1

PDUを出荷時のデフォルト設定にリセットした場合、adminユーザーのパスワードはadm1nです。

ファームウェア・ユーザー

配電ユニット(PDU)

キーボード、ビデオ、マウス(KVM)

MSUser

管理サーバー(MS)はこのアカウントを使用して、ILOMを管理し、ハングを検知した場合、これをリセットします。

MSUserパスワードは、どこにも持続しません。MSが起動する度に、以前のMSUserアカウントを削除し、ランダムに生成されたパスワードを使用してアカウントを再び作成します。

このアカウントは変更しないでください。このアカウントを使用できるのはMSのみです。

ILOMユーザー

データベース・サーバーILOM

Oracle Exadata Storage Server ILOM

3.2 デフォルトのパスワード要件

Oracle Exadata Deployment Assistant (OEDA)は、Oracle Exadata Database Machineにデフォルトのパスワード・ポリシーを実装します。

OEDAの最後のステップ、Oracle Exadata Database Machineの保護では、次のパスワード要件が実装されます。

  • 辞書の単語が無効、または受け入れられません。
  • パスワードの文字クラスとは、大文字、小文字、数字、特殊文字です。
  • パスワードには、4つの文字クラスすべての文字を含める必要があります。1つ、2つまたは3つの文字クラスしか使用しないパスワードは使用できません。
  • パスワードの最小長は8文字です。
  • パスフレーズを使用できます。パスフレーズの条件は、少なくとも3つの単語が含まれていること、16文字から40文字までの長さであること、および異なる文字クラスが含まれていることです。
  • 新しいパスワードは古いパスワードに類似したものにすることはできません。新パスワードには、旧パスワードで使用されていない文字が8文字以上が必要です。
  • パスワードでは、同じ文字を最大3連続まで使用できます。
  • パスワードでは、同じ文字クラスの文字を最大4連続まで使用できます。たとえばabcde1#6Bは、連続して5つの小文字を使用しているためパスワードとして使用できません。

3.3 OEDAによって有効になるデフォルト・セキュリティ設定

Oracle Exadata Deployment Assistant (OEDA)には、Oracle Exadata Database Machineのハードウェアのセキュリティを強化するためのステップが含まれています。

OEDAの最後のステップ、Oracle Exadata Database Machineの保護では、次のセキュリティ・ポリシーが実装されます。

  • データベース・サーバーおよびストレージ・サーバー上で新しく作成されたすべてのオペレーティング・システム・ユーザーについて、次のパスワード・エージング値が設定されます。
    • パスワードの最大日数は90日です。Oracle Exadata System Softwareリリース19.1.0以降では、この値は60日間に短縮されました。
    • パスワード変更の最小間隔は24時間です。
    • パスワード変更までの警告の日数は7日です。
    • すべての非ルート・ユーザーは、次にログインするときにパスワードを変更する必要があります。
  • オペレーティング・システムのユーザー・アカウントは、ログイン試行に1回失敗するたびに10分間、一時的にロックされます。
  • オペレーティング・システムのユーザー・アカウントは、ログイン試行に5回失敗するとロックされます。
  • ログイン・セッションは、14400秒間入力がなければ終了します。
  • SSHセッションは、7200秒間アクティビティがなければ終了します。Oracle Exadata System Softwareリリース19.1.0以降を使用している場合、SSHセッションは非アクティブな状態が600秒続くと終了します。
  • rootユーザーの場合、すべてのデータベース・サーバーとOracle Exadata Storage ServerでSSH等価が削除されます。

  • 次の権限は、OEDAによって設定されます。

    • 自動診断リポジトリ(ADR)ベース・ディレクトリ$ADR_BASEには、diagディレクトリとそのサブディレクトリにSUID (Set owner User ID)があります。
    • celladminユーザー・グループには、$ADR_BASEに対する読取りおよび書込み権限があります。

3.4 データベース・サーバーのパスワード・ポリシーの変更

パスワード・ポリシーは、データベース・サーバーの場合のみ変更できます。

  1. データベース・サーバーで、/etc/login.defsファイルの設定を変更して、次の例のように経過ポリシーを変更します。
    PASS_MAX_DAYS 90
    PASS_MIN_DAYS 1
    PASS_MIN_LEN 8
    PASS_WARN_AGE 7
    
  2. /etc/pam.d/system-authファイルのminパラメータの値を変更することにより、文字クラスの制限を変更します。
    Exadataファクトリのデフォルト設定は、5,5,5,5,5です。5,5,5,5,5と設定すると、パスワードの最小文字数を5文字にすることができ、文字クラスの制限が削除されます。/opt/oracle.SupportTools/harden_passwords_reset_root_sshスクリプトを実行する場合、デフォルト設定はmin=disabled,disabled,16,12,8です。
  3. データベース・サーバーを再起動します。
    # shutdown -r now

関連項目:

詳細は、login.defsおよびpasswdqc.confマニュアル・ページを参照してください

3.5 Oracle Exadata System Softwareのユーザーとロールの作成

ロールに権限を付与し、ユーザーにロールを付与することで、ユーザーが実行できるOracle Exadata System Softwareコマンドを制御できます。

たとえば、ユーザーにLIST GRIDDISKコマンドを実行可能にしALTER GRIDDISKを実行不可にするよう指定できます。このレベルの制御は、システムへの完全なアクセスをごく少数のユーザーにのみ許可するOracle Cloud環境で役立ちます。

3.5.1 Exadata System Softwareのユーザーの作成の概要

ユーザーとロールを設定するには、一連のコマンドを実行します。

Oracle Exadata System Softwareユーザーは、オンプレミスまたはOracle Cloud環境でExaCLIを実行する場合に必要です。ExaCLIでは、計算ノードからリモートでセルを管理できます。計算ノード上でExaCLIを実行するときに、セル・ノードへの接続に使用するユーザー名を指定する必要があります。管理サーバー(MS)により、ユーザーの資格証明が認証され、そのユーザーによって発行されるコマンドの許可チェックが実行されます。そのユーザーがコマンドを実行する適切な権限を持っていない場合、MSによりエラーが返されます。

パスワードのセキュリティ・キーは、HMAC-SHA1とパスワード・ベース・キー導出関数2 (PBKDF2)を使用して暗号化されています。

Oracle Exadata System Softwareで使用するユーザーおよびロールを作成するステップの概要を次に示します。

  1. CREATE ROLEコマンドを使用してロールを作成します。
  2. GRANT PRIVILEGEコマンドを使用してロールに権限を付与します。
  3. CREATE USERコマンドを使用してユーザーを作成します。
  4. GRANT ROLEコマンドを使用してユーザーにロールを付与します。

REVOKE PRIVILEGEコマンドを使用して、ロールから権限を取り消すこともできます。ユーザーからロールを取り消すには、REVOKE ROLEコマンドを使用します。

3.5.2 ロールの作成およびロールに関する情報の取得

CREATE ROLEコマンドを使用して、Oracle Exadata System Softwareユーザーのロールを作成します。

たとえば、管理者のロールを作成するには、次のコマンドを使用します。

CellCLI> CREATE ROLE admin

ロールを作成した後、GRANT PRIVILEGEコマンドを使用してロールに権限を付与できます。次の例のように、ロールをユーザーに付与することもできます。

CellCLI> GRANT PRIVILEGE ALL ACTIONS ON ALL OBJECTS TO ROLE admin

CellCLI> GRANT ROLE admin TO USER username

ロールに関する詳細情報を取得するには、LIST ROLEコマンドを使用します。次のコマンドはadminロールのすべての属性を返します。

CellCLI> LIST ROLE admin DETAIL
         name:                   admin
         privileges:             object=all objects, verb=all actions, 
attributes=all attributes, options=all options

関連項目

3.5.3 権限の付与および取消し

GRANT PRIVILEGEコマンドを使用して、Oracle Exadata System Softwareユーザーのロールに権限を付与します。

  • GRANT PRIVILEGEコマンドを使用してロールに権限を付与します。
    • 次の例は、adminロールを持つOracle Exadata System Softwareユーザーにすべての権限を付与しています。

      CellCLI> GRANT PRIVILEGE ALL ACTIONS ON ALL OBJECTS TO ROLE admin
      
    • 個々のコマンド権限をロールに付与することもできます。

      CellCLI> GRANT PRIVILEGE list ON griddisk TO ROLE diskmonitor
      
      CellCLI> GRANT PRIVILEGE list ON griddisk TO ROLE diskmonitor
    • 特定のオブジェクトに対するすべてのコマンド権限をロールに付与することもできます。

      GRANT PRIVILEGE ALL ON griddisk TO ROLE diskadmin
  • REVOKE PRIVILEGEコマンドを使用して、ロールから権限を取り消すことができます。
    CellCLI> REVOKE PRIVILEGE ALL ON griddisk FROM ROLE diskadmin

3.5.4 ユーザーの作成

CREATE USERコマンドを使用して、Oracle Exadata System Softwareユーザーを作成します。

新しく作成したユーザーは、何も権限を持っていません。Oracle Exadata System Softwareユーザーには、ユーザーに付与されたロールを介して権限が付与されます。

  1. CREATE USERコマンドを使用してユーザーを作成し、初期パスワードを割り当てます。

    次のコマンドは、パスワードuq==A*2D$_18fredというユーザーを作成します。

    CellCLI> CREATE USER fred PASSWORD = "uq==A*2D$_18"
  2. 新しいユーザーfredに権限を付与するには、すでに構成されているロールにGRANT ROLEコマンドを使用します。

3.5.5 サーバーにリモートにアクセスするユーザーのパスワードの有効期限の構成

CELL属性を構成して、ユーザー・パスワードを期限切れにできます。

Oracle Exadata System Softwareリリース19.1.0では、REST APIまたはExaCLIなど、リモートでOracle Exadata System Softwareサーバーにアクセスするユーザーにパスワード・セキュリティを構成するための新しいCELL属性があります。これらの属性によって、ユーザーがリモートでパスワードを変更できるかどうか、ユーザー・パスワードが期限切れになるまでの時間、およびパスワード有効期限の前にユーザーが警告メッセージを受け取る日数が決まります。デフォルトの構成では、ユーザー・パスワードは期限切れになりません。

注意:

パスワードの有効期限用のCELL属性は、Oracle Exadata System Softwareで作成されたユーザーにのみ適用されます。パスワードの有効期限は、LIST USERコマンドで表示されるユーザーにのみ適用され、celladminoracleなどのオペレーティング・システム・ユーザーには適用されません。
  • ユーザーがリモートでパスワードを変更できるようにするには、ALTER CELLコマンドを使用してremotePwdChangeAllowed属性をtrueに設定します。
    値をfalseに設定すると、ユーザーは、サーバー管理者に連絡してパスワードを変更する必要があることを通知するメッセージを受け取ります。
    CellCLI> ALTER CELL remotePwdChangeAllowed=true
  • ユーザー・パスワードが期限切れになるまでの時間の長さを変更するには、ALTER CELLコマンドを使用してpwdExpInDays属性を変更します。
    この値nを、パスワードの期限が切れるまでの日数に設定します。pwdExpInDaysが0 (デフォルト値)に設定されている場合、ユーザー・パスワードは期限切れになりません。
    CellCLI> ALTER CELL pwdExpInDays=n
  • パスワードの期限が切れる前に警告期間の長さを構成するには、ALTER CELLコマンドを使用してpwdExpWarnInDays属性を変更します。
    nをパスワードの期限が切れる前にユーザーに警告する日数に設定します。ユーザー・アカウントのパスワード期限切れ警告時間は、デフォルトで7日間です。
    CellCLI> ALTER CELL pwdExpWarnInDays=n
  • ユーザー・パスワードの期限が切れた後にユーザー・アカウントがロックされるまでの時間を指定するには、ALTER CELLコマンドを使用してaccountLockInDays属性を変更します。
    この値nを、ユーザー・アカウントがロックされるまでの日数に設定します。ユーザー・アカウントのロック時間は、デフォルトで7日間です。
    CellCLI> ALTER CELL accountLockInDays=n

3.5.6 ロールの付与と取消し

GRANT ROLEコマンドを使用して、Oracle Exadata System Softwareユーザーにロールを作成します。

コマンド権限がロールに付与され、そのロールがユーザーに付与されます。コマンド権限は、Oracle Exadata System Softwareユーザーに直接付与されません。
  • ユーザーにロールを付与するには、GRANT ROLEコマンドを使用します。

    次の例は、ユーザーfredadminロールを付与しています。

    CellCLI> GRANT ROLE admin TO USER fred
    
  • REVOKE ROLEコマンドを使用して、ユーザーからロールを取り消すことができます。

関連項目

3.6 Oracle Exadata Storage Serverのオペレーティング・システム・ユーザーのセキュリティ・ポリシー

オペレーティング・システムへのユーザー・アクセスは、安全で固定化されたパスワードの使用により安全を保証できます。

Oracle Exadata System Softwareを管理するオペレーティング・システム・ユーザーのパスワードは、Oracle Exadata Deployment Assistant (OEDA)によって実施されるセキュリティ・ガイドラインに準拠しています。詳細は、OEDAで実施されるデフォルト・セキュリティ設定に関する項を参照してください。

3.6.1 パスワードの変更

オペレーティング・システムのpasswdコマンドを使用して、ユーザーのパスワードを変更します。

パスワードの期限が切れる7日前に、オペレーティング・システムのユーザーにはパスワードを変更する必要があることが通知されます。

  • パスワードを変更するには、passwdコマンドを使用します。ここで、usernameはパスワードを変更するユーザーの名前です。
    passwd username
    

3.6.2 オペレーティング・システム・ユーザーのセキュリティ・ポリシーの有効化

/opt/oracle.cellos/RESECURED_NODEファイルによって、セキュリティ・ポリシーが有効化されます。

ファイルが存在しない場合は、次のステップを実行してすべてのオペレーティング・システム・ユーザーのセキュリティ・ポリシーをリセットできます。

  1. すべてのデータベース・サーバー上のOracle Grid Infrastructureサービスをシャットダウンします。
  2. ストレージ・サーバーでセル・サービスを停止します。
    cellcli -e alter cell shutdown services all
    
  3. セキュリティ・ポリシーをリセットするにはharden_passwords_reset_root_sshスクリプトを使用します。

    注意:

    harden_passwords_reset_root_sshスクリプトはセルを再起動します。
    /opt/oracle.SupportTools/harden_passwords_reset_root_ssh
    
  4. すべてのオペレーティング・システム・ユーザーは、次回ログイン時に新しいパスワードを設定する必要があります。

3.6.3 失敗したオペレーティング・システム・パスワードの試行の表示

pam_tally2オペレーティング・システム・ユーティリティを使用して、不正なパスワードによるログイン試行を表示します。

  • /sbin/pam_tally2ユーティリティを使用して失敗したパスワード試行を表示します。
    # /sbin/pam_tally2
    Login           Failures Latest failure     From
    celladmin           1    09/18/18 11:17:18  dhcp-10-154-xxx-xxx.example.com
    

3.6.4 ロックされたオペレーティング・システム・ユーザー・アカウントのリセット

オペレーティング・システムのユーザー・アカウントがログイン試行に5回失敗すると、そのアカウントはロックされます。

  • アカウントをリセットするには、次のコマンドを使用します。ここで、usernameは、ロックされたアカウントを持つユーザーの名前です。
    /sbin/pam_tally2 --user username --reset