升級最新版本的 PostgreSQL、Redis 和 Salt 之後,需要將 RaaS 節點從先前版本升級至最新版本。

請注意,資料庫升級需要對資料重新建立索引。如果資料比較複雜,則資料庫升級可能需要幾個小時的時間。如需有關何時計劃升級和其他提示的討論,請參閱升級時的最佳做法

重要:

升級 RaaS 節點之前,必須備份系統資料以避免資料遺失。有關升級前必須備份哪些檔案和目錄的說明,請參閱〈備份資料〉

升級 RaaS 節點:

  1. 從 Customer Connect 下載升級檔案。
  2. 將對預設檔案系統、pillar 資料和工作進行的任何變更另存為新的檔案或工作。
  3. 注意對預設目標進行的任何 pillar 指派。升級後需要重新指派這些內容。
  4. 使用下列命令停止 RaaS 服務:
    sudo systemctl stop raas
  5. 移除 /var/log/raas 目錄中的記錄檔。如果需要進行疑難排解,則清除記錄檔會提供一個乾淨的記錄檔。
  6. 使用下列命令移除目前安裝的 API (RaaS) 版本:
    sudo yum remove raas
  7. 安裝最新的 RPM 以升級 RaaS 節點。使用以下範例命令,取代 RPM 的確切檔案名稱:
    sudo yum install raas-rpm-file-name.rpm
  8. 重要事項:還原下列檔案的備份:
    • /etc/raas/raas
    • /etc/raas/raas.secconf
    • /etc/raas/pki/
  9. 使用下列命令更新 raas 使用者的權限:
    sudo chown -R raas:raas /etc/pki/raas/certs
  10. 可選:如果您有 SaltStack SecOps 授權,並且想要新增合規性程式庫,請在 /etc/raas/raas 檔案中新增以下區段:
    sec:
      ingest_override: true
      locke_dir: locke
      post_ingest_cleanup: true
      username: 'secops'
      content_url: 'https://enterprise.saltstack.com/secops_downloads'
      download_enabled: true
      download_frequency: 86400
      stats_snapshot_interval: 3600
      compile_stats_interval: 10
      ingest_on_boot: True
      content_lock_timeout: 60
      content_lock_block_timeout: 120
    備註:

    此步驟是可選的,僅適用於擁有有效 SaltStack SecOps 授權的組織。此附加元件模組適用於 SaltStack Config 6.0 版及更新版本。/etc/raas/raas 組態檔中的先前組態選項特定於這些附加元件模組。

  11. 可選:如果您有 SaltStack SecOps 授權,並且想要新增漏洞庫,請在 /etc/raas/raas 檔案中新增區段:
    vman:
      vman_dir: vman
      download_enabled: true
      download_frequency: 86400
      username: vman
      content_url: 'https://enterprise.saltstack.com/vman_downloads'
      ingest_on_boot: true
      compile_stats_interval: 60
      stats_snapshot_interval: 3600
      old_policy_file_lifespan: 2
      delete_old_policy_files_interval: 86400
      tenable_asset_import_enabled: True
      tenable_asset_import_grains: ['fqdn', 'ipv4', 'ipv6', 'hostname', 'mac_address', 'netbios_name',
                                    'bios_uuid', 'manufacturer_tpm_id', 'ssh_fingerprint',
                                    'mcafee_epo_guid', 'mcafee_epo_agent_guid', 'symantec_ep_hardware_key',
                                    'qualys_asset_id', 'qualys_host_id', 'servicenow_sys_id', 'gcp_project_id',
                                    'gcp_zone', 'gcp_instance_id', 'azure_vm_id', 'azure_resource_id',
                                    'aws_availability_zone', 'aws_ec2_instance_ami_id',
                                    'aws_ec2_instance_group_name', 'aws_ec2_instance_state_name',
                                    'aws_ec2_instance_type', 'aws_ec2_name', 'aws_ec2_product_code',
                                    'aws_owner_id', 'aws_region', 'aws_subnet_id', 'aws_vpc_id',
                                    'installed_software', 'bigfix_asset_id'
                                    ]
    備註:

    此步驟是可選的,僅適用於擁有有效 SaltStack SecOps 授權的組織。此附加元件模組適用於 SaltStack Config 6.0 版及更新版本。/etc/raas/raas 組態檔中的先前組態選項特定於這些附加元件模組。

  12. RaaS 目前存在一個與失效工作相關的已知問題。升級時,某些使用者可能會注意到一系列停滯在擱置中狀態的失效工作。除非先將這些工作清除,否則升級 RaaS 節點可能會導致這些工作執行。

    若要防止發生此情況,請先檢查資料庫中是否儲存了任何舊命令。在 PostgreSQL 節點上,使用下列命令檢查是否有擱置中的工作:

    select count(1) from commands where state='new';

    結果顯示的是擱置中工作數目。如果工作數目為 0,請繼續執行升級程序的其餘步驟。如果工作數目大於 0,請連絡支援以取得因應措施。

  13. 使用下列命令升級 RaaS 服務資料庫:
    sudo su - raas
    raas upgrade
    備註:

    根據資料庫的大小,升級可能需要數分鐘到一小時以上的時間。如果遇到錯誤,請查看 /var/log/raas/raas 記錄檔以瞭解更多資訊。

  14. 升級後,使用下列命令結束 raas 使用者的工作階段:
    exit
  15. 使用下列命令啟動 RaaS 服務:
    sudo systemctl enable raas
    sudo systemctl start raas

確認 SaltStack Config 正常運作且執行的是最新版本。繼續前往下一節。

後續步驟

升級 RaaS 節點後,最後的工作是升級主節點外掛程式。如需詳細資訊,請參閱升級主節點外掛程式