Condividi tramite


Sicurezza BITS, token e account Amministrazione istrator

Callback del certificato del server HTTP

La convalida corretta dei certificati server è una parte fondamentale della gestione della sicurezza HTTPS. BITS consente di convalidare sempre i certificati del server rispetto a un elenco di requisiti specificati da SetSecurityFlags. Per impostazione predefinita, BITS usa la convalida del certificato di stile "browser".

È anche possibile specificare una funzione personalizzata da chiamare per convalidare ulteriormente il certificato. Impostare il callback del certificato del server con il metodo SetServerCertificateValidationInterface. Il metodo verrà chiamato solo dopo che il sistema operativo ha convalidato il certificato in base alla chiamata di SetSecurityFlag.

Certificati client HTTP

È possibile impostare un certificato client in un processo HTTP con due metodi di impostazioni del certificato diversi. È possibile impostare un certificato in base all'ID o al nome soggetto del certificato. Il certificato client verrà usato durante la negoziazione TLS (o rinegoziazione) se il server richiede l'autenticazione client.

Intestazioni HTTP di sola scrittura

BITS consente di proteggere i token di autenticazione HTTP dall'accesso indesiderato. Spesso un server HTTP richiederà un tipo di token di sicurezza o stringa durante il download o il caricamento di un file nei server HTTP.

BITS protegge questi token di autenticazione in diversi modi.

  • BITS consente di usare connessioni HTTP protette da TLS e SSL specificando un URL HTTPS.
  • Le intestazioni personalizzate vengono sempre mantenute in un formato crittografato su disco.
  • È possibile impedire che le intestazioni dei clienti vengano restituite ad altri programmi con il metodo IBackgroundCopyJobHttpOptions3::MakeCustomHeadersWriteOnly.

Utenti standard e Amministrazione istrator

Un utente che si trova nel gruppo di amministratori può eseguire un processo con accesso utente standard o in uno stato con privilegi elevati (con privilegi di amministratore). BITS eseguirà il processo in entrambi gli stati, purché l'utente sia connesso al computer. Tuttavia, se l'utente ha creato il processo o ha preso la proprietà del processo in uno stato con privilegi elevati, l'utente deve essere nello stato con privilegi elevati per recuperare o modificare il processo (in caso contrario, la chiamata ha esito negativo con Accesso negato (0x80070005)). Per determinare lo stato elevato di un processo, chiamare il metodo IBackgroundCopyJob4::GetOwnerElevationState.

Un utente standard non può enumerare o modificare i processi di proprietà di altri utenti.

Livello di integrità

Oltre allo stato con privilegi elevati, il livello di integrità del token può determinare se l'utente può modificare un processo. Un client non può modificare i processi creati da un token con un livello di integrità superiore. In particolare, molti token di sistema locale presentano un livello di integrità superiore al livello di integrità di una finestra con privilegi elevati e pertanto non possono essere modificati da un amministratore da una normale finestra di comando con privilegi elevati. Ad esempio, i processi Windows Update e SMS vengono eseguiti come LocalSystem con un livello di integrità superiore rispetto a un token con privilegi elevati, in modo che un amministratore non possa modificare o eliminare questi processi. Per modificare questi processi, creare un'attività utilità di pianificazione che viene eseguita come sistema locale. L'attività può eseguire un'applicazione console che usa l'API BITS oppure l'attività potrebbe eseguire uno script che chiama Bit Amministrazione.exe. Per determinare il livello di integrità usato, chiamare il metodo IBackgroundCopyJob4::GetOwnerIntegrityLevel.

Identità del servizio

A partire dalla Aggiornamento di Windows 10 (maggio 2019) (10,0; Build 18362), i processi BITS avviati da un servizio manterranno l'identità del servizio. Ciò consente ai servizi che desiderano usare BITS per scaricare o caricare file da una directory le cui autorizzazioni sono associate al SID del servizio. Inoltre, il traffico di rete verrà attribuito correttamente al servizio che ha richiesto il processo BITS invece di essere attribuito a BITS.