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_userraadminグループに属し、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.11つの
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.21つの
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等価が削除されます。