有効期限が切れた SSL/TLS 証明書

期限前に証明書を更新し、サービスに新しい証明書が適用されたことを確認してください。

説明

サービスが有効期限切れの SSL/TLS 証明書を提示すると、証明書を検証するクライアントが接続を拒否する場合があります。期限切れの警告を回避させると、サーバーの身元確認も弱まるおそれがあります。

ACM はインポート時点で期限切れの証明書を受け付けません。インポートした証明書は自動更新されないため、更新、再インポート、実際のサービスへの関連付けを管理する必要があります。

想定される影響

  • 証明書の検証エラーでサービスへの接続が失敗する可能性があります。
  • 検証の無効化や警告の無視は、サーバー偽装のリスクを高めるおそれがあります。

対処方法

有効な証明書、対応する秘密キー、必要な証明書チェーンを用意して交換し、サービスが実際に提示する証明書を確認してください。期限を監視して余裕を持って更新し、接続エラーの解消のために証明書検証を無効にしないでください。

例

従来の aws_acm モジュールでファイルを取り込む例です。ファイル名は説明用なので、実際の PEM、対応する秘密キー、必要なチェーンを確認してください。自己署名証明書にはクライアント側の信頼設定が別途必要です。

変更前

yaml
- name: upload a self-signed certificate
  community.aws.aws_acm:
    certificate: "{{ lookup('file', 'expiredCertificate.pem') }}"
    private_key: "{{ lookup('file', 'key.pem') }}"
    name_tag: my_cert

ファイル内の証明書が実際に期限切れなら、ACM はインポートを拒否します。このタスクで期限切れ証明書が正常にデプロイされるわけではありません。

変更後

yaml
- name: upload a self-signed certificate
  community.aws.aws_acm:
    certificate: "{{ lookup('file', 'validCertificate.pem') }}"
    private_key: "{{ lookup('file', 'key.pem') }}"
    name_tag: my_cert

有効な証明書を取り込む構成です。ファイル名だけで有効性を判断せず、ドメイン、信頼チェーン、サービスへの関連付けも確認してください。

参考資料