Mi a SAML és hogyan működik?

A SAML (Security Assertion Markup Language) egy nyílt szabvány, amely lehetővé teszi, hogy a személyazonossági szolgáltatók (IdP) engedélyezési hitelesítő adatokat adjanak át a szolgáltatóknak (SP). Ez a szakzsargon azt jelenti, hogy egyetlen hitelesítő adatokkal több különböző webhelyre is be lehet jelentkezni. Sokkal egyszerűbb egy bejelentkezést kezelni felhasználónként, mint külön bejelentkezéseket kezelni e-mailben, ügyfélkapcsolat-kezelő (CRM) szoftverben, Active Directoryban stb.

A SAML tranzakciók az Extensible Markup Language (XML) nyelvet használják a személyazonosság-szolgáltató és a szolgáltatók közötti szabványosított kommunikációhoz. A SAML jelenti a kapcsolatot a felhasználó személyazonosságának hitelesítése és a szolgáltatás használatának engedélyezése között.

Get the Free Pen Testing Active Directory Environments EBook

“Ez tényleg olyan módon nyitotta fel a szemem az AD biztonságára, ahogy a védekező munka soha nem tette.”

Az OASIS konzorcium 2005-ben hagyta jóvá a SAML 2.0-t. A szabvány jelentősen megváltozott az 1.1-hez képest, olyannyira, hogy a változatok nem kompatibilisek egymással. A SAML elfogadása lehetővé teszi az informatikai üzletek számára, hogy a SaaS (Software as a Service) megoldásokat használják, miközben egy biztonságos szövetségi személyazonosság-kezelő rendszert tartanak fenn.

A SAML lehetővé teszi az egyszeri bejelentkezést (SSO), ami azt jelenti, hogy a felhasználók egyszer jelentkezhetnek be, és ugyanazok a hitelesítő adatok újra felhasználhatók más szolgáltatóknál történő bejelentkezéshez.

Mire használják a SAML-t?

A SAML egyszerűsíti a szövetségi hitelesítési és engedélyezési folyamatokat a felhasználók, a személyazonosság-szolgáltatók és a szolgáltatók számára. A SAML megoldást nyújt arra, hogy a személyazonossági szolgáltató és a szolgáltatók egymástól elkülönülten létezzenek, ami központosítja a felhasználók kezelését és hozzáférést biztosít a SaaS-megoldásokhoz.

A SAML biztonságos módszert valósít meg a felhasználói hitelesítések és engedélyek továbbítására a személyazonossági szolgáltató és a szolgáltatók között. Amikor egy felhasználó bejelentkezik egy SAML-kompatibilis alkalmazásba, a szolgáltató engedélyt kér a megfelelő személyazonossági szolgáltatótól. A személyazonossági szolgáltató hitelesíti a felhasználó hitelesítő adatait, majd visszaküldi a felhasználó engedélyét a szolgáltatónak, és a felhasználó már használhatja is az alkalmazást.

A SAML-hitelesítés a felhasználó személyazonosságának és hitelesítő adatainak (jelszó, kétfaktoros hitelesítés stb.) ellenőrzését jelenti. A SAML-engedélyezés megmondja a szolgáltatónak, hogy milyen hozzáférést adjon a hitelesített felhasználónak.

Mi a SAML-szolgáltató?

A SAML-szolgáltatók két típusa
A SAML-szolgáltató egy olyan rendszer, amely segít a felhasználónak hozzáférni a neki szükséges szolgáltatáshoz. A SAML-szolgáltatóknak két elsődleges típusa van, a szolgáltató és a személyazonossági szolgáltató.

A szolgáltatónak szüksége van a személyazonossági szolgáltatótól származó hitelesítésre ahhoz, hogy jogosultságot adjon a felhasználónak.

A személyazonossági szolgáltató elvégzi a hitelesítést, hogy a végfelhasználó az, akinek mondja magát, és elküldi ezeket az adatokat a szolgáltatónak a felhasználó hozzáférési jogaival együtt a szolgáltatáshoz.

A Microsoft Active Directory vagy az Azure gyakori személyazonossági szolgáltatók. A Salesforce és más CRM-megoldások általában olyan szolgáltatók, amelyek a felhasználói hitelesítéshez egy identitásszolgáltatótól függenek.

Mi az a SAML Assertion?

