0Pricing
Cyber Security Academy · Ders

SAML ve Federasyon

Kurumsal tek oturum açma.

SAML ve Federasyon, CoddyKit'te ücretsiz bir Cyber Security Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cyber Security Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cyber Security Academy kursu toplamda 4 dersten oluşur.

SAML Nedir

SAML (Güvenlik İddiası Biçimlendirme Dili), kimlik doğrulama ve yetkilendirme verilerini değiş tokuş etmek için kullanılan XML tabanlı bir standarttır ve kurumsal SSO alanında baskındır.

  • Bir kurumsal kimlik sağlayıcının birçok uygulama için kullanıcının kimliğini doğrulamasına olanak tanır.
  • SAML 2.0, OIDC'den daha eskidir ve B2B ile çalışan kimliği alanlarında yerleşikliğini korur.

SAML'yi anlamak, tek bir güven kusurunun bağlı her uygulamayı açığa çıkarabildiği kurumsal federasyonu savunmak için çok önemlidir.

IdP ve SP Rolleri

SAML federasyonunun iki ana tarafı vardır.

  • Kimlik Sağlayıcı (IdP), kullanıcının kimliğini doğrular ve doğrulama ifadeleri yayımlar (Okta, Entra ID, Ping).
  • Hizmet Sağlayıcı (SP), IdP'ye güvenen ve erişim izni veren uygulamadır.

Güven, imzalama sertifikaları ve uç nokta URL'lerini de içeren üst verilerin değiş tokuş edilmesiyle bant dışında oluşturulur.

IdP  -> authenticates user, signs assertion
SP   -> consumes assertion, grants access
Metadata exchange establishes trust (certs, ACS URLs)

SAML Doğrulama İfadesi

Temel öğe, IdP'nin bir öznenin kimliğini doğruladığını belirten XML belgesi olan doğrulama ifadesidir.

  • Özne, kullanıcıyı tanımlar (NameID).
  • Koşullar, geçerlilik aralığını ve hedeflenen kitleyi tanımlar.
  • AuthnStatement, kimlik doğrulamasının nasıl ve ne zaman gerçekleştiğini kaydeder.
  • AttributeStatement, roller, e-posta ve grup istemlerini taşır.
<saml:Assertion>
  <saml:Subject><saml:NameID>user@corp</saml:NameID></saml:Subject>
  <saml:Conditions NotOnOrAfter="2026-06-04T10:05:00Z"
     AudienceRestriction="https://sp.example"/>
  <saml:AuthnStatement .../>
</saml:Assertion>

SP Başlatmalı SSO Akışı

En yaygın model SP tarafından başlatılan SSO'dur.

  • Kullanıcı SP'ye erişir; SP bir AuthnRequest oluşturur ve IdP'ye yönlendirir.
  • IdP kullanıcının kimliğini doğrular ve imzalı bir Response nesnesini SP'nin Assertion Consumer Service (ACS) hizmetine POST isteğiyle geri gönderir.
  • SP doğrulama ifadesini doğrular ve yerel bir oturum oluşturur.
1. SP -> AuthnRequest -> IdP (redirect)
2. user authenticates at IdP
3. IdP -> signed SAMLResponse -> SP ACS (HTTP POST)
4. SP validates -> session

XML İmzaları Güvenin Dayanağıdır

SAML güvenliği XML dijital imzalarına dayanır. IdP, doğrulama ifadesini ve/veya yanıtı özel anahtarıyla imzalar; SP ise güvenilen sertifikayla doğrular.

  • Yalnızca dıştaki yanıtı değil, doğrulama ifadesinin kendisini imzalayın.
  • İmzayı iletinin içine gömülmüş bir sertifikaya göre değil, üst verilerden alınan sabitlenmiş bir IdP sertifikasına göre doğrulayın.

SAML saldırılarının çoğu imza doğrulama mantığını hedefler.

XML İmza Sarma (XSW)

XML İmza Sarma, SAML için kullanılan imza saldırısı sınıfıdır. Saldırgan geçerli biçimde imzalanmış bir öğeyi korur ancak uygulama mantığının gerçekte okuduğu ikinci, sahte bir doğrulama ifadesi ekler.

  • İmza, özgün parçaya karşı hâlâ doğrulanır.
  • Ancak iş mantığı, eklenen imzasız doğrulama ifadesini işler.

Önlem olarak sağlamlaştırılmış bir SAML kitaplığı kullanın, imzalanan öğenin kullanılan öğe olduğunu doğrulayın ve birden fazla ya da belirsiz doğrulama ifadesi içeren belgeleri reddedin.

Document after XSW:
  <Response>
    <Assertion id="evil">attacker claims</Assertion>  // read by app
    <Assertion id="orig" SIGNED>real user</Assertion>  // sig valid here
  </Response>

Hedef Kitle ve Alıcı Kısıtlamaları

