OpenSSL s_client - SSL hatası - TLS güvenliği

OpenSSL s_client, TLS bağlantımın bozuk olduğunu gösterdi: CI'da SSL hatalarını teşhis etme

Bir düğmeye bastığınızda commit, Sizin CI/CD pipeline İşlemler tamamlanıyor, testler geçiyor ve dağıtım sadece bir tık uzakta. Sonra aniden, gizemli bir TLS mesajıyla derleme başarısız oluyor.
Suçlanacak bir kod değişikliği yok, henüz... pipeline Kırmızı. Ne oldu? Birçok ekip için suçlu genellikle TLS güvenlik sorunudur; örneğin süresi dolmuş bir sertifika, zayıf bir şifreleme algoritması veya yanlış yapılandırılmış bir sunucu. İyi haber şu ki, bu sorunları nasıl kullanacağınızı biliyorsanız, derlemelerinizi bozmadan önce tespit etmek kolaydır. OpenSSL istemcisi.

Bu makale, SSL hatalarını teşhis etme ve önleme konusunda size yol gösterecektir. CI/CD pipelinekullanıyor openssl s_istemcisiGerçek örnekleri, otomasyon tekniklerini ve daha fazlasını ele alacağız. guardrails Bu, görevlendirmelerinizin güvenliğini sağlar.

Senin ne zaman Pipeline Çığlıklar: Gerçek Bir TLS Başarısızlığı

İşte birçok DevOps mühendisi için tanıdık bir manzara:

O SSL hatası Bu, uç noktanın sertifikasının süresinin dolduğu anlamına gelir. In CI/CDBu durum dağıtımları durdurur, entegrasyon testlerini bozar ve tüm sürümünüzü engelleyebilir.

Daha da kötüsü, bu TLS güvenlik açığı göz ardı edilirse, üretim sistemlerini ortadaki adam saldırılarına maruz bırakabilir veya hizmet kesintilerine neden olabilir.

OpenSSL s_client neden geliştiricilerin TLS hata ayıklama bıçağıdır?

Tarayıcı uyarılarının aksine, bunlar belirsiz ve manueldir, OpenSSL'in s_client'ı TLS el sıkışmasının ham ve ayrıntılı bir görünümünü sunar.
Şunlar için idealdir:

  • Bir uç noktanın hangi TLS sürümünü ve şifreleme yöntemini kullandığını kontrol etmek.
  • Sertifikaların geçerli ve güvenilir olduğunun doğrulanması
  • Bağlantılarda doğrudan hata ayıklama CI/CD iş

Örnek el sıkışma kontrolü:

Sertifika ayrıntılarına, desteklenen şifreleme algoritmalarına ve görüşme sırasında oluşabilecek SSL hatalarına anında erişim sağlarsınız. Bu nedenle birçok DevSecOps ekibi bunu tercih edilen bir TLS güvenlik aracı olarak görmektedir.

CI'yı Bozan Yaygın TLS/SSL Hataları Pipelines

En sık karşılaşılan arıza türlerini inceleyelim. CI/CDKısa örnekler ve etkileriyle birlikte.

1 Süresi Dolmuş veya Henüz Geçerli Olmayan Sertifikalar

Etki: Otomatik testler, bir bağımlılığın güncel olmayan bir sertifika kullanması durumunda başarısız olur. Mikroservis mimarilerinde, dahili bir servisteki süresi dolmuş bir sertifika, tüm dağıtım zincirini durdurabilir.

2 Zayıf Şifreleme Yöntemleri veya Kullanımdan Kaldırılmış Protokoller

Etki: Bir hizmet TLS 1.0/1.1 veya zayıf şifreleme algoritmalarını desteklediğinde güvenlik kontrolleri başarısız olur. Bu durum genellikle düzenlemeye tabi ortamlarda uyumluluk taramaları sırasında ortaya çıkar.

3. Ana Bilgisayar Adı Uyuşmazlıkları ve Kendi Kendine İmzalanmış Sertifikalar

Örnek: Dahili bir test ortamı, şu amaçla verilmiş bir sertifika kullanır: hizmet.yerel, ama pipeline aramalar hizmet.devAlternatif olarak, sertifika kendi kendine imzalanmış olabilir ve koşucunun güven deposu tarafından güvenilir olarak kabul edilmeyebilir.

Etki: El sıkışma doğrulaması, açıkça atlanmadığı sürece başarısız olur ve bu durum üretim ortamında tehlikelidir. Bu, dahili API çağrılarında, yerel test kurulumlarında veya yanlış yapılandırılmış geliştirme ortamlarında yaygındır.

4 Eksik Sertifika Zinciri

Örnek: Aşama sertifikasında ara CA eksik.
Etki: Daha sıkı güven depolarına sahip çalıştırıcılar bağlantılarda başarısız olur ve bu da aralıklı derleme hatalarına neden olur.

Daha Derine İnmek İstiyor musunuz? CI/CD Tehditler mi?

