新しい Linux サーバーに Tenable Nessus を移行する

Linux にインストールされている Tenable Nessus スキャナーまたは Tenable Nessus Manager のライフサイクル中に、あるサーバーから別のサーバーへの移行が必要になる場合があります。次のトピックでは、同一プラットフォーム間、クロスプラットフォーム、クロスアーキテクチャの移行手順の概要と、いくつかの考慮事項を示します。

前提条件

ターゲットサーバーに Tenable Nessus のターゲットバージョンがサポートしているオペレーティングシステムがあり、他のすべてのシステム要件とハードウェア要件を満たしていることを確認してください。

次に、Tenable Nessus バージョンがソースサーバーとターゲットサーバーで同じであることを確認します。

/opt/nessus/sbin/nessusd -v コマンドを実行して、両方のサーバーのバージョンを確認します。ソースバージョンがターゲットバージョンよりも古い場合は、次のいずれかを実行します。

  • ソースサーバーの Tenable Nessus をターゲットサーバーと同じバージョンにアップグレードします。

  • ターゲットサーバーの Tenable Nessus をソースサーバーと同じバージョンにダウングレードします。

    • Tenable CoreTenable Nessus をダウングレードするには、ターゲットサーバーで pkexec /usr/libexec/tenablecore/backup/applicationDowngrade.sh コマンドを実行し、ダウングレードする Tenable Nessus バージョンを選択してから、[Enter] を押します。

      注意: Tenable Core Oracle Linux 8 (OL8) のコックピットの制限により、Tenable Core OL8 のターミナルでこのコマンドを実行することはできません。代わりに Secure Shell (SSH) セッションで実行する必要があります。

    • その他のオペレーティングシステムで Tenable Nessus をダウングレードするには、Tenable Nessus をアンインストールしてから、ソースサーバーのバージョンと一致するバージョンをインストールします。

データを転送する

次の 2 つのオプションのいずれかを使用して、ソースサーバーからターゲットサーバーにデータを転送します。どちらのオプションも、移行に必須ではない特定のディレクトリ (バックアップとログを含む) を除外します。それらのディレクトリは必要に応じて個別にバックアップしてください。リモート同期は、バックアップを作成、転送、復元する必要がないため、高速なオプションです。

注意

  • すべてのコマンドは root として実行する必要があります。

  • 非 root ユーザー (お使いのアカウントで sudo の権限昇格が許可されている) 場合、sudo -i コマンドを使用し、非 root ユーザーのパスワードを再度入力することで、root プロンプトに切り替えることができます。

  • 一部のオペレーティングシステムでは、tar コマンドをコピーして貼り付けると、「tar: 無効なオプション -- '▒'」 エラーが表示される場合があります。コマンドを手動で入力することで、この問題を解決できます。

調整

