12 リカバリ・アプライアンスの保護

この章では、リカバリ・アプライアンスをセキュアに保つためのポリシーおよび手順について説明します。

ハードウェアの保護

Oracle Zero Data Loss Recovery Applianceのインストール後、ハードウェアを保護する必要があります。

ハードウェアは、ハードウェアへのアクセスを制限し、シリアル番号を記録することによって保護できます。アクセスを制限する措置として、次のことをお薦めします。

  • Oracle Zero Data Loss Recovery Applianceと関連機器をアクセスが制限された鍵の掛かった部屋に設置します。

  • ラック内のコンポーネントでサービスが必要でない場合は、ラックのドアに鍵を掛けます。

  • コンポーネントは設計によって容易に削除できるため、ホットプラガブル対応またはホットスワップ対応デバイスへのアクセスを制限します。参照

  • 予備の現場交換可能ユニット(FRU)または顧客交換可能ユニット(CRU)は鍵の掛かったキャビネットに保管します。鍵の掛かったキャビネットへは、認可された人のみがアクセスできるように制限します。

  • すべての主要なコンピュータ・ハードウェア項目(FRUなど)にマークを付けます。

  • ハードウェアのアクティベーション・キーとライセンスは、システム緊急時にシステム・マネージャが簡単に取り出せる安全な場所に保管します。

  • Oracle Zero Data Loss Recovery Applianceのコンポーネントのシリアル番号を記録し、セキュアな場所にレコードを保持します。Oracle Zero Data Loss Recovery Applianceのすべてのコンポーネントにはシリアル番号があります。

ラックのシリアル番号の取得

ラックのシリアル番号を取得するには、ipmitoolユーティリティを使用します。

Oracleサポート・サービスとやり取りする場合、ラックのCSI番号はラックのシリアル番号に基づきます。

  1. rootユーザーとしてラック内のいずれかのサーバーにログインします。
  2. ipmitoolを使用して、ラックのシリアル番号を取得します。
    # ipmitool sunoem cli "show /SP system_identifier"
    Connected. Use ^D to exit.
    -> show /SP system_identifier
    
     /SP
        Properties:
            system_identifier = Exadata Database Machine X2-8xxxxAKyyyy
    
    
    -> Session closed
    Disconnected

ラック・コンポーネントのシリアル番号の取得

