SaaS セキュリティ その他

Netskope 証明書ローテーション方法についてのご案内

はじめに

どうも、kakeruです。今回は、Netskopeの証明書ローテーション方法についてご案内させていただきます。
本件については、下記のNetskope公式ドキュメントをもとに記載しています。詳細について確認したい場合は、販売代理店にお問い合わせください。

証明書のローテーションが必要となるタイミング

証明書のローテーションは、主に以下の2つのタイミングで必要になります。

  • テナント開設から10年が経過する前
    • Netskopeの証明書には、10年間の有効期限が設定されています。特別な理由がない限り、証明書の更新は10年に一度のタイミングで問題ありません。期限が近づくと、管理コンソールに以下のような通知が表示されます。
  • CLIツールなどで証明書の厳格化が求められた時(今回の対象)
    • このブログでは、CLIツール利用時などを想定して、ローテーションの手順を説明します。
    • 例えば、Python 3.13のSSLモジュールでは、VERIFY_X509_STRICTオプションがデフォルトで有効になっています。これは、CA証明書がRFC 5280に準拠しているかを検証するオプションです。この設定では、Netskope公式が出しているCLIツールがCA証明書を利用するように構成しても、証明書関連のエラーが発生してしまうことがあります。

影響範囲の特定

ローテーションを開始する前に、影響範囲を特定しておく必要があります。

