Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Auditer l'authentification des postes client,

6 réponses
Avatar
laurence
Bonjour,
J'ai un Dc sur un site A et un DC sur le site B; Je souhaite vérifier que
les utilisateurs du site A s'authentifie bien sur le site A et non sur le
site B.
Est-ce possible ? attention sur en infrasctructure Windows 2000.
Merci pour vos réponses

6 réponses

Avatar
Lognoul, Marc \(Private\)
Bonjour,

si vous souhaitez le faire côté domain controller, il faut activer l'audit
les événements "logon/logoff" et ensuite, après plusieurs heures ou jours,
inspect l'event log "Security" afin d'y trouver les événement dont l'EventID
est 528 (logon réussi) ou 529 à 539 (logon fautif, excepté 538). La
description de l'événement contiendra l'adresse IP du client. Cela vous
permettra de repérer quel client dirige ses requêtes d'authentification sur
quel DC. Attention, si de nombreaux utilisateur ouvrent des session sur le
même DC, cela générera évidemment beaucoup d'événements.

Côté client, vous pouvez exécuter la commande nltest /dsgetdc:DOMAIN (DOMAIN
étant le nom DNS de votre domaine), cela rapportera le DC que le client
utilise pour un logon (ainsi que d'autres informations utiles). Cette
command fait part des "Support Tools", il est possible de exécuter contre
une machine distante.

Marc

"laurence" wrote in message
news:
Bonjour,
J'ai un Dc sur un site A et un DC sur le site B; Je souhaite vérifier que
les utilisateurs du site A s'authentifie bien sur le site A et non sur le
site B.
Est-ce possible ? attention sur en infrasctructure Windows 2000.
Merci pour vos réponses




Avatar
Gilles LAURENT [MVP]
"laurence" a écrit dans le message de
news:
| Bonjour,

Bonjour,

| J'ai un Dc sur un site A et un DC sur le site B; Je souhaite vérifier
| que les utilisateurs du site A s'authentifie bien sur le site A et
| non sur le site B.
| Est-ce possible ? attention sur en infrasctructure Windows 2000.
| Merci pour vos réponses

En complément de la réponse de Marc, la variable d'environnement
%logonserver% sur le poste client vous indiquera le contrôleur de
domaine qui a procédé à l'authentification du client. Vous pouvez
consolider ces informations dans un fichier de type texte en vous
appuyant sur le script d'ouverture de session.

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Avatar
laurence
Bonjour Gilles,
Ton idée m'interresse, je sais que cette variable existe mais à part la
vérifier sur chaque poste !!!! Alors comment la faire remonter dans un
script en .bat ? Si t'as une astuce n'hésite pas sinon faut faire du vb et
c'est pas mon truc !
laurence

"Gilles LAURENT [MVP]" a écrit dans le message de news:

"laurence" a écrit dans le message de
news:
| Bonjour,

Bonjour,

| J'ai un Dc sur un site A et un DC sur le site B; Je souhaite vérifier
| que les utilisateurs du site A s'authentifie bien sur le site A et
| non sur le site B.
| Est-ce possible ? attention sur en infrasctructure Windows 2000.
| Merci pour vos réponses

En complément de la réponse de Marc, la variable d'environnement
%logonserver% sur le poste client vous indiquera le contrôleur de
domaine qui a procédé à l'authentification du client. Vous pouvez
consolider ces informations dans un fichier de type texte en vous
appuyant sur le script d'ouverture de session.

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr




Avatar
Gilles LAURENT [MVP]
"laurence" a écrit dans le message de
news:
| Bonjour Gilles,

Bonsoir,

| Ton idée m'interresse, je sais que cette variable existe mais à part
| la vérifier sur chaque poste !!!! Alors comment la faire remonter
| dans un script en .bat ? Si t'as une astuce n'hésite pas sinon faut
| faire du vb et c'est pas mon truc !
| laurence

Vous avez certainement mis en oeuvre un script d'ouverture de session
(par exemple logonscript.cmd) pour vos utilisateurs du domaine (pour
monter les lecteurs réseau, la connexion aux imprimantes, etc ...). Si
cela est le cas alors vous pouvez donc utiliser ce script d'ouverture de
session pour consolider le résultat des authentifications dans un
fichier de type texte centralisé sur une ressource réseau accessible en
écriture pour les utilisateurs du domaine.

Etape 1: Créez une ressource réseau sur une machine (serveur ou poste de
travail) membre du domaine et fixez les droits d'écriture aux
utilisateurs authentifiés. Cette ressource réseau sera accessible via le
chemin UNC servershare avec "server" le nom de la machine hébergeant
la ressource et "share" le nom du partage réseau.

Etape 2: Ajouter cette ligne (UNE seule ligne) dans votre script
d'ouverture de session :

echo %date:~-10%
%time:~-11,8%,%computername%,%logonserver:~2%>>servershareLogonUsers.log

Le fichier log correspondant (LogonUsers.log) au format CSV sera de la
forme :
12/06/2008 18:44:36,client1,contrôleur_de_domaine
12/06/2008 18:45:22,client2,contrôleur_de_domaine
...

Ce fichier log sera ensuite analysé pour en tirer vos propres
conclusions :-)

