web-dev-qa-db-ja.com

OpenSSL-本番環境で証明書を更新する方法は?

DockerやConsulなどの、オプションで暗号化されたメッシュシステムの外部のさまざまなノードに多数のプライベートネットワークサービスをデプロイします。

サービスは価値が高く、TLSのみを介して通信する必要があり、現在OpenSSLを使用しています。

実稼働環境で証明書の有効期限が近づいたら、sys-adminによって手動で更新する必要がありますか、それとも何らかの方法で自動化することができますか?

これにcronタスクを使用することは安全ですか?

1
WildDev

証明書の更新は、手順全体(ワークフロー)が明確に定義され、透明性があり、社内で(セキュリティチームによって)承認されている限り、自動化できます。スケジュールされたタスク(あなたの場合はcron)を使用して

  1. 既存の証明書の有効性を追跡する
  2. 証明書の有効期限が近づくと(たとえば、ライフタイムの80%が経過)、ターゲットシステムで新しいCSRを生成します
  3. CSRをCAサーバーに送信する
  4. 発行された証明書を取得する
  5. 新しい証明書と関連するキーペアをアプリケーション(Webサーバー)にバインドします。

プロセス全体が安全である場合(つまり、ターゲットシステムでキーが生成され、キーが残されない場合、CSRはCAサーバーで検証/確認および認証されるなど)、なぜ自動化できないのかわかりません。

1
Crypt32