ターゲットサーバーで次の手順を実行して、データの転送または復元後に一貫した正常な状態になるようにします。

  1. nessuscli の実行時に FIPS モジュールエラーが表示されないようにし、正しいプラットフォーム固有のバイナリが配置されるようにするには、Red Hat または Debian ベースのオペレーティングシステム用の適切なコマンドを使用して、強制的な Tenable Nessus アップグレードを実行します。

    Red Hat ベースのオペレーティングシステム

    rpm -Uvh --force /tmp/Nessus-<version>.x86_64.rpm

    注意: Tenable Core の Oracle Linx 8 インスタンスで、yum download Nessus コマンドを実行して、最新の Tenable Nessus RPM ファイルを現在の作業ディレクトリにダウンロードできます。Tenable Core の古いインスタンスで yumdownloader Nessus を実行しても同じ結果が得られます。

    Debian ベースのオペレーティングシステム

    dpkg --force-all -I /tmp/Nessus-<version>.amd64.deb

  2. ターゲットサーバーで Tenable Nessus サービスを開始します。

    service nessusd start

  3. プラグインのダウンロードを許可し、「Could not validate this preference file.Have installation files been copied from another system?」(この環境設定ファイルを検証できませんでした。インストールファイルが別のシステムからコピーされていますか?) のエラーが出ないようにするため、Tenable Nessus にログインし、[Settings] (設定) > [Overview] (概要) に移動してライセンスを再度適用してください。同じライセンスを再利用するには、まず https://community.tenable.com/s/productsでリセットしてください。ライセンスの適用後、Tenable Nessus でサインアウトします。

    注意

    • オンラインで更新するように設定されている場合、Tenable Nessus はその直後に更新を試行し、ログイン画面に「Plugins are compiling, Nessus functions will limited be limited until compilation is complete」(プラグインのコンパイル中です。Nessus の機能はコンパイルが完了するまで制限されます) と最大 20 分間表示されます。この間、backend.log には「<[info] [globaldb] Waiting for Nessus to be ready>」(<[info] [globaldb] Nessus の準備ができるまで待機します>) と記録されます。ログインしてデータがすべて揃っていることは確認できますが、これが完了するまでスキャンを実行することはできません。完了すると、ユーザーインターフェースには「Plugins are doned compiling」(プラグインのコンパイルが完了しました) と表示され、backend.log には「[info] [globaldb] cleanup is starts」([info] [globaldb] クリーンアップを開始しています) および他のアクティビティが表示されます。

      tail -f /opt/nessus/var/nessus/logs/backend.log コマンドを使用して、backend.log の進行状況を監視できます。

      該当する場合、Tenable Nessus Manager はエージェント DB ファイルの生成も開始します。これにはさらに 10 分かかります。次に、Tenable Nessus Manager により、フィードが新しいエージェントコアバージョンを提供しているかどうかが確認されます。新しいエージェントコアバージョンがある場合、ダウンロードされます。

    • エアギャップ環境にある Tenable Nessus のインストールでは、プラグインの手動更新が必要です。プラグインの更新後、次のコマンドを使用して、Tenable Nessus Manager 用のエージェント DB ファイルの生成を強制的に行えます。

      /opt/nessus/sbin/nessuscli manager generate-plugins –force

    • Tenable Nessus Manager クラスターノード間の情報交換は、事前共有されたシークレットに依存しています。たとえば、nessuscli fix --reset を実行した場合や、新しい証明書が生成されたり、カスタム CA が Tenable Nessus Manager の親にアップロードされたりした場合、「Invalid certificate signature」(無効な証明書の署名) エラーが子ノードの backend.log に表示されることがあります。その場合は、Invalid Certificate signature on cluster nodes (クラスターノードでの無効な証明書の署名) に従い、事前共有されたシークレットをリセットし、ノード間の通信を再度有効にしてください。

ホスト名と IP アドレスを設定する

スタンドアロンの Tenable Nessus は、異なるホスト名や IP アドレスを使用する可能性があります。ただし、エージェントはどちらか一方にリンクされるため、Tenable Nessus Manager ターゲットサーバーはソースサーバーと同じ IP アドレスとホスト名を持つ必要があります。データを転送した後、ソースサーバーのホスト名と IP アドレスをメモしておきます。その後、ソースサーバーをシャットダウンして、そのホスト名と IP アドレスをターゲットサーバーに割り当てます。

注意

  • Tenable Nessus Manager ターゲットサーバーに異なるホスト名や IP アドレスが使用されている場合、以前のホスト名または IP アドレスにリンクされたエージェントのコンソールではステータスがオフラインになります。これを修正するには、ターゲットサーバーに再リンクされる前に、各エージェントの Tenable タグ (/etc/tenable_tag または HKLM\SOFTWARE\Tenable\TAG) を削除する必要があります。

    • エージェントの再リンクを試みる前に Tenable タグを削除しないと、Tenable Nessus Manager にはすでに同じ Tenable タグの付いたエージェントがあるため 409 エラーが発生します。

    • Tenable タグを削除した後、service nessusagent restart を使用してエージェントサービスを再起動し、新しいタグを作成してください。

    • 新しい Tenable タグが付いたエージェントを再リンクすると、Tenable Nessus Manager コンソールのエージェントが更新されます。

次の 2 つのオプションのいずれかを使用して、ホスト名を設定します。

ターゲットサーバーの IP アドレスを変更するには、ip a 出力で変更する IP アドレスに関連付けられているインターフェース名を特定してから、Red Hat ベースのオペレーティングシステムでは /etc/sysconfig/network-scripts/ifcfg-<network interface name>、Debian ベースのオペレーティングシステムでは /etc/network/interfaces で IP アドレスを変更し、サーバーを再起動します。