CI/CD pipelineYazılım geliştirmenin sorunsuz bir şekilde yürütülmesinde önemli bir rol oynarlar. Ancak, bunlar pipelineBu durum giderek daha da önem kazanırken, onları güvenlik açıklarından koruma zorunluluğu daha da belirginleşiyor. OWASP Top-10'da belirlenen önemli bir riski ele almaya odaklanan derinlemesine bir araştırmaya dalın. CI/CD Güvenlik Riskleri!

Ilgili okuma:

TLS Arızalarının Teşhisi CI/CD OpenSSL s_client ile

Birinci adım: Hatayı kendi sisteminizde yeniden oluşturun. CI/CD ortamı.

Bu size eksiksiz bir TLS el sıkışma dökümü, protokol, şifreleme yöntemi, sertifika zinciri ve tüm doğrulama hatalarını sağlar.

Aramak:

  • Hatayı doğrula mesajları
  • Eski TLS protokol sürümleri
  • Zincirdeki eksik ara ürünler

Otomasyona Geçiş:

Sorunun asıl nedenini belirledikten sonraki adım, bu kontrolleri otomatik hale getirmektir. Manuel teşhis bir kere yapılabilir, ancak otomasyon olmadan aynı sonuçları görmeye devam edeceksiniz. SSL hatası diğerinde pipeline haftalar sonra.

TLS Kontrollerini Güvenlik Önlemleri Olarak Otomatikleştirme Guardrails

TLS kontrollerini kodunuza gömebilirsiniz. CI/CD Böylece hatalı yapılandırmalar daha erken aşamada başarısız olur:

  • Sertifikanın geçerlilik süresinin 30 günden az kalması durumunda uyarı ver.
  • Zayıf şifreleme yöntemlerini ve kullanım dışı bırakılmış TLS sürümlerini engelleyin.
  • Eksiksiz sertifika zincirleri gereklidir.

Örnek korkuluk:

İpucu: Kodları birleştirmeden önce sorunları tespit etmek için bunu dağıtım öncesi aşamada çalıştırın.

Üretimde TLS Sürprizlerini Önleme

TLS sorunları yalnızca dağıtım sırasında ortaya çıkmaz. Sertifikaların geçerlilik süresi her an dolabilir. Bu nedenle sürekli izleme çok önemlidir. DevSecOps'ta olmazsa olmaz.

GitHub Actions ile planlanmış kontrol örneği:

Bunu, uç noktaları sürekli olarak TLS güvenlik sorunları açısından taramak için cron işlerine, Jenkins'e veya Kubernetes CronJobs'a uyarlayabilirsiniz.

Bozuk TLS'den Kaynaklanan Gerçek Uygulama Güvenliği Riskleri

Bozuk TLS yapılandırmaları yalnızca derleme sorunları değil, aynı zamanda güvenlik açıklarıdır:

  • MITM saldırıları şifreleme zayıfsa veya eksikse
  • Eski sürüme geçme saldırıları eski protokollere izin verilirse
  • Tedarik zinciri riskleri Paket indirmeleri güvenli olmayan bağlantılar üzerinden gerçekleşirse

Her Şeyi Bir Araya Getirmek Guardrails

Bu süreci şöyle düşünün: Teşhis Et → Otomatikleştir → Uygula.

Neden Şimdi Guardrails Madde: In CI/CD, guardrails Güvenli olmayan TLS yapılandırmalarının devreye girmesini engelleyin. Aşağıdaki durumlarda dağıtımı engelleyebilirler:

  • Bir sertifikanın süresi yakında dolacak.
  • Zayıf bir şifreleme etkinleştirildi.
  • Eski bir protokol kullanılıyor.

Örnek: GitLab CI'da, bir uç nokta TLS 1.0 ile yanıt verirse iş anında başarısız olur ve birleştirmeden önce düzeltme yapılması zorunlu hale gelir.

Gibi araçlar Xygeni bunları uzatabilir guardrails Tüm yazılım tedarik zincirinizi TLS güvenlik açıkları açısından taramak.

CI için Kullanışlı OpenSSL s_client Tek Satırlık Komutlar

Son kullanma tarihini kontrol edin:

Şifreleme yöntemlerinin listesi:

son paket servis

OpenSSL s_client Bu, yalnızca bir sorun giderme komutundan daha fazlası; proaktif TLS güvenliği için bir DevSecOps aracıdır. SSL hatalarını derlemelerinizi bozmadan önce yakalamak ve bir daha asla sertifika süresinin dolması veya zayıf şifreleme nedeniyle şaşırmamak için bunu kullanın.

sca-tools-software-composition-analysis-tools
Yazılım risklerinizi önceliklendirin, giderin ve güvence altına alın.
Ücretsiz hesabınızı alın.
Hiçbir kredi kartı gerekmektedir.

Yazılım Geliştirme ve Teslimatınızı Güvence Altına Alın

Xygeni Ürün Paketi ile