Note: N'hésitez pas à revenir vers nous en cas de problème
d'implémentation ;-)

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Avatar
Lognoul, Marc \(Private\)
Juste pour le fun (car la solution de Gilles est la plus simple à mettre en
ouvre), un peu d'amusement avec logparser:
- Installer logparser si ce n'est déjà fait
- Créer un fichier nommé "adSuccessNetLogons.cmd" et y adjoindre les lignes
de command suivantes:
Echo DC,Date-Time,Domain,User,PC,PC-IP > adSuccessNetLogons.csv
for /f %%i in ('dsquery server -o rdn') do
logparser -i:evt -o:csv -stats:off -headers:off
file:adSuccessNetLogons.lpq?DCNAME=%%i >> adSuccessInteractLogons.csv

- Créer un fichier nommé "adSuccessNetLogons.lpq" et y adjoindre les lignes
de suivantes:
SELECT
ComputerName AS [DC],
TimeGenerated AS [Date-Time],
EXTRACT_TOKEN(Strings,1,'|') AS [Domain],
EXTRACT_TOKEN(Strings,0,'|') AS [User],
EXTRACT_TOKEN(Strings,6,'|') AS [PC],
EXTRACT_TOKEN(Strings,13,'|') AS [PC-IP]
USING EXTRACT_TOKEN(Strings,3,'|') AS [Logon Type]
FROM %DCNAME%Security
WHERE
EventIDT0
AND [Logon Type] = '3'
ORDER BY TimeGenerated ASC

Ouvrir une invite de commande et exécuter adSuccessNetLogons.cmd avec un
compte domain admin ou enterprise admin (si plusieurs domaines) ou un compte
autorisé à lire l'event log sécurité sur tous les DC's (encore mieux). Cela
générera un fichier CSV contenant les champs suivants:
- DC: nom du DC sui a authentifié
- Date-Time: date et heure du logon
- Domain: domaine de l'utilisateur. Peut être vide si l'accès est anonyme
- User: nom de l'utilisateur (ou de l'ordinateur). Peut être vide si l'accès
est anonyme
- PC: nom du PC. Parfois vide (l'audit Windows n'est pas parfait...)
- PC-IP: Parfois vide (idem).

Une fois en possession du fichier CSV, on peut continuer l'extraction de
donnée avec logparser. Exemple:
Lister les logon pour un subnet donné: logparser.exe -i:csv -o:datagrid
"SELECT * FROM adSuccessInteractLogons.csv WHERE PC-IP LIKE '192.168.2.%'
Compter le nombre de logon par DC: logparser.exe -i:csv -o:datagrid "SELECT
[DC] AS [Domain Controller], COUNT(*) AS [# Logons] FROM
adSuccessInteractLogons.csv GROUP BY [DC] ORDER BY [# Logons] DESC"

... logparser, c'est comme les films de Kubrick, il faut du temps pour les
apprécier mais ensuite, on les considèrera toujours comme des chef-ouvres :)

Marc

"Gilles LAURENT [MVP]" wrote in message
news:u$
"laurence" a écrit dans le message de
news:
| Bonjour Gilles,

Bonsoir,

| Ton idée m'interresse, je sais que cette variable existe mais à part
| la vérifier sur chaque poste !!!! Alors comment la faire remonter
| dans un script en .bat ? Si t'as une astuce n'hésite pas sinon faut
| faire du vb et c'est pas mon truc !
| laurence

Vous avez certainement mis en oeuvre un script d'ouverture de session
(par exemple logonscript.cmd) pour vos utilisateurs du domaine (pour
monter les lecteurs réseau, la connexion aux imprimantes, etc ...). Si
cela est le cas alors vous pouvez donc utiliser ce script d'ouverture de
session pour consolider le résultat des authentifications dans un
fichier de type texte centralisé sur une ressource réseau accessible en
écriture pour les utilisateurs du domaine.

Etape 1: Créez une ressource réseau sur une machine (serveur ou poste de
travail) membre du domaine et fixez les droits d'écriture aux
utilisateurs authentifiés. Cette ressource réseau sera accessible via le
chemin UNC servershare avec "server" le nom de la machine hébergeant
la ressource et "share" le nom du partage réseau.

Etape 2: Ajouter cette ligne (UNE seule ligne) dans votre script
d'ouverture de session :

echo %date:~-10%
%time:~-11,8%,%computername%,%logonserver:~2%>>servershareLogonUsers.log

Le fichier log correspondant (LogonUsers.log) au format CSV sera de la
forme :
12/06/2008 18:44:36,client1,contrôleur_de_domaine
12/06/2008 18:45:22,client2,contrôleur_de_domaine
...

Ce fichier log sera ensuite analysé pour en tirer vos propres
conclusions :-)

