Partilhar via


Proteção de segurança da tarefa

O uso do recurso de proteção de segurança de tarefas permitirá que os proprietários de tarefas executem suas tarefas com privilégios mínimos necessários. Observe que esse recurso está habilitado por padrão e os proprietários de tarefas podem fazer mais ajustes usando o tipo de identificador de segurança de token de processo de tarefa e a matriz de privilégios necessários da tarefa.

Tipo sid do token de processo de tarefa e matriz de privilégios necessários da tarefa

Especificar ProcessTokenSidType no nível de definição de tarefa permite que os proprietários de tarefas solicitem que um processo de tarefa seja executado com o tipo de SID "nenhum" ou o tipo de SID "irrestrito". Se o campo estiver presente na definição da tarefa, a validação garantirá que userId de tarefa contenha o nome ou a cadeia de caracteres SID correspondente para uma dessas contas de serviço internas do sistema operacional: "SERVIÇO DE REDE" ou "SERVIÇO LOCAL".

O tipo sid "none" significa que a tarefa é executada em um processo que não contém um SID de token de processo (nenhuma alteração será feita na lista de grupos de tokens de processo). O SID da conta da entidade de tarefa (LocalService/NetworkService) nesse caso tem acesso total ao token de processo.

O tipo de SID "irrestrito" significa que um SID de tarefa será derivado do caminho completo da tarefa e será adicionado à lista de grupos de tokens de processo. Por exemplo, o \Microsoft\Windows\RAC\RACTask que é executado na conta de Serviço Local, o SID da tarefa é derivado do nome Microsoft-Windows-RAC-RACTask em que um "-" é substituído por um "\" já que "\" é um caractere de nome de usuário inválido. O nome do grupo conhecido para o SID da tarefa seria "NT TASK\<modified full task path>" (domainname\username format). A DACL (lista de controle de acesso discricionário) padrão do token de processo também será modificada para permitir o controle total apenas para o SID da tarefa e o SID do sistema local e o controle de leitura para o SID da conta principal da tarefa. "schtasks.exe /showsid /tn <full task path>" mostrará o SID da tarefa correspondente à tarefa.

Quando uma ação de tarefa não COM é iniciada, o mecanismo de agendamento faz logon na conta da entidade de tarefa, obtém o token de processo e consulta a lista de privilégios que o token tem e compara isso com a lista de privilégios especificada em RequiredPrivileges. Se um privilégio não for especificado no último, isso será marcado como SE_PRIVILEGE_REMOVED. A ação executável será iniciada com o identificador de token resultante usando a API CreateProcessAsUser.

Quando uma ação de tarefa COM é iniciada, ela deve ser ativada pelo processo de taskhost.exe. O mecanismo de agendamento consulta o bloco de contexto de cada taskhost.exe em execução com a mesma conta que a tarefa inicial. Se descobrir que um processo de host foi iniciado com um superconjunto de privilégios necessários para a tarefa inicial, essa tarefa será hospedada nesse processo. Se ele não encontrar esse processo, ele combinará as informações de proteção de todas as tarefas em execução nos taskhosts na conta da entidade de tarefa com a máscara RequiredPrivileges especificada e, em seguida, iniciará uma nova instância de taskhost.exe.

Se RequiredPrivileges não estiver presente na definição de tarefa, os privilégios padrão da conta da entidade de tarefa sem o SeImpersonatePrivilege serão usados para o processo de tarefa. Se ProcessTokenSidType não estiver presente na definição da tarefa, "irrestrito" será usado como o padrão.

Informações de registro de tarefa

Sobre o agendador de tarefas

Contextos de segurança para tarefas