[RESOLU] outil de validation de charte informatique

Mesdames, Messieurs, le bonjour

Dans le cadre d’un vrai projet pro et tout, j’ai une demande rigolote:
La charte informatique du boulot doit pouvoir être opposable, c-a-d qu’un utilisateur ne doit plus pouvoir se cacher derrière une méconnaissance de la dite charte pour excuser ses bêtises, méfaits, import de virus, visite de sites de pingouins

Jusqu’ici tout va bien, ça se fait partout sauf que :

le projet entends qu’a une date fixée ( celle de la publication de la nouvelle charte)
tous les utilisateurs soient amenés à en prendre obligatoirement connaissance, et à la valider avant de pouvoir accéder aux outils informatiques( ou à défaut , au net)
et tout ça, sans une feuille de papier gaspillée

et c’est la que ça se gâte, je n’ai absolument aucune idée de comment réussir à faire ça!

1- je dois avoir une trace de toutes les consultations de la charte et de l’état de la validation par utilisateur ( horodatée)
2-fonction de la validation ou non, induire au blocage total ou partiel de l’accès aux ressources informatiques

alors, à votre avis, je rêve,ou c’est du domaine du possible?

j’imagine une solution type portail captif lors de la première connexion, renvoi vers la charte, on valide ou pas,et on stocke ça dans une petite BDD ( j’imagine hein, je sais même pas si c’est faisable)
par contre la regul des accès en fonction du choix précédents …

Donc, si vous avez été amenés, dans le cadre de votre parcours à mettre en place ce type de chose, ( où à le subir) et même sans forte poitrine, sachez le votre avis m’intéresse

nota, le bon coté , c’est que j’ai les mains libres coté techno à mettre en place
, j’ai des serveur Windows à plus savoir quoi en faire,(nunux aussi, mais c’est clairement pas ma came) une architecture AD aux petits oignons,et  à peu pres toutes les techno Microsoft existantes en open bar( en tout cas je peux les avoir sans difficultés)

bref, je peux utiliser ce que je veux, sauf que je ne sais pas ce qu’il me faut

help please, tout avis constructif est le bienvenu

( pas la peine de me proposer de faire signer la charte à tout le monde, on est trop nombreux et trop éparpillés,et accoler la charte au contrat de travail c’est juste pas possible)

merci d’avance

est ce que une solution du type
"je vois qu’il a signé et je ( moi avec mes p’tites mains ) lui ouvre l’accès au Web " est envisageable ? 
Ou tu voudrais que tout soit automatique ( une GPO qui controle l’état d’une validation quelconque dans une bdd ) ? 

[quote=“mono, post:2, topic: 55441”][/quote]
on est 4000, donc si ça pouvait être un poil plus automatisé que du cas par cas…
après, requêter l’etat de la bdd pour créer un groupe de securité par exemple, j’y ai penseé, mais  il va forcement y avoir un décalage entre validation->requete->modification du groupe de secu->application de la GPO–> accès effectif au net
non?

Tu peux pas faire ça au niveau du proxy ?

[quote=“ZGoblin, post:4, topic: 55441”][/quote]
c’est à dire?

Tu peux faire ça à base de certificats je pense. A partir d’un certificat racine que tu achètes, tu dérives un certificat pour chaque employé, qui lui permet de signer avec sa clé privée pour se connecter à un proxy (proxy configuré en SSL two-way, càd qui a son propre certificat serveur, et qui vérifie le certificat de chaque client qui s’y connecte). Quand tu changes la charte tu révoques tous les anciens certificats clients (ils ne peuvent plus se servir du proxy), et tu forces l’utilisateur à venir signer une nouvelle version de la charte en échange d’un nouveau certificat.



Le prix :
- un proxy qui fait du SSL two-way
- ou bien un STunnel devant ton proxy
- le certificat racine à partir duquel tu dérives les autres certificats (je dirais < 200EUR /an) ;
- le développement d’un portail pour lire la charte et télécharger un nouveau certificat (généré à la volée) en échange d’une authentification classique par mot de passe ;
- un process pour révoquer / régénérer des certificats.

Si tu en as vraiment besoin ça peut être fait sans trop de douleur.

[quote=“Histrion, post:6, topic: 55441”][/quote]
intéressant, peut être un poil overkill mais y’a de l’idée

 A votre avis ,un espece de CLUF ( genre windows) au démarrage du post c'est du domaine du possible?
parce que là on se concentre sur l'accès au net, mais plus restrictif ce serait encore mieux

L’avantage c’est que c’est relativement facile à prototyper si tu as un peu la main sur des serveurs de tests.

Dans les gpp, tu peux maintenant verifier l’etat d’un fichier / presence AV, verification d’une version java etc,presence d’une clef de registre/mise à jour windows etc.

Peut on imaginer la mise en place d’une appli developpé en interne, qui a 2 statut Oui/non. 
Lorsqu’on clic sur oui, cela vient ecrire dans la bdd un top.
Et tant que la personne n’a pas “validé” elle est parqué en quarantaine.

Nouvelle charte, mise à jour de l’appli, donc le hash change, mise à jour de la gpp , et on recommence.

J’ai plus en tete, le nom de la gpp, qui est fait pour verifier l’etat de santé/version appli d’une machine pour lui donné accès aux domaines.
Si elle ne match pas, zou refusé, et/ou parqué à un endroit du réseau pour validé/mettre à jour etc.

