Question MFCOM securité et GPO

Plus d'informations
il y a 15 ans 1 mois #4199 par Madrolle
MFCOM securité et GPO a été créé par Madrolle
SITUATION: Mes scripts son lancé depuis un serveur d'un domaine A (2003) vers les machines d'un domaine B.
Le compte que j'utilise est administrateur du Domaine A, des contrôleurs de domaines du domaine B (2003) et des serveurs d'application du domaine B (2000).

Les scripts fonctionnent très bien avec les DC de B mais, avec les serveurs d'application de B, j'ai un refus d'accès.

Avec DCOM

Une erreur s'est produite lors de l'énumération parmi une collection : Accès refusé. (Exception de HRESULT :
0x80070005 (E_ACCESSDENIED)).
Au niveau de ligne : 1 Caractère : 7
+ $farm.S <<<< essions


Avec WMI

Get-WmiObject : Accès refusé
Au niveau de ligne : 1 Caractère : 23
+ $o_wmi = get-wmiobject <<<< -class \"win32_timezone\" -namespace \"root\cimv2\" -computername serveur.societe.com


Pareil avec les partages et avec terminal serveur.
Dé lors que j'utilise le compte de A qui est pourtant admin de ces machines (via un groupe global) j'essuie un refus.

Ces serveurs d'applications disposent de gpo communes, ma question est donc, quels policies peuvent être la cause de ce problème.
En voyez vous une autre ?

Je précise que j'ai vérifié les droits avec dcomcnfg, tant pour WMI que DCOM et pour terminal serveur.<br><br>Message édité par: Perso, à: 27/02/09 11:55

ShellDealer sur Twitter

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 1 mois #4201 par Olivier
Réponse de Olivier sur le sujet Re:MFCOM securité et GPO
Bonjour Perso !

Ben j'ai eu le même problème et j'ai trouvé réponse au niveau des ports TCP 135 et 445.

En fait, après cela, j'ai activé un GPO qui contenait ceci :
Configuration Ordinateur\Modèles d'administration\Réseau\Connexions Réseau\Par-Feu Windows\Profil du domaine\Pare-feu Windows : autoriser l'exception d'administration à distance.

Pour ce qui est de l'explication de ce GPO :

Autorise l'administration à distance de cet ordinateur à l'aide des outils d'administration tels que la console MMC (Microsoft Management Console) et WMI (Windows Management Instrumentation). Dans ce but, le Pare-feu Windows ouvre les ports TCP 135 et 445. Les services utilisent en général ces ports pour communiquer par RPC (Remote Procedure Calls) et par COM dynamique (DCOM). Ce paramètre de stratégie permet également à SVCHOST.EXE et LSASS.EXE de recevoir des messages non sollicités et permet aux services hébergés d'ouvrir des ports supplémentaires attribués dynamiquement, compris généralement entre 1024 et 1034.

Si vous activez ce paramètre de stratégie, le Pare-feu Windows autorise l'ordinateur à recevoir des messages non sollicités associés à l'administration à distance. Vous devez spécifier les adresses IP ou les sous-réseaux depuis lesquels les messages entrants sont autorisés.

Si vous désactivez ou ne configurez pas ce paramètre de stratégie, le Pare-feu Windows n'ouvre pas les ports 135 et 445. En outre, le Pare-feu Windows empêche SVCHOST.EXE et LSASS.EXE de recevoir des messages non sollicités, et empêche les services hébergés d'ouvrir des ports supplémentaires attribués dynamiquement. Étant donné que le fait de désactiver ce paramètre de stratégie ne bloque pas le port TCP 445, cela ne crée pas de conflit avec le paramètre de stratégie \&quot;Par défaut Windows : Autoriser l'exception de partage de fichiers et d'imprimantes\&quot;.

