BITS-Sicherheit, Token und Administratorkonten

HTTP-Serverzertifikatrückrufe

Die ordnungsgemäße Überprüfung von Serverzertifikaten ist ein wichtiger Bestandteil der Aufrechterhaltung der HTTPS-Sicherheit. BITS hilft dabei, serverzertifikate immer anhand einer Liste von Anforderungen zu überprüfen, die von SetSecurityFlagsangegeben werden. Bits verwendet standardmäßig die Zertifikatüberprüfung im Browserformat.

Sie können auch eine benutzerdefinierte Funktion angeben, die aufgerufen werden soll, um das Zertifikat weiter zu überprüfen. Legen Sie den Rückruf des Serverzertifikats mit der SetServerCertificateValidationInterface-Methode fest. Die -Methode wird erst aufgerufen, nachdem das Betriebssystem das Zertifikat basierend auf dem Aufruf von SetSecurityFlag überprüft hat.

HTTP-Clientzertifikate

Sie können ein Clientzertifikat für einen HTTP-Auftrag mit zwei verschiedenen Zertifikateinstellungsmethoden festlegen. Sie können ein Zertifikat entweder anhand der ID oder des Antragstellernamensdes Zertifikats festlegen. Das Clientzertifikat wird während der TLS-Aushandlung (oder Neuverhandlung) verwendet, wenn der Server eine Clientauthentifizierung erfordert.

Schreibgefreie HTTP-Header

BITS hilft Ihnen, HTTP-Authentifizierungstoken vor unerwünschtem Zugriff zu schützen. Häufig benötigt ein HTTP-Server beim Herunterladen oder Hochladen einer Datei auf HTTP-Server ein Sicherheitstoken oder eine Zeichenfolge.

BITS schützt diese Authentifizierungstoken auf verschiedene Weise.

  • MIT BITS können Sie TLS- und SSL-geschützte HTTP-Verbindungen verwenden, indem Sie eine HTTPS-URL angeben.
  • Benutzerdefinierte Header werden immer in einem verschlüsselten Format auf dem Datenträger gespeichert.
  • Mit der IBackgroundCopyJobHttpOptions3::MakeCustomHeadersWriteOnly-Methode können Sie verhindern, dass Kundenheader an andere Programme zurückgegeben werden.

Standard- und Administratorbenutzer

Ein Benutzer, der sich in der Administratorgruppe befindet, kann einen Prozess mit Standardbenutzerzugriff oder mit erhöhten Rechten (mit Administratorrechten) ausführen. BITS führt den Auftrag in beiden Zuständen aus, solange der Benutzer auf dem Computer angemeldet ist. Wenn der Benutzer jedoch den Auftrag erstellt oder den Besitz des Auftrags mit erhöhten Rechten übernommen hat, muss sich der Benutzer im Zustand mit erhöhten Rechten befinden, um den Auftrag abzurufen oder zu ändern (andernfalls schlägt der Aufruf mit Zugriff verweigert (0x80070005)) fehl. Rufen Sie die IBackgroundCopyJob4::GetOwnerElevationState-Methode auf, um den Zustand mit erhöhten Rechten eines Auftrags zu bestimmen.

Ein Standardbenutzer kann Aufträge, die sich im Besitz anderer Benutzer befinden, nicht aufzählen oder ändern.

Integritätsstufe

Zusätzlich zum Zustand mit erhöhten Rechten kann die Integritätsebene des Tokens bestimmen, ob der Benutzer einen Auftrag ändern kann. Ein Client kann aufträge, die von einem Token mit einer höheren Integritätsstufe erstellt wurden, nicht ändern. Insbesondere verfügen viele lokale Systemtoken über eine Integritätsstufe, die höher als die Integritätsstufe eines Fensters mit erhöhten Rechten ist, sodass sie nicht von einem Administrator über ein normales Befehlsfenster mit erhöhten Rechten geändert werden können. Beispielsweise werden Windows Update- und SMS-Aufträge als LocalSystem ausgeführt, das über eine höhere Integritätsstufe als ein Token mit erhöhten Rechten verfügt, sodass ein Administrator diese Aufträge nicht ändern oder löschen kann. Um diesen Auftrag zu ändern, erstellen Sie eine Taskplaner Aufgabe, die als lokales System ausgeführt wird. Der Task kann eine Konsolenanwendung ausführen, die die BITS-API verwendet, oder der Task kann ein Skript ausführen, das BitsAdmin.exe aufruft. Um die verwendete Integritätsstufe zu bestimmen, rufen Sie die IBackgroundCopyJob4::GetOwnerIntegrityLevel-Methode auf.

Dienstidentität

Ab Windows 10 May 2019 Update (10.0; Build 18362) wird die Dienstidentität von BITS-Aufträgen beibehalten, die von einem Dienst gestartet wurden. Dadurch können Dienste, die BITS verwenden möchten, Dateien in ein Verzeichnis herunterladen oder dateien aus einem Verzeichnis hochladen, dessen Berechtigungen an die Dienst-SID gebunden sind. Darüber hinaus wird Netzwerkdatenverkehr dem Dienst, der den BITS-Auftrag angefordert hat, ordnungsgemäß zugeordnet, anstatt BITS zuzuordnen.