Microsoft Attack Surface Analyzer

L’outil gratuit Attack Surface Analyzer de Microsoft vise à identifier les éventuelles failles de sécurité introduites par l’installation d’ une nouvelle application sur un PC Windows.

Il fonctionne en 3 temps.

Analyse avant installation

Une fois installée, Microsoft Attack Surface Analyzer vous demande de procéder à une première analyse de votre PC avant l’installation de la nouvelle application, afin de capturer votre configuration actuelle.

L’analyse est faite par défaut avec l’option Run new scan.

Elle permet de servir de base de référence pour la suite. Elle produit un fichier Baseline Cab qui contient des fichiers XML.

Ces fichiers XML énumèrent:

  • les assemblies du GAC,
  • les fichiers du PC,
  • les clefs de registre,
  • la configuration du parefeu Windows,
  • les partages réseaux,
  • les sessions d’ouverure,
  • les ports réseaux,
  • les canaux nommés (« named pipes »),
  • les tâches en auto-exécution (« autorun »),
  • les terminaisons RPC (« endpoints »),
  • les services,
  • les processus en cours d’exécution,
  • les threads,
  • les handles,
  • la configuration de IIS.

ils récupèrent aussi:

  • les SID des services,
  • les journaux d’événements de sécurité,
  • les pages mémoires exécutables,
  • le vidage du démarrage système.

Installation de la nouvelle application

Lorsque l’analyse initiale est terminée, vous installez votre nouvelle application. Si l’installation de la nouvelle application nécessite un redémarrage, vous devez redémarrer avant de lancer la nouvelle analyse.

Une fois la nouvelle application installée et, éventuellement le PC redémarré, une nouvelle analyse doit être lancée avec l’option Run new scan.

Elle produit un fichier Product Cab qui contient aussi les fichiers XML.

Génération du rapport

Lorsque les deux analyses précédentes sont terminées, le rapport doit être généré grâce à l’option Generate standard attack surface report.

Microsoft Attack Surface Analyzer compare la Baseline Cab avec le Product Cab et il génère un rapport sous forme d’un fichier au format HTML.

Ce rapport est en 3 parties:

  • Résumé du rapport,
  • Problèmes de sécurité,
  • Surface d’attaque.

Résumé du rapport

Le résumé du rapport présente le détail des fichiers manipulés, ainsi que des informations générales sur l’ordinateur analysé.

Problèmes de sécurité

Jusqu’à maintenant, j’ai rencontré essentiellement des problèmes de sécurité liés aux ACL, ou à la désactivation du paramétrage NX (lire aussi nx-support-requirement-guide-windows-8), mais il existe bien sûr d’autres cas liés à l’architecture: Services, COM, DCOM, etc.

Le bouton Explain renvoie vers l’aide qui est explicite.

Bien que ce produit s’adresse à des informaticiens, Microsoft a fait un excellent travail pédagogique en explicitant les notions rencontrées. Pour ceux qui en veulent « plus », l’aide contient de nombreux liens vers des ressources complémentaires.

Surface d’attaques

Cette partie est un peu plus « touchy ».

En situation réelle, elle nécessite un travail personnel d’investigation non négligeable car il faut vérifier des dizaines, voire des centaines de lignes.

Certaines vérifications sont rapides (paramétrage d’IE, par exemple), d’autres nécessitent des vérifications approfondies (Kernel, processes, ACL, etc.).

Office Open XML

Microsoft Office 2007, Office 2010 et Office 2013 utilisent le format de fichiers Office Open XML. Ce format de fichiers ouvert est devenu un standard ISO en avril 2008.

Un objectif de l’initiative Open XML a été d’intégrer dans le nouveau format les caractéristiques des milliards de documents qui existent déjà. Afin d’aider les utilisateurs dans cette tâche, Microsoft a développé un ensemble d’outils généralement méconnus pour certains d’entre eux.

Le Gestionnaire de planification de migration d’Office (OMPM) est un ensemble d’outils qui vous permet de préparer un environnement pour une migration vers Microsoft Office 2010. Il contient un ensemble d’outils pour aider les organisations à analyser leurs documents et identifier les questions soulevées par une migration.

Après avoir scanné vos documents, vous pouvez importer les résultats dans une base de données Access puis visualiser le rapport. Pour chaque document, le rapport vous indique si l’outil a détecté des problèmes de conversion: chaque problème rencontré fait l’objet d’une proposition de solution

Eventuellement, vous pouvez utiliser Office File Converter (ofc.exe) pour convertir les documents dotés de l’ancien format binaire dans le nouveau format XML.

Créer dans Outlook des listes de distributi​on en fonction des catégories

Un collègue de travail m’a proposé une macro qu’il a écrit en VBA.

Dans Outlook, vous pouvez créer librement des catégories afin d’organiser ou classer vos contacts. Le souci rencontré est que rien n’est prévu dans Outlook pour exploiter cette information. Au contraire de logiciels comme Androïd qui vous permettent de sélectionner tous les contacts d’un groupe pour leur envoyer un email ou un sms.

La VBA développé par Jean-François permet justement de convertir automatiquement les catégories des contacts Outlook en listes des diffusion, pour tous les carnets d’adresses.

Comme j’ai trouvé son p’tit programme ingénieux, il a accepté de le partager avec vous sur mon blog.

CreerGroupesAvecCategories_V1_0_0.zip

Est-il possible de retrouver le contenu d’un ancien site web disparu ?

Lorsque vous surfez sur Internet, vous arrivez sur des sites web dont le contenu vous intéresse ou vous plaît. Puis vous prenez l’habitude de le fréquenter régulièrement, sans penser toutefois à enregistrer sur votre disque dur de votre ordinateur les fichiers intéressants. Mais un jour le site ne répond plus, bien que vous ayez bien tapé la bonne adresse dans votre navigateur. Ou bien, lors d’une recherche sur votre moteur de recherches, celui-ci vous indique la page d’un site qui vous intéresse. Lorsque vous cliquez sur ce lien dans Google, le site indique que la page n’existe pas, avec une erreur numéro 404 ou un message personnalisé.

