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
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ó 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élda
- Frodó (felhasználó) reggel első dolga, hogy bejelentkezik az SSO-ba.
- Aztán Frodó megpróbálja megnyitni a CRM-hez tartozó weboldalt.
- A CRM – a szolgáltató – ellenőrzi Frodó hitelesítő adatait a személyazonossági szolgáltatóval.
- 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.
- 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.