Remarque : les utilisateurs mal intentionnés tentent souvent d'attaquer les réseaux et les ordinateurs en utilisant RPC et DCOM. Nous vous recommandons de contacter les éditeurs de vos programmes critiques pour déterminer s'ils sont hébergés par SVCHOST.exe ou par LSASS.exe, ou s'ils requièrent RPC et DCOM. Si ce n'est pas le cas, n'activez pas ce paramètre de stratégie.

Remarque : si un paramètre de stratégie ouvre le port TCP 445, le Pare-feu Windows autorise les messages de requêtes d'écho ICMP entrants (les messages envoyés par l'utilitaire Ping), même si le paramètre de stratégie \&quot;Pare-feu Windows : Autoriser les exceptions ICMP\&quot; les bloque. Les paramètres de stratégie qui peuvent ouvrir le port TCP 445 incluent notamment \&quot;Pare-feu Windows : Autoriser l'exception de partage de fichiers et d'imprimantes\&quot;, \&quot;Pare-feu Windows : Autoriser l'exception d'administration à distance\&quot; et \&quot;Pare-feu Windows : Définir les exceptions de ports\&quot;.


Peut-être une autre solution, c'est de déployer un GPO pour configurer le \&quot;Get-ExecutionPolicy\&quot; ... Pour ce qui est du paramètre, je te conseille de singer tout tes script et ensuite de mettre le paramètre sur \&quot;AllSigned\&quot; ce qui rendra l'exécution de script PowerShell très sécurisée au niveau de ton domaine ...