Est-il possible de retrouver le contenu d’un ancien site web disparu ?

La réponse est affirmative. Le web possède ses propres archives. Les archives du web sont indépendantes du webmaster, ou du propriétaire du site web archivé. L’archive Internet la Machine Wayback est un service qui permet aux internautes de visiter les versions archivées des sites Web. Elle vous permet de surfer à travers plus de 150 milliards de pages Web archivées depuis 1996.

Comment marche la Machine Wayback ?

Sur la page d’accueil de la Machine Wayback, les internautes saisissent l’adresse d’un site web (par exemple : questcequecest.com ou www.google.fr). Puis vous cliquez sur le bouton Take me Back.

La Machine Wayback affiche alors les pages archivées du site, par années (2014, 2013, 2012, etc.). Il ne vous reste plus qu’à sélectionner une date, par exemple Oct 15, 2012 et vous pouvez surfer sur une version archivée du site Web du 15 octobre 2012.

Par exemple, pour voir directement le résultat pour le site Qu’Est-Ce Que C’est ?, cliquez sur ce lien : Qu’Est-Ce Que C’est ? en 2012 Comme vous pouvez le constater, le contenu de 2012 n’a plus rien à voir avec celui d’aujourd’hui car le propriétaire du site a changé entre temps. Soyez donc attentif que le contenu d’un site peut être entièrement différent, d’une année à l’autre.

Par ailleurs, il est possible que la Machine Wayback n’ait pas archivé l’intégralité d’un site, ni tout le temps. Autrement dit, il peut exister des trous dans les dates.

Enfin, nous supposons que l’archivage des sites américains est favorisé, au détriment des autres sites non-US.

Malgré ces inconvénients et grâce à la Machine Wayback, nous avons pu récupérer un fichier que l’administrateur d’un site avait supprimé.

Méthodes conventionnelles pour lutter contre les courriels indésirables

Il serait émis 200 milliard de spams chaque jour, soit 95% du volume d’emails échangé quotidiennement.

Le spam ou pourriel en français n’est pas seulement une nuisance. Un spam peut être parfois une menace potentielle: arnaque, fausse loterie, renvoie vers un site piégé pour une tentative de phishing (hameçonnage) ou de propagation de virus.

Dans cet article, les méthodes conventionnelles de lutte contre les courriers électroniques indésirables sont détaillées. Le prochain article présentera des méthodes moins conventionnelles pour lutter contre ce fléau. Un autre article arbordera la lutte contre les SMS spams.

Imaginez que vous recevez des emails non sollicités (spam) du site web www.monbosite.com, ou bien vous souhaitez simplement mettre fin à votre relation avec eux.

Passons en revue les différentes possibilités que vous avez à votre disposition pour réagir.

Etape 1 : Répondre à un email non sollicité

Pour arrêter de recevoir des emails indésirables d’un site web, vous pouvez être tenté de répondre en demandant d’être désabonné.

S’il s’agit réellement d’un spam, c’est une très mauvaise idée: ne répondez pas ! Car en faisant ainsi vous confirmez explicitement la validité de votre adresse email. Le spammeur en sera ravi.

Il est préférable d’aller directement à l’étape 4, voire à l’étape 5.

S’il s’agit simplement de mettre fin à l’envoi d’un email d’une liste de diffusion à laquelle vous vous étiez abonné et si l’expéditeur est sérieux et honnête, il doit y avoir un lien de désabonnement dans l’email. Si c’est le cas, allez à l’étape 2.

En l’absence de lien de désabonnement, formulez votre requête en étant court, anonyme et poli.

  • Une simple phrase comme « Prière de me désinscrire de votre liste d’abonné. Merci » suffit,
  • N’indiquez pas votre nom, ni vos coordonnées: peu importe, que le site possède ou non ces informations,
  • Dans le cas où vous possédez plusieurs adresses emails, répondez avec la bonne adresse email.

Etape 2 : Utiliser le lien de désabonnement

Généralement, ce lien se trouve tout en bas, ou parfois en haut de l’email. Dans tous les cas, c’est écrit en tout petit caractères:

Lien de désabonnement dans un email. Lien de désabonnement dans un email.

Le lien de désabonnement n’est à utiliser que s’il s’agit d’emails venant de sites que vous connaissez et fréquentez: ne cliquez jamais sur un lien qui se trouve dans un spam.

De manière générale, abstenez-vous de cliquer sur un lien d’un email, si vous avez le moindre doute.

Si vous cliquez sur le lien de désabonnement d’un email dans lequel vous avez confiance, prenez soin de bien lire le message qui s’affiche, car certains messages de désinscription sont tendancieux !

Dans tous les cas, vous ne devez pas donner plus que votre adresse email: pas de nom, ni de coordonnées, ni rien d’autres.

Les liens de désabonnements les mieux conçus ne demandent rien. Un code, contenu dans le lien, identifie automatiquement votre adresse email.

Confirmation de la désinscription d'une liste d'abonnés. Confirmation de la désinscription d’une liste d’abonnés.

Toutefois, certains liens de désabonnement ne fonctionnent pas. Dans ce cas, vous avez intérêt à utiliser l’email abuse@domaine qui est expliqué dans l’étape 3.

Etape 3 : Ecrire à l’adresse email abuse@domaine

Si le lien de désabonnement n’existe pas, ou semble ne pas fonctionner, ou si vous ne voulez pas l’utiliser, il vous reste encore la possibilité d’écrire à l’adresse email abuse@domaine, où « domaine » est le vrai nom de domaine du site qui émet l’email.

