5 リカバリ・アプライアンスの操作の保護
次のステップでは、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
である2人以上のdb_users
が確立されている。
前述の項目のいずれかを満たしていない場合は、リカバリ・アプライアンスにまだ1つ以上のセキュリティ・ギャップが存在するため、
check_ra_compliance
は失敗します。 -
前述のステップが完了すると、次のようになります。
- 管理ユーザーの初期セットが構成されています。
- 管理ユーザーによるアクションの監査証跡が可能です。
- 様々なコマンドは、適切な権限を持つユーザーに制限されています。
- 一部のコマンドは、他の承認を最終的に実行する必要がある定数操作に制限されます。
リカバリ・アプライアンス・システム・ログのリモート処理
リカバリ・アプライアンスの効率的な管理の一環として、ステータスのモニタリングおよび確認のためにシステム・ログ・ファイルを1つ以上のリモート・サーバーに自動的にエクスポートすると便利です。
リカバリ・アプライアンスの次のようなログ・ファイルのうち、どれを送信するかを構成できます:
/var/log/audit/audit.log
/var/log/messages
/var/log/oracle/deploy/dbmcli.lst.root.0
/var/log/aide/aide.log
/etc/passwd
/var/log/yum.log
/var/log/clamav/clamscan.log
/var/log/secure
/opt/oracle.RecoveryAppliance/log/ra_export.log
/opt/oracle.RecoveryAppliance/log/em_backup.log
/opt/oracle.RecoveryAppliance/log/ra_fs_cleanup.log
/opt/oracle.RecoveryAppliance/log/emctl.log
/opt/oracle.RecoveryAppliance/log/racli_update_parameter.log
/opt/oracle.RecoveryAppliance/log/racli_alter_parameter.log
/opt/oracle.RecoveryAppliance/log/racli_list_parameter.log
リモート受信側の設定ファイルを作成するには
コマンドracli add remote_syslog
は、渡された引数から/etc/rsyslog.d/
に構成ファイルを作成します:
racli add remote_syslog --dest=<desturl> --port=<destPort> --config_name=<yourConfig>
--dest=<desturl>
は、このリカバリ・アプライアンスのシステム・ログを受信する(リモート)宛先のIPアドレスを定義します。--port=<destPort>
は、このリカバリ・アプライアンスのシステム・ログを受信する(リモート)宛先のポートを定義します。--config_name=<yourConfig>
は、fleet01_remote_central
など、組織にとって意味のある名前を定義します。
racli add remote_syslog --dest=100.104.102.184 --port=514 --config_name=fleet1_test02:
Created log /opt/oracle.RecoveryAppliance/log/racli_add_remote_syslog.log
Mon Apr 11 09:17:41 2022: Start: Configure Sys Log to 100.104.102.184
Mon Apr 11 09:17:41 2022: Start: On Local Node zdlra10adm01
Mon Apr 11 09:17:41 2022: Start: Restart rsyslog
Mon Apr 11 09:17:41 2022: End: Restart rsyslog
Mon Apr 11 09:17:41 2022: End: On Local Node zdlra10adm01
Mon Apr 11 09:17:42 2022: Start: On Remote Node zdlra10adm02
Mon Apr 11 09:17:43 2022: End: On Remote Node zdlra10adm02
Mon Apr 11 09:17:43 2022: End: Configure Sys Log to 100.104.102.184
リモート受信側を表示するには
コマンドracli list remote_syslogは、/etc/rsyslog.d/
ディレクトリにあるすべての構成ファイルまたは特定のファイルを表示します。
racli list remote_syslog --config_name=fleet1_test01:
syslog_fleet1_test01:
NAME = fleet1_test01
CONFIG_FILE = /etc/rsyslog.d/fleet1_test01.conf
リモート受信側を削除するには
コマンドracli remove remote_syslogは、/etc/rsyslog.d/
ディレクトリから名前付き構成ファイルを削除します。
racli remove remote_syslog --config_name='fleet1_test01'
Created log /opt/oracle.RecoveryAppliance/log/racli_remove_remote_syslog.logMon Apr
1109:17:582022: Start: Remove Sys Log
fleet1_test01
Mon Apr 1109:17:582022: Start: On Local Node zdlra10adm01
Mon Apr 1109:17:582022: Removed: Sys Log fleet1_test01.conf
Mon Apr 1109:17:582022: Removed: Metadata of syslog_fleet1_test01
Mon Apr 1109:17:582022: Start: Restart rsyslog
Mon Apr 1109:17:582022: End: Restart rsyslog
Mon Apr 1109:17:582022: End: On Local Node zdlra10adm01
Mon Apr 1109:17:582022: Start: On Remote Node zdlra10adm02
Mon Apr 1109:18:002022: End: On Remote Node zdlra10adm02
Mon Apr 1109:18:002022: End: Remove Sys Log fleet1_test01
Syslogサーバーまたはフリート・マネージャを構成するには
リカバリ・アプライアンスのログ・ファイルを受信するように、外部および個別のsyslogまたはフリート・サーバーを構成する必要があります。
-
各
config
ファイルは、1つの宛先のみを受け入れることができます。 -
config
ファイルの場所:/etc/rsyslog.d/
-
ログの場所セット:
/var/odo/hostsyslogs/
-
ログ・ファイルのネーミング規則:
%PROGRAMNAME%_%HOSTNAME%_%$YEAR%-%$MONTH%-%$DAY%-%$HOUR%.log
/etc/rsyslog.dの下にある.confファイルの例
##########REMOTE SYSLOG#################
$ModLoad imfile
####################
$InputFilePollInterval 180
$InputFileName /var/log/aide/aide.log
$InputFileTag aide:
$InputFileStateFile stat-aide
$InputFileSeverity Info
$InputRunFileMonitor
if $programname == 'aide' then @@100.104.102.184:514
if $programname == 'aide' then stop
####################
$InputFilePollInterval 180
$InputFileName /var/log/audit/audit.log
$InputFileTag audit:
$InputFileStateFile stat-audit
$InputFileSeverity Info
$InputRunFileMonitor
if $programname == 'audit' then @@100.104.102.184:514
if $programname == 'audit' then stop
####################
$InputFilePollInterval 180
$InputFileName /var/log/clamav/clamscan.log
$InputFileTag clamav:
$InputFileStateFile stat-clamav
$InputFileSeverity Info
$InputRunFileMonitor
if $programname == 'clamav' then @@100.104.102.184:514
if $programname == 'clamav' then stop
####################
$InputFilePollInterval 180
$InputFileName /var/log/oracle/deploy/dbmcli.lst.root.0
$InputFileTag dbmcli:
$InputFileStateFile stat-dbmcli
$InputFileSeverity Info
$InputRunFileMonitor
if $programname == 'dbmcli' then @@100.104.102.184:514
if $programname == 'dbmcli' then stop
####################
$InputFilePollInterval 180
$InputFileName /opt/oracle.RecoveryAppliance/log/em_backup.log
$InputFileTag em-backup:
$InputFileStateFile stat-em-backup
$InputFileSeverity Info
$InputRunFileMonitor
if $programname == 'em-backup' then @@100.104.102.184:514
if $programname == 'em-backup' then stop
####################
$InputFilePollInterval 180
$InputFileName /opt/oracle.RecoveryAppliance/log/emctl.log
$InputFileTag emctl:
$InputFileStateFile stat-emctl
$InputFileSeverity Info
$InputRunFileMonitor
if $programname == 'emctl' then @@100.104.102.184:514
if $programname == 'emctl' then stop
####################
$InputFilePollInterval 180
$InputFileName /var/log/messages
$InputFileTag messages:
$InputFileStateFile stat-messages
$InputFileSeverity Info
$InputRunFileMonitor
if $programname == 'messages' then @@100.104.102.184:514
if $programname == 'messages' then stop
####################
$InputFilePollInterval 180
$InputFileName /etc/passwd
$InputFileTag passwd:
$InputFileStateFile stat-passwd
$InputFileSeverity Info
$InputRunFileMonitor
if $programname == 'passwd' then @@100.104.102.184:514
if $programname == 'passwd' then stop
####################
$InputFilePollInterval 180
$InputFileName /opt/oracle.RecoveryAppliance/log/ra_export.log
$InputFileTag ra-export:
$InputFileStateFile stat-ra-export
$InputFileSeverity Info
$InputRunFileMonitor
if $programname == 'ra-export' then @@100.104.102.184:514
if $programname == 'ra-export' then stop
####################
$InputFilePollInterval 180
$InputFileName /opt/oracle.RecoveryAppliance/log/ra_fs_cleanup.log
$InputFileTag ra-fs-cleanup:
$InputFileStateFile stat-ra-fs-cleanup
$InputFileSeverity Info
$InputRunFileMonitor
if $programname == 'ra-fs-cleanup' then @@100.104.102.184:514
if $programname == 'ra-fs-cleanup' then stop
####################
$InputFilePollInterval 180
$InputFileName /opt/oracle.RecoveryAppliance/log/racli_alter_parameter.log
$InputFileTag racli-alter-parameter:
$InputFileStateFile stat-racli-alter-parameter
$InputFileSeverity Info
$InputRunFileMonitor
if $programname == 'racli-alter-parameter' then @@100.104.102.184:514
if $programname == 'racli-alter-parameter' then stop
####################
$InputFilePollInterval 180
$InputFileName /opt/oracle.RecoveryAppliance/log/racli_list_parameter.log
$InputFileTag racli-list-parameter:
$InputFileStateFile stat-racli-list-parameter
$InputFileSeverity Info
$InputRunFileMonitor
if $programname == 'racli-list-parameter' then @@100.104.102.184:514
if $programname == 'racli-list-parameter' then stop
####################
$InputFilePollInterval 180
$InputFileName /opt/oracle.RecoveryAppliance/log/racli_update_parameter.log
$InputFileTag racli-update-parameter:
$InputFileStateFile stat-racli-update-parameter
$InputFileSeverity Info
$InputRunFileMonitor
if $programname == 'racli-update-parameter' then @@100.104.102.184:514
if $programname == 'racli-update-parameter' then stop
####################
$InputFilePollInterval 180
$InputFileName /var/log/secure
$InputFileTag secure:
$InputFileStateFile stat-secure
$InputFileSeverity Info
$InputRunFileMonitor
if $programname == 'secure' then @@100.104.102.184:514
if $programname == 'secure' then stop
####################
$InputFilePollInterval 180
$InputFileName /var/log/yum.log
$InputFileTag yum:
$InputFileStateFile stat-yum
$InputFileSeverity Info
$InputRunFileMonitor
if $programname == 'yum' then @@100.104.102.184:514
if $programname == 'yum' then stop
########################################