11 リカバリ・アプライアンスのユーザー・セキュリティ
データおよびシステムのセキュリティを強化するには、ユーザー・アクセスを制限し、強力なパスワード・セキュリティ・ポリシーを作成します。
Oracle Zero Data Loss Recovery Applianceのデフォルトのユーザー・アカウント
次の表に、Oracle Zero Data Loss Recovery Applianceコンポーネントのデフォルトのユーザーおよびパスワードを示します。デフォルトのパスワードはすべて、リカバリ・アプライアンスのインストール後に変更する必要があります。
表11-1 Oracle Zero Data Loss Recovery Applianceのデフォルトのユーザーおよびパスワード
コンポーネント | ユーザー名とパスワード |
---|---|
計算サーバー |
オペレーティング・システム・ユーザー:
データベース・ユーザー: ノート: ローカル接続のみが外部で認証されたユーザーに許可されます。
OSBテープ・バックアップ・アプリケーション・ユーザー:
|
ストレージ・サーバー |
|
RoCE Network Fabric |
|
InfiniBand Network Fabricスイッチ |
|
イーサネット・スイッチ |
ノート: |
配電ユニット(PDU) |
|
計算サーバーILOM |
|
ストレージ・サーバーILOM |
|
InfiniBand Network Fabric ILOM |
|
ノート:
リカバリ・アプライアンスがデプロイされた後、システムに対するセキュリティ対策として、インストール・プロセスによりすべてのルートSSHキーが無効にされ、すべてのユーザー・パスワードが期限切れにされます。SSHキーが無効化されたり、パスワードが失効しないようにするには、デプロイメントの前にインストール・エンジニアに依頼してください。関連項目:
リカバリ・アプライアンス・コンポーネントのパスワードを変更する方法を学習するには、「コンポーネントのパスワードの変更」を参照してください。リカバリ・アプライアンスのユーザー・ロール
リカバリ・アプライアンスでは、名前付きユーザー・アカウントのロールが導入され、セキュリティとロギングを改善するためにこれらのロールで使用可能な操作が制限されます。
リカバリ・アプライアンスには、ソフトウェア・リリース21.1で変更されたか新しい次のセキュリティ・ロールがあり、監査およびセキュリティ要件を満たすためのオプションがさらに用意されています。
-
rasys
アカウントは、以前、リカバリ・アプライアンスで操作を実行するために必要だったrootレベルの元の管理者アカウントです。ロールおよび職責を持つdb_user
という名前のユーザーが、日常の操作でのrasys
の使用に置き換わりれます。rasys
アカウントは内部ユーザー・アカウントになりました。RMANカタログの所有者、リカバリ・アプライアンス・メタデータ・スキーマおよびすべてのユーザー向けビューはそのままです。これは、Oracleサポートによるデプロイメント、パッチおよびアップグレード時に使用されます。rasys
の使用は制限されており、承認されたタスクおよび緊急操作に対してのみ使用できます。ノート:
"Break Glass"は、APIが必要なデータへのアクセスを許可していない場合に限られます。次のような場合があります。- アンダースコアである構成パラメータを設定する必要がある場合。
- アクセスできないトレース・ファイルにアクセスする必要がある場合。
- 内部API (dbms_ra_int.delete_backup_piece)を実行する必要がある場合。
-
db_user
は、ユーザー・タイプに応じて制限された操作を実行できる新しい名前付きユーザーのロールです。-
admin
: このdb_user
ユーザー・タイプが、構成および日常のリカバリ・アプライアンス管理操作でのrasys
の使用に置き換わります。このアカウントでは、データベースを操作してSQL Plusコマンドを発行できます。 -
vpc
: このdb_user
ユーザー・タイプは、リカバリ・アプライアンス上の仮想プライベート・カタログ(VPC)ユーザー・アクティビティ用です。バックアップおよびリストアのアクセスを許可するには、ウォレット・クライアント側にある必要があります。 -
monitor
: このdb_user
ユーザー・タイプは、インシデントおよびリカバリ・アプライアンスのステータスをモニターするために、読取り専用であるEnterprise Managerやジョブ機能などのOEMアプリケーションを対象としています。
-
-
admin_user
アカウントは、操作の観点からリカバリ・アプライアンスを管理する新しい名前付きユーザーのロールです。これにより、以前、root
アクセスを必要としていたリカバリ・アプライアンスでのオペレーティング・システム・レベルの操作が許可されます。ただし、admin_user
はroot
ではありません。 -
sys
アカウントはOracleデータベースのスーパーユーザーであり、データベース内のスキーマを変更できます。リモートのsys
アクセスが無効になったため、承認済タスクおよび緊急操作に対して選択的に有効化できます。
RACLI非ルート・ユーザー
非特権ユーザーがRACLIコマンドを実行できるようにします。
リリース21.1のリカバリ・アプライアンスは、リカバリ・アプライアンスへのroot
アクセスを制限することで、より安全になりました。raadmin
グループを導入すると、メンバーはRACLIコマンドを実行し、以前はroot
アクセスを必要としていたシステム管理を実行できます。
この変更により、リカバリ・アプライアンスがLDAPおよびネーム・サービス・リクエストと調整され、監査が改善されます。同時に、権限のあるリモート・アクセス(root SSH
)が削除され、セキュリティが向上します。
ほとんどのリカバリ・アプライアンス管理タスクは、RACLIへの非特権アクセスを介して実行できます。
admin_user
の作成
<user_name>
に適切なシステム・ユーザー名を指定して、計算サーバーから次のコマンドを発行します。
racli add admin_user --user_name=<user_name>
これにより、管理ユーザーがraadmin
グループに追加されます。この管理ユーザーは、passwd
データベースに見つからない場合に作成されます。ユーザー・パスワードの入力が要求されます。
-
racli list admin_user
raadmin
グループに属し、RACLIコマンドを実行できるすべてのユーザーをリストします。 -
racli alter admin_user --user_name=<user_name>
指定された
<user_name>
のパスワードを変更します。ユーザー・パスワードの入力が要求されます。 -
racli remove admin_user --user_name=<user_name>
指定された
<user_name>
をpasswd
データベースから削除します。<user_name>
は、raadmin
グループのメンバーである必要があります。
リカバリ・アプライアンスの操作の保護
次のステップでは、root
やrasys
などの強力なユーザーへの露出を減らし、メンテナンス・アクションの監査を改善することで、リカバリ・アプライアンスを強化します。この手順は多くのインストールおよびアプリケーションでは省略可能ですが、操作が様々な規制要件に準拠するために、セキュアなユーザーの設定および使用が必要です。
たとえば、サンプル・コマンドには、bob
、sue
およびjim
という3つの架空のユーザーがあります。
-
名前付きユーザーを作成し、管理権限を持つユーザー・タイプ
admin
を使用してdb_user
を割り当てます。db_user
ユーザー・タイプadmin
が、構成および日常のリカバリ・アプライアンス管理操作でのrasys
の使用に置き換わります。このアカウントでは、割り当てられた権限内で特定のSQLPlusコマンドを発行できます。racli add db_user --user_type=admin --user_name=bob racli add db_user --user_type=admin --user_name=sue
この例では、管理権限に対して
bob
およびsue
に--user_type=admin
が指定されています。ノート:
db_user
ユーザー・タイプadmin
には権限の制限があり、SQLPlusでsysdba
として使用できません。 -
リカバリ・アプライアンスの
ssh
ユーザーを作成します。admin_user
アカウントは、操作の観点からリカバリ・アプライアンスを管理する新しい名前付きユーザーのロールです。以前root
アクセスが必要だったリカバリ・アプライアンスでのオペレーティング・システム・レベルの操作を許可しますが、admin_user
はroot
ではありません。racli add admin_user --user_name=bob racli add admin_user --user_name=jim racli add admin_user --user_name=sue
この例では、
bob
、sue
およびjim
に、管理権限を持つadmin_user
が指定されています。 -
root
およびoracle
のssh
アクセスを無効化します。racli disable ssh
-
root
、oracle
およびraadmin
のroot
アクセスを無効化します。racli disable root_access
-
rasys
アクセスを無効化します。ノート:
rasys
アクセスを無効化する前に、db_user
ユーザー・タイプのadmin
アカウントおよびadmin_user
アカウントがあることを確認してください。racli disable rasys_user
-
sys
リモート・アクセスを無効化します。racli disable sys_remote_access
-
時間サービスを検証します。
CHRONYサーバーの変更に関する項を参照してください。
-
リカバリ・アプライアンスが準拠していることを確認します。
racli run check --check_name=check_ra_compliance
前述のコマンドでは、
TRUE
が返されます。check_ra_compliance
では、次のことが検証されます。-
root
およびoracle
に対するssh
アクセスは、すべてのノードで無効です。 -
rasys
アクセスは無効です。 -
sys
リモート・アクセスは無効です。 -
時間サービスは有効です。
-
2人以上の
admin_users
がリカバリ・アプライアンスに設定されています。 -
admin
であるdb_users
が2人以上設定されています。
前述の項目のいずれかが完了していない場合、リカバリ・アプライアンスに1つ以上のセキュリティ・ギャップが存在するため、
check_ra_compliance
は失敗します。 -
前述のステップが完了すると、次のようになります。
- 管理ユーザーの初期セットが構成されています。
- 管理ユーザーによるアクションの監査証跡が可能です。
- 様々なコマンドは、適切な権限を持つユーザーに制限されています。
- 一部のコマンドは、他の承認を最終的に実行する必要があるquorum操作に制限されています。
定数
この章では、Oracle Zero Data Loss Recovery Applianceでのコンプライアンスが稼働しているときの定数の動作について説明します。
コンプライアンスが有効な場合、特定のRACLIコマンドは特権ユーザーに限定されるだけでなく、2つの承認を必要とし、他の特権ユーザーのセットからの拒否を必要としない定数操作にも関与する可能性があります。定数を検証するための2つのテストは次のとおりです。
-
テスト1: コンプライアンス、法定保留またはその他の保持制御下にバックアップがある場合、
TRUE
。 -
テスト2: コンプライアンス・モードが有効になっている場合は
TRUE
。
テスト1またはテスト2がTRUE
の場合、定数が必要です。両方のテストがFALSE
の場合、定数は不要です。
定数シナリオでは、次のことを想定しています。
-
bob
、sue
およびjim
は、システムのdb_user
です。 -
bob
およびsue
には、管理権限にdb_user --user_type=admin
が指定されます。 -
bob
、sue
およびjim
には、管理権限を持つadmin_user
が指定されます。
次のシナリオは、定数操作を示しています。
-
管理者
bob
が稼働しています。ssh_user
アカウントでdb_user --user_type=admin
を使用します。保護されたデータベースを追加し、インシデントをトラブルシューティングする際に問題が発生しました。 -
リカバリ・アプライアンスで問題が発生しています。
-
Oracleサポート/開発のアクション計画には、
rasys
の実行を必要とするタスクが含まれます。 -
ユーザー
bob
はRACLIコマンドを発行して、rasys
ログインを6時間有効にします。racli enable rasys_user --expire=6
これにより、ユーザーに関連付けられているリクエスト識別子と増分(
bob.1
など)が返されます。 -
ユーザー
bob
は、リクエストのステータスをモニターできます。racli status request --request_id=bob.1
-
admin_user
である2人以上のユーザーがリクエストを承認する必要があります。ユーザーsue
およびjim
は、リクエスト識別子を使用し、リクエストを承認します。(sue) racli approve request --request_id=bob.1 (jim) racli approve request --request_id=bob.1 (bob) racli status request --request_id=bob.1
1つの
admin_user
がリクエストを拒否すると、(そのリクエスト識別子を持つ)操作は処理されません。 -
リクエストが承認されると、ユーザー
bob
はrasys
を有効化するタスクを続行できますが、今度はリクエスト識別子を使用します。racli enable rasys_user --request_id=bob.1
この特定の操作により、
rasys
が有効である間、パスワードをrasys
に対して使用するようにbob
に要求される場合があります。 -
ユーザー
bob
は、Oracleサポート/開発からアクション計画を実行し、コマンド内のbob
で指定されたパスワードを使用してrasys
としてログインします。 -
ユーザー
bob
は、rasys
を無効にします。racli disable rasys_user
これにより、ユーザーに関連付けられているリクエスト識別子と増分(
bob.2
など)が返されます。 -
ユーザー
bob
は、リクエストのステータスをモニターできます。racli status request --request_id=bob.2
-
少なくとも、
admin_user
であるユーザーがリクエストを承認する必要があります。ユーザーsue
およびjim
は、リクエスト識別子を使用し、リクエストを承認します。(sue) racli approve request --request_id=bob.2 (jim) racli approve request --request_id=bob.2 (bob) racli status request --request_id=bob.2
1つの
admin_user
がリクエストを拒否すると、(そのリクエスト識別子を持つ)操作は処理されません。 -
リクエストが承認されると、ユーザー
bob
はrasys
を無効化するタスクを続行できますが、今度はリクエスト識別子を使用します。racli disable rasys_user --request_id=bob.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つの小文字を使用しているためパスワードとして使用できません。
OEDAによって実装されるデフォルト・セキュリティ設定
Oracle Exadata Deployment Assistant (OEDA)には、リカバリ・アプライアンスにデフォルトのセキュリティ設定を実装するためのステップが含まれています。
最後のOEDA構成ステップでは、次のセキュリティ設定を実装します:
-
計算サーバーおよびストレージ・サーバー上のすべてのオペレーティング・システム・ユーザーには、デフォルトで次のパスワード・ルールが適用されます:
-
root以外のユーザーは、初回ログイン時にパスワードを変更する必要があります。
-
パスワードの複雑度のルールは、使用中のOracle Linuxのバージョンによって異なります。
Oracle Linux 7以降のシステムの場合:
-
パスワードの最小の長さは8文字です。
-
パスワードには、少なくとも1つの数字、1つの大文字、1つの小文字および他の1つの文字を含める必要があります。
-
パスワードに3回を超えて同じ文字を連続して使用することはできません。
-
パスワードには、同じクラス(数字、小文字、大文字またはその他の文字)から連続する4文字を超える文字を含めることはできません。
-
パスワードを変更するには、新しいパスワードに最低8文字の変更を含める必要があります。
Oracle Linux 6以前のシステムの場合、パスワードの最小の長さは5文字で、これ以上の複雑度の要件はありません。
-
-
最大パスワード期間は60日です。
-
パスワード変更の最小間隔は1日です。
-
警告アラートは、パスワードの有効期限の7日前に生成されます。
-
ユーザー・パスワードを変更する場合、新しいパスワードは以前の10個のパスワードのいずれにも一致することはできません。
-
-
オペレーティング・システムのユーザー・アカウントは、15分以内に3回のログイン試行が失敗した後、15分間ロックされます。
-
root
ユーザーの場合、すべての計算サーバーとストレージ・サーバーでSSH等価が削除されます。