Cette adresse email particulière vous permet de signaler au propriétaire du site concerné que vous êtes victime d’un acte abusif ou malveillant de la part de son site web. Vous n’êtes même pas obligé de connaître une autre adresse email pour entrer en contact avec le site en question.

Si, par exemple, vous recevez un email abusif du site www.monbosite.com; vous pouvez leur envoyer un email à l’adresse abuse@monbosite.com pour le leur signaler.

Bien évident, ce n’est pas si simple car le propriétaire peut n’avoir pas mis en œuvre une adresse abuse@monbosite.com pour son domaine, ou il peut être négligent et ne pas traiter de manière régulière les messages reçus à l’adresse abuse@monbosite.com.

Pour ces raisons, il faut aussi envoyer un double de son email à l’hébergeur de www.monbosite.com.

Etape 4 : Ecrire à l’adresse email abuse@domaine de l’hébergeur du site abusif

Le principe est le même que celui décrit dans l’étape 3. La seule différence c’est que vous écrivez à l’hébergeur pour lui signaler les abus d’un site qu’il héberge.

L’hébergeur a les moyens d’agir sur le propriétaire du site pour que cesse les envois abusifs d’emails, s’ils sont avérés. L’hébergeur peut notamment « couper » le site web.

Le risque juridique de résilier l’hébergement, ou ne pas le résilier; est important pour l’hébergeur. Aussi, il y a de fortes chances que celui-ci instruise votre demande avec sérieux. Si votre demande est isolée, elle a peu de chances d’aboutir. En revanche, si votre demande vient s’ajouter à de nombreuses autres plaintes contre le propriétaire, celui-ci devra prendre les mesures pour que cesse les envois abusifs.

Le cas le moins favorable est la situation où l’hébergeur et le propriétaire du site sont une seule et unique personne, ou bien ils appartiennent tous les deux à la même organisation motivée par des objectifs crapuleux, politiques ou religieux.

Pour trouver l’hébergeur d’un site web, vous pouvez utiliser les outils suivants.
http://www.whoishostingthis.com (site WhoIsHostingThis, très simple)
http://uptime.netcraft.com/up/graph (site Netcraft, riche en informations)
Une fois que vous aurez trouvé l’hébergeur, vous pouvez le contacter à son adresse email abuse@domaine.

En cas d’échec, il est possible de s’adresser à des organismes officiels de lutte contre le spam, qui peuvent prendre le relais de vos demandes.

Etape 5 : Organismes de lutte contre les spams

A titre d’exemples, vous trouverez des réalisations faites en matière de lutte anti-spam, dans quelques pays francophones.

Les sites officiels de lutte contre les spams offrent la possibilité de dénoncer plus ou moins rapidement un abus.

SpamSquad est le portail belge de la lutte contre le spam.
http://www.spamsquad.be/fr/home.html
Signal Spam est association, soutenue par les pouvoirs publiques français, pour lutter contre les spams.
https://www.signal-spam.fr
La Confédération Suisse met plus l’accent sur l’information.
http://www.cybercrime.admin.ch/content/kobik/fr/home/themen/spam.html

S’équiper d’un logiciel anti-spam ?

Lorsqu’un email vous parvient, il a généralement subi plusieurs contrôles pour vérifier que ce n’est pas un spam. Le logiciel qui vous permet de lire vos emails (Thunderbird, Outlook, le webmail, etc.) est aussi équipé d’une protection contre les spams.

Ces filtres sont de plus en plus efficaces, en particulier dans les dernières versions.

A ce propos: plutôt que de supprimer directement un spam, il est préférable d’utiliser d’abord la fonction intégrée de votre logiciel anti-spam pour indiquer que ce message est un spam. Les filtres fonctionneront encore mieux.

Toutefois, si vous n’êtes pas satisfait du filtrage, vous pouvez éventuellement installer un logiciel anti-spam complémentaire. Il en existe beaucoup sur le marché mais prudence !

Une bande organisée de développeurs cybercriminels pourrait créer un logiciel qui assurerait en apparence les fonctionnalités anti-spam. Mais en réalité, l’objectif serait de récupérer des informations sur vos emails.

En effet, pour fonctionner ces logiciels tiers doivent analyser les emails que vous recevez. Ce fonctionnement pose déjà un problème non négligeable. Mais alors, comment s’assurer qu’ils n’analysent pas aussi ceux que vous émettez ? Ils pourraient s’en servir pour du ciblage commercial ou, pire encore, de la divulgation d’informations ciblées.

Si vous rencontrez des problèmes importants liés aux courriels indésirables, il est donc plus sage de changer votre client de messagerie pour une version plus récente.

Vous pouvez aussi consulter la liste des lies informatique du site SpamSquad. Il y a une rubrique consacrée aux logiciels anti-spams.
http://www.spamsquad.be/fr/fiches/fiche35.html

Anti Spam basé sur un système Challenge/Response ?

C’est un système où l’expéditeur d’un email doit prouver qu’il n’est pas un spammer.

Généralement, l’expéditeur reçoit la première fois un message lui demandant de cliquer sur un lien de contrôle ou de saisir un code Captcha.

Si l’opération se déroule correctement, l’adresse email de l’expéditeur est identifiée comme fiable. Les fois suivantes, il pourra envoyer un email au destinataire sans être interrogé.

Bien que ce système soit efficace pour stopper les spams, il présente des inconvénients. Par exemple, l’expéditeur peut ne pas être attentif au fait qu’une action est attendue de lui.

Par ailleurs, certains systèmes ne valident l’adresse d’un expéditeur que pour un destinataire donné. Dans le cas d’une organisation, cela suppose que l’opération d’identification doit être renouvelée pour chaque nouveau destinataire.

Windows: Infrastructure de classification des fichiers (FCI)

