Share via


BITS-Sicherheit, Token und Administratorkonten

HTTP-Serverzertifikatrückrufe

Die ordnungsgemäße Validierung von Serverzertifikaten ist ein wichtiger Bestandteil der Aufrechterhaltung der HTTPS-Sicherheit. BITS hilft, indem Serverzertifikate immer anhand einer Liste von Anforderungen überprüft werden, die von SetSecurityFlags angegeben werden. Standardmäßig verwendet BITS 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. Ihre Methode wird erst aufgerufen, nachdem das Betriebssystem das Zertifikat basierend auf dem SetSecurityFlags-Aufruf ü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 nach ID oder nach dem Namen des Zertifikatantragstellers festlegen. Das Clientzertifikat wird während der TLS-Aushandlung (oder Neuverhandlung) verwendet, wenn der Server die Clientauthentifizierung erfordert.

Schreibgeschützte HTTP-Header

MIT BITS können Sie HTTP-Authentifizierungstoken vor unerwünschtem Zugriff schützen. Häufig benötigt ein HTTP-Server beim Herunterladen oder Hochladen einer Datei auf HTTP-Server eine Art Sicherheitstoken oder eine Zeichenfolge.

BITS schützt diese Authentifizierungstoken auf verschiedene Arten.

  • 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 der Administratorgruppe angehört, kann einen Prozess mit Standardbenutzerzugriff oder in einem erhöhten Zustand (mit Administratorrechten) ausführen. BITS führt den Auftrag in beiden Zuständen aus, solange der Benutzer am Computer angemeldet ist. Wenn der Benutzer den Auftrag jedoch erstellt oder den Auftrag in einem zustand mit erhöhten Rechten in Besitz genommen 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 Access Verweigert (0x80070005) fehl. Um den Status eines Auftrags mit erhöhten Rechten zu bestimmen, rufen Sie die IBackgroundCopyJob4::GetOwnerElevationState-Methode auf.

Ein Standardbenutzer kann keine Aufträge im Besitz anderer Benutzer aufzählen oder ändern.

Integritätsstufe

Zusätzlich zum Status mit erhöhten Rechten kann die Integritätsebene des Tokens bestimmen, ob der Benutzer einen Auftrag ändern kann. Ein Client kann keine Aufträge ändern, die von einem Token mit einer höheren Integritätsebene erstellt wurden. Insbesondere weisen viele lokale Systemtoken eine Integritätsebene auf, die höher ist als die Integritätsebene eines Fensters mit erhöhten Rechten, sodass sie von einem Administrator nicht ü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 eine höhere Integritätsebene als ein Token mit erhöhten Rechten aufweist, sodass ein Administrator diese Aufträge nicht ändern oder löschen kann. Um diesen Auftrag zu ändern, erstellen Sie einen Taskplaner, der als lokales System ausgeführt wird. Die Aufgabe kann eine Konsolenanwendung ausführen, die die BITS-API verwendet, oder die Aufgabe könnte ein Skript ausführen, das BitsAdmin.exe aufruft. Um die verwendete Integritätsebene zu bestimmen, rufen Sie die IBackgroundCopyJob4::GetOwnerIntegrityLevel-Methode auf.

Dienstidentität

Ab dem Windows 10 May 2019 Update (10.0; Build 18362): BITS-Aufträge, die von einem Dienst gestartet werden, behalten die Dienstidentität bei. Dies ermöglicht Diensten, die BITS verwenden möchten, um Dateien in ein Verzeichnis herunterzuladen oder aus einem Verzeichnis hochzuladen, dessen Berechtigungen an die Dienst-SID gebunden sind. Darüber hinaus wird Netzwerkdatenverkehr ordnungsgemäß dem Dienst zugeordnet, der den BITS-Auftrag angefordert hat, anstatt BITS zugeordnet zu werden.