想定される影響箇所

  • 管理者ユーザーのNetskope管理コンソールへのSSOログイン
    • 期限切れの証明書がIdP(Identity Provider)側にインポートされている場合、管理者ユーザーのSSOができなくなります。
    • 公式ドキュメントに記載されている手順でSSOを構成していれば、Netskopeの証明書をIdP側にインポートしないため、影響は発生しません。
    • 念のため、ローカルでログインできることを事前に確認しておきましょう。Tenant Adminの権限を持つユーザーが「https://<テナント名>.goskope.com/locallogin」でID/パスワードログインができることを確認してください。
    • ログインできない場合は、別の管理者がSSOで管理コンソールにログイン後、Settings > Administration > Administrators & Rolesに進み、自身のユーザーの行の右端にある「︙」からEdit > Reset Passwordでパスワードをリセットし、ログイン可能な状態にしてください。
    • もしSSOでログインできない場合は、IdP側にインポートされている証明書の切り替え、または切り戻しを依頼してください。
    • IDPモードを利用したNetskope Clientのアクティベーション
      • 期限切れの証明書がIdP側にインポートされている場合、IdPモードを利用したNetskope Clientのアクティベーションができなくなります。
      • 公式ドキュメントに記載の手順で構成していれば、Netskopeの証明書をIdP側にインポートしないため、影響は発生しません。
      • もし新規ユーザーのアクティベーションができない場合は、IdP側にインポートされている証明書の切り替え、または切り戻しを依頼してください。
    • バージョンR110未満のpublisherを利用しているNPAでの接続
      • バージョンR110未満のPublisherでは、証明書の自動ローテーションが実行されません。
      • 事前にバージョンを更新する必要があります。Publisherのバージョンアップについては、以下のブログを参考にしてください。

    ローテーションの開始方法

    1. Netskopeの購入元に、証明書の更新を行いたい旨と、ローテーションの開始希望日を連絡します。おおよそ1週間ほど時間がかかるため、1週間先の日付を指定しましょう。
      • おおよそ1週間ほど時間がかかりますので、1週間先を指定ください。
    2. Netskope社より、実施日と時間の連絡が届きます。
    3. 当日、作業の開始および完了連絡が届きます。

    証明書が更新されたことを確認する

    • Netskope管理コンソールにログインし、Settings > Manage > Certificate > Signing CAの順に移動します。
    • Download Netskope Intermediate Certificateをクリックして、証明書をダウンロードします。
    • ダウンロードしたファイルに対して、下記コマンドを実行します。
    openssl x509 -text -noout -in <ファイル配置場所>/caCert.pem
    • 実行結果のValidityを確認し、有効期限が10年後に設定されていることを確認します。
      • Not Before: Aug 6 07:03:08 2025 GMT (証明書の開始)
      • Not After : Aug 4 07:03:08 2035 GMT (証明書の期限)
    • 影響範囲の特定で確認した項目に問題がないかチェックを行います。
      • 管理者がSSOでテナントにアクセスできるか
      • IdPモードを利用してユーザーのアクティベーションが行えるか
      • NPAの利用が可能か

    これらの確認が完了すれば、ローテーションは完了です。

    Python3.13が実行可能か確認してみた

    実際にPython3.13が実行可能か確認してみました。
    公式サイトには下記の通り記載がございます。

    Python-based tools that uses requests library can leverage CA bundle referenced by the system variable REQUESTS_CA_BUNDLE . Create your CA bundle that includes Netskope root CA for your tenant and set environment variable REQUESTS_CA_BUNDLE to point to that file

    記載の通り、Netskopeの中間証明書とルート証明書を一つにまとめ、REQUESTS_CA_BUNDLEに指定します。

    テストファイルの作成(test.py)

    以下のような簡易的なテストファイルを用意します。

    import requests
    
    try:
        response = requests.get("https://www.google.com")
        print("Success!")
    except requests.exceptions.SSLError as e:
        print(f"Error: {e}")

    Netskope証明書の入手

    • 管理コンソールへログインし、Settings > Manage > Certificates > Signing CAの順に移動します。
    • Download Netskope Root CertificateDownload Netskope Intermediate Certificateをクリックして、それぞれルート証明書と中間証明書をダウンロードします。

    証明書バンドルの作成

    ダウンロード先のフォルダで、以下のコマンドを実行して証明書バンドルを作成します。

    cat rootcaCert.pem caCert.pem > netskope_ca_bundle.pem

    実行

    以下のコマンドを実行して、Python 3.13が利用されていることを確認します。

    python --version

    以下のコマンドを実行し、PythonのRequest CA Bundleとして設定します。

    export REQUESTS_CA_BUNDLE="<ファイル配置階層を指定>/netskope_ca_bundle.pem"

    以下のコマンドを実行し、作成したテストファイルが動作するか確認します。

    python <ファイル階層を指定>/test.py   

    「Success!」と表示されれば完了です。

    Netskope Clientの証明書を直接指定しても不可

    Request CA BundleにNetskope Clientの証明書を直接指定しても動作しませんでしたので、バンドルファイルの作成は必須です。

    Q&A

    Q1 ローテーションの作業自体は、Netskope社で実施する認識で間違いないでしょうか。

    • A.ローテーション作業はNetskope社で行われます。お客様側で必要な作業は、自社テナントへの影響確認と、更新後の確認のみです。

    Q2 ローテーション開始/差し替えまで、サービス影響(Netskopeが無効になる)などはありませんでしょうか。

    • Netskopeのサービス自体に影響はありません。実施の日付や時間はNetskope社と相談して決定します。

    Q3 仮に切り戻しとなった場合、何か作業が必要でしょうか。

    • Netskope社側の作業のみとなります。必要な場合は販売代理店にご連絡ください。

    Q4 Netskope Clientの証明書は自動で更新されますか。

    • 自動で更新される想定です。
    注意点

    弊社テナントでは自動で更新されていないため、引き続き確認中です。ただし、証明書のローテーションが行われても、旧証明書がすぐに使えなくなるわけではないため、現時点(2025年8月)では影響は出ていません。

    Q5 古い証明書は期限まで利用可能でしょうか。

    • はい、可能です。しかしながら更新した場合は、新しい証明書の利用を推奨いたします。

    Q6 証明書の期限を管理コンソールにて確認する方法はありますか。

    • いいえ、確認できません。テナントの発行時期からおおよそ10年が目安となります。

    終わりに

    今回はNetskopeの証明書ローテーションについて解説しました。実際に弊社テナントでローテーションを実施した上で記載しています。現時点で特段の影響は出ておりませんが、何かあれば追記したいと思います。

    kakeru

    こんにちは、セキュリティチーム所属の新米エンジニアkakeruです。業務で少しでも役に立つ情報をブログに書いていきますので、よろしくお願いします。