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


Szolgáltatásmegtagadás

A szolgáltatásmegtagadás akkor fordul elő, ha egy rendszer túlterhelt, így az üzenetek nem dolgozhatók fel, vagy rendkívül lassan dolgozzák fel őket.

Felesleges memóriahasználat

Probléma akkor fordulhat elő, ha nagy számú egyedi helyi nevet, névteret vagy előtagot tartalmazó XML-dokumentumot olvas. Ha olyan osztályt használ, amely az adott elemből XmlReaderszármazik, és meghívja az LocalNameegyes elemekhez tartozó , Prefix vagy NamespaceURI tulajdonságot, a visszaadott sztring hozzá lesz adva egy NameTable. A soha nem csökkenő méretű gyűjtemény NameTable a sztringfogópontok virtuális "memóriaszivárgását" hozza létre.

A kockázatcsökkentések közé tartoznak a következők:

  • Származtat az NameTable osztályból, és kényszerítse ki a maximális méretkvótát. (Nem akadályozhatja meg a használatot NameTable , és nem kapcsolhatja át a NameTable megtelt állapotot.)

  • Kerülje az említett tulajdonságok használatát, és lehetőleg használja a MoveToAttribute metódust a IsStartElement metódussal. Ezek a metódusok nem adnak vissza sztringeket, így elkerülhető a NameTable gyűjtemény túltöltésének problémája.

A rosszindulatú ügyfél túlzott licenckérelmet küld a szolgáltatásnak

Ha egy rosszindulatú ügyfél túlzott licenckérelemekkel bombáz egy szolgáltatást, az túlzott memóriahasználatot okozhat a kiszolgáló számára.

Kockázatcsökkentés: Használja az osztály alábbi tulajdonságait LocalServiceSecuritySettings :

  • MaxCachedCookies: a kiszolgáló SPNegoSSL által gyorsítótárazott időkorlátok SecurityContextTokenmaximális számát szabályozza.

  • IssuedCookieLifetime: annak az élettartamnak az SecurityContextTokens élettartamát szabályozza, amelyet a kiszolgáló követ SPNego vagy SSL tárgyal. A kiszolgáló ebben az időszakban gyorsítótárazza az SecurityContextTokens-eket.

  • MaxPendingSessions: a kiszolgálón létrehozott, de nem feldolgozott alkalmazásüzenetek maximális számát szabályozza. Ez a kvóta megakadályozza, hogy az ügyfelek biztonságos beszélgetéseket hozzanak létre a szolgáltatásban, ami miatt a szolgáltatás ügyfélenként fenntartja az állapotot, de soha nem használja őket.

  • InactivityTimeout: szabályozza, hogy a szolgáltatás maximálisan életben tart-e egy biztonságos beszélgetést anélkül, hogy alkalmazásüzenetet kap az ügyféltől a beszélgetéshez. Ez a kvóta megakadályozza, hogy az ügyfelek biztonságos beszélgetéseket hozzanak létre a szolgáltatásban, ami miatt a szolgáltatás ügyfélenként fenntartja az állapotot, de soha nem használja őket.

A WSDualHttpBinding vagy kettős egyéni kötések ügyfél-hitelesítést igényelnek

Alapértelmezés szerint a WSDualHttpBinding biztonsági beállítások engedélyezve vannak. Előfordulhat azonban, hogy ha az ügyfélhitelesítés le van tiltva a ClientCredentialType tulajdonság Nonebeállításával, egy rosszindulatú felhasználó szolgáltatásmegtagadási támadást okozhat egy harmadik szolgáltatás ellen. Ez azért fordulhat elő, mert egy rosszindulatú ügyfél arra utasíthatja a szolgáltatást, hogy üzeneteket küldjön egy harmadik szolgáltatásnak.

Ennek enyhítése érdekében ne állítsa a tulajdonságot a következőre None: . Vegye figyelembe ezt a lehetőséget, ha kettős üzenetmintával rendelkező egyéni kötést hoz létre.

A naplózási eseménynapló kitölthető

Ha egy rosszindulatú felhasználó tisztában van azzal, hogy a naplózás engedélyezve van, a támadó érvénytelen üzeneteket küldhet, amelyek naplóbejegyzések írását okozzák. Ha a napló így van kitöltve, a naplózási rendszer meghibásodik.

Ennek mérsékléséhez állítsa be a SuppressAuditFailure tulajdonságot true a Eseménynapló tulajdonságaira, és használja a naplózási viselkedés szabályozásához. Az Eseménynapló eseménynaplók megtekintésével és kezelésével kapcsolatos további információkért lásd: Eseménynapló. További információ: Naplózás.

Az IAuthorizationPolicy érvénytelen implementációi miatt a szolgáltatás nem válaszol

A metódus meghívása Evaluate a IAuthorizationPolicy felület hibás implementációjára okozhatja, hogy a szolgáltatás nem válaszol.

Megoldás: Csak megbízható kódot használjon. Vagyis csak olyan kódot használjon, amelyet ön írt és tesztelt, vagy amely megbízható szolgáltatótól származik. Ne engedélyezze, hogy a nem megbízható bővítmények IAuthorizationPolicy kellő megfontolás nélkül csatlakozhassanak a kódhoz. Ez a szolgáltatás implementációjában használt összes bővítményre vonatkozik. A WCF nem tesz különbséget az alkalmazáskód és a bővíthetőségi pontok használatával csatlakoztatott idegen kód között.