CheckHWnFWProfileコマンドを使用すると、ほとんどのシステム・コンポーネントのシリアル番号を表示できます。

  1. rootユーザーとしてラック内のいずれかのサーバーにログインします。
  2. ラック内の各サーバーで、-Sオプションを指定したCheckHWnFWProfileを使用し、そのサーバーのコンポーネントのシリアル番号を表示します。
    # /opt/oracle.SupportTools/CheckHWnFWProfile -S > /tmp/CheckHWnFWProfile_hostname.txt

    結果は各サーバーに固有であるため、このコマンドをすべてのノードで実行する必要があります。出力の部分的な例を次に示します。

    Server_Model=ORACLE_SERVER_X8-2L
    ====START SERIAL NUMBERS====
    ==Motherboard, from dmidecode==
    --System serial--
    1904XCA000
    --Motherboard serial--
    469996N+0000RD01RN
    --Chassis serial--
    1900XCA000
    --Rack serial--
    AK00400000
    ==Infiniband HCA==
    ID:      CX354A - ConnectX-3 QSFP
    PN:      7046442
    EC:      XX
    SN:      465000K-1800000000
    V0:      PCIe Gen3 x8
    ==Motherboard, RAM etc from ipmitool==
    FRU Device Description : Builtin FRU Device (LUN 0 ID 0)
    ...
     Product Name          : ILOM
     Product Version       : 4.0.4.38.a
    
    FRU Device Description : BMC
    ...
     Product Name          : ILOM
      Product Version       : 4.0.4.38.a
    
    FRU Device Description : /SYS (LUN 0 ID 3)
    ...
     Product Part Number   : 8200669
     Product Serial        : 1900XCA000
    
    FRU Device Description : DBP (LUN 0 ID 210)
     
     Board Part Number     : 7341141
     Board Extra           : Rev 09
    
    FRU Device Description : HDD0 (LUN 0 ID 47)
     Device not present (Requested sensor, data, or record not found)
    
    FRU Device Description : HDD1 (LUN 0 ID 48)
     Device not present (Requested sensor, data, or record not found)
    
    ...
    
    FRU Device Description : MB (LUN 0 ID 4)
     Board Mfg Date        : Sun Jan 20 16:57:00 2019
     Board Mfg             : Oracle Corporation
    ...
    
    FRU Device Description : MB/BIOS (LUN 0 ID 5)
    ...
    
    FRU Device Description : MB/CPLD (LUN 0 ID 8)
     Product Manufacturer  : Oracle Corporation
     Product Name          : Power Control FPGA
     Product Version       : FW:3.9
    
    FRU Device Description : M2R0/SSD0 (LUN 0 ID 211)
     Device not present (Requested sensor, data, or record not found)
    
    FRU Device Description : M2R1/SSD0 (LUN 0 ID 212)
     Device not present (Requested sensor, data, or record not found)
    
    FRU Device Description : MB/NET0 (LUN 0 ID 43)
     Product Manufacturer  : INTEL
     Product Name          : 1G Ethernet Controller
    ...
    
    FRU Device Description : MB/P0 (LUN 0 ID 16)
     Product Manufacturer  : Intel
     Product Name          : Intel(R) Xeon(R) Gold 5218 CPU @ 2.30GHz
    ...
    
    FRU Device Description : MB/P0/D0 (LUN 0 ID 24)
     Product Manufacturer  : Samsung
     Product Name          : 16384MB DDR4 SDRAM DIMM
    ...
    
    FRU Device Description : MB/P0/D1 (LUN 0 ID 25)
     Device not present (Requested sensor, data, or record not found)
    
    FRU Device Description : MB/P0/D2 (LUN 0 ID 26)
     Product Manufacturer  : Samsung
     Product Name          : 16384MB DDR4 SDRAM DIMM
    ...
    
    
    FRU Device Description : MB/P1 (LUN 0 ID 17)
     Product Manufacturer  : Intel
     Product Name          : Intel(R) Xeon(R) Gold 5218 CPU @ 2.30GHz
    ...
    
    FRU Device Description : MB/P1/D0 (LUN 0 ID 36)
     Product Manufacturer  : Samsung
     Product Name          : 16384MB DDR4 SDRAM DIMM
    ...
    FRU Device Description : PS0 (LUN 0 ID 63)
    ...
    FRU Device Description : PS1 (LUN 0 ID 64)
    ...
    FRU Device Description : SP/NET0 (LUN 0 ID 1)
    ...
    FRU Device Description : SP/NET1 (LUN 0 ID 2)
    ...
    FRU Device Description : /UUID (LUN 0 ID 6)
    ...
    FRU Device Description : TOP_LEVEL_CH (LUN 0 ID 251)
     Chassis Type          : Rack Mount Chassis
     Chassis Part Number   : 8200669
     Chassis Serial        : 1900XCA0000
     Chassis Extra         : chassis_name:ORACLE SERVER X8-2L
    
    FRU Device Description : TOP_LEVEL_PROD (LUN 0 ID 250)
     Product Manufacturer  : Oracle Corporation
     Product Name          : Exadata X8-2
     Product Part Number   : Exadata X8-2
     Product Serial        : AK00430000
    
    ====END SERIAL NUMBERS====
    

Cisco 9336Cまたは9348スイッチのラックのシリアル番号の取得

シリアル番号を取得するには、スイッチでshow license host-idコマンドを使用します。

  1. SSH等価が構成されたサーバーからスイッチに接続するか、adminユーザーとしてログインします。
  2. show license host-idコマンドを入力して、スイッチのシリアル番号を取得します。

    ホストIDはデバイス・シリアル番号とも呼ばれます。

    # switch# show license host-id
    License hostid: VDH=FLA12345678

    等号(=)の後に表示されるID全体を使用します。この例では、ホストIDはFLA12345678です。

Sun Datacenter InfiniBand Switch 36のラックのシリアル番号の取得

シリアル番号を取得するには、スイッチでshowfruinfoコマンドを使用します。

  1. rootとしてスイッチにログインします。
    $ ssh root@switch_name
  2. showfruinfoコマンドを使用して、スイッチのシリアル番号を表示します。
    root@ib-switch-> showfruinfo 
    Sun_Man1R:
    UNIX_Timestamp32 : Fri Mar 19 16:29:59 2010
    Sun_Fru_Description : ASSY,NM2-GW
    Vendor_ID_Code : 11 E1
    Vendor_ID_Code_Source : 01
    Vendor_Name_And_Site_Location : 4577 CELESTICA CORP. SAN JOSE CA US
    Sun_Part_Number : 5111402
    Sun_Serial_Number : 0110SJC-1010NG0040
    Serial_Number_Format : 4V3F1-2Y2W2X4S
    Initial_HW_Dash_Level : 03
    Initial_HW_Rev_Level : 50
    Sun_Fru_Shortname : NM2 gateway
    Sun_Hazard_Class_Code : Y
    Sun_SpecPartNo : 885-1655-01 
    Sun_FRU_LabelR:
    Sun_Serial_Number : AK000XXXX2
    FRU_Part_Dash_Number : 541-4188-01

