ロケーション・エンドポイント・トラフィックの認証
デフォルトでは、すべてのエンドポイント・トラフィックが暗号化されます。 TLS または HTTPS のエンドポイントに対して独自の証明書を指定し、送信元から Link への接続と、Link から宛先への接続の両方を認証してください。
エンドポイント認証設定を構成しない場合、エンドポイント・トラフィックは暗号化されますが、Satellite Link はトランジット・サービスとしてのみ機能します。 これは、 TCP または HTTP プロトコルを使用するエンドポイントにも当てはまります。 プロトコルが TLS または HTTPS のエンドポイントの場合、 Satellite Link を経由するトラフィックは、デフォルトで簡易認証を使用しようとします。この際、よく知られた組み込みの証明書に依存しますが、それだけで十分である場合もあれば、不十分な場合もあります。
以下の認証オプションを確認してください。
- Satellite Linkサービスとデスティネーション間の簡易認証
- 宛先サーバーは、Satellite Linkサービスで自分自身を認証する。 宛先との間で簡易認証を設定するには、エンドポイントの宛先プロトコルが「 TLS 」である必要があります。 宛先のサーバー証明書がよく知られた認証局によって署名されていない場合、または自己署名されていない場合は、宛先のサーバー証明書を検証するために、信頼されたCA証明書またはチェーンを設定する必要があります。
- Satellite Linkサービスによる簡易認証
- Satellite Linkサービスは、ソースに対して自分自身を認証する。 Satellite Link サービスで簡易認証を設定するには、エンドポイントの送信元プロトコルを TLS または HTTPS に設定する必要があります。 証明書のコンフィギュレーションは、エンドポイントのデスティネーション・タイプに依存する。
- 宛先タイプが「cloud」のエンドポイントでは、Satellite Linkサービスがソースとの認証に使用するサーバー証明書とキーを提供する必要があります。 サーバー証明書がよく知られた署名局によって署名されていない場合は、ソース環境にCAルート証明書もインストールする必要があることに注意してください。
- 宛先タイプが「location」のエンドポイントでは、Satellite Linkが DigiCertによって署名された独自の証明書を使用するため、Satellite Linkサービス証明書を設定する必要はありません。 DigiCert証明書はすべてのモダンブラウザとプラットフォームで 適合使えますが、もしあなたのソースがルートCA証明書を持っていない場合、ダウンロードをDigiCertから1つ選び、あなたのソース環境にインストールする必要があります。
- Satellite Linkとデスティネーションサーバー間の相互認証
- 相互認証では、宛先サーバーはSatellite Linkサービスに対して自分自身を認証し、Satellite Linkサービスは宛先に対して自分自身を認証しなければならない。 Satellite Linkサービスとデスティネーションサーバ間の相互認証を設定するには、Satellite Linkサービスの認証を、単純なデスティネーション認証の場合と同じように設定する必要があります。 ただし、Satellite Linkサービスが宛先との認証に使用するクライアント証明書と鍵も提供する必要があります。
- ソースとSatellite Linkサービス間の相互認証
- 相互認証では、Satellite Linkサービスは自分自身をソースに認証し、ソースは自分自身をSatellite Linkサービスに認証しなければならない。 ソースとSatellite Linkサービス間の相互認証を設定するには、単純なソース認証の場合と同じようにSatellite Linkサービス認証を設定する必要があります。 ただし、Satellite Link サービスがソースのクライアント証明書を検証するために使用する CA 証明書も構成する必要があります。
- 送信元Satellite Linkサービス、Satellite Linkと
- Satellite Linkサービスと宛先サーバーの両方へのリクエストは認証される。 トラフィックが許可される前に、2回の TLS ハンドシェイクの検証を行う必要があります。 この設定では、送信元プロトコルを「 TLS 」または「 HTTPS 」、宛先プロトコルを「 TLS 」としてエンドポイントを作成してください。 次に、上記のように、送信元と宛先の相互認証の両方のケースに必要な証明書を提供する。
エンドポイント認証用に独自の証明書を提供することを選択した場合、お客様は、証明書のローテーションと有効期限の管理を行う必要があります。 証明書の有効期限が切れると、通信が中断されます。
CLI での認証のセットアップ
source オプションは、送信元と Satellite Link サービス間の TLS ハンドシェイクを指します。 dest オプションは、 Satellite Link サービスと宛先サーバーまたはターゲットサーバーとの間で交わされる TLS ハンドシェイクを指します。 これらの接続の一方または両方に証明書を提供することができます。 指定されていない設定は、デフォルト値に設定されます。
ibmcloud sat endpoint authn コマンドは、 Satellite Link サービスの証明書を設定するためにのみ使用され、送信側ではサーバーとして、受信側ではクライアントとして機能します。 また、送信元(クライアント)と送信先(サーバー)の証明書を、それぞれのアプリケーション環境に設定する必要がある場合もある。
以下の例となるシナリオを確認してください。
Satellite Linkサービスとデスティネーション間のシンプルな認証
-
HTTPS サーバーへの HTTPS エンドポイントを作成する。
ibmcloud sat endpoint create --location ID \ --name myEndpoint \ --dest-hostname example.com \ --dest-port 443 \ --source-protocol HTTPS \ --dest-type location -
宛先サーバーとの TLS の基本的な設定を行います。
この例では、宛先サーバーの証明書を検証するために、トラステッド CA の証明書を提供します。
ibmcloud sat endpoint authn set \ --location ID \ --endpoint myEndpoint \ --dest-tls-mode simple \ --dest-ca-cert-file /path/to/serverCACerts.pem -
証明書の有効期限が切れる前に、既存の認証証明書を新しい認証証明書に置き換えることによって、証明書をローテーションします。 指定した証明書のみが置き換えられます。
ibmcloud sat endpoint authn rotate \ --location ID \ --endpoint myEndpoint \ --dest-ca-cert-file /path/to/serverCACerts.pem
Satellite Linkサービスによる簡易認証
location または cloud のいずれかのエンドポイント --dest-type で動作可能なほとんどの構成とは異なり、この構成では --dest-type cloud を使用しなければならない。
-
HTTP サーバーへの HTTPS エンドポイントを作成する。
ibmcloud sat endpoint create \ --location ID \ --name myEndpoint \ --dest-hostname example.com \ --dest-port 80 \ --dest-protocol TCP \ --source-protocol HTTPS \ --dest-type cloud -
ソースと Satellite Link サービス間のシンプルな TLS を設定します。
この例では、Satellite Link・サービスがソースと認証するためのサーバ証明書を提供する。
ibmcloud sat endpoint authn set \ --location ID \ --endpoint myEndpoint \ --source-tls-mode simple \ --source-cert-file /path/to/serverCertificate.pem \ --source-key-file /path/to/serverKey.pem -
証明書の有効期限が切れる前に、既存の認証証明書を新しい認証証明書に置き換えることによって、証明書をローテーションします。 指定した証明書のみが置き換えられます。
ibmcloud sat endpoint authn rotate \ --location ID \ --endpoint myEndpoint \ --source-cert-file /path/to/serverCertificate.pem \ --source-key-file /path/to/serverKey.pem
Satellite Linkサービスとデスティネーション間の相互認証
-
HTTPS サーバーへの HTTP エンドポイントを作成する。
ibmcloud sat endpoint create \ --location ID \ --name myEndpoint \ --dest-hostname example.com \ --dest-port 443 \ --dest-protocol TLS \ --source-protocol HTTP \ --dest-type location -
宛先サーバーとの相互 TLS を設定します。
単純な認証の例と同様に、
--dest-ca-cert-fileは宛先サーバーの証明書を検証する。 相互の TLS ハンドシェイクを実行するには、--dest-cert-fileおよび--dest-key-fileが使用されます。ibmcloud sat endpoint authn set \ --location ID \ --endpoint myEndpoint \ --dest-tls-mode mutual \ --dest-cert-file /path/to/clientCertificate.pem \ --dest-key-file /path/to/clientKey.pem \ --dest-ca-cert-file /path/to/serverCACerts.pem -
証明書の有効期限が切れる前に、既存の認証証明書を新しい認証証明書に置き換えることによって、証明書をローテーションします。 指定した証明書のみが置き換えられます。
ibmcloud sat endpoint authn rotate \ --location ID \ --endpoint myEndpoint \ --dest-cert-file /path/to/clientCertificate.pem \ --dest-key-file /path/to/clientKey.pem \ --dest-ca-cert-file /path/to/serverCACerts.pem
ソースとSatellite Linkサービス間の相互認証
location または cloud のいずれかのエンドポイント --dest-type で動作可能なほとんどの構成とは異なり、この構成では --dest-type cloud を使用しなければならない。
-
HTTP サーバーへの HTTPS エンドポイントを作成する。
ibmcloud sat endpoint create \ --location ID \ --name myEndpoint \ --dest-hostname example.com \ --dest-port 80 \ --dest-protocol TCP \ --source-protocol HTTPS \ --dest-type cloud -
送信元と Satellite Link サービス間で、相互の TLS を設定します。
この例では、Satellite Link・サービスがソースと認証するためのサーバ証明書と、ソースのク ライアント証明書を検証するための信頼された CA の証明書を提供する。
ibmcloud sat endpoint authn set \ --location ID \ --endpoint myEndpoint \ --source-tls-mode mutual \ --source-cert-file /path/to/serverCertificate.pem \ --source-key-file /path/to/serverKey.pem \ --source-ca-cert-file /path/to/clientCACerts.pem -
証明書の有効期限が切れる前に、既存の認証証明書を新しい認証証明書に置き換えることによって、証明書をローテーションします。 指定した証明書のみが置き換えられます。
ibmcloud sat endpoint authn rotate \ --location ID \ --endpoint myEndpoint \ --source-cert-file /path/to/serverCertificate.pem \ --source-key-file /path/to/serverKey.pem \ --source-ca-cert-file /path/to/clientCACerts.pem
ソースと宛先の両方での相互認証
-
HTTPS サーバーへの HTTPS エンドポイントを作成する。
ibmcloud sat endpoint create \ --location ID \ --name myEndpoint \ --dest-hostname example.com \ --dest-port 443 \ --source-protocol HTTPS \ --dest-type location -
送信元サーバーと宛先サーバーの両方に対して、 TLS による相互認証を設定します。
この例では、ソースとSatellite Linkサービス間、およびSatellite Linkサービスとデスティネーション・サーバー間の相互認証を可能にしている。
ibmcloud sat endpoint authn set \ --location ID \ --endpoint myEndpoint \ --source-tls-mode mutual \ --source-ca-cert-file /path/to/clientCACerts.pem \ --dest-tls-mode mutual \ --dest-cert-file /path/to/clientCertificate.pem \ --dest-key-file /path/to/clientKey.pem \ --dest-ca-cert-file /path/to/serverCACerts.pem -
証明書の有効期限が切れる前に、既存の認証証明書を新しい認証証明書に置き換えることによって、証明書をローテーションします。 指定した証明書のみが置き換えられます。
ibmcloud sat endpoint authn rotate \ --location ID \ --endpoint myEndpoint \ --source-ca-cert-file /path/to/clientCACerts.pem \ --dest-cert-file /path/to/clientCertificate.pem \ --dest-key-file /path/to/clientKey.pem \ --dest-ca-cert-file /path/to/serverCACerts.pem
認証設定の表示
ibmcloud sat endpoint authn get を使用すると、エンドポイントの構成済み認証設定を表示できます。 たとえば、次のコマンドを実行すると、エンドポイント myEndpoint に対して現在設定されている TLS のモードおよび証明書を出力できます。
ibmcloud sat endpoint authn get --location ID --endpoint myEndpoint
送信元と宛先の相互認証の例 で示したように myEndpoint が設定されていると仮定すると、このコマンドは以下のような出力を生成する。
OK
Destination TLS Mode: mutual
Destination Certificate: /path/to/clientCertificate.pem
Destination Key: /path/to/clientKey.pem
Destination CA Certificates: /path/to/serverCACerts.pem
Source TLS Mode: mutual
Source Certificate: -
Source Key: -
Source CA Certificates: /path/to/clientCACerts.pem
証明書の除去
ibmcloud sat endpoint authn set コマンドは、1つ以上の既存の証明書を削除するために使うことができます。 setコマンドは、コマンドのオプションで指定された証明書以外のすべての証明書を削除する。 例えば、次のコマンドは、エンドポイント myEndpoint に対して現在設定されているすべての証明書を削除します。
ibmcloud sat endpoint authn set --location ID --endpoint myEndpoint
一部の証明書だけを削除し、他の証明書は変更しない場合は、必ず他の証明書の現在の値をオプションとして渡してください。 たとえば、以下のコマンドを使うと、現在設定されている source 証明書を削除し、dest 証明書は変更せずに残すことができます。
ibmcloud sat endpoint authn set \
--location ID \
--endpoint myEndpoint \
--dest-tls-mode mutual \
--dest-cert-file /path/to/current/clientCertificate.pem \
--dest-key-file /path/to/current/clientKey.pem \
--dest-ca-cert-file /path/to/current/serverCACerts.pem