Windows Server 2008 R2 dispose nativement d’un ensemble de fonctionnalités regroupées sous l’intitulé Infrastructure de classification des fichiers ensemble de fonctionnalités (File Classification Infrastructure / FCI).

File Classification Infrastructure / FCI

FCI fournit des outils intégrés pour aider les administrateurs à gérer plus efficacement les fichiers, en réduisant les coûts, et pour atténuer le risque documentaire.

Ce produit permet de définir des propriétés de classification, de classer automatiquement les fichiers selon leur contenu ou leur emplacement et de gérer leur expiration. La classification est faite selon la planification définie.

Définition d'une propriété dans FCI (File Classification Infrastructure)
Le type de la propriété (ici: Multiple Choix List) défini le format de la donnée.

Les paramètres de classification peuvent utiliser des expressions régulières.

Par exemple, une politique d’expiration de contenu peut être définie en tenant compte de la date de dernière modification, d’une durée de conservation et des propriétés du fichier. Si les fichiers correspondent à ces critères, ils seront automatiquement déplacés sur un autre emplacement.

Une autre facette intéressante de FCI est sa capacité à produire des rapports périodiques ou à la demande sur la volumétrie ou l’utilisation des fichiers.

Si vous connaissez déjà SharePoint, vous remarquerez une très grande similarité avec la mise en oeuvre des stratégies de gestion des informations et les rapports du plan de gestion de fichiers, qui permettent d’afficher un rapport sur le contenu et les stratégies d’une liste ou une bibliothèque.

Synergie FCI et SharePoint

Cette similitude permet de créer une synergie entre FCI et SharePoint.

En effet, SharePoint n’a pas vocation à stocker tous les fichiers. Certains fichiers métiers doivent rester sur un serveur de fichiers pour des raisons de performances ou de facilité de gestion. En termes de gestion documentaire, la valeur de SharePoint réside plus dans le classement et la recherche des documents. Cela est facilité par l’utilisation des métadonnées et des types de contenu. Dans SharePoint 2010 et 2013, cette valeur a été amplifiée grâce au service de Métadonnées gérées, aux Ensembles de documents et à bien d’autres fonctionnalités de GED.

FCI peut aider au classement des documents dans SharePoint. Par exemple, il peut servir à alimenter les propriétés des documents Office avant qu’ils ne soient enregistrés dans SharePoint. En utilisant l’une des méthodes de classification disponibles (par contenu, par dossier, etc.), un certain nombre de fichiers pourraient avoir leurs métadonnées alimentées.

Comme les métadonnées des documents Office sont stockées avec le contenu du document, lorsqu’il est enregistré dans SharePoint, les métadonnées associées aux documents Office sont aussi stockées dans SharePoint. Elles sont donc immédiatement disponibles pour être affichées dans une colonne de l’affichage de la bibliothèque ou pour être indexées par le service de recherche de SharePoint.

Un prochain article expliquera comment le processus de transfert des fichiers d’un serveur de fichiers vers SharePoint peut être grandement automatisé grâce à l’Infrastructure de classification des fichiers (FCI) et PowerShell.

SharePoint: Organisateur de contenu

Lors de la mise en oeuvre SharePoint, les organisations veulent savoir comment « reprendre » le contenu présent sur les disques réseaux (ou les dossiers publics Exchange, ou les bases Domino NSF) pour les migrer vers SharePoint.

L’organisateur de contenu est une fonctionnalité de SharePoint 2010 et Sharepoint 2013. Cette fonctionnalité permet de déplacer des fichiers dans un dossier, une bibliothèque, ou un site de type centre de documents. Un site de type Centre de documents permet de centraliser le contenu d’une organisation afin de disposer d’un référentiel de documents. Les bibliothèques des centres de documents disposent par défaut des types de contenu Document et Lien vers un document.

L’organisateur de contenu vous permet de spécifier des règles de sorte que lorsque les fichiers entrent dans la bibliothèque de remise, les règles sont appliquées pour déplacer les fichiers à l’emplacement correct.

Un administrateur de site peut créer des règles basées sur des métadonnées pour définir comment un document sera déplacé dans une bibliothèque. Les règles sont définies dans les paramètres du site. Le site peut être un site quelconque à condition que la fonctionnalité Organisateur de contenu est activée.

L’activation de l’organisateur rajoute d’office une nouvelle bibliothèque, intitulée Bibliothèque de remise (nom interne: DropOffLibrary).

Dans les paramètres du site, de nouveaux menus apparaissent sous Administration du site:

Paramètres de l’organisateur de contenu

La menu Paramètres de l’organisateur de contenu permet de configurer l’organisateur de contenu du site.

Le paramètre Rediriger les utilisateurs vers la bibliothèque de remise, redirige vers les utilisateurs vers la bibliothèque de remise lorsqu’ils veulent télécharger des documents dans une bibliothèque du site, si celle-ci est concernée par une règle de l’organisateur de contenu. Autrement dit, si une bibliothèque est concernée par une règle de l’organisateur de contenu, l’utilisateur ne peut pas télécharger directement un dichier dans cette bibliothèque. Il sera automatiquement redirigé vers la bibliothèque de remise. Ce paramètre est activé par défaut.

Le paramètre Envoi vers un autre site permet de spécifier un autre site comme emplacement cible d’une règle. La fonctionnalité Organisateur de contenu doit être aussi active sur ce site. Cela peut être intéressant pour disposer d’un site unique pour gérer l’ensemble des règles, plutôt que d’avoir des règles sur chaque site concerné.

La paramètre Partitionnement de dossier permet de créer automatiquement des sous-dossiers dès qu’un nombre de fichiers déposés dans un emplacement cible dépasse un nombre donné. La valeur par défaut est de 2500 mais elle est modifiable. En revanche, l’intitulé du dossier est fixe (en dehors de la date et l’heure de création du dossier). A cause de cette limitation, son utilisation perd un peu de son intérêt.