Note: N'hésitez pas à revenir vers nous en cas de problème
d'implémentation ;-)

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr




Avatar
laurence
Merci à tous les deux vous etes excellent !

Laurence
"Lognoul, Marc (Private)" a écrit dans le message de
news:
Juste pour le fun (car la solution de Gilles est la plus simple à mettre
en ouvre), un peu d'amusement avec logparser:
- Installer logparser si ce n'est déjà fait
- Créer un fichier nommé "adSuccessNetLogons.cmd" et y adjoindre les
lignes de command suivantes:
Echo DC,Date-Time,Domain,User,PC,PC-IP > adSuccessNetLogons.csv
for /f %%i in ('dsquery server -o rdn') do
logparser -i:evt -o:csv -stats:off -headers:off
file:adSuccessNetLogons.lpq?DCNAME=%%i >> adSuccessInteractLogons.csv

- Créer un fichier nommé "adSuccessNetLogons.lpq" et y adjoindre les
lignes de suivantes:
SELECT
ComputerName AS [DC],
TimeGenerated AS [Date-Time],
EXTRACT_TOKEN(Strings,1,'|') AS [Domain],
EXTRACT_TOKEN(Strings,0,'|') AS [User],
EXTRACT_TOKEN(Strings,6,'|') AS [PC],
EXTRACT_TOKEN(Strings,13,'|') AS [PC-IP]
USING EXTRACT_TOKEN(Strings,3,'|') AS [Logon Type]
FROM %DCNAME%Security
WHERE
EventIDT0
AND [Logon Type] = '3'
ORDER BY TimeGenerated ASC

Ouvrir une invite de commande et exécuter adSuccessNetLogons.cmd avec un
compte domain admin ou enterprise admin (si plusieurs domaines) ou un
compte autorisé à lire l'event log sécurité sur tous les DC's (encore
mieux). Cela générera un fichier CSV contenant les champs suivants:
- DC: nom du DC sui a authentifié
- Date-Time: date et heure du logon
- Domain: domaine de l'utilisateur. Peut être vide si l'accès est anonyme
- User: nom de l'utilisateur (ou de l'ordinateur). Peut être vide si
l'accès est anonyme
- PC: nom du PC. Parfois vide (l'audit Windows n'est pas parfait...)
- PC-IP: Parfois vide (idem).

Une fois en possession du fichier CSV, on peut continuer l'extraction de
donnée avec logparser. Exemple:
Lister les logon pour un subnet donné: logparser.exe -i:csv -o:datagrid
"SELECT * FROM adSuccessInteractLogons.csv WHERE PC-IP LIKE '192.168.2.%'
Compter le nombre de logon par DC: logparser.exe -i:csv -o:datagrid
"SELECT [DC] AS [Domain Controller], COUNT(*) AS [# Logons] FROM
adSuccessInteractLogons.csv GROUP BY [DC] ORDER BY [# Logons] DESC"

... logparser, c'est comme les films de Kubrick, il faut du temps pour les
apprécier mais ensuite, on les considèrera toujours comme des chef-ouvres
:)

Marc

"Gilles LAURENT [MVP]" wrote in message
news:u$
"laurence" a écrit dans le message de
news:
| Bonjour Gilles,

Bonsoir,

| Ton idée m'interresse, je sais que cette variable existe mais à part
| la vérifier sur chaque poste !!!! Alors comment la faire remonter
| dans un script en .bat ? Si t'as une astuce n'hésite pas sinon faut
| faire du vb et c'est pas mon truc !
| laurence

Vous avez certainement mis en oeuvre un script d'ouverture de session
(par exemple logonscript.cmd) pour vos utilisateurs du domaine (pour
monter les lecteurs réseau, la connexion aux imprimantes, etc ...). Si
cela est le cas alors vous pouvez donc utiliser ce script d'ouverture de
session pour consolider le résultat des authentifications dans un
fichier de type texte centralisé sur une ressource réseau accessible en
écriture pour les utilisateurs du domaine.

Etape 1: Créez une ressource réseau sur une machine (serveur ou poste de
travail) membre du domaine et fixez les droits d'écriture aux
utilisateurs authentifiés. Cette ressource réseau sera accessible via le
chemin UNC servershare avec "server" le nom de la machine hébergeant
la ressource et "share" le nom du partage réseau.

Etape 2: Ajouter cette ligne (UNE seule ligne) dans votre script
d'ouverture de session :

echo %date:~-10%
%time:~-11,8%,%computername%,%logonserver:~2%>>servershareLogonUsers.log

Le fichier log correspondant (LogonUsers.log) au format CSV sera de la
forme :
12/06/2008 18:44:36,client1,contrôleur_de_domaine
12/06/2008 18:45:22,client2,contrôleur_de_domaine
...

Ce fichier log sera ensuite analysé pour en tirer vos propres
conclusions :-)

Note: N'hésitez pas à revenir vers nous en cas de problème
d'implémentation ;-)

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr