BITS-säkerhet, token och administratörskonton
Återanrop till HTTP Server-certifikat
Korrekt validering av servercertifikat är en viktig del av upprätthållandet av HTTPS-säkerhet. BITS hjälper till genom att alltid verifiera servercertifikat mot en lista över krav som anges av SetSecurityFlags. Som standard använder BITS certifikatverifiering av webbläsarformat.
Du kan också ange en anpassad funktion som ska anropas för att ytterligare verifiera certifikatet. Ange servercertifikatets motringning med metoden SetServerCertificateValidationInterface. Metoden anropas först efter att operativsystemet har verifierat certifikatet baserat på SetSecurityFlags-anrop.
HTTP-klientcertifikat
Du kan ange ett klientcertifikat på ett HTTP-jobb med två olika metoder för certifikatinställningar. Du kan ange ett certifikat antingen genom ID eller av certifikatet ämnesnamn. Klientcertifikatet används under TLS-förhandling (eller omförhandling) om servern kräver klientautentisering.
Skrivskyddade HTTP-huvuden
BITS hjälper dig att skydda HTTP-autentiseringstoken från oönskad åtkomst. Ofta behöver en HTTP-server någon form av säkerhetstoken eller sträng när du laddar ned eller laddar upp en fil till HTTP-servrar.
BITS skyddar dessa autentiseringstoken på flera sätt.
- MED BITS kan du använda TLS- och SSL-skyddade HTTP-anslutningar genom att ange en HTTPS-URL.
- Anpassade rubriker sparas alltid i ett krypterat format på disken.
- Du kan förhindra att kundhuvuden returneras till andra program med metoden IBackgroundCopyJobHttpOptions3::MakeCustomHeadersWriteOnly.
Standard- och administratörsanvändare
En användare som är i administratörsgruppen kan köra en process med standardanvändaråtkomst eller i ett förhöjt tillstånd (med administratörsbehörighet). BITS kör jobbet i båda tillstånden så länge användaren är inloggad på datorn. Men om användaren skapade jobbet eller övertog ägarskapet för jobbet i ett förhöjt tillstånd måste användaren vara i förhöjd tillstånd för att hämta eller ändra jobbet (annars misslyckas anropet med Åtkomst nekad (0x80070005)). Om du vill fastställa det upphöjda tillståndet för ett jobb anropar du metoden IBackgroundCopyJob4::GetOwnerElevationState.
En standardanvändare kan inte räkna upp eller ändra jobb som ägs av andra användare.
Integritetsnivå
Utöver det förhöjda tillståndet kan integritetsnivån för token avgöra om användaren kan ändra ett jobb. En klient kan inte ändra jobb som skapats av en token med en högre integritetsnivå. I synnerhet har många lokala systemtoken en integritetsnivå som är högre än integritetsnivån i ett förhöjt fönster, och därför kan de inte ändras av en administratör från ett vanligt upphöjd kommandofönster. Till exempel körs Windows Update- och SMS-jobb som LocalSystem som har en högre integritetsnivå än en upphöjd token så att en administratör inte kan ändra eller ta bort dessa jobb. Om du vill ändra det här jobbet skapar du en schemaläggaraktivitet som körs som lokalt system. Uppgiften kan köra ett konsolprogram som använder BITS-API:et, eller så kan uppgiften köra ett skript som anropar BitsAdmin.exe. För att fastställa den integritetsnivå som används anropar du metoden IBackgroundCopyJob4::GetOwnerIntegrityLevel.
Tjänstidentitet
Från och med Windows 10 Maj 2019 Update (10.0; Build 18362), BITS-jobb som startas från en tjänst behåller tjänstidentiteten. Detta gör det möjligt för tjänster som vill använda BITS för att ladda ned filer till eller ladda upp filer från en katalog vars behörigheter är knutna till tjänst-SID. Dessutom tilldelas nätverkstrafiken korrekt till tjänsten som begärde BITS-jobbet i stället för att tillskrivas BITS.