Előfordulhat, hogy a Kerberos maximális tokenméretének átméretezése szükséges

Ha egy ügyfél nagy számú csoporthoz tartozik (körülbelül 900, bár a tényleges szám a csoportoktól függően változik), probléma léphet fel, ha egy üzenetfejléc blokkja meghaladja a 64 kilobájtot. Ebben az esetben növelheti a Kerberos-jogkivonatok maximális méretét. A nagyobb Kerberos-jogkivonat elhelyezéséhez szükség lehet a WCF-üzenetek maximális méretének növelésére is.

Az automatikus regisztráció több, a gép tulajdonosának nevét tartalmazó tanúsítványt eredményez

Az automatikus regisztráció a Windows Server 2003 azon képessége, hogy automatikusan regisztrálja a felhasználókat és a számítógépeket a tanúsítványokhoz. Ha egy gép olyan tartományon van, amelyen engedélyezve van a szolgáltatás, a rendszer automatikusan létrehoz és beszúr egy X.509-tanúsítványt, amelynek célja az ügyfél-hitelesítés. Az automatikus regisztráció azonban ugyanazt a tulajdonosnevet használja a gyorsítótárban létrehozott összes tanúsítványhoz.

Ennek az az oka, hogy a WCF-szolgáltatások nem nyílhatnak meg automatikus regisztrációval rendelkező tartományokon. Ez azért fordul elő, mert az alapértelmezett X.509 szolgáltatás hitelesítőadat-keresési feltételei nem egyértelműek lehetnek, mert a gép teljes tartománynévrendszer-(DNS-) nevével több tanúsítvány is létezik. Egy tanúsítvány automatikus regisztrációból származik; a másik lehet egy önkibocsátott tanúsítvány.

Ennek csökkentése érdekében hivatkozzon a használni kívánt pontos tanúsítványra a szolgáltatás hitelesítő adatainak pontosabb keresési feltételével<.> Használja például a FindByThumbprint lehetőséget, és adja meg a tanúsítványt az egyedi ujjlenyomatával (kivonatával).

Az automatikus regisztráció funkcióról további információt a Tanúsítvány automatikus regisztrációja a Windows Server 2003-ban című témakörben talál.

Az engedélyezéshez használt több alternatív tulajdonosnév utolsó neve

Abban a ritka esetben, amikor egy X.509-tanúsítvány több alternatív tulajdonosnevet tartalmaz, és ön engedélyezi az alternatív tulajdonosnév használatát, az engedélyezés sikertelen lehet.

Konfigurációs fájlok védelme ACL-ekkel

A CardSpace által kibocsátott jogkivonatok kód- és konfigurációs fájljaiban megadhatja a szükséges és nem kötelező jogcímeket. Ez azt eredményezi, hogy a rendszer a biztonsági jogkivonat-szolgáltatásnak küldött üzenetekben RequestSecurityToken a megfelelő elemeket bocsátja ki. A támadó módosíthatja a kódot vagy a konfigurációt, hogy eltávolítsa a szükséges vagy választható jogcímeket, így előfordulhat, hogy a biztonsági jogkivonat-szolgáltatás olyan jogkivonatot bocsát ki, amely nem teszi lehetővé a célszolgáltatáshoz való hozzáférést.

A probléma elhárítása: A konfigurációs fájl módosításához hozzáférés szükséges a számítógéphez. A konfigurációs fájlok védelméhez használja a fájlhozzáférés-vezérlési listákat (ACL-eket). A WCF megköveteli, hogy a kód az alkalmazáskönyvtárban vagy a globális szerelvény-gyorsítótárban legyen, mielőtt lehetővé tenné az ilyen kód konfigurációból való betöltését. Címtárak ACL-ekkel biztonságossá teheti a könyvtárakat.

A szolgáltatáshoz tartozó biztonságos munkamenetek maximális száma elérhető

Ha egy ügyfél sikeresen hitelesítve van egy szolgáltatással, és biztonságos munkamenet jön létre a szolgáltatással, a szolgáltatás mindaddig nyomon követi a munkamenetet, amíg az ügyfél le nem mondja, vagy a munkamenet lejár. Minden létrehozott munkamenet a szolgáltatással folytatott aktív egyidejű munkamenetek maximális számának korlátjával számol. Ha eléri ezt a korlátot, a szolgáltatással új munkamenetet létrehozni próbáló ügyfeleket a rendszer mindaddig elutasítja, amíg egy vagy több aktív munkamenet le nem jár, vagy az ügyfél megszakítja azt. Egy ügyfél több munkamenetet is használhat egy szolgáltatással, és ezek mindegyike a korlát felé számít.

Feljegyzés

Állapotalapú munkamenetek használatakor az előző bekezdés nem érvényes. Az állapotalapú munkamenetekkel kapcsolatos további információkért lásd : Biztonsági környezet jogkivonatának létrehozása biztonságos munkamenethez.

Ennek mérsékléséhez állítsa be az aktív munkamenetek maximális számának és egy munkamenet maximális élettartamának korlátját az SecurityBindingElementSecurityBindingElement osztály tulajdonságának beállításával.

Lásd még