Archive

Archive for the ‘Windows’ Category

Présentation de StresStimulus

Hey folks !

Beaucoup de personne, d’entreprise, de client, SSII sont amenées à se poser un jour la question suivante :

« Mon application est-elle vraiment performante ? » Ici je vais aborder le sujet de manière globale. Vous pourrez par la suite l’appliquer, en interne sur du SharePoint, CRM, etc. … ou en externe pour du 365 modulo quelques éléments de performances liés aux serveurs 365 auxquels évidemment vous n’aurez pas accès.

Comme tout software permettant de définit des scénarios de monté en charge, il s’agit d’enregistrer des scénarii proches de la réalité d’utilisation du terrain de l’application ciblé par le test de performance.

Là où Visual Studio permet de faire les mêmes tests (version Entreprise oblige) à travers plusieurs écrans, ici, StresStimulus permet d’avoir sur un seul écran l’ensemble des paramètres de notre test.

Une fois encore, la simplicité est de rigueur chez StresStimulus, sans pour autant être au détriment des fonctionnalités, par exemple la simulation d’utilisateur est extrêmement facile à mettre en place comparativement à VS ou il faut créer des paramètres assez complexes pour simuler des profils différents.

Le mixage des différents scénarii est également appréciable :

  1. Création des tests cases
  2. Création des groupes des tests pour les imbriquer les uns aux autres. (Ce qui correspond aux profile de LoadTest sous VS)

Au niveau de la configuration du test case voici les paramètres réglables très rapidement

Ce sont effectivement les mêmes que VS (il n’y a pas de magie, il faut bien définir un pattern de test J)

En termes de monitoring, l’outil va à l’essentiel sans aller se perdre dans les performances du GarbageCollector par exemple j’imagine qu’il est possible d’ajouter autant de compteur que souhaité, voir sinon d’utiliser ceux de Windows dans Perfmon mais il faut alors multiplier les différents outils…

Avant de passer a la création du test case, il faut noter que StresStimulus s’intègre complètement à un outil que beaucoup d’administrateur utilise, … Fiddler J

Passons au wizard de création de test

Une fois passer l’enregistrement de votre scénario les différents types de contenu sont analyser, et les paramètres d’auto corrélation automatiquement calculer, vous pouvez par la suite vérifier la cohérence de votre test, afin de savoir si tout va bien pendant le déroulement du test de baseline (le premier test servant d’échantillonnage)

Lors de cette phase, le scénario est alors rejoué

Une fois rejoué, validé, passons au vif du sujet ! Comment charger ma plateforme

On y défini un nombre de User

Puis une durée de test avec des itérations de tests par utilisateurs

On y ajoute un soupçon de temps de réflexion (temps laisser à l’utilisateur entre deux cliques … oui je sais)

Petit plus par rapport à VS, ici on peut définir un temps aléatoire compris dans un intervalle de minutes J (Pour les utilisateurs qui prenne leur temps)

L’activation de la conservation du cache ou non

On démarre le test ?

Et on analyse les résultats

Concernant les interprétations des résultats, la suite est a venir pour bientôt 😉

En attendant je vous invite à télécharger StresStimulus sur le site officiel : http://www.stresstimulus.com/

Have fun & Stay tuned

SharePoint & SIDHistory

24 juin 2013 1 commentaire

Hey folks,

Récemment un client m’appel suite à une migration d’AD d’une forêt A vers une forêt B, jusque-là tout va bien, sauf pour SharePoint où des problématiques d’habilitations sont apparues.

Ces problématiques sont liées au SID History et la manière dont Windows effectue et met en cache ces requêtes Name to SID et SID to Name (qui sont en fait des lookup de l’AD).

Ce cache fait penser à SharePoint qu’un utilisateur qui souhaite se connecter provient du mauvais domaine, et SharePoint essaye de créer une nouvelle identité pour cet utilisateur.

La plupart du temps il s’agit d’un problème de people picker (configurable avec les commandes STSADM ou bien PowerShell) vous trouverez la description de ce problème ici :

http://blogs.technet.com/b/rgullick/archive/2010/05/15/sharepoint-people-picker.aspx

La solution de contournement envisagez pour résoudre cette problématique est la suivante:

Fasten your seatbelt !