Le paramètre Soumissions en double permet de contrôler comment doit se comporter SharePoint en cas d’ajout d’un fichier portant le même nom dans un emplacement cible. Si le contrôle de version de la bibliothèque cible est actif, vous pouvez demander à ce que SharePoint l’utilise. Si le cas se présente, Sharepoint créera une nouvelle version. Le résultat peut être assez hasardeux sauf s’il est possible de prédire avec certitude que les nouveaux fichiers qui viendront se déverser seront toujours plus récents que les fichiers déjà existants dans l’emplacement cible et qui possèdent le même nom. Généralement, je préfère activer l’autre option qui permet d’ajouter des caractères uniques à la fin des noms de fichiers en double.

Le paramètre Contexte de conservation permet de conserver les journaux d’audit associés aux documents et d’assurer une meilleure traçabilité en cas de contrôle.

Le paramètre Gestionnaires de règles indique qui sont les utilisateurs qui peuvent gèrer les règles et réagir lorsqu’un document ne correspond à aucune règle. Dans ce dernier cas, ils sont prévenus par email lorsque des soumissions ne correspondent à aucune règle ou lorsque la bibliothèque de remise n’est pas vide. Par défaut, le nombre de jours d’attente avant l’envoi d’un message électronique est de 3 mais il se modifie.

Le paramètre Points de soumission décrit les opérations supportées par le Web Service afin d’envoyer du contenu vers le site.

Règles de l’organisateur de contenu

Lors de l’ouverture des règles, SharePoint ouvre une bibliothèque intitulée Règles de l’organisateur de contenu (nom interne: RoutingRules). Si vous cliquez sur le lien Tout le contenu du site, vous ne verrez pas apparaître cette bibliothèque dans le navigateur web car son attribut masquer dans le navigateur est activé. En revanche, elle est visible si vous ouvrez le site avec SharePoint Designer.

Il ne faut pas confondre la bibliothèque Règles de l’organisateur de contenu qui stocke les règles avec la bibliothèque de remise qui stocke les documents sur lesquels les règles vont s’appliquer.

Les règles sont accessibles grâce au menu Actions du site > Paramètres du site > Règles de l’organisateur de contenu.

Si vous cliquez sur Ajouter un nouvel élément, vous pouvez créer une nouvelle règle.

Le paramètre Nom de la règle est important car il est conseillé d’indiquer dans le nom les conditions et les actions de la règle. Par exemple: Recherche et Développement si fichiers de type Recherche et Stochastique > 7.

Le paramètre État et priorité de la règle permet de fixer une priorité relative d’une règle par rapport aux autres règles. La priorité la plus forte est 1, tandis que la priorité la plus faible est 9. Par défaut, la valeur est sur la moyenne à 5. Si un envoi correspond à plusieurs règles, SharePoint appliquera celle dotée de la plus haute priorité. La priorité doit donc être planifiée soignuesement afin d’éviter des routages intempestifs. Ce paramètre permet aussi de désactiver la règle. Cela permet par exemple de la suspendre temporairement afin de vérifier le bon fonctionnement des autres règles ou inversement.

Dans le paramètre Type de contenu de l’envoi, il faut d’abord choisir un type de contenu, en filtrant d’abord sur le groupe qui le contient puis ensuite en le sélectionnant. Par exemple, j’ai créé un type de contenu intitulé SOCT_BPM. Dans l’hypothèse (défavorable !) où ce type de contenu aurait un autre nom sur un autre site, vous pouvez l’indiquer. Une fois que le type de contenu est choisi, le contenu du paramètre Conditions s’adapte automatiquement. Il est indispensable que les bibliothèques cibles gèrent le type de contenu sélectionné.

Le contenu des champs du paramètre Conditions dépend du type de contenu sélectionné au préalable. Les propriétés affichées dépendent donc du type de contenu. Une fois que la propriété est sélectionnée, il faut choisir le type d’opérateur: « est égal à », « n’est pas égal à », « est supérieur à », « est inférieur à », « est supérieur ou égal à », « est inférieur ou égal à », « commence par », « ne commence pas par », « se termine par », « ne se termine pas par », « contient tou(te)s les », « ne contient pas tou(te)s les », « est vide », « n’est pas vide ».

La liste des opérateurs dépend du type de la propriété. Pour une propriété de type nombre, la liste des opérateurs sera différente de celle d’une propriété de type choix.

Il reste à indiquer la valeur choisie pour définir la condition. La liste des opérateurs disponibles et la liste des valeurs dépendent directement du choix de la propriété.

Par exemple dans mon type de contenu SOCT_BPM, il existe une métadonnée nommée Comités, de type choix avec les valeurs: Recherche, Laboratoire, Marketing, Production et Administratif.

Il est possible d’ajouter plusieurs conditions. Il est aussi possible de supprimer toutes les conditions: la règle s’exécutera systématiquement. Dans ce cas, il faut veiller à la mettre en priorité faible, c-à-d un chiffre supérieur à 5 (cf. le paramètre État et priorité de la règle).

Le paramètre Emplacement cible indique où placer les fichiers concernés par cette règle. Si d’autres sites ont la fonctionnalité Organisateur de contenu activé, vous pouvez les sélectionner. Vous pouvez aussi obliger le regroupement des documents similaires.

Exemples de mise en oeuvre

Pour cet exemple, un site vide intitulé No man’s land a été créé et la fonctionnalité Organisateur de contenu est activée. Deux bibliothèques de documents ont été rajoutées: Recherche et Développement et Laboratoire.

Par ailleurs, il a été créé un type de contenu nommé SOCT_BPM avec 2 colonnes supplémentaires: Comités (type Choix) et Stochastique (Type Nombre). Ce type de contenue est associé à toutes les bibliothèques.

L’objectif est de déplacer les documents en respectant des règles précises:

