Megosztás a következőn keresztül:


A Windows Communication Foundation biztonsági áttekintése

A Windows Communication Foundation (WCF) egy SOAP üzenetalapú elosztott programozási platform, és az ügyfelek és szolgáltatások közötti üzenetek védelme elengedhetetlen az adatok védelméhez. A WCF sokoldalú és interoperálható platformot biztosít a biztonságos üzenetek cseréjéhez a meglévő biztonsági infrastruktúra és a SOAP-üzenetekre vonatkozó elismert biztonsági szabványok alapján.

A WCF olyan fogalmakat használ, amelyek jól ismertek, ha olyan meglévő technológiákkal rendelkező biztonságos, elosztott alkalmazásokat hozott létre, mint a HTTPS, a Windows integrált biztonsága vagy a felhasználók hitelesítéséhez használt felhasználónevek és jelszavak. A WCF nem csak a meglévő biztonsági infrastruktúrákkal integrálható, hanem biztonságos SOAP-üzenetek használatával kiterjeszti az elosztott biztonságot a csak Windows rendszerű tartományokon kívülre is. Fontolja meg a WCF-et a meglévő biztonsági mechanizmusok implementálásának, amelynek fő előnye a SOAP protokollként való használata a meglévő protokollok mellett. Az ügyfelet vagy szolgáltatást azonosító hitelesítő adatok, például a felhasználónevek és a jelszó vagy az X.509-tanúsítványok például interoperábilis XML-alapú SOAP-profilokkal rendelkeznek. Ezen profilok használatával az üzenetek biztonságosan cserélődnek, és kihasználják az olyan nyílt specifikációkat, mint az XML digitális aláírások és az XML-titkosítás. A specifikációk listáját a rendszer által biztosított együttműködési kötések által támogatott Web Services-protokollok című témakörben találja.

Egy másik párhuzamos a Komponensobjektum-modell (COM) a Windows platformon, amely lehetővé teszi a biztonságos, elosztott alkalmazásokat. A COM átfogó biztonsági mechanizmussal rendelkezik, amellyel a biztonsági környezet átfolyhat az összetevők között; ez a mechanizmus az integritást, a bizalmasságot és a hitelesítést kényszeríti ki. A COM azonban nem engedélyezi a platformfüggetlen, biztonságos üzenetküldést, mint a WCF. A WCF használatával olyan szolgáltatásokat és ügyfeleket hozhat létre, amelyek windowsos tartományokra terjednek ki az interneten keresztül. A WCF interoperábilis üzenetei nélkülözhetetlenek a dinamikus, üzleti alapú szolgáltatások létrehozásához, amelyek segítenek abban, hogy magabiztosan biztonságban tudja adatait.

A Windows Communication Foundation biztonsági előnyei

A WCF egy SOAP-üzeneteken alapuló elosztott programozási platform. A WCF használatával olyan alkalmazásokat hozhat létre, amelyek szolgáltatásként és szolgáltatás-ügyfélként is működnek, és korlátlan számú más szolgáltatásból és ügyfélből származó üzeneteket hozhat létre és dolgoz fel. Az ilyen elosztott alkalmazásokban az üzenetek csomópontról csomópontra, tűzfalon keresztül, az internetre és számos SOAP-közvetítőn keresztül áramolhatnak. Ez számos üzenetbiztonsági fenyegetést jelent. Az alábbi példák bemutatják azokat a gyakori fenyegetéseket, amelyeket a WCF biztonsága segíthet enyhíteni az entitások közötti üzenetek cseréjekor:

  • A hálózati forgalom megfigyelése bizalmas információk beszerzéséhez. Egy online banki forgatókönyvben például az ügyfél az egyik fiókból a másikba történő átutalást kéri. Egy rosszindulatú felhasználó elfogja az üzenetet, és a fiókszámmal és a jelszóval később pénzátutalást hajt végre a feltört fiókból.

  • A szolgáltatásokat nyújtó, az ügyfél tájékoztatása nélkül működő, gazember entitások. Ebben a forgatókönyvben egy rosszindulatú felhasználó (a gazember) online szolgáltatásként működik, és elfogja az ügyféltől érkező üzeneteket, hogy bizalmas információkat szerezzen be. Ezután a gazember az ellopott adatokat arra használja, hogy pénzt utaljon át a feltört fiókból. Ez a támadás adathalász támadásnak is ismert.

  • Az üzenetek módosítása a hívótól eltérő eredmény elérése érdekében. Ha például módosítja azt a számlaszámot, amelyre a befizetés történik, az lehetővé teszi, hogy az alapok egy gazember számlára menjenek.

  • Hacker replays, amelyben egy kellemetlen hacker visszajátssza ugyanazt a vásárlási sorrendet. Egy online könyvesbolt például több száz megrendelést kap, és elküldi a könyveket egy olyan ügyfélnek, aki nem rendelte meg őket.

  • Egy szolgáltatás nem alkalmas az ügyfél hitelesítésére. Ebben az esetben a szolgáltatás nem tudja biztosítani, hogy a megfelelő személy hajtotta végre a tranzakciót.