Le LsaCache stocke les noms d’utilisateur déjà recherché ainsi que leur domaine et leur SID. En interrogeant un DC qui a des utilisateurs qui ont à la fois le nouveau SID et le SID migré en même temps, le DC relie toujours le SID migré vers le nouveau nom d’utilisateur, et non l’ancien nom d’utilisateur. Si nous pouvons artificiellement mapper le LsaCache avec correspondances des anciens noms d’utilisateur avec leur ancien SID, nous pouvons agir comme si aucune ressource n’a encore migré.

Voici le scénario où les utilisateurs ont été migrés avec le SID-History à partir de CHILD.domainA.com à domainB.com


  1. CHILD\Michael s’authentifie sur une machine du domaine CHILD et ouvre un site SharePoint dans le DOMAINB (intranet.domainB.com)
  2. SharePoint appel IIS, qui demande à Windows un DC local pour résoudre un SID: S-1-5-21-[SID_de_CHILD]-1010
  3. Le DC local trouve le SID assigné à l’utilisateur migré dans le catalog global
  4. Le DC local retourne le nom du compte de l’utilisateur migré, DOMAIN\Michael
  5. Le serveur SharePoint ajoute le résultat à son LsaCache comme un mapping de ce SID avec le compte de DOMAIN

Ainsi, nous pouvons voir sur la photo ci-dessus que le LsaCache (la table dans le coin inférieur droit) à appliquer pour le nouveau nom d’utilisateur l’ancien ancien SID mais nous cherchons à avoir l’ancien nom d’utilisateur avec l’ancien SID

Donc, nous allons effectuer un WarmUp du LsaCache de façon à avoir :

  1. SharePoint exécute en permanence un script permettant de requêter le nom CHILD\Michael
  2. Le DC local requête le Global Catalog et ne trouve aucun enregistrement pour ce nom d’utilisateur
  3. Le DC local doit faire sa propre requête LSA pour interroger le DC du domaine CHILD pour ce nom d’utilisateur
  4. Le DC distant du domaine CHILD trouve le nom d’utilisateur et réponds avec le SID: S-1-5-21-[SID_de_CHILD]-1010
  5. Le DC de CHILD retourne la réponse au DC du DOMAINB (le DC du DOMAINB cache le résultat dans son propre LsaCache)
  6. Le DC local retourne le résultat au serveur SharePoint
  7. Le serveur SharePoint ajoute cette nouvelle entrée à son LsaCache

Donc maintenant nous avons:

Notre cache qui interroge de la manière souhaité et nous avons l’ancien nom d’utilisateur = ancien SID. De cette façon, quand une requête est faite pour OLD SID, le résultat viendra du cache avec l’ancien nom d’utilisateur.



 

  1. CHILD\Michael s’authentifie sur une machine de CHILD et ouvre un site SharePoint présent dans le DOMAINB (intranet.domainB.com)
  2. SharePoint ne demande pas au DC local le SID, il utilise le LsaCache
  3. Le LsaCache de SharePoint réponds en retour avec le username qui est relié au SID: S-1-5-21-[SID_de_CHILD]-1010 est CHILD\Michael

L’étape importante (le X rouge) où il n’y a pas d’étape J . C’est-à-dire que le serveur SharePoint n’a jamais parlé au DC pour obtenir l’ancien SID et renvoyer un résultat, ce qui signifie que nous nous sommes appuyés sur le cache de SharePoint seul.

Cette requête repose sur le LsaCache du serveur SharePoint qui possède toujours l’entrée pour le SID du domaine CHILD correspondant au nom d’utilisateur CHILD, et jamais le nom d’utilisateur correspondant du DOMAINB .