Un document qui est estampillé Laboratoire (métadonnée Comités) doit être stocké dans la bibliothèque Laboratoire.
Un document qui est estampillé Recherche et qui a une valeur de stochastique > 5 et <= 7 doit être stocké aussi dans la bibliothèque Laboratoire. Un document qui est estampillé Recherche et qui a une valeur de stochastique > 7 doit être stocké aussi dans la bibliothèque Recherche et Développement.

Compte-tenu de la dépendance des 2 dernières règles, la dernière règle doit avoir une priorité plus élevée que l’autre. Soit, dans la pratique:

Comment effacer ses informations personnelles sur le web ?

De nombreuses informations peuvent être recueillies sur vous grâce au web et souvent sans votre permission.

Par exemple, avec un nom ou un numéro de téléphone, n’importe qui peut potentiellement identifier la maison où vous vivez et découvrir toutes sortes de renseignements personnels détaillés que vous ne voudriez pas que des étrangers apprennent.

Usurpation d’identité

Aussi, une des raisons qui peut motiver de vouloir effacer ses informations personnelles du Web est l’usurpation d’identité. L’usurpation d’identité est un phénomène qui prend de plus en plus d’ampleur. L’usurpateur se fait passer pour vous grâce aux informations qu’il a pu collecter sur le web et qui vous concerne.

Le principe est simple. Le criminel collecte votre nom, prénom, adresse, date de naissance, ainsi que d’autres données personnelles vous concernant. Ensuite, il utilise ses informations et vous vous retrouvez avec des amendes à payer, des redressements d’impôts ou d’autres tracasseries qui sont liées à ses agissements.

Dénigrement

Il existe une autre raison qui peut justifier que vous souhaitiez effacer vos données du Web. En particulier, si vous êtes l’objet d’une campagne de dénigrement ou de calomnie. Ce genre de campagne touche autant les entreprises que des particuliers.

Les informations récoltées sur vous peuvent se retourner contre vous. Dans le cas d’une campagne de dénigrement, certains excités n’hésiterons pas à venir vous harceler jusqu’à chez vous.

Préserver son intimité

Vous pouvez aussi craindre que vos informations soient vendues à des sociétés commerciales à votre insu.

Enfin, le souhait légitime de préserver votre intimité est suffisant.

Comment supprimer les informations personnelles sur Internet ?

Vous remarquerez qu’il est extrêmement facile de s’inscrire sur un site Web. Par contre, la désinscription ou la suppression du compte peut être parfois particulièrement difficile, voire impossible comme sur Facebook.

Cela signifie que vos données personnelles, celles que vous avez données à l’inscription ou par la suite, peuvent être indexées par un moteur de recherche ou pire volées.

J’ai testé des centaines de demandes de désinscription ou de suppression de compte sur des sites Web.

Même si la situation s’améliore pour les sites français, le constat est le suivant:

Dans l’ensemble, il existe quelques sites qui proposent une suppression directe du compte dans les menus. A de très rares exceptions près, cette option n’est pas facilement repérable dans les menus. Aussi, une recherche longue et méthodique sur le site est souvent nécessaire pour la trouver.

Très souvent, il faut faire manuellement une demande au webmestre du site en question. Au bout d’environ 72h, le webmestre répond favorablement à la requête. Mais, dans tous les cas, vous n’avez aucune certitude sur la réalité de la suppression. Finalement, la situation est la même que les sites qui refusent la suppression (Facebook, Google par exemple).

Malgré ces difficultés, vous avez des solutions pour effacer vos informations personnelles sur le web même quand c’est impossible de le faire.

Méthode pour supprimer systématiquement ses informations personnelles

Si vos intentions sont honnêtes, vous pouvez utiliser la méthode suivante qui fonctionne, y compris sur Facebook.

  • N’utilisez cette méthode que sur les sites qui n’ont plus aucune espèce d’importance pour vous,
  • Ne l’utilisez que si ce n’est pas illégal dans votre pays,
  • Ne l’utilisez pas sur des sites web officiels (impôts, administration, banques, etc.),
  • Ne l’utilisez pas pour tromper quelqu’un à des fins frauduleuses.

En cas d’escroqueries, les services de police vous retrouveraient avec votre adresse IP ou grâce à vos demandes de résolution DNS, via votre fournisseur d’accès à Internet. Ils disposent aussi de bien d’autres moyens.

En revanche, cette méthode est applicable si elle ne lèse personne.

Son seul objectif est de protéger légitimement votre vie privée ou de lutter contre toutes les formes de harcèlement.

Modifier vos informations

Cette méthode consiste à modifier vos informations personnelles AVANT de demander la suppression du compte.

Dans la gestion du compte, vous indiquez un faux nom (par exemple: Jean Martin), une fausse adresse (par exemple: 5 rue du Gal De Gaulle), un faux numéro de téléphone (par ex, 01 01 01 01 01), une fausse date de naissance (01/01/1970) etc.

Donnez des informations plausibles mais qui ne sont pas réelles, puis prenez soin de bien enregistrer ces informations.

N’usurpez jamais la véritable identité d’une personne: c’est illégal dans la plupart des pays. En France, l’usurpation d’identité est un délit prévu à l’article 226-4-1 du Code pénal et il est sanctionné d’un an de prison et de 15 000 euros d’amende.

Adresse email

Le changement d’adresse de messagerie n’est pas si simple car votre email sert souvent d’identifiant du compte. En cas de changement, le webmaster procède automatiquement à une vérification d’existence de l’email, ou encore il cherche à savoir si le nouvel email communiqué vous appartient réellement.

Aussi, après un changement d’email, vous recevrez un nouveau message de confirmation sur la nouvelle adresse de messagerie que vous aurez fourni. Pour parer à cette éventualité, vous pouvez créer un email temporaire et l’utiliser le temps de la demande de suppression.

