Chef'de SSL alışverişlerini doğrulamak için dahili CA sertifikamı nasıl ekleyebilirim?


15

Şirketimde sunucu sertifikaları oluşturmak için dahili bir Sertifika Yetkilisi kullanıyoruz.

Ayrıca, SSL müdahalesi (MITM) yapan şeffaf bir proxy ile de uğraşmak zorundayız.

Chef'in CA sertifikasını bilmemesi nedeniyle düzenli olarak SSL doğrulama hatalarıyla karşılaşıyorum ve bazen şefin kendisi için bir takım (berkshelf, bıçak; hatta şef 12 varsayılan olarak SSL'yi etkinleştirdiğinden sunucuyla ilk kez konuşurken şef istemcisinin kendisi).

Soru: Chef'i geçerli SSL alışverişi almak için CA sertifikamdan nasıl haberdar edebilirim?

Yanıtlar:


13

Sonuca ulaşmak için birkaç yol var:

  1. Şef'in trusted_dirgüvenilir listeye sertifika eklemesine izin vermek için dokümantasyon Bu konuda ayrıntılar bir yeri vardır. CA sertifikanızı bu dizine eklemek sorunu çözecektir. knifeayrıca kendi dokümantasyonuna göre biraz farklı bir yolda

  2. Şef kendi CA sertifika listesini kullanın /opt/chef/embedded/ssl/certs/cacert.pem. Güvenmek için CA sertifikanızı bu listenin sonuna ekleyebilirsiniz.

İkinci seçenek, kütüphaneyi kullanan araçların çoğunun CA sertifikanızı bilmesini sağlamak SSL_CERT_FILEiçin şefe işaret eden ortam değişkenini dışa aktarmanıza izin verme avantajına sahiptir .cacert.pemopenssl

Şef sunucusunda (veya tarifte hedef olarak kullanılan başka bir sunucuda) kendinden imzalı bir sertifika olması durumunda, knife ssl_fetchtüm bıçak komutlarının çalışmasına izin verir.

Sunucu sertifikasını yukarıdaki durum 2 için cacert.pem dosyasına eklemek için aşağıdaki komutu kullanabilirsiniz:

# For a self signed CA certiticate
openssl s_client -showcerts -connect <YOUR_CHEF_SERVER>:443 </dev/null 2>/dev/null|openssl x509 -outform PEM >> /opt/chefdk/embedded/ssl/certs/cacert.pem

# For an internal CA signed certificate:
openssl s_client -showcerts -verify 5 -connect <YOUR_CHEF_SERVER>:443 </dev/null 2>/dev/null | awk '/BEGIN/,/END/{if(/BEGIN/){a++}; certs[a]=(certs[a] "\n" $0)}; END {print certs[a]}' >> /opt/chefdk/embedded/ssl/certs/cacert.pem

export SSL_CERT_FILE=/opt/chefdk/embedded/ssl/certs/cacert.pem

Openssl komutu chef-dk'ya dahil edilmiştir, bu yüzden bu pencereler altında da yapılabilir. Yolu c:\opscode\yerine olarak değiştirin /opt/. Ortam değişkenini dışa aktarmak için komutunuzda (ortamınıza kalıcı olarak eklemek için set SSL_CERT_FILE=...ile /P) komutunu kullanın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.