Klinik farmakolojide genç hekimlerin ve tıp öğrencilerinin sıkça düştüğü tehlikeli bir yanılgı vardır: "Geniş Spektrumlu Antibiyotik" efsanesi. Hekim hastaya bakar; "Geniş spektrumlu güçlü bir sefalosporin veya florokinolon yazdım, vücuttaki her türlü enfeksiyonu siler süpürür" diyerek rahat bir nefes alır.

Oysa mikrobiyolojinin kanunları o kadar basit değildir. O "geniş spektrumlu" ilaç belirli gram-pozitif ve gram-negatif bakterilere etki ederken; anaerobik bakterilere, atipik mikroorganizmalara veya mantarlara zerre kadar dokunamaz. İki gün sonra hasta hekimin karşısına fırsatçı bir fungal sepsis veya dirençli Clostridioides difficile enfeksiyonuyla geri döner. İlacın adı "geniş spektrumlu"dur; fakat derinlerdeki mikropları kapsayacak kadar sınırsız değildir. Adındaki pazarlama jargonu, biyolojik gerçeklerin önüne geçemez.

İnternet altyapısında ve kriptografik sertifika yönetiminde de şirketlerin yüzlerce dolar harcayıp satın aldığı en büyük hayal kırıklıklarından biri tam olarak bu geniş spektrum tuzağıdır: Wildcard SSL sertifikasının çok katmanlı alt alan adlarında (Multi-Level Subdomains) çaresiz kalması.

300 Dolarlık Mucize: "*.sirketadi.com"

Bir holdingin veya hızlı büyüyen bir teknoloji girişiminin altyapı ekibi toplanır. Şirketin ana sitesi vardır, yanında müşteri paneli (panel.sirketadi.com), mağaza (shop.sirketadi.com), blog (blog.sirketadi.com) ve API sunucuları vardır.

Her bir alt alan adı için ayrı ayrı sertifika almakla veya yenilemekle uğraşmak istemezler. Şirket kredi kartını çıkarır, sektörün bilinen bir sertifika otoritesinden (DigiCert, Sectigo veya GlobalSign) yıllık 300-400 dolar ödeyerek Wildcard SSL sertifikası satın alır:

Common Name (CN): *.sirketadi.com
Subject Alternative Name (SAN): *.sirketadi.com, sirketadi.com

Sertifika sunucuya kurulur.

  • panel.sirketadi.com -> Yeşil kilit!
  • shop.sirketadi.com -> Yeşil kilit!
  • blog.sirketadi.com -> Yeşil kilit!

Altyapı yöneticisi arkasına yaslanır: "İşte bu kadar! Artık ne kadar subdomain açarsak açalım, sonsuza kadar güvendeyiz. Wildcard aldık, sınırları kaldırdık!"

Fakat yöneticinin unuttuğu şey, kriptografi standartlarının pazarlama broşürlerinden ibaret olmadığıdır.

Gece Yarısı Yeni Mikroservis: "v1.api.sirketadi.com"

Üç ay sonra şirketin backend ekibi yeni bir mobil uygulama geliştirir. Modern mikroservis mimarisinin bir gereği olarak API uç noktasını versiyonlayarak açarlar:

v1.api.sirketadi.com

Yazılımcılar Nginx konfigürasyonunu yapar, sunucudaki o meşhur *.sirketadi.com Wildcard SSL sertifikasını bu yeni alt alan adına bağlarlar.

Ve mobil uygulamanın test sürümü çalıştırılır.

Ancak mobil uygulama sunucuya bağlanamaz! iOS işletim sistemi ve Android cihazlar bağlantıyı anında reddeder: SSLHandshakeException: Certificate pinning / verification failure.

Geliştirici tarayıcıdan https://v1.api.sirketadi.com adresini açar. Ve ekranda o buz gibi kırmızı uyarı patlar:

Bağlantınız Gizli Değil
*Bu sunucu, alan adının sertifikasıyla eşleştiğini kanıtlayamadı. Sertifika .sirketadi.com için geçerlidir.
NET::ERR_CERT_COMMON_NAME_INVALID