Cisco 4948イーサネット・スイッチのシリアル番号の取得

シリアル番号を取得するには、スイッチでsh inventoryコマンドを使用します。

  1. Ciscoイーサネット・スイッチにログインします。
  2. sh inventoryコマンドを入力して、スイッチおよびそのコンポーネントのシリアル番号を取得します。
    # Switch# sh inventory
    NAME: "Switch System", DESCR: "Cisco Systems, Inc. WS-C4948 1 slot switch "
    PID:                   , VID:      , SN: FOX0000G0B6
    NAME:  "Linecard(slot 1)", DESCR: "10/100/1000BaseT (RJ45), 1000BaseX (SFP) 
     Supervisor with 48 10/100/1000BASE-T ports and 4 1000BASE-"
    PID: WS-C4948          , VID: V09  , SN: FOX0000G0B6
    NAME: "Power Supply 1", DESCR: "Power Supply ( AC 300W )"
    PID: PWR-C49-300AC     , VID:      , SN: QCS0000B1XR
    NAME: "Power Supply 2", DESCR: "Power Supply ( AC 300W )"
    PID: PWR-C49-300AC     , VID:      , SN: QCS0000B1X5

ソフトウェアの保護

多くの場合、ハードウェアのセキュリティは、ソフトウェアを通じて実装されます。

ソフトウェアとハードウェアを保護するには、次のガイドラインを実施します。

  • サイトでシステムをインストールしたときに、すべてのデフォルトのパスワードを変更してください。リカバリ・アプライアンスは、初期インストールとデプロイメントに、よく知られたデフォルトのパスワードを使用します。デフォルトのパスワードでは、装置に不正にアクセスできる可能性があります。ネットワーク・スイッチなどのデバイスには、複数のユーザー・アカウントが設定されています。必ずラック内のコンポーネントのすべてのアカウント・パスワードを変更します。

  • rootスーパーユーザー・アカウントの使用を制限します。可能な場合は、non-rootアクセスを使用します。Integrated Lights Out Manager (ILOM)ユーザー・アカウントを各ユーザーに作成および使用して、監査証跡での積極的な識別を可能にし、管理者がチームまたは会社を離れた場合のメンテナンスを軽減します。

  • USBポート、ネットワーク・ポートおよびシステム・コンソールへの物理的なアクセスを制限します。サーバーおよびネットワーク・スイッチには、システムに直接アクセスできるポートおよびコンソール接続があります。

  • ネットワークを介してシステムを再起動する機能を制限します。

  • ホストの管理にadmin_userという名前のユーザーを作成します。

  • 直接のrootアクセスおよびoracleアクセスを無効にします。

  • 管理およびモニタリング用にdb_userという名前のユーザーを作成します。

  • リモートsysアクセスを無効にします。

  • リモートrasysアクセスを無効にします。

TLSの概要

リカバリ・アプライアンスとクライアントの間のTLSの構成。

データベース・サーバー(クライアント)からリカバリ・アプライアンスへのTLS暗号化トランスポートを実装する場合は、リカバリ・アプライアンスを調整する前にクライアントを準備します。

クライアントでのTLSデータ・セキュリティの構成

この項では、クライアントでのTLSデータ・セキュリティの構成に必要なステップについて説明します。

クライアントでは、TLSをサポートするためにいくつかの変更が必要です。リカバリ・アプライアンスでは、デュアル・モードhttp/httpshttps暗号化を使用(暗号化httpを使用しない)できます(デフォルト)。

保護されたデータベースの構成によるTLSのサポート

TLS以外の使用を継続する場合は、CONFIGURE CHANNEL DEVICE TYPE "_RA_NO_SSL=TRUE"に追加してRMAN設定を更新します

CONFIGURE CHANNEL DEVICE TYPE
'SBT_TAPE' PARMS 
'SBT_LIBRARY=/u01/app/oracle/product/19.0.0.0/dbhome_1/lib/libra.so,
ENV=(_RA_NO_SSL=TRUE,RA_WALLET=location=file:/<path>
     credential_alias=RADB01,_RA_TRACE_LEVEL=1000)' FORMAT '%U_%d';  