Összefoglalva, az átviteli biztonság a következő biztosítékokat nyújtja:

  • Szolgáltatásvégpont (válaszadó) hitelesítése.

  • Ügyfélnév (kezdeményező) hitelesítése.

  • Üzenetintegritás.

  • Üzenet bizalmassága.

  • Visszajátszás észlelése.

Integráció meglévő biztonsági infrastruktúrákkal

A webszolgáltatás-üzemelő példányok gyakran már meglévő biztonsági megoldásokkal rendelkeznek, például a Secure Sockets Layer (SSL) vagy a Kerberos protokoll. Néhányan kihasználják a már üzembe helyezett biztonsági infrastruktúrát, például az Active Directoryt használó Windows-tartományokat. Ezeket a meglévő technológiákat gyakran integrálni kell az újabb technológiák értékelése és bevezetése során.

A WCF-biztonság integrálható a meglévő átviteli biztonsági modellekkel, és a SOAP üzenetbiztonságon alapuló újabb átviteli biztonsági modellekhez használhatja a meglévő infrastruktúrát.

Integráció meglévő hitelesítési modellekkel

A kommunikációs biztonsági modellek fontos része az entitások azonosításának és hitelesítésének képessége a kommunikációban. Ezek a kommunikációs entitások "digitális identitásokat" vagy hitelesítő adatokat használnak a kommunikáló társokkal való hitelesítéshez. Az elosztott kommunikációs platformok fejlődésével különböző hitelesítő adatok hitelesítése és a kapcsolódó biztonsági modellek lettek implementálva. Az interneten például gyakori a felhasználónév és a jelszó használata a felhasználók azonosításához. Az intraneten egyre gyakoribb a Kerberos-tartományvezérlő használata a felhasználó- és szolgáltatáshitelesítés biztonsági mentéséhez. Bizonyos esetekben, például két üzleti partner között, tanúsítványokkal lehet kölcsönösen hitelesíteni a partnereket.

Ezért a webszolgáltatások világában, ahol ugyanez a szolgáltatás a belső vállalati ügyfelek, valamint külső partnerek vagy internetes ügyfelek számára is elérhető lehet, fontos, hogy az infrastruktúra integrációt biztosítson ezekkel a meglévő biztonsági hitelesítési modellekkel. A WCF-biztonság számos hitelesítő adattípust (hitelesítési modellt) támogat, többek között a következőket:

  • Névtelen hívó.

  • Felhasználónév ügyfél hitelesítő adatai.

  • Tanúsítványügyfél hitelesítő adatai.

  • Windows (Mind a Kerberos protokoll, mind az NT LanMan [NTLM]).

Szabványok és együttműködési lehetőségek

A nagy méretű, meglévő üzemelő példányokkal rendelkező világban a homogenitás ritka. Az elosztott számítástechnikai/kommunikációs platformoknak együttműködnie kell a különböző gyártók által kínált technológiákkal. Hasonlóképpen, a biztonságnak is interoperábilisnak kell lennie.

Az interoperábilis biztonsági rendszerek engedélyezéséhez a webszolgáltatások iparágában tevékenykedő vállalatok számos szabványt készítettek. Konkrétan a biztonságot illetően néhány fontos szabványt javasoltak: WS-Security: SOAP Message Security (az OASIS szabvány törzse és korábbi nevén WS-Security), WS-Trust, WS-SecureConversation és WS-SecurityPolicy.

A WCF számos együttműködési forgatókönyvet támogat. Az BasicHttpBinding osztály az alapszintű biztonsági profilra (BSP) irányul, az WSHttpBinding osztály pedig a legújabb biztonsági szabványokra, például a WS-Security 1.1-es és a WS-SecureConversation-ra van megcélzva. Ezeknek a szabványoknak a betartásával a WCF-biztonság együttműködhet és integrálható a Microsoft Windowson kívüli operációs rendszereken és platformokon üzemeltetett webszolgáltatásokkal.