Liens :
Kit de Développement SDK (pour avoir le makecert ...)
Administrative Templates for Windows PowerShell (pour déployer le niveau de sécurité d'exécution de script PowerShell)

Tout de bon et à +
Olivier<br><br>Message édité par: Olivier, à: 27/02/09 15:15

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 1 mois #4204 par Olivier
Réponse de Olivier sur le sujet Re:MFCOM securité et GPO
re ...

J'ai testé ton code et il me semble que tu désigne ton espace de nom comme ça :
[code:1]-namespace \&quot;rootcimv2\&quot;[/code:1]
Essaie comme ça :
[code:1]-namespace root\cimv2[/code:1]

Soit au finish :
[code:1]get-wmiobject -class win32_timezone -namespace root\cimv2 -computername ServerApplication[/code:1]

Il me semble que les guillemets ne soient pas nécessaire pour désigner les propriétés ...

Autrement, entre deux stations XP et Vista, après avoir configuré le GPO pour autoriser l'exception d'administration à distance entrante (version Vista ...), si je lance le code ci-dessus, ça fonctionne.

Est-ce que tout ça a fait avancer le schmilibilik ?

Olivier<br><br>Message édité par: Olivier, à: 27/02/09 19:19

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 3 semaines #4233 par Madrolle
Réponse de Madrolle sur le sujet Re:MFCOM securité et GPO
pour l'espace de nom en fait c'est juste le slash qui est enlevé dans le message d'erreur.

[code:1]\&quot;rem Reboot des serveurs citrix\&quot; | out-File -filePath \&quot;c:\reboots-citrix.bat\&quot; -encoding ASCII;

[array]$a_fermes=$();
$a_zdc=$(\&quot;farm1serv1.societe.com\&quot;,
\&quot;farm1serv2.societe.com\&quot;,
\&quot;farm2serv1.societe.com\&quot;«»);

$i_redemarrer=2;
$i_alerter=3;
$destinataire = \&quot;admincitrix@societe.com\&quot;
$s_restart=\&quot;01:30\&quot;;
$o_date_now=get-date;

$a_zdc | foreach -process {

$s_domaine=$_.Substring($_.IndexOf(\&quot;.\&quot;«»)+1)
$t = [system.type]::GetTypeFromProgID(\&quot;MetaFrameCOM.MetaFrameFarm\&quot;, \&quot;$_\&quot;«»)
$farm = [system.Activator]::CreateInstance($t)
$farm.Initialize(1)


if ($a_fermes -notcontains $($farm.FarmName) ) {

$a_fermes+=$($farm.FarmName);
$a_serveurs=$farm.servers;
$texte+= \&quot;`rListe des machines de $($farm.FarmName) devant redémarrer demain à 1h30.`n\&quot;
\&quot;rem ferme $($farm.FarmName)\&quot; | out-File -filePath \&quot;c:\reboots-citrix.bat\&quot; -encoding ASCII -append;

$computers=@($a_serveurs | select ServerName);
$computers | foreach -process {

$o_wmi = get-wmiobject -class \&quot;Win32_OperatingSystem\&quot; -namespace \&quot;root\cimv2\&quot; -computername \&quot;$($_.ServerName).$s_domaine\&quot; -ErrorAction SilentlyContinue
if($? -eq $false ) {
$texte+=\&quot;Erreur WMI avec $($_.ServerName).$s_domaine `r\&quot;
} else {
$o_date=$o_wmi.ConvertToDateTime($o_wmi.LastBootUpTime);
$s_days=$(New-TimeSpan $o_date $o_date_now).days;
if($s_days -ge $i_redemarrer ) {
$texte+=\&quot;$($_.ServerName) - Dernier redémarrage $o_date\&quot;;
if ($s_days -ge $i_alerter ) {
$texte+=\&quot; - PROBLEME`r\&quot;
} else { $texte+=\&quot; `r\&quot;
}
\&quot;start tsshutdn /SERVER:$($_.ServerName).$s_domaine /REBOOT\&quot; | out-File -filePath \&quot;c:\reboots-citrix.bat\&quot; -encoding ASCII -append;
}
}
}
}
}
$error | out-File -filePath \&quot;c:\err-reboots-citrix.txt\&quot;;

$expediteur = \&quot;monitor@societe.com\&quot;
$serveur = \&quot;messagerie.societe.com\&quot;
$objet = \&quot;Surveillance des fermes Citrix - $(get-date)\&quot;
$message = new-object System.Net.Mail.MailMessage $expediteur, $destinataire, $objet, $texte
$client = new-object System.Net.Mail.SmtpClient $serveur
$client.Send($message)[/code:1]

Pour le problème principal... il y en avait au moins 2...
Le premier est que le domaine W2000, malgré la relation d'approbation ne sait pas regarder DANS le groupe global de la foret 2003 que nous avions mis dans le groupe local Administrateurs des serveurs.

Donc nous n'étions pas considéré comme administrateur des machines ! Ceci est réglè en utilisant un compte de service du domaine A plutôt qu'un groupe global. A present, ça marche pour WMI, TS, les partages ...

Mais pas pour DCOM ou l'erreur persiste...
Ce point réglé, il me reste à réessayer votre solution.

cdt

ShellDealer sur Twitter

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 3 semaines #4257 par Madrolle
Réponse de Madrolle sur le sujet Re:MFCOM securité et GPO
Bon j'ai trouvé le second problème.
Il fallait que le compte soit aussi admin de la ferme citrix. :)

Merci

ShellDealer sur Twitter

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 3 semaines #4269 par Olivier
Réponse de Olivier sur le sujet Re:MFCOM securité et GPO
Bonjour Perso !

Merci beaucoup pour ton retour d'informations !

Au finish, c'était juste une question de droit ...


Pour affiner la chose, peut-être créer un compte plus restrictif qui ne permette que le lancement du ou des scripts concernés sur ton domaine principal. Après, avec la réplication et les approbations, cela devrait se propager sur les domaines concernés ... (c'est juste une idée qui me passe à l'esprit là ...). En fait, le but est que si tu dédie l'exécution de script à d'autre persones, ben qu'il n'aient pas par exemple le droit d'éteindre les serveurs concernés ... (juste par exemple).

Autrement, ben tout de bon et au plaisir de te revoir par là :-)

Olivier

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.076 secondes
Propulsé par Kunena