Geliştiricilerin beyni donar. Şirket patronu ve IT direktörü hosting firmasına bilet açar:

"Siz bize bozuk Wildcard SSL sattınız! Yılda 400 dolar para ödedik 'Bütün subdomainleri korur' dediniz. Yeni açtığımız v1.api.sirketadi.com adresinde kırmızı hata veriyor! Derhal paramızı iade edin ya da bu sertifikayı düzeltin!"

RFC 6125: Kriptografinin Katı Nokta Kuralı

Destek mühendisi IETF'in resmi internet standardı olan RFC 6125 (Bölüm 6.4.3) dokümanını açar ve müşterinin önüne koyar:

"The wildcard character '' MUST NOT match more than one domain name component or label. In particular, a wildcard certificate for *.example.com matches foo.example.com but MUST NOT match bar.foo.example.com."*

İşte kural bu kadar açık ve kesindir!

Wildcard (joker karakter *), sadece ve sadece tek bir nokta derinliğindeki alan adlarını kapsar.

Yani *.sirketadi.com sertifikası:

  • api.sirketadi.com -> EŞLEŞİR (Geçerlidir).
  • panel.sirketadi.com -> EŞLEŞİR (Geçerlidir).
  • Ancak v1.api.sirketadi.com -> EŞLEŞMEZ! Çünkü araya ikinci bir nokta (v1. ve api.) girmiştir! Kriptografik standartlar gereği joker karakter iki kademeli hiyerarşiyi atlayamaz!

Kullanıcı zannetmiştir ki o joker karakter bir büyücüdür ve alan adının önündeki elli tane noktayı birden tek başına şifreleyebilir. Oysa güvenlik standartları, saldırganların bu joker karakteri suistimal ederek sahte iç alt alan adları türetmesini engellemek için bu sınırı kasıtlı olarak koymuştur.

İkinci Kademeyi Kurtarma Protokolü

İki kademeli veya mikroservis mimarisine sahip derin alan adlarını (v1.api, staging.dev, admin.panel) güvenliğe kavuşturmanın gerçek mühendislik çözümleri şunlardır:

  1. Özel Alt Wildcard Sertifikası: Eğer api.sirketadi.com altında onlarca farklı mikroservis (v1.api, v2.api, auth.api) açacaksanız, doğrudan o kademe için ayrı bir Wildcard sertifikası tanımlamalısınız:
    CN: *.api.sirketadi.com
  2. Multi-Domain (SAN / UCC) Sertifikaları: Alan adlarınızı tek bir joker karaktere sıkıştırmak yerine, sertifikanın SAN (Subject Alternative Name) listesine ihtiyaç duyduğunuz tüm derin adresleri açıkça ekleyin:
    DNS Name: sirketadi.com
    DNS Name: *.sirketadi.com
    DNS Name: v1.api.sirketadi.com
    DNS Name: staging.dev.sirketadi.com
  3. Alt Çizgi veya Tire Mimarisi: Altyapınızı iki kademeli noktayla bölmek yerine alan adı düzeyinde tekilleştirin: v1.api.sirketadi.com yerine v1-api.sirketadi.com kullanın! Araya nokta girmediği için mevcut *.sirketadi.com Wildcard sertifikanız bu adresi kusursuz bir şekilde koruyacaktır.
  4. Let's Encrypt ve Otomasyon: Ticari Wildcard sertifikalarına yüzlerce dolar dökmek yerine, Let's Encrypt ve Certbot kullanarak her alt alan adı için ihtiyaç anında otomatik, ücretsiz ve sınırsız tekil sertifikalar üretin.

Geniş spektrumlu antibiyotiğin her mikroba çare olacağını sanan hekim hastayı nasıl riske atıyorsa; Wildcard SSL'in her derinliği şifreleyeceğini sanan yönetici de altyapısını kırmızı güvenlik uyarısına mahkûm eder. Kriptografi niyetlerle değil, protokollerin milimetrik kurallarıyla çalışır. Kuralları bilmeden satın alınan her "sınırsız" çözüm, ilk virajda duvara toslamaya mahkûmdur.