Projet Personnalisé Encadré
Contexte GSB
Mise en place d'une solution de mise à jour logicielle
Pierre-Alexis Cherchillez 30/11/2015
PPE Projet Page 2 SOMMAIRE
Présentation du contexte GSB Liste des besoins
Cahier des charges incluant une estimation financière des investissements
Diagramme de Gantt du projet avec répartition des tâches entre les membres de l'équipe faisant apparaître les durées prévisionnels et les durées effectives
Description de la réalisation étape par étape Solution de mise à jour logicielle WAPT Manuel technique
Manuel utilisateur
Références bibliographiques (liste des sources documentaires) Conclusion sur le travail réalisé ou restant à faire
PPE Projet Page 3
Présentation du contexte
L’industrie pharmaceutique est un secteur très lucratif dans lequel le mouvement de fusion acquisition est très fort. Les regroupements de laboratoires ces dernières années ont donné naissance à des entités gigantesques au sein desquelles le travail est longtemps resté organisé selon les anciennes structures.
Le laboratoire Galaxy Swiss Bourdin (GSB) est issu de la fusion entre le géant américain Galaxy et le conglomérat européen Swiss Bourdin, lui même déjà union de trois petits laboratoires .
En 2009, les deux géants pharmaceutiques ont uni leurs forces pour créer un leader de ce secteur industriel. L'entité Galaxy Swiss Bourdin Europe a établi son siège administratif à Paris.
Une conséquence de cette fusion, est la recherche d'une optimisation de l’activité du groupe ainsi constitué en réalisant des économies d’échelle dans la production et la distribution des médicaments, tout en prenant le meilleur des deux laboratoires sur les produits concurrents.
Sur le site parisien, toutes les fonctions administratives sont présentes. On trouve en outre un service labo-recherche, le service juridique et le service communication.
D’un point de vue de l’infrastructure réseau, les serveurs assurent les fonctions de base du réseau et les fonctions de communication.
On trouve aussi de nombreuses applications métier et les fonctions plus génériques de toute entreprise. Un nombre croissant de serveurs est virtualisé.
Constitué autour de VLAN, le réseau segmente les services de manière à fluidifier le trafic.
Les données de l'entreprises sont considérées comme stratégiques et ne peuvent tolérer ni fuite, ni destruction. L'ensemble des informations est répliqué quotidiennement aux Etats- Unis par un lien dédié. Toutes les fonctions de redondances (RAID, Spanning-tree, clustering) sont mises en œuvre pour assurer une tolérance aux pannes maximale.
PPE Projet Page 4
Liste des besoins
Solution de déploiement des mises à jour Windows
Mettre en place une solution de déploiement centralisé des mise à jour Windows et des logiciels Microsoft pour alléger le réseau.
Cahier des charges incluant une estimation financière des investissements
Aucun investissement financier, tous les logiciels utilisés et testés sont gratuits.
Diagramme de Gantt du projet
Le projet a été divisé en 2 parties : une consacrée au déploiement système (Florian Moing) et l’autre au déploiement logiciel (Pierre-Alexis Cherchillez).
PPE Projet Page 5
Réalisation
- Installation de deux machines virtuelles Windows 7 Edition Intégrale et Windows Server 2008 sur l'outil de virtualisation VMWare.
- Installation dans le gestionnaire de serveur, dans les rôles du serveur DNS, DHCP et des services de domaine Active Directory.
- Création d'une étendue sur le serveur DHCP nommée "etendue 1" et ayant pour adresse IP de début 192.168.117.4 et adresse IP de fin 192.168.117.130.
- Configuration de la carte réseau de la machine Windows 7 : obtenir une adresse automatiquement et utilisation de l'adresse IP 192.168.151.254 du serveur DNS.
- Installation des mises à jour Windows Update afin d'avoir la machine client et le serveur à jour et que tous les logiciels de mises à jour puissent être testés sans problèmes majeurs et fonctionner correctement.
- Recherches sur Internet de documentations et fichiers concernant les logiciels de déploiement de mises à jour système et logicielle.
- Nouvelles installations de mises à jour sur les deux machines virtuelles.
- Continuation des recherches sur Internet.
- Téléchargement et installation sur le site web Lenovo du programme ThinkVantage System Update version 5.07.
- Installation de Microsoft .NET Framework version 4.0 ou une version ultérieure nécessaire pour le bon fonctionnement de System Update.
- Problème lors de la recherche de mises à jour du logiciel, recherche d'une solution sur Internet.
- Tentative de résolution du problème, dans "Exécuter", dans le menu démarrer de Windows, entrer Secpol.msc.
- Dans "Stratégie de Sécurité locale, clic sur "Options de Sécurité" puis ouvrir "System cryptography: Use FIPS compliant algorithms for encryption, hashing and signing" et désactivation de ce paramètre.
- Dans C:\Program Files\Lenovo\System Update\session\system\SSClientCommon, ouvrir MappingInterface.xml avec l'outil Notepad.
- Ajout de lignes supplémentaires dans le document.
- Installation de Windows Server Update Services, installation du rôle de serveur WDS, choix de serveur de déploiement et de transport.
- Installation de Microsoft Report Viewer Redistributable 2008.
- Choix de produits afin d'en obtenir les mises à jour.
- Désignation d'un ordinateur cible client afin de pouvoir y paramétrer des mises à jour.
PPE Projet Page 6 - Problème concernant le logiciel, recherche d'une solution sur Internet.
- Dans l'éditeur de stratégie e groupe local, suppression du fichier wuau.
- Téléchargement et installation du programme WAPT sur le serveur Windows 2008.
- Test du nom DNS du serveur win-q3neu6srcdr.pac.com, Adresse IP en 192.168.117.128.
- Configuration du mot de passe de la console WAPT.
- Création d'un couple clé privée - clé publique et ajout d'un préfixe pour les nouveaux paquets.
- Démarrage du serveur avec ces paramètres.
- Création d'un installeur personnalisé.
- Recherche de mises à jour logicielles depuis un dépôt privé lié au site WAPT.
PPE Projet Page 7
Solution de mise à jour logicielle WAPT
Raisons de choisir une solution de déploiement de mise à jour logicielle :
La gestion de postes Windows peut parfois prendre trop de temps.
L'univers Windows n'est pas le plus simple à appréhender : - entre les différentes versions (XP / Vista / 7)
- 32 bit / 64 bit
- UAC (User Acces Controler), UAC++
- Version familiale ou professionelle - Comportements aléatoires des installeurs
- Différents types de configuration réseau (DNS, proxy, ...) Chaque poste Windows a sa particularité.
PPE Projet Page 8 Qu'est-ce que WAPT ?
WAPT est inspiré de apt-get (debian/ubuntu) (gestionnaire de paquets sous Linux).
Adapté spécialement au monde Windows.
Un produit rendant les actions avancées plus faciles d'utilisation.
wapt-get, c'est :
Python pour la simplicité
Lazarus (Delphi) pour encapsuler Centré sur la signature des paquets.
Schéma présentant de manière simplifiée le rôle de WAPT au sein de l’entreprise :
Utile pour :
à partir d'un poste pour des petits réseaux
pour des grands réseaux en VPN
PPE Projet Page 9 Qu’est-ce que Lazarus ?
Lazarus est un logiciel de type RAD (développeur rapide d'applications), similaire à l'EDI Delphi d'Embarcadero. Sous Microsoft Windows, Delphi a la vitesse la plus rapide sous Windows et a la meilleure documentation, mais il n'a pas l'ensemble des possibilités multi- plates-formes de Lazarus. Sous Linux, Lazarus est l'un des meilleurs EDI disponibles.
Lazarus sous GNU Linux est beaucoup plus rapide, simple et stable que Delphi et Lazarus sous Windows.
Lazarus est sur la bonne voie pour devenir un puissant EDI RAD. Le projet Lazarus a une communauté importante de développeurs et de testeurs. La communauté résout les problèmes au travers de groupes de discussion, et les programmeurs envoient les correctifs. Les versions sont générées automatiquement pour être testées, ce qui rend le développement de Lazarus très dynamique.
PPE Projet Page 10
Manuel Technique
Pour la solution WAPT :
Installation du programme WAPT
L'environnement waptserver est constitué d'un serveur web qui fait office de dépôt (sur le modèle des dépôts apt-get) et d'un serveur d'inventaire pour faire le suivi des déploiements et la configuration des machines.
La base de données utilisée pour le serveur d'inventaire est mongodb.
Exécuter l'installeur waptsetup.exe en cliquant sur le bouton Exécuter.
Une série de fenêtres avec des options pré-remplies se succède (conserver les options par défaut).
L'assistant graphique d'installation s'ouvre, cliquer sur next
La GNU Public Licence s'affiche, il faut l'accepter en cochant la case "I accept the agreement" et cliquant sur "Next".
L'assistant propose un dossier d'installation de WAPT, vous pouvez le modifier si vous le souhaitez ; cliquer sur Next.
L'assistant propose alors un nom pour le raccourci dans le menu démarrer, il peut aussi être modifié ; cliquez sur Next.
L'assistant propose les tâches supplémentaires à effectuer :
o Installer le service WAPT : il sert à installer un logiciel sur un poste qui a des droits restreints
o Lancer l'icône de notification lors de l'ouverture de session : correspond au tray
o Forcer la réinstallation des redistribuables VC++ 2008 (pour openssl)
o Proposer la mise à jour des paquets à l'extinction du poste
o Lancer WAPT session setup à l'ouverture de session : configuration des logiciels adaptés à la session
L'assistant donne le choix entre :
o l'auto-détection des dépôts et du serveur grâce au DNS
o information ancrée dans WAPT
Repos URL : adresse du dépôt WAPT interne permettant de récupérer les logiciels
Server URL : adresse permettant à WAPT de remonter les informations au serveur
L'assistant récapitule alors les informations pour l'installation, cliquez sur Install
L'assistant montre alors la progression de l'installation, patientez jusqu'à ce que l'assistant signale que l'installation est terminée;
Deux actions peuvent finalement être sélectionnées :
o lancement de l'icône de notification : lancement du tray
o enregistrer l'ordinateur sur le serveur WAPT
PPE Projet Page 11
PPE Projet Page 12 Ouvrir la console WAPT
La console WAPT est accessible via le waptray Lancer la console WAPT.
Mise en place de certificats
Lancer la console de gestion de wapt via le wapttray Aller dans Outils > Création de certificat autosigné
Remplir les champs du formulaire, la seconde partie apparaissant dans les propriétés de la clé.
La clé publique et la clé privée sont automatiquement créées et placées dans les répertoires adéquats :
Le fichier xxxxxx.pem qui est la clef privée, est copiée dans le dossier C:\private. Elle servira à signer les paquets avant de les déployer sur vos repository. Ce fichier est d'une importance fondamentale ; il doit être conservé et correctement protégé.
Le fichier xxxxxx.crt qui est la clé publique, est copiée dans les dossiers C:\private et C:\wapt\ssl
PPE Projet Page 13 Mise en place manuelle
Sur la machine Windows de développement de paquet wapt, ouvrir une ligne de commande, et taper les commandes suivantes (modifier les nom xxxxxx.pem et xxxxxx.crt avec le nom de votre organisation).
mkdir c:\private cd c:\private
set OPENSSL_CONF=c:\WAPT\lib\site-packages\M2Crypto\openssl.cfg
C:\WAPT\lib\site-packages\M2Crypto\openssl.exe req -x509 -nodes -days 365 -newkey rsa:2048 -keyout xxxxxx.pem -out xxxxxx.crt
Le certificat aura une durée de validité de 365 jours (attention aux renouvèlements), sinon modifier la durée dans la commande ci-dessus.
La commande openssl.exe demande des informations sur le pays, la région, le nom de la société. On peut mettre ce que l'on veut comme valeurs, elles apparaîtront dans les propriétés du certificat.
Dans le répertoire C:\private nous allons trouver 2 fichiers importants:
Le fichier xxxxxx.crt est la clé publique qui peut être librement diffusée. Elle se retrouvera sur tous les postes wapétéisés. Cette clé permettra aux agent WAPT de certifier que le paquet à bien été packagé par vos soins.
Le fichier xxxxxx.pem est la clef privée. Elle servira à signer les paquets avant de les déployer sur vos repository. Ce fichier est d'une importance fondamentale et doit être conservé et correctement protégé.
Sur la machine sur laquelle vous développez vos paquets, il faudra que modifier le fichier de configuration wapt-get.ini.
[global]
repo_url=
private_key=c:\private\xxxxxx.pem
Ensuite,
Il faudra enfin déployer le fichier c:\wapt\ssl\xxxxxx.crt sur tous les postes autorisant l'installation de paquets signés avec votre clé.
Ce déploiement peut se faire en recompilant un installeur waptsetup.exe. propre à l'organisation.
Configuration du préfixe des paquets
Pour ne pas confondre entre les paquets proposés et ceux que vous dupliquez, nous
recommandons d'ajouter un préfixe devant les noms des logiciels. Pour se faire, allez dans la console > Outils > Configuration locale WAPT.
PPE Projet Page 14 Ajouter à la ligne "Préfixe pour la création de paquets WAPT" un acronyme de votre structure (exemple: Tranquil It Systems préfixe: tis)
Duplication de paquets
Dans l'onglet "Dépôt Externe", vous avez à disposition une multitude de logiciel que vous pouvez rapatrier sur votre serveur WAPT. Choisissez le ou les logiciel(s) et cliquez sur
dupliquer. La console WAPT se chargera automatiquement de signer les logiciels choisis et de les charger sur le serveur WAPT.
Installation des logiciels via la console
Tout est prêt maintenant pour installer vos logiciels à distance via la console WAPT.
Dépôt local de WAPT Ajout de logiciel
WAPT est un logiciel de déploiement, vous devez donc disposer de logiciel à déployer. Le site web Tranquil IT System propose une [bibliothèque de logiciel] que sa communauté a construite et qu'elle met librement à disposition.
Allez dans l'onglet "Dépôt Privé".
Cliquez sur "Importer depuis un dépôt".
Sélectionnez un ou plusieurs logiciels et "Importer".
Lors de l'importation, l'agent WAPT va automatiquement rapatrier les logiciels sélectionnés et les signer avec votre certificat créé précédemment. Après cette action, ils seront
immédiatement déployables sur les postes.
PPE Projet Page 15 Éditer un paquet
Les logiciels récupérés via un autre dépôt, peuvent être modifiés et personnalisés pour la structure (ex: ajout d'une adresse de proxy dans Mozilla Firefox). Pour personnaliser les logiciels, il est conseillé d'installer le paquet WAPT "waptdev" qui incorpore une suite de logiciel de développement.
clic-droit sur le logiciel > Editer le paquet.
Supprimer un paquet
Sélectionnez le logiciel : clic-droit > Supprimer.
Installer un logiciel
Pour installer un logiciel sur un poste, double cliquez sur le poste.
La fenêtre qui s'affiche correspond à la configuration du poste. Elle récapitule l'ensemble des logiciels que vous souhaitez installer dessus. Effectuez un cliquer glisser des logiciels présents dans la partie de droite vers la partie de gauche. Pour permettre l'installation du logiciel deux solutions sont proposé :
Sauver : cela permet de mettre en attente l'envoie logiciels. Ils seront installés soit par une action effectuée sur l'agent WAPT ou à l'extinction du poste.
Sauver et appliquer sur le poste : applique instantanément l'envoie et l'installation des logiciels.
Désinstallation d'un logiciel
Pour chaque logiciel installé via WAPT, il est possible de faire une désinstallation du paquet via la console dans le résumé du poste par un "clic-droit sur le logiciel > Désinstaller le paquet".
Groupe de logiciel
Pour faciliter l'installation de plusieurs logiciels, il est possible de créer des groupes.
Cliquer sur "Nouveau groupe", choisissez un nom et déplacer les logiciels vers le tableau de gauche. Les groupes de logiciels créés se trouveront dans la liste des logiciels. Pour ajouter un groupe à un poste, il suffit de suivre la procédure "Installer un logiciel" et de sélectionner le groupe.
PPE Projet Page 16 A chaque installation du client WAPT une remontée d'information est faite au serveur et vous pouvez les consultées à partir de la console dans l'onglet inventaire.
Pour effectuer l'installation d'un logiciel, sélectionnez le poste avec un clique droit et choisissez "Modifier la configuration du poste".
Déplacer le(s) logiciel(s) dans le tableau "Paquets devant être présents sur la machine" et cliquez sur le bouton "Sauver et appliquer sur le poste"
Suite à cette action, le client WAPT procède aux installations demandées.
Débogage
Un mode avancé avancé est proposé dans le menu Outils > Mode avancé : cela ajoute d'une zone où les logs sont affichés.
PPE Projet Page 17 Déploiement par GPO avec WaptDeploy par un partage http
Waptdeploy est un petit exécutable qui :
teste la version installée de wapt*.
télécharge par http l'installateur waptagent.exe.
lance l'installeur en silencieux avec des paramètres /VERYSILENT
/MERGETASKS=""useWaptServer"" (Les options cochées par défaut à la création de waptagent seront prises en compte.).
met à jour le serveur avec le statut de la machine (version wapt, situation des packages).
Il doit être lancé en tant qu'administrateur, d'où l'utilisation d'une GPO.
S'il n'y a pas de système de GPO disponible, on peut aussi utiliser un script de logon avec Procédure de mise en place :
Copier waptagent.exe sur https://wapt/wapt/.
Copier http://wapt/wapt/waptdeploy.exe dans le répertoire netlogon de votre AD ou répertoire C:\WINDOWS\SYSVOL\domain\scripts\.
Créer une GPO pour le domaine ou un groupe (OU) de machines.
Le numéro de version inscrit dans le champ "Paramètres de scripts" correspond au numéro de version de WAPT déployé.
Avec WAPT 1.3.4, il est nécessaire de placer un checksum dans les paramètres de scripts. Ceci permet de s'assurer que le waptdeploy ne lancera pas un installeur falsifié / corrompu.
Récupération du checksum :
$ sha256sum /var/www/wapt/waptagent.exe
0e592e9113ebe2e040ad945d7b887fc69843addb5950bf0dade20458be529a1d
Modifier les paramètres de scripts, placez au début des paramètres l'option --hash avec le checksum calculé auparavant :
--hash=0e592e9113ebe2e040ad945d7b887fc69843addb5950bf0dade20458be529a1d -- wait=15 --minversion=1.3.3.
Facultatif
Créer un fichier waptdeploy.version dans http://wapt/wapt/waptdeploy.version contenant la version et l'URL du waptsetup.exe 1.2.3.
Si waptdeploy.exe est lancé sans paramètre, il cherche un fichier
http://wapt/wapt/waptdeploy.version pour trouver la version minimale à installer et l'emplacement de l'installeur.
Une machine peut être simplement mise dans un groupe de machine si un paquet
correspondant à la configuration désirée du groupe a été créé, puis que ce paquet soit mis en dépendance dans chacun des paquets avec le nom FQDN des machines concernées.
On crée un "profil de poste" avec les paquets logiciels nécessaires à ce profil, et on affecte ce profil/paquet à une liste de machines (multi-sélection de machine / clic-droit / Ajouter un
PPE Projet Page 18 paquet oun groupe de paquets) La colonne "Groups" ne fait qu'afficher la liste des paquets dont dépend directement la machine. Ensuite, pour gérer les logiciels du groupe de machines, on gère en fait le paquet "profil de poste" dans l'onglet groupes de paquets, auquel on rajoute ou enlève des dépendances.
Utilisation avancée en ligne de commande
Le WAPT en ligne de commande est particulièrement efficace pour construire, tester et valider des paquets. Il est principalement destiné aux administrateurs du parc logiciel et aux développeurs de paquets WAPT.
Aide
Obtenir une liste des commandes possibles (après l'install, il faut ouvrir un nouvelle fenêtre CMD pour que le %PATH% soit pris en compte) : wapt-get
Commandes avancées :
Pour l'initialisation de session utilisateur
wapt-get session-setup [packages,all] : setup local user environment for specific or all installed packages
Pour le développement de paquets
wapt-get list-registry [keywords] : list installed software from Windows Registry
wapt-get sources <package> : get sources of a package (if attribute Sources was supplied in controle file>
wapt-get make-template <installer-path> [<packagename> [<source
directoryname>]] : initializes a package with an installer <exe or msi>
wapt-get build-package <directory> : creates a WAPT package from supplied directory
wapt-get sign-package <directory or package> : add a signature of the manifest using a private SSL key
Pour la gestion de dépôt
wapt-get upload-package <filenames> : upload package to repository (using winscp for example.)
wapt-get update-packages <directory> : rebuild a "Packages" file for http package repository
PPE Projet Page 19
Manuel Utilisateur
L’utilisateur n’a besoin que d’installer le client WAPT pour recevoir les mises à jour et installation logicielles directement sur son poste de travail. Il n’aura pas besoin de faire quoi que ce soit, c’est l’administrateur au sein de l’entreprise qui gère le déploiement des logiciels sur les différents postes de l’entreprise selon leur besoins (ex : obtenir un logiciel de
bureautique spécifique ou obtenir les dernières mises à jour d’un logiciel qui propose de nouvelles fonctionnalités.
Installation du client WAPT
Télécharger la dernière version de wapt sur votre poste Windows et lancer l'installation http://wapt.tranquil.it/wapt/waptsetup.exe
Pendant l'installation, cliquez sur "next" jusqu’à la page "Select Additionnal Tasks" et cochez la case "Start WAPT Tray icon at logon":
La page suivante "Installation options" renseigne les informations du serveur WAPT sur lequel le client WAPT doit se connecter :
PPE Projet Page 20 Cliquez sur "Next" jusqu'à la fin de l'installation.
Vous avez installé le client WAPT.
PPE Projet Page 21
Références bibliographiques
Recherches Internet :
https://support.lenovo.com/fr/fr/documents/ht080136 https://support.lenovo.com/fr/fr/documents/pd022501 https://support.lenovo.com/fr/fr/documents/migr-75236
http://www.decalog.net/article/epm-outil-de-centralisation-des-mises-jour-logicielles
http://linuxfr.org/users/fvolpi/journaux/wapt-apt-get-pour-windows-8588b6dc-aaa0- 4d83-a154-03940e5df810
http://philippe.scoffoni.net/automatiser-installation-mise-a-jour-logiciels-windows- wapt/
http://raisin.u-bordeaux.fr/IMG/pdf/WDS-JRaisin-juin2010.pdf
http://software.dell.com/fr-fr/products/kace-k2000-systems-deployment-appliance/
http://www.sonicwall.com/fr/fr/products/GMS-Application.html
http://www.decitre.fr/media/pdf/feuilletage/9/7/8/2/7/4/6/0/9782746075092.pdf
https://technet.microsoft.com/fr-fr/library/cc700840
http://microsoft.also.ch/fr/cloud/solutions-cloud/windows-intune/
https://technet.microsoft.com/fr-fr/library/Bb693791.aspx https://technet.microsoft.com/fr-fr/library/dd896954.aspx https://technet.microsoft.com/fr-fr/windows/hh147630.aspx https://technet.microsoft.com/fr-fr/library/cc700845.aspx http://www.microsoft.com/wsus
http://www.microsoft.com/sccm
http://www.tranquil-it-systems.fr/topic/tiswapt/
http://dev.tranquil.it/scenari/guide_admin/co/wapt_server_installation_windows.html http://www.it-connect.fr/hyper-v-et-les-captures-instantanees-snapshots/
http://bowlova.blogspot.fr/2011/11/resolved-error-occurred-while-gathering.html http://www.tech2tech.fr/pdq-deploy-deploiement-de-logiciels-et-mises-a-jour-sur-un- reseau-windows/
PPE Projet Page 22
Conclusion du Projet
Création d'un déploiement mise à jour logicielle à partir de la console WAPT. Début de la mise en place par GPO.
Création partielle d’un déploiement mise à jour logicielle avec PDQDeploy, solution de mise à jour à terminer.
Problèmes liés aux autres tests à cause du mauvais matériel (Lenovo) ou bien du système d'exploitation qui ne correspond pas à la demande (UpdatEngine pour Linux).
Problèmes concernant la machine virtuelle VMWare et le fonctionnement avec la console WAPT.