Bir doğrulama ifadesi hedeflenen SP'ye bağlı olmalıdır. SAML bu konuda açık kısıtlamalar sağlar.

  • AudienceRestriction, doğrulama ifadesinin geçerli olduğu SP varlık kimliğini belirtir.
  • Alıcı, SubjectConfirmation içindeki ACS URL'siyle eşleşmelidir.

SP bunları zorunlu kılmalıdır. Hedef kitle kontrolünün atlanması, bir uygulama için üretilen doğrulama ifadesinin başka bir uygulamada yeniden oynatılmasına olanak tanır.

Yeniden Oynatma ve Zamanlama Koruması

Doğrulama ifadeleri kısa ömürlü ve tek kullanımlık kimlik bilgileridir. SP'ler bunu zorunlu kılmalıdır.

  • NotBefore ve NotOnOrAfter değerlerine dar bir saat sapmasıyla uyun.
  • Doğrulama ifadesinin ID değerini izleyin ve geçerlilik aralığı içinde gerçekleşen her türlü yeniden kullanımı reddedin.
  • ACS uç noktasında TLS zorunlu olsun.

Yeniden oynatma izleme mekanizması olmadan ele geçirilmiş bir doğrulama ifadesi süresi dolmadan önce yeniden gönderilebilir.

SP checks:
  now in [NotBefore, NotOnOrAfter]  (+- small skew)
  assertion.ID not seen before -> store + reject reuse

Federasyon ve Güven Zincirleri

Federasyon, bazen protokoller arasında çeviri yapan merkezler veya aracı hizmetler aracılığıyla, SSO'yu kuruluş sınırları arasında ölçeklendirir.

  • Her güven bağlantısı olası bir zayıf noktadır; ele geçirilmiş bir IdP, her kullanıcının kimliğine bürünebilir.
  • Kimlik aracıları SAML ile OIDC arasında köprü kurabilir ve bu da dikkatli öznitelik eşlemesi gerektirir.

Öznitelik eşlemesine en az ayrıcalık ilkesini uygulayın ve beklenmedik yeni SP kayıtlarını izleyin.

Yaygın SAML Zayıflıkları

Denetlenmeye değer tekrarlayan SAML hata senaryoları:

  • İmzanın doğrulanmaması ya da yanıtın imzalı olup bildirimin imzasız olması.
  • XML İmza Sarmalama saldırılarına karşı savunmasızlık.
  • Eksik hedef kitle/alıcı denetimleri.
  • Yeniden oynatma korumasının bulunmaması veya aşırı uzun geçerlilik süreleri.
  • SP'de XML Harici Varlık (XXE) ayrıştırması.
  • Sabitlenmiş üst veriler yerine iletinin içine gömülü sertifikaya güvenilmesi.
Disable external entities in the XML parser:
  parser.setFeature(
    "http://apache.org/xml/features/disallow-doctype-decl", true)

SAML ile OIDC Karşılaştırması

Her ikisi de SSO sağlar, ancak tasarım açısından farklıdır.

  • SAML XML kullanır; tarayıcı POST/yeniden yönlendirme bağlamaları vardır, kurumsal ve çalışan ortamlarında yaygındır ve olgun araç desteğine sahiptir.
  • OIDC JSON/JWT kullanır; REST ile uyumludur ve mobil uygulamalar ile tek sayfalı uygulamalar için daha uygundur.

Birçok kuruluş her ikisini de kullanır. Savunma ekipleri, saldırı yüzeyi farklı olduğundan, belirli bir uygulamanın kullandığı protokol için bildirim doğrulama kurallarını bilmelidir.

Hızlı Kontrol: XSW'yi Etkisiz Kılma

Açıklanan saldırıya karşı en iyi savunmayı seçin.

Özet: SAML ve Federasyon

Önemli çıkarımlar:

  • SAML, imzalı bildirimler kullanarak bir IdP ile SP arasında XML tabanlı kurumsal SSO sağlar.
  • Güvenlik, sabitlenmiş bir sertifikaya göre doğru XML imza doğrulamasına bağlıdır.
  • XML İmza Sarmalama, yeniden oynatma ve XXE saldırılarına karşı savunma yapın.
  • Hedef kitle/alıcı kısıtlamalarını ve geçerlilik sürelerini her zaman zorunlu kılın.
  • Federasyon güveni ölçeklendirir, ancak ele geçirilmiş bir IdP'nin etkilediği alanı da katlar.

Sıkça Sorulan Sorular

“SAML ve Federasyon” dersi ücretsiz mi?

Evet — “SAML ve Federasyon” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cyber Security Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cyber Security Academy kursu toplamda 4 dersten oluşur.

“SAML ve Federasyon” dersinde ne öğreneceğim?

Kurumsal tek oturum açma. Cyber Security Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Cyber Security Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Cyber Security Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“SAML ve Federasyon” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Cyber Security Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Cyber Security Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. OAuth 2.0 Akışları
  2. OpenID Connect (OIDC)
  3. SAML ve Federasyon
  4. Belirteç Saldırıları ve Sağlamlaştırma
← Cyber Security Academy Sayfasına Dön