5 votes

Planificateur de tâches avec comptes virtuels, possible ?

Actuellement, j'utilise LOCAL SERVICE comme compte d'utilisateur pour diverses tâches courantes, et je me demandais s'il était possible d'utiliser un compte de type Compte virtuel à la place.

Le planificateur de tâches semble rejeter NT SERVICE\ des noms de comptes de style.

4voto

Ian Boyd Points 5006

Vous ne pouvez pas le faire fonctionner comme un utilisateur compte. Mais vous pouvez l'exécuter avec un compte virtuel groupe compte. (Mais depuis que ce "groupe" a une relation 1:1 avec la tâche, il est effectivement un utilisateur).

Disons que vous exécutez votre tâche planifiée en tant que Service local utilisateur. Ce groupe a une série de SIDs dans son jeton :

Service local :

  • Tout le monde ( S-1-1-0 )
  • Local ( S-1-2-0 )
  • AUTORITÉ NT \Authenticated Utilisateurs ( S-1-5-11 )
  • BUILTIN \Users ( S-1-5-32-535 )

Le planificateur de tâches exécute les tâches avec un SID supplémentaire qui est calculé à partir du nom de la tâche.

  • La DGSI sera un enfant de l'autorité S-1-5-87
  • et aura un nom de la forme NT TASK\[Task Name]

Le site identifiant relatif 87 provient de la constante définie dans winnt.h :

SECURITY_TASK_ID_BASE_RID  (0x00000057L)

Vous pouvez manuellement "hash" un nom de tâche dans un SID en exécutant :

>schtasks /showsid /TN "The quick brown fox jumped over the lazy dog"
SUCCESS: The SID "S-1-5-87-2312335432-65297056-3549082870-2589977271-250352331" for the user name "The quick brown fox jumped over the lazy dog" has been computed successfully.

La tâche ne doit pas nécessairement exister ; elle vous indique le SID qu'elle sera à utiliser lorsqu'une tâche portant ce nom est exécutée.

  • Nom de la tâche : The quick brown fox jumped over the lazy dog
  • SID associé : S-1-5-87-2312335432-65297056-3549082870-2589977271-250352331
  • Nom du groupe : NT TASK\The quick brown fox jumped over the lazy dog

Cela signifie que lorsque votre tâche planifiée s'exécutera, elle aura un nouveau SID dans son jeton de sécurité :

Service local :

  • Tout le monde ( S-1-1-0 )
  • Local ( S-1-2-0 )
  • AUTORITÉ NT \Authenticated Utilisateurs ( S-1-5-11 )
  • BUILTIN \Users ( S-1-5-32-535 )
  • TASK NT \The Le renard brun a sauté par-dessus le chien paresseux. ( S-1-5-87-2312335432-65297056-3549082870-2589977271-250352331 )

Avec le tag de ce nouveau groupe SID dans le jeton, vous pouvez modifier les permissions sur les fichiers et les dossiers afin que seule la tâche planifiée puisse y accéder :

>icacls icacls yellow.png /grant "*S-1-5-87-2312335432-65297056-3549082870-2589977271-250352331:(M)"

enter image description here

Bonus Chatter

Félicitations pour avoir exécuté vos tâches en tant que Local Service - c'est le bon choix. Il s'agit d'un compte spécial de droits de rang, sous lequel personne ne peut se connecter, et qui n'a aucun droit (à part les mêmes droits "anonyme" les utilisateurs obtiennent) sur le réseau. De nombreux sites "experts en sécurité" se mettent en tête que les tâches doivent être exécutées avec un compte spécial qu'ils créent dans Active Directory avec un mot de passe complexe et aléatoire. Cela me rend fou que ces gens ne comprennent pas les bases de la sécurité.

Lecture en prime

0 votes

Réponse fantastique. Exactement ce que je cherchais !

3voto

CMy Points 79

Modifier : En fait, cela dépend de ce que vous voulez vraiment obtenir. Si vous voulez sécuriser les ressources, la tâche est d'accéder avec ACL - voici le moyen :

Possibilité dans Windows 7 et Windows Server 2008 R2 d'appliquer un SID à chaque tâche planifiée et d'utiliser ce SID pour appliquer des autorisations ailleurs dans le système d'exploitation. http://blogs.technet.com/b/craigf/archive/2011/03/15/using-delegation-in-scheduled-tasks.aspx

Les tâches planifiées ont un SID spécifique.

edit : Ajout de la description du lien.

0 votes

Il peut être préférable d'inclure les parties essentielles de l'article de blog auquel vous faites référence dans votre réponse afin d'éviter un éventuel pourrissement des liens.

2voto

Ryan Ries Points 54671

Non, vous ne pouvez pas. Les comptes de service virtuels sont conçus pour exécuter les services Windows et c'est tout. Un compte de service virtuel possède son propre SID et Windows modifie périodiquement et automatiquement le mot de passe du VSA pour des raisons de sécurité. Le compte peut se voir attribuer des entrées de contrôle d'accès sur une ACL. Cependant, le compte n'est même pas stocké dans la ruche de registre SAM, c'est pourquoi vous ne verrez pas le compte dans la plupart des outils d'administration.

De Chatper 6 de Windows Internals, Sixième édition, par Mark Russinovich, David Solomon et Alex Ionescu.

Edit : Il faut également noter que si un compte de service virtuel, qui exécute un service Windows, tente d'accéder à une ressource réseau, il le fait en utilisant le compte de l'ordinateur sur lequel il est exécuté, par exemple SERVER01$@domain.com.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X