TLSの使用を開始する場合は、次のステップを実行する必要があります。

  1. リカバリ・アプライアンスのホストからTCPS別名(例: zdlra_tcps)を検索し、クライアント・データベースのtnsnames.oraファイルにコピーします。

  2. ウォレットを更新するか、前のウォレットがmkstoreによって作成された場合は新しいウォレットを作成します。orapkiを使用して新しいウォレットを作成します。たとえば:

    orapki wallet create -wallet $ORACLE_HOME/dbs/Sydney
  3. リカバリ・アプライアンスのホストからクライアント・データベースにraCA.pemをコピーし、前述のステップで作成または更新したウォレットにインポートします。

    orapki wallet add -wallet $ORACLE_HOME/dbs/sydney -trusted_cert -cert $ORACLE_HOME/dbs/sydney/raCA.pem
  4. ウォレットを-auto_loginに更新します。

    orapki wallet create -wallet $ORACLE_HOME/dbs/sydney -auto_login
  5. 新しい別名TCPSおよびravpcユーザーを使用して資格証明を作成します

    mkstore -wrl /u01/app/oracle/product/19.0.0.0/dbhome_1/dbs/sydney -createCredential zdlra7_tcps ravpc welcome123
  6. RMANに接続し、ウォレット情報を追加する"CONFIGURE CHANNEL DEVICE"を更新します

    rman target / catalog ravpc/welcome123@zdlra7_tcps

TLS使用の検証

次のコマンドは、様々なTLSオブジェクトのモニタリングに役立ちます。

  • racli run check --check_name=tls_health
  • racli run diagnostics --tag=tls
  • racli run diagnostics --tag=tls_high

リカバリ・アプライアンスでのTLSデータ・セキュリティの構成

この項では、リカバリ・アプライアンスでTLSデータ・セキュリティを構成するステップについて説明します。

RACLIコマンドはTLS (トランスポート層セキュリティ)を構成します。リカバリ・アプライアンスでは、デュアル・モードhttp/httpshttps暗号化を使用(暗号化httpを使用しない)できます(デフォルト)。

ノート:

自己署名証明書は長期間使用したり、本番用に使用しないでください。認証局によって署名された証明書を使用することをお薦めします。

ポート番号はカスタマイズできます。暗号化のデフォルト・ポートは次のとおりです。

  • TCPS: 2484
  • HTTPS: 8002
  • REPL_TCPS: 2485

暗号化されていない操作のデフォルト・ポートは次のとおりです。

  • TCP: 1521
  • HTTP: 8001
  • REPL_TCP: 1522

