SSL Sertifikası

Sertifika Pinning Uygulaması

Pinning sahte sertifikalara karşı güçlü bir kalkan olabilir; ama yanlış kurulursa uygulamanızı kilitler. SPKI karması ve yedek pin rehberi.

Sertifika pinning, bir istemcinin belirli bir sunucu için yalnızca önceden bilinen sertifikayı veya açık anahtarı kabul etmesidir. Sahte ama teknik olarak geçerli bir sertifika düzenlenmiş olsa bile bağlantı reddedilir. En yaygın kullanım alanı mobil uygulamalar ve kendi istemcisini kontrol eden servislerdir.

Neyi sabitlemeli?

  • Yaprak sertifika: En katı yöntemdir ancak her yenilemede uygulama güncellemesi gerektirir.
  • Açık anahtar (SPKI) karması: Sertifika yenilense de anahtar aynı kalırsa çalışır; en çok önerilen yoldur.
  • Ara CA: Esnektir ancak o CA'nın düzenlediği başka sertifikalara da güvenmiş olursunuz.

SPKI karmasını hesaplama

openssl s_client -connect ornek.com:443 -servername ornek.com </dev/null 2>/dev/null \
  | openssl x509 -pubkey -noout \
  | openssl pkey -pubin -outform der \
  | openssl dgst -sha256 -binary | openssl enc -base64

Çıkan değer, pinning yapılandırmasında kullanılan Base64 SHA-256 karmasıdır.

Uygulama örnekleri

Android'de network_security_config.xml içindeki pin-set öğesi, iOS'ta ise URLSession delegesinde sunucu güven doğrulaması kullanılır. OkHttp gibi kütüphaneler CertificatePinner sınıfıyla aynı işi yapar. Her zaman en az bir yedek pin ekleyin.

Riskler ve önlemler

  • Kilitlenme riski: Sabitlenen anahtar değiştirilirse ve yedek pin yoksa uygulama sunucuya hiç bağlanamaz.
  • Yenileme planı: Yenilemede anahtarı koruyacak mısınız yoksa pin listesini önceden güncelleyecek misiniz, baştan kararlaştırın.
  • Zaman ayarı: Pin güncellemelerini uygulama sürümüyle yaymak için yeterli süre tanıyın.
  • Uzaktan kapatma: Acil durumda pinning'i devre dışı bırakabilecek bir yapılandırma mekanizması düşünün.

Web siteleri için tarayıcı tabanlı pinning artık önerilmez; ayrıntıları bilgi bankamızdaki HPKP makalesinde bulabilirsiniz. Yenileme sonrası sunucu yapılandırmanızı SSL Checker ile kontrol etmek, pin uyuşmazlıklarını erken yakalamanıza yardımcı olur.

Özetle pinning, yalnızca kontrolünüzdeki istemcilerde ve iyi planlanmış bir anahtar yenileme süreciyle kullanıldığında güvenliği artırır.

Bu makale faydalı oldu mu?

Makale Ara

Güvenlik & En İyi Uygulamalar

Yardıma mı İhtiyacınız Var?

Aradığınızı bulamadıysanız destek ekibimiz size yardımcı olabilir.

Destek Talebi Aç