WCF biztonsági funkcionális területek

A WCF-biztonság három funkcionális területre oszlik: átvitelbiztonság, hozzáférés-vezérlés és naplózás. A következő szakaszok röviden ismertetik ezeket a területeket, és további információkra mutató hivatkozásokat tartalmaznak.

Biztonság átvitele

Az átviteli biztonság három fő biztonsági funkciót foglal magában: az integritást, a titkosságot és a hitelesítést. Az integritás képes észlelni, hogy egy üzenetet illetéktelenek módosítottak-e. A bizalmasság az a képesség, hogy az üzeneteket a címzetten kívül bárki olvashatatlanná tudja tenni; ez titkosítással érhető el. A hitelesítés az igényelt identitás ellenőrzésének képessége. Ez a három funkció együttesen segít biztosítani, hogy az üzenetek biztonságosan érkezzenek egyik pontról a másikra.

Átviteli és üzenetbiztonsági módok

Két fő mechanizmust használunk az átviteli biztonság WCF-ben történő implementálásához: az átviteli biztonsági módot és az üzenetbiztonsági módot.

  • Az átviteli biztonsági mód egy átviteli szintű protokollt, például HTTPS-t használ az átvitel biztonságának eléréséhez. A közlekedési mód előnye, hogy széles körben elterjedt, számos platformon elérhető, és kevésbé számításilag összetett. Hátránya azonban, hogy csak pontról pontra biztonságossá teszi az üzeneteket.

  • Az üzenetbiztonsági mód viszont a WS-Security (és egyéb specifikációk) használatával valósítja meg az átvitelbiztonságot. Mivel az üzenetbiztonság közvetlenül a SOAP-üzenetekre van alkalmazva, és a SOAP-borítékokban található, az alkalmazásadatokkal együtt, előnye, hogy protokollfüggetlen, bővíthetőbb, és biztosítja a végpontok közötti biztonságot (szemben a pont–pont); hátránya, hogy többszörösen lassabb az átviteli biztonsági módnál, mert a SOAP-üzenetek XML-jellegével kell foglalkoznia.

Ezekről a különbségekről további információt a Szolgáltatások és ügyfelek biztonságossá tétele című témakörben talál.

A harmadik biztonsági mód mindkét korábbi módot használja, és mindkettő előnyeit biztosítja. Ennek a módnak a neve TransportWithMessageCredential. Ebben a módban az üzenetbiztonság az ügyfél hitelesítésére, az átviteli biztonság pedig a kiszolgáló hitelesítésére, valamint az üzenetek bizalmasságának és integritásának biztosítására szolgál. Ennek köszönhetően a biztonsági mód majdnem olyan gyors, mint az TransportWithMessageCredential átviteli biztonsági mód, és az ügyfélhitelesítés bővíthetőségét ugyanúgy biztosítja, mint az üzenetbiztonság. Az üzenetbiztonsági módtól eltérően azonban nem nyújt teljes körű biztonságot.

Hozzáférés-vezérlés

A hozzáférés-vezérlés más néven engedélyezés. Az engedélyezés lehetővé teszi, hogy a különböző felhasználók különböző jogosultságokkal rendelkezzenek az adatok megtekintéséhez. Mivel például egy vállalat emberierőforrás-fájljai bizalmas alkalmazotti adatokat tartalmaznak, csak a vezetők tekinthetik meg az alkalmazottak adatait. Emellett a vezetők csak a közvetlen jelentések adatait tekinthetik meg. Ebben az esetben a hozzáférés-vezérlés a vezető szerepkörén ("felettesén") és konkrét identitásán alapul (annak érdekében, hogy az egyik vezető ne tekintse meg a másik vezető alkalmazotti rekordjait).

A WCF-ben a hozzáférés-vezérlési funkciók a közös nyelvi futtatókörnyezettel (CLR) PrincipalPermissionAttribute való integrációval és az identitásmodellként ismert API-k készletén keresztül érhetők el. A hozzáférés-vezérléssel és a jogcímalapú engedélyezéssel kapcsolatos részletekért lásd: A biztonság kiterjesztése.

Naplózás

A naplózás biztonsági események naplózása a Windows-eseménynaplóba. Naplózhatja a biztonsággal kapcsolatos eseményeket, például a hitelesítési hibákat (vagy a sikereket). További információ: Naplózás. A programozási részletekért tekintse meg a Biztonsági események naplózása című témakört.

Lásd még