証明書の作成およびウォレットへのインポート

  1. 通信の保護に使用する証明書を作成します。署名付き証明書、信頼証明書、またはその両方を一度に作成できます。

    racli create certificate –-country=<VALUE> 
    –-state=<VALUE> --location=<VALUE> –-organization=<VALUE>
    –-organization_unit=<VALUE> –-email_address=<VALUE> 
    [ –-trusted_cert_valid=<VALUE> ][ –-signed_cert_valid=<VALUE> ]

    オプションの–-trusted_cert_validは、信頼できる証明書の検証日数を指定します。デフォルト値は3650日(10年)です。

    オプションの–-signed_cert_validは、署名付き証明書の検証日数を指定します。デフォルト値は365日(1年)です。

    ノート:

    –-signed_cert_validは、–-trusted_cert_validより大きくできません。
  2. ウォレットに証明書をインポートします。

    racli add certificate
    { [--trusted_cert=<VALUE>] | [--signed_cert=<VALUE>] | [--self-signed]

    オプションの--trusted_certは、root/署名チェーンのフルパスを指定します。たとえば--trusted_cert=/radump/abc/raCA.pem

    オプションの--signed_certは、信頼できるストア内の署名付き証明書のフルパスを指定します。

    オプションの--self-signedは、リカバリ・アプライアンスが指定した場所から両方の証明書を検索することを指定します。これは、"racli create certificate"で作成された証明書に最も適しています。

  3. 証明書が使用可能であることを確認します。

    racli list certificate

    これにより、raa_certsデータベース表のすべての信頼できる証明書と署名付き証明書のリストが表示されます。

リカバリ・アプライアンスでのTLS暗号化の有効化

racli alter networkコマンドは、TCPSとHTTPS、およびTCPとHTTPを構成します。これには3つの暗号化操作モードがあります。

  • TLS暗号化の有効化: これはデュアル・モードTCP/TCPSおよびHTTP/HTTPSを有効にし、特に指定のないかぎりデフォルト・ポートを使用します。

    racli alter network 
    -–service=ra_server –-encrypt=enable
    [ --tcps_port=<VALUE> ]
    [ --https_port=<VALUE> ]
    [ --repl_tcps_port=<VALUE> ]
  • TLS暗号化の無効化: TCPおよびHTTPを有効にし、特に指定のないかぎりデフォルト・ポートを使用します。

    racli alter network 
    -–service=ra_server –-encrypt=disable
    [ --tcp_port=<VALUE> ]
    [ --http_port=<VALUE> ]
    [ --repl_tcp_port=<VALUE> ]
  • TLS暗号化のみ有効化: TCPSおよびHTTPSのみを有効にします。TCPおよびHTTPは無効になっています。特に指定がないかぎり、デフォルト・ポートが使用されます。

    racli alter network 
    -–service=ra_server –-encrypt=only
    [ --tcps_port=<VALUE> ]
    [ --https_port=<VALUE> ]
    [ --repl_tcps_port=<VALUE> ]

TLS使用の検証

次のコマンドは、様々なTLSオブジェクトのモニタリングに役立ちます。

  • racli run check --check_name=tls_health
  • racli run diagnostics --tag=tls
  • racli run diagnostics --tag=tls_high

セキュアな環境の維持

セキュリティ措置を実装した後、それらを維持してシステムをセキュアに保つ必要があります。

ソフトウェア、ハードウェアおよびユーザー・アクセスを定期的に更新およびレビューする必要があります。たとえば、組織はリカバリ・アプライアンスにアクセスできるユーザーおよび管理者を確認し、アクセスおよび権限のレベルが適切であるかどうかを確認する必要があります。レビューしない場合、ロールの変更やデフォルト設定の変更によって、個人に付与されたアクセス・レベルが意図せず高くなることがあります。操作および管理タスクのアクセス権をレビューして、各ユーザーのアクセス・レベルがロールおよび職責に合わせて調整されていることを確認してください。

リカバリ・アプライアンス環境のユーザー・アカウントに関する項を参照してください。

組織で未認可の変更や構成のずれを検出するツールを活用し、セキュリティ・アップデートの準備を整えることをお薦めします。Oracle Enterprise Managerは、ハードウェア、デプロイされたアプリケーションおよびサービスの操作の問題に対処する統合されたソリューションを提供します。

ネットワーク・セキュリティのメンテナンス

システムへのローカル・アクセスとリモート・アクセスのセキュリティを確保するために、次のガイドラインに従ってください。

  • ネットワーク・スイッチの構成ファイルはオフラインで管理し、構成ファイルへのアクセスは認可された管理者のみに制限する必要があります。構成ファイルには各設定の説明がコメントとして含まれています。構成ファイルの静的コピーをソース・コード制御システムに保持することを検討してください。

    ネットワーク・スイッチの構成の詳細は、ネットワーク・スイッチのベンダーのドキュメントを参照してください。

  • クライアント・アクセス・ネットワークを確認して、セキュアなホストおよびIntegrated Lights Out Manager (ILOM)設定が有効であることを確認します。設定を定期的に確認して、変更されていないことを確認します。

  • 認証局の署名付き証明書のみを使用します。

  • 拡張セッションのタイムアウトを設定し、特権レベルを設定します。

  • ネットワーク・スイッチへのローカル・アクセスとリモート・アクセスには、認証、認可、アカウンティング(AAA)機能を使用します。

  • 侵入検知システム(IDS)のアクセスには、スイッチのポートのミラー化/スイッチ・ポート・アナライザ(SPAN)機能を使用します。

  • MACアドレス(MAC ACL)に基づいてアクセスを制限するには、ポート・セキュリティを実装します。

  • 最小限のパスワードの複雑度ルールとパスワードの有効期限ポリシーを設定することによって、ユーザーに強力なパスワードを使用することを要求します。

  • ロギングを有効にし、専用のセキュアなログ・ホストにログを送信します。

  • NTPおよびタイムスタンプを使用して正確な時間情報を含めるようにロギングを構成します。

  • 可能性があるインシデントをログで確認し、組織のセキュリティ・ポリシーに従ってそれらをアーカイブします。