Patienter pour plus d’efficacité

Une fois que les modifications sont faites, vous avez intérêt à patienter au moins 24 heures pour être certain que les données sont bien enregistrées. Il est même conseillé d’attendre 4 semaines avant de demander la suppression de votre compte.

Si vous avez pu modifier toutes les informations personnelles vous concernant, c’est à vous de voir s’il est réellement nécessaire de demander leurs suppressions…

Compte inactif

Dans l’hypothèse où votre compte ne serait pas supprimé, vous savez avec certitude qu’il ne renseignera plus personne sur vous, même en cas de défaillance du site web.

Pour savoir comment supprimer vos informations personnelles stockées chez Google, consultez l’article Comment supprimer ses traces de Google ?

Pour trouver les données détenues sur vous et publiées sur le web, lisez l’article Qu’est-ce que l’Identité Numérique ?

The Pragmatic Programmer: From Journeyman to Master (Andrew Hunt, etc)

The Pragmatic Programmer: From Journeyman to Master (Andrew Hunt, etc)

Ce n’est pas un livre pour apprendre le développement informatique.

C’est un livre pour apprendre à bien développer en informatique.

Il est à lire impérativement par les développeurs avec moins de 25 ans de pratique.

Bien sûr, tous les autres développeurs connaissent les bonnes pratiques présentées mais, quand même, une bonne piqûre de rappel ne serait pas inutile pour eux non plus 🙂

PowerShell: Commandes pour manipuler les formats de fichiers

Les formats de fichiers produits par les commandes PowerShell sont parfois déroutants.

Pourtant les exemples trouvés sur le web sont souvent simplistes car ils ne reflètent pas toujours la complexité de la réalité.

En effet, les « vrais » fichiers recèlent des pièges liés aux données elles-mêmes: présence de virgule ou de point-virgule dans les données au format CSV, etc.

Cet article est l’occasion de passer en revue les principales particularités des formats de fichier et les commandes associées.

Out-File

Pour obtenir la liste des services qui s’exécutent sur votre ordinateur dans un fichier texte, vous allez utiliser la commande Out-File.

Ouvrez une invite de commande PowerShell en tant qu’Administrateur et tapez:

Get-WmiObject win32_service | Out-File .services.txt

Ouvrez le fichier services.txt avec Notepad++:

ExitCode : 0
Name : AdobeARMservice
ProcessId : 1780
StartMode : Auto
State : Running
Status : OK

ExitCode : 0
Name : AdobeFlashPlayerUpdateSvc
ProcessId : 0
StartMode : Manual
State : Stopped
Status : OK

Dans ce cas, vous ne récupérez qu’une partie des informations d’un service, la disposition est sous forme de fiche et le fichier est encodé en UCS-2 Little Endian.

Encodage UTF-8

Pour avoir un encodage UTF-8, tapez:

Get-WmiObject win32_service | Out-File .services.txt -Encoding « UTF8 »

Par défaut, Get-WmiObject win32_service produit un résultat sous forme de liste. Pour avoir une disposition tabulaire, vous essayez:

Get-WmiObject win32_service | Format-Table | Out-File .services.txt -Encoding « UTF8 »

Le résultat:

ExitCode Name ProcessId StartMode State Status
——– —- ——— ——— —– ——
0 AdobeARMservice 1780 Auto Running OK
0 AdobeFlashPlayer… 0 Manual Stopped OK

Le « Name » est partiel. La mise en forme est peu pratique pour un traitement automatisé.

Commande Get-Service

Le résultat ne vous convenant toujours pas, vous changez de commande pour obtenir la liste des services. Au lieu d’utiliser Get-WmiObject win32_service, vous essayez la commande Get-Service qui par défaut produit un résultat sous forme de tableau:

Get-Service | Out-File .services.txt -Encoding « UTF8 »

Le résultat est encore différent:

Status Name DisplayName
—— —- ———–
Running AdobeARMservice Adobe Acrobat Update Service
Stopped AdobeFlashPlaye… Adobe Flash Player Update Service

En fait, la colonne Name (ainsi que DisplayName) est tronquée.

Export-Csv

Au lieu d’utiliser Out-File, vous allez utiliser Export-Csv. Tapez la commande suivante:

Get-WmiObject win32_service | Export-Csv .services.csv -Encoding « UTF8 »

Ouvrez le fichier services.csv avec Notepad++ et vous voyez apparaître beaucoup plus d’informations sous forme quasi-tabulaire:

#TYPE System.Management.ManagementObject#rootcimv2Win32_Service
« PSComputerName », »__GENUS », »__CLASS », »__SUPERCLASS », »__DYNASTY », »__RELPATH »,…
« MONORDINA », »2″, »Win32_Service », »Win32_BaseService », »CIM_ManagedSystemElement », »Win32_Service.Name= » »AdobeARMservice » » »,…
« MONORDINA », »2″, »Win32_Service », »Win32_BaseService », »CIM_ManagedSystemElement », »Win32_Service.Name= » »AdobeFlashPlayerUpdateSvc » » »,…