Par un proxy, ouais (qui affiche une page en amont de la nav web). Cela dit, c’est beaucoup moins engageant (au sens prise en compte, pas juridique), qu’un papier signé ahma.

[quote=“silka, post:9, topic: 55441”][/quote]
on peut peut être  faire ça avec un serveur radius?

Sinon, à la première connexion au bureau, une page IE qui s’ouvre et t’oblige à remplir tes identifiants (nom, prénom, poste par exemple) qui vont se mettre dans une BDD, avec en gros un truc qui dit “charte informatique à valider avant toute mise à disposition des outils” et tant que tu valides pas, la personne peut rien faire… Si tu cliques sans valider, le bureau se ferme (ça, ça se règle par GPO).

[quote=“djktk, post:12, topic: 55441”][/quote]
mais oui, c’est pile poil ça!
par gpo tu dis?, en built in?
merde je me fais vieux ça me dit rien

je verifierai sur les DC du taf lundi

J’ai plus accès aux GPO du taf, mais je vais essayer de voir avec les mecs qui y ont accès.

oui dans les gpo tu peux forcer que l’attente de la fin du logon script pour que la session s’ouvre, à toi de conditionner son contenu en conséquence (un simple script .vbs qui va kill la session si la personne refuse la charte)

C’était aussi ce à quoi je pensais, après la validation, sinon, autre solution, une création d’un fichier caché quelque part dans le profil de l’utilisateur, et un vbs qui vérifie la présence du fichier. Si le fichier existe, on poursuit, sinon on fait un logoff…

Tain vous aimez les solutions complexes les gars… GPO et un petit outil et basta  (et pas de trucs crade de hackerz du dimanche genre fichier caché, on fait ça proprement server side, avec un propriété dans le LDAP comme un grand). 

charte2.zip (1.79 KB)Salut,

Tu fais ça avec une GPO et deux petits scripts VBS.

le 1er scripts que tu demande a exécuter a l’ouverture de session de chaque utilisateur du domaine, vérifie si l’utilisateur courant fait ou non partis d’un groupe de sécurité que tu auras pris soin de créer avant dans ton AD (charteOK par exemple). Si l’utilisateur fait partis du groupe le script se termine. Si l’utilisateur ne fait pas partis du groupe il ouvre une fenêtre HTA.

Set WshShell = CreateObject("WScript.Shell")
DomainName=WshShell.ExpandEnvironmentStrings("%USERDOMAIN%")
LogonServer=WshShell.ExpandEnvironmentStrings("%LogonServer%")

Set WshNetwork = WScript.CreateObject("WScript.Network")
Set objfile = CreateObject("Scripting.FileSystemObject")


For Each GroupObj In UserObj.Groups
        UserGroups=UserGroups & "[" & GroupObj.Name & "]" ' ----- On liste les groupes auxquels appartient l'utilisateur courant
Next

If InGroup("charteOK") then ' ----- Si l'utilisateur courant appartient déja au groupe de sécurité charteOK
wscript.quit ' ----- on ne fait rien
else ' ----- Sinon
WshShell.Run """C:\Charte\charte.hta""" ' ----- On lance la fenetre HTA
wscript.quit 
end if

Function InGroup(strGroup) ' ----- Fonction de détermination d'appartenance au groupe definit dans "If InGroup("charteOK")" ligne 13
    InGroup=False
        If InStr(UserGroups,"[" & strGroup & "]") Then
            InGroup=True
        End If
End Function
 
2ieme Script. Celui ci sera en fait 3 scripts dans une application HTA.

les HTA, ou HTML Applications, permettent de créer des applications autonomes, à partir de code HTML et JavaScript ou Vbs, applications qui se comporteront comme des programmes Windows classiques écrits en C++ ou Visual Basic.

Dans cet HTA nous écrirons donc 3 Scripts VBS :

  1. Script pour récupérer les groupes et le DinstinguisedName de l'utilisateur courant
  2. Script d'un bouton pour "ACCEPTER LA CHARTE" (Ce script créera alors l'utilisateur courant dans le groupe déjà créé dans l'AD, le fameux "charteOK" dont notre premier script test l'appartenance avant d'ouvrir la fenêtre HTA.
  3. Script d'un bouton pour "REFUSER LA CHARTE" (Ce script, dans mon cas, fermera la session Windows. Tu peux bien entendu y mettre autre chose. Par exemple tu peux faire en sorte, sur ton firewall, s'il sait gérer ça, que seul les utilisateurs appartenant au groupe "charteOK" aient accès à Internet...
C'est aussi dans cet HTA que la charte sera ecrite en HTML.

Voici le code du HTA :

Je le met en PJ car je ne parviens pas a coller le code ici

Voilà tu as quelque chose de fonctionnel. A adapter et a développer biensurs.

A+

Edit de Caf : link Jumpshare vu que j’ai plein de mails de nouveaux qui veulent ce fichier…

wouah

euh

merci
a fond merci
je vais tester tout ça

Ha ça pour parler de LED dans le lave-vaisselle et de -1/12 y’a du monde. Pour les questions sérieuses heureusement qu’il y a les nouveaux.

Beau premier message en tout cas Laporte2_thumb.jpg