A SAML Assertion az az XML-dokumentum, amelyet az identitásszolgáltató küld a szolgáltatónak, és amely tartalmazza a felhasználói jogosultságot. A SAML Assertionoknak három különböző típusa van – hitelesítési, attribútum- és engedélyezési határozat.

  • A hitelesítési állítások bizonyítják a felhasználó azonosítását, és megadják a felhasználó bejelentkezésének időpontját, valamint azt, hogy milyen hitelesítési módszert használt (Pl, Kerberos, 2 faktoros stb.)
  • Az attribúciós állítás átadja a SAML-attribútumokat a szolgáltatónak – a SAML-attribútumok olyan konkrét adatok, amelyek információt szolgáltatnak a felhasználóról.
  • A jogosultsági döntési állítás megmondja, hogy a felhasználó jogosult-e a szolgáltatás használatára, vagy az azonosító szolgáltató elutasította a kérését jelszóhiba vagy a szolgáltatáshoz való jogosultság hiánya miatt.

Hogyan működik a SAML?

A SAML úgy működik, hogy a felhasználókra, bejelentkezésekre és attribútumokra vonatkozó információkat továbbítja az azonosító szolgáltató és a szolgáltatók között. Minden felhasználó egyszer bejelentkezik az egyszeri bejelentkezéshez az azonosítószolgáltatónál, majd az azonosítószolgáltató átadhatja a SAML-attribútumokat a szolgáltatónak, amikor a felhasználó megpróbál hozzáférni ezekhez a szolgáltatásokhoz. A szolgáltató az azonosító szolgáltatótól kéri az engedélyezést és a hitelesítést. Mivel mindkét rendszer ugyanazt a nyelvet – a SAML-t – beszéli, a felhasználónak csak egyszer kell bejelentkeznie.

Az egyes azonosítószolgáltatóknak és a szolgáltatóknak meg kell állapodniuk a SAML konfigurációjáról. A SAML-hitelesítés működéséhez mindkét végén pontosan ugyanarra a konfigurációra van szükség.

SAML példalépések

SAML-példa

  1. Frodó (felhasználó) reggel első dolga, hogy bejelentkezik az SSO-ba.
  2. Aztán Frodó megpróbálja megnyitni a CRM-hez tartozó weboldalt.
  3. A CRM – a szolgáltató – ellenőrzi Frodó hitelesítő adatait a személyazonossági szolgáltatóval.
  4. A személyazonossági szolgáltató engedélyezési és hitelesítési üzeneteket küld vissza a szolgáltatónak, ami lehetővé teszi Frodó számára, hogy bejelentkezzen a CRM-be.
  5. Frodó használhatja a CRM-et és végezhet munkát.
    “8 önkéntesre van szükség egy nehéz projekthez…”.

SAML vs. OAuth

Az OAuth egy valamivel újabb szabvány, amelyet a Google és a Twitter közösen fejlesztett ki, hogy lehetővé tegye az egyszerűsített internetes bejelentkezéseket. Az OAuth a SAML-hez hasonló módszertant használ a bejelentkezési adatok megosztására. A SAML nagyobb kontrollt biztosít a vállalatok számára, hogy biztonságosabbá tegyék SSO bejelentkezéseiket, míg az OAuth jobb a mobilokon, és JSON-t használ.

A Facebook és a Google két OAuth szolgáltató, amelyeket más internetes oldalakra való bejelentkezéshez használhat.

SAML oktatóanyagok

Néhány forrás a SAML pontos megvalósításának kutatásához:

  • A SAML konfigurálása a Salesforce számára
  • Az OKTA konfigurálása SAML IDP-ként
  • AOneLogin 5 különböző programozási nyelvre tartalmaz példákat

A SAML és az SSO fontos minden vállalati kiberbiztonsági stratégia szempontjából. Az azonosságkezelés legjobb gyakorlatai megkövetelik, hogy a felhasználói fiókokat egyrészt csak azokra az erőforrásokra korlátozzák, amelyekre a felhasználónak szüksége van a munkája elvégzéséhez, másrészt központilag auditálják és kezeljék. Egy SSO-megoldás használatával egy rendszerből letilthatja a fiókokat, és egyszerre megszünteti az összes elérhető erőforráshoz való hozzáférést, ami megvédi az adatokat a lopástól.