Pour éliminer la première ligne (« #TYPE System.Management.ManagementObject#rootcimv2Win32_Service »), il suffit de rajouter le paramètre -NoTypeInformation à la ligne de commande:

Get-WmiObject win32_service | Export-Csv .services.csv -Encoding « UTF8 » -NoTypeInformation

Ouvrez le fichier services.csv avec Microsoft Office Excel. Lors de son ouverture, Excel a détecté la présence du séparateur « ; » dans certaines lignes et il a séparé les données concernées dans la seconde colonne (« B »). Par exemple la description du « Service de cache de police Windows » contient un « ; »: « […] Il peut être désactivé ; il en résulte cependant une dégradation des performances des applications. »

Délimiteur spécifique

La présence inopportune du séparateur « ; » va rendre plus complexe le traitement des données lors de l’utilisation d’un Split(). Aussi, pour contourner ce problème, vous décidez de changer de délimiteur en choisissant un caractère plus rare comme ¤.

La commande devient:

Get-WmiObject win32_service | Export-Csv .services.csv -Delimiter « ¤ » -Encoding « UTF8 » -NoTypeInformation

Lorsque vous ouvrez le fichier services.csv avec Microsoft Office Excel, celui-ci n’arrive pas à séparer les colonnes automatiquement: l’assistant d’importation de texte se lance.

Assistant d'importation de texte d'Excel

Vous pouvez réduire le nombre de colonnes avec l’utilisation de la commande Select-Object. Par exemple, si vous ne voulez que le nom et la description (« Caption ») de chaque service, vous tapez la commande suivante:

Get-WmiObject win32_service | Select-Object Name, Caption | Export-Csv .services.csv -Delimiter « ¤ » -Encoding « UTF8 » -NoTypeInformation

Le fichier résultat est plus sobre:

« Name »¤ »Caption »
« AdobeARMservice »¤ »Adobe Acrobat Update Service »
« AdobeFlashPlayerUpdateSvc »¤ »Adobe Flash Player Update Service »

Import-Csv

Pour retraiter le fichier résultat, utilisez la commande PowerShell Import-CSV suivante:

Import-Csv .services.csv -Delimiter « ¤ »

Commande PowerShell Import-Csv

Pour traiter une seule colonne, vous utilisez la fonction Split() ou la variable automatique $_.

La commande suivante fournit la description de tous les services dont le nom débute avec la lettre « A »:

Import-Csv .services.csv -Delimiter « ¤ » | ForEach-Object {if($_.Name.StartsWith(« A »)){write-host $_.Caption}}

Si votre fichier services.csv ne possédait pas d’entête, la commande précédente échouerait. Pour y remédier, il suffit d’indiquer un entête dans la commande Import-Csv avec le paramètre Header:

Import-Csv .services.csv -Header (« Name », »Caption ») -Delimiter « ¤ » | ForEach-Object {if($_.Name.StartsWith(« A »)){write-host $_.Caption}}

Le résultat donne quelque chose comme:
Adobe Acrobat Update Service
Adobe Flash Player Update Service

Supprimer les double guillemets

Lorsque vous utilisez Export-CSV, cette commande ajoute automatiquement des guillemets autour de chaque donnée retournée. Pour enlever tous les guillemets des fichiers CSV à l’aide de PowerShell, l’article de Hey, Scripting Guy! donne une solution qui combine l’utilisation des commandes Export-Csv et Out-File. Toutefois, cette solution n’est pas pleinement satisfaisant car elle remplace aussi les guillemets qui seraient à l’intérieur d’une donnée !

(Get-Content .services.csv) -replace ‘ »‘, «  » | Out-File .services.csv -Encoding « UTF8 » -Force

Faites attention à l’affichage ambigüe des guillemets et des quotes dans WordPress. L’opérateur -replace a comme premier argument ‘ »‘, soit: une quote, un guillemet, une quote.
Le second argument est «  », soit: un guillemet, un guillemet.

La paramètre -Force permet d’écraser un fichier en lecture seule.

Une solution moins radicale consiste à utiliser une expression régulière avec la fonction replace pour supprimer uniquement les guillemets en début et en fin de chaîne de chaque donnée: ‘^ »(.*) »$’, ‘$1’. Le replacement doit se faire sur chaque donnée, et non pas ligne par ligne.

Tableaux / Arrays

Face à la diversité des choix, vous pouvez être tenté de manipuler toutes les données à l’aide de tableaux (« Arrays ») plutôt que de les stocker temporairement dans un fichier.

Si le volume de données manipulées n’est pas disproportionné, ce choix est souvent judicieux car la manipulation en mémoire reste souvent plus rapide que l’écriture sur un disque dur.

Toutefois, pour des raisons de conservations d’historique ou de traçabilité, vous devrez peut-être enregistrer les données manipulées dans un fichier.

Dans ce cas, n’utilisez pas l’opérateur -replace sur les objets. En effet, les commandes suivantes risquent de produire un résultat différent de vos attentes:

# Génére un fichier CSV à partir de la liste des services de l’ordinateur
Get-WmiObject win32_service | Select-Object Name, Caption | Export-Csv .services.csv -Delimiter « ¤ » -Encoding « UTF8 » -NoTypeInformation

# Alimente le tableau $Array à partir du fichier CSV
$Array = Import-Csv .services.csv -Delimiter « ¤ »

# Cherche à remplacer des caractères dans $Array puis génère un fichier TXT pour récupérer le résultat
$Array -replace « Adobe », »ADOBE » | Out-File .services-2.txt

# Cherche à remplacer des caractères dans $Array puis génère un second fichier CSV pour récupérer le résultat
$Array -replace « Adobe », »ADOBE » | Export-Csv .services-2.csv -Delimiter « ¤ » -NoTypeInformation

Le contenu de services-2.txt:

@{Name=ADOBEARMservice; Caption=ADOBE Acrobat Update Service}
@{Name=ADOBEFlashPlayerUpdateSvc; Caption=ADOBE Flash Player Update Service}

Le contenu de services-2.csv:

« Length »
« 61 »
« 76 »

L’opérateur -replace a converti l’objet tableau $Array en une seule chaine de caractères (string).

le fichier résultat services-2.txt contient les chaînes de caractères.

Le fichier résultat services-2.csv contient la longueur des chaînes de caractères. La chaîne « @{Name=ADOBEARMservice; Caption=ADOBE Acrobat Update Service} » fait exactement 61 caractères et la chaîne « @{Name=ADOBEFlashPlayerUpdateSvc; Caption=ADOBE Flash Player Update Service} » fait exactement 76 caractères.