La seule façon d’y parvenir est:

  1. Une requête constante du serveur SharePoint pour le nom CHILD\username pour chaque utilisateur dans DOMAINB qui a été migré de CHILD et qui a son SIDHistory migré avec.

    Vous pouvez utiliser un outil qui invoque LookupAccountName () pour localiser le SID pour le nom d’utilisateur: CHILD\username.

    LookupAccountName est expliquée ici: http://msdn.microsoft.com/en-us/library/aa379159(v=VS.85) .

    Je pense que PsGetSid de Sysinternals serait en mesure d’aider ici aussi.

  2. En PowerShell pour connaitre le domain\username ou le sid en fonction de l’un ou de l’autre, vous pouvez utiliser le code suivant :
    Write-Host -ForegroundColor Green « 1. Domain User to SID »

    Write-Host -ForegroundColor Green « 2. SID to Domain User »

    Write-Host -ForegroundColor Green « Other to exit »

    $choice = Read-Host « Select 1 – 2 – Other »

    Switch ($choice)

    {

    1{

    write-host -foreground Green « # DOMAIN USER TO SID »

    write-host -foreground Green « # This will give you a Domain User’s SID »

    $domain = read-host « Domain »

    $user = read-host « User »

    $objUser = New-Object System.Security.Principal.NTAccount($domain, $user)

    $strSID = $objUser.Translate([System.Security.Principal.SecurityIdentifier])

    Write-host -foreground Magenta $strSID.Value

    break;

    }

    2{

    write-host -foreground Green « # SID TO DOMAIN USER »

    write-host -foreground Green « # This will allow you to enter a SID and find the Domain User »

    $SID = read-host « SID »

    $objSID = New-Object System.Security.Principal.SecurityIdentifier ($SID)

    $objUser = $objSID.Translate( [System.Security.Principal.NTAccount])

    $reponse = $objUser.Value

    Write-host -foreground Magenta $reponse

    break;

    }

    }

  3. Le LsaCache de SharePoint doit être assez grand pour être certain que les entrées qui sont requêtées ne soient jamais remplacées par les entrées du DOMAINB .

    Réglez la clé de registre HKLM\System\CurrentControlSet\contôle\Lsa\LsaLookupCacheMaxSize = (DWORD) = 0x2000 (8192 décimal)

    Si cette valeur n’existe pas, le système utilise une taille de cache par défaut de 128 entrées, ce qui est écrasée trop rapidement sur ​​les serveurs SharePoint. 8192 entrées sur une paire de serveurs équilibrés en charge devraient être en mesure de tenir toutes les SID pour tous les utilisateurs accédant au site SharePoint depuis les 2 forêts (si votre forêt a plus d’utilisateurs, vous aurez besoin d’augmenter cette valeur.

  4. Il s’agit d’une solution de contournement.

    La véritable solution serait d’avoir des utilisateurs migrés à partir CHILD.domaine.com à DOMAINB .com avec leur SIDHistory.

    Après la migration, leurs comptes CHILD doivent être désactivés ou supprimés et SIDHistory devraient être retirés des comptes DOMAINB . Il s’agit d’une action très complexe à faire, car il ne permet pas d’effectuer de test de manière simple, et le retour arrière est également extrêmement complexe.

Pour afficher les actions telles qu’elles sont effectuées par les Lookups du LSA, ajouter ces 2 DWORDs au Registre sous HKLM\System\CurrentControlSet\Control\Lsa\ :

  • LspDbgTraceOptions = 0x1 (1 signifie « enregistrer un fichier », le fichier est C:\Windows\Debug\Lsp.log)
  • LspDbgInfoLevel = 0x88888888
    (les 8 de en hexadécimal signifie « Loguer en mode verbaux autant que possible »)

Les clés de registres sont expliquées ici :

http://technet.microsoft.com/en-us/library/ff428139(v=ws.10).aspx

Donc, dans l’ensemble cela reste assez compliqué, la solution de contournement est d’augmenter la valeur pour LsaLookupCacheMaxSize et de faire fonctionner en permanence un script sur ​​le serveur SharePoint pour interroger le SID des noms d’utilisateur dans CHILD (avec un filtre pour cibler uniquement les utilisateurs qui ont été migrés vers DOMAINB).

Ceci est couvert par le CU d’Aout 2012.

Le groupe produit a ajouté une ligne de commande :

stsadm.exe -o setproperty -propertyname « HideInactiveProfiles » -propertyvalue « true »

Cela bypass les comptes désactiver et effectue une requête sur le domaine actif. L’état non supporté par Microsoft est de posséder des SID Dupliqués mais SharePoint a maintenant un peu plus de flexibilité pour travailler dans ces cas de figure.

Il existe des outils tiers permettant de ne pas avoir ce type de problème, comme AvePoint par exemple J

Quelques infos à propos de la commande STSADM –o migrateuser :

http://www.toddklindt.com/blog/Lists/Posts/Post.aspx?ID=75

http://technet.microsoft.com/en-us/library/cc262141.aspx

A partir du SP3 de SharePoint 2007, la notion des SID History est apparemment gérée, donc le passage du simple Service Pack de SharePoint pourrait résoudre votre problématique. Puis maintenir ces plateformes à jour est un des best practice qu’il est important de respecter (à condition évidemment de tester techniquement et recetter fonctionnellement votre solutionJ), d’autre part, le SP2 de SharePoint 2007 ne sera bientôt plus supporté par Microsoft.

A special thanks to Craig Foster (http://blogs.technet.com/b/craigf) ping back AD & SID

Enjoy & Have fun !

Microsoft Security Assessment Tool (MSAT)

2 avril 2012 1 commentaire

 

Aujourd’hui je vous propose un outil que trop peu de mes clients utilise, cet outil vous permet d’évaluer les risques de vos environnements (SharePoint entre autre, mais également, l’ensemble de votre infrastructure).

L’outil vous posera un ensemble de question, pour vous permettre d’identifier les risques et les classera par ordre de priorité. Il s’agit d’un moyen simple, efficace de renforcer la sécurité de votre entreprise et de votre environnement. Il s’agit de l’outil MSAT Microsoft Security Assessment Tool.

Pour le télécharger : Microsoft Security Assessment Tool 4.0

 

Compréhension des risques

Il adopte une approche d’ensemble en fonction de votre position vis-à-vis de la sécurité et traite les points suivant sous l’aspects processus, utilisateurs et technologiques.

L’outil MSAT offre les avantages suivants :

  • Une sensibilisation à la sécurité continue, complète et simple d’utilisation
  • Une infrastructure de défense en profondeur avec analyse comparative de norme industrielle
  • Des rapports continus et détaillés comparant les indices de performances de base à votre progression
  • Des recommandations éprouvées et des activités classées par priorité afin d’améliorer la sécurité
  • Des conseils structurés d’ordre général et spécifiques à Microsoft

 

Le processus MSAT

 

L’outil MSAT se compose de plus de 200 questions répartie en quatre catégorie :

  • Infrastructure,
  • Applications,
  • Opérations,
  • Personnes.

Les questions et les réponses associées proposées sont issues des recommandation et des best practices, des normes telles que ISO 17799 et NIST-800.x, et des recommandations fournies par Microsoft.

L’évaluation a pour but d’identifier le risque professionnel auquel votre organisation fait face et les mesures de sécurité déployées pour atténuer ce risque. Axées sur des aspects sécuritaires courants, les questions ont été développées de manière à fournir une évaluation globale des technologies, processus et des personnes qui prennent en charge votre activité.

Débutant par une série de questions relatives au modèle professionnel de votre société, l’outil MSAT génère un profil de risques métier (BRP, Business Risk Profile), qui mesure le risque lié aux activités professionnelles de votre société dû aux modèles professionnel et industriel définis par le BRP.

Une deuxième série de questions est posée afin de compiler une liste des mesures de sécurité qui ont été prises par votre société au fil du temps. Ensemble, ces mesures de sécurité forment des couches de défense et assurent une protection accrue contre les risques des vulnérabilités spécifiques. Chaque couche contribue à une stratégie combinée de défense en profondeur.

 

Cette somme porte le nom de DiDI (Defense-in-Depth Index). Le BRP et le DiDI sont ensuite comparés afin de mesurer la distribution des risques parmi les zones d’analyse (infrastructure, applications, opérations et personnes).

 

En plus de mesurer l’alignement des risques et des défenses de sécurité, cet outil mesure également la maturité de votre organisation en termes de sécurité. La maturité de la sécurité fait référence à l’évolution de pratiques de sécurité renforcées et maintenables. Au bas de l’échelle, peu de défenses de sécurité sont employées et les actions sont réactives. En haut de l’échelle, des processus établis et éprouvés permettent à la société d’être plus proactive et de répondre plus efficacement et de manière plus cohérente en cas de besoin.

Des recommandations en matière de gestion des risques sont suggérées pour votre environnement, en prenant en compte le déploiement existant en termes de technologies, la position actuelle en matière de sécurité et les stratégies de défense en profondeur. Ces suggestions ont pour but de vous guider vers de meilleures pratiques reconnues.

Cette évaluation a pour objectif de couvrir une plage étendue de zones de risques potentiels à l’échelle de votre environnement, plutôt que de fournir une analyse en profondeur de technologies ou processus particuliers.

En conséquence, cet outil n’est pas susceptible de mesurer l’efficacité des mesures de sécurité employées.

Ce rapport doit être utilisé en tant que guide préliminaire pour vous aider à développer une ligne de base et à vous focaliser sur les secteurs spécifiques qui requièrent une attention plus rigoureuse. Grâce aux conseils fournis par MSAT et aux activités de sécurité implémentées, vous pouvez exécuter l’outil aussi souvent que vous le souhaitez afin de comparer votre progression aux performances de référence établies dans le rapport MSAT.

 

Vue d’ensemble de l’outil

 

Le tableau suivant répertorie les domaines inclus dans l’évaluation des risques de sécurité.

 

 

 

 

 

Enjoy and Have Fun !

Catégories :Windows Étiquettes :

Créer une documentation rapidement

Nombreux d’entre nous avons à réaliser de multiple documentation pour nos clients.

Il y a plusieurs possibilités :

  • Reprendre une documentation existante,
  • Réutiliser une ancienne doc et la mettre à jour,
  • Spammer nos différentes DL à la recherche du document plus ou moins fait pour ne pas repartir de la feuille blanche,
  • Rechercher dans nos archives de quelques Giga, (évidemment sans avoir activé l’indexation…)
  • The Tool

Ce que je vous propose ici est un outil intégré à Windows depuis la version 7, et il me semble un peu amélioré sur Windows 8, il s’agit de PSR pour Problem Steps Recorder.

Cet outil peut également être utilisé par vos clients pour vous faire parvenir sous forme de documentation le problème qu’il rencontre.

Depuis Windows 7 :

 

 

 

 

 

 

 

 

 

 

 

Windows 8 :

 

 

 

 

 

 

Problem Steps Recorder est un outil qui va associé chaque actions de l’utilisateur a une capture d’écran indiquant (click, saisie, …)

Une fois lancé voici la « bête » l’outil ne présente pas des millions d’options, mais uniquement le strict nécessaire.

Démarrer un nouvel enregistrement.

 

 

 

 

 

 

Une fois l’ensemble terminé, arrêter l’enregistrement.

Vous avez alors la possibilité de sauvegarder l’ensemble au format ZIP incluant un fichier .MHTML

 

 

Plutôt pas mal pour réaliser des documentations utilisateurs voir même des fiches mémo pour les end users.

Et vous, qu’utilisé vous ?

Enjoy & Have Fun !

Catégories :Geeky, Windows Étiquettes :

Creer un vhd en moins de 10min

Défi du jour:

Créer un vhd avec un OS installé en moins de 10min et sans logiciel de virtualisation….

Impossible ? pas tout à fait…

Pour commencer il vous faut vos ingrédients:
– Votre ISO
– Un script a executer: http://archive.msdn.microsoft.com/wim2vhd/Release/ProjectReleases.aspx?ReleaseId=2603
– Un peu de place sur votre HDD
– Un tools pour lire les iso (deamontools, ou psmount, ou nero, ou …)
– Du scotch & Une console CMD en admin mode
– Une machine à café pas loin 🙂

Step 1:

Ouvrer votre ISO avec votre tool de prédilection
Et allé copier le chemin ou ce trouve le fichier : install.wim
(Dans le dossier source)

Step 2:

Ouvrer un invite MSDOS

Step3:

Depuis l’invite MSDOS, positionnez vous dans le dossier ou vous avez télécharger votre fichier WIM2VHD.wsf

Step 4:

Entrer:
cscript wim2vhd.wsf /wim: »coller le chemin de votre install.wim » /sku:ServerEnterprise /vhd: »Destination de votre vhd »
Pour la syntaxe complete je vous invite a ajouter /? y’a pas mal d’option

Noter que l’option sku est valable pour les OS Server sinon c’est inutile

Valider par entrée et c’est parti !

Vérifier bien que la commande ce lance, … vous pouvez retourner à la machine à café 🙂

Simple as 1,2,3 …

Enjoy & Have Fun

Catégories :Virtualisation, Windows Étiquettes :