You are on page 1of 11

Installation du service OCS Inventory ng Version : 2.1 RC.

Droulement des oprations :


Installation dUbuntu serveur 12.0.4 LTS. Recherche et documentation sur le service OCS Inventory. Installation des pr-requis : Apache2, PHP5, Service MySQL, modules Perl, PhpMyAdmin Installation du service OCS Inventory ng. Configuration de la connexion du service a la base de donnes MySQL. Initiation a OCS (interface web, remont dinventaire de la part du client), premire phase de test. Installation du serveur dans la DMZ (changement des paramtres du serveur et du client) Gnration et mise en place des certificats afin de scuris la connexion au site web et en vue du tl-dploiement, (mise en place du protocole SSL). Paramtrage du site OCS reports pour la mise en place dun FQDN (Nom de domaine pleinement qualifi) utilisation du certificat (certificat auto-sign), 2me phase de test. Cration de paquets, mise en place du tl-dploiement, 3me phase de test.

Installation de lOS.
Si vous ne savez pas installer Ubuntu serveur quittez tout de suite linformatique ! Sinon il faut inclure dans les services propos LAMP et openSSH cela peut toujours servir. En ce qui concerne la configuration du rseau ne pas laisser faire le service DHCP configurez le manuellement. Lorsque votre OS est installer passez donc a linstallation des dpendances, (build essential est requis pour linstallation de OCS), installer les modules Perl et PhpMyAdmin. En principe si vous avez inclus LAMP lors de linstallation de Ubuntu cela dj installer Apache2, PHP5 et le serveur MySQL.

Auteur : Racamier Stphane, Juin 2013.

Page 1/13

Installation du service.
Schma de larchitecture du service :

Le fichier de configuration du serveur de communication se nomme z-ocsinventory-server.conf il se situe dans /etc/apache2/conf.d/ Le fichier de configuration de la console dadministration se nomme ocsinventory-reports.conf et se situe au mme endroit. Le rpertoire dinstallation du service est /usr/share/ocsinventory-reports/

Avant le dbut de linstallation OCS effectue la vrification des prs requis et dautres vrifications que lutilisateur doit confirmer ou renseigner si OCS ne dtecte pas les bons paramtres. - Sur quel serveur se trouve la Base de donnes. - Port dcoute de la DB. - Dmon dApache - Fichier de configuration dApache. - Compte utilisateur dApache et son groupe. - Le chemin vers linterprteur Perl.

Auteur : Racamier Stphane, Juin 2013.

Page 2/13

Il installe par la suite de ces vrifications le serveur de communication. Il demande aprs cette installation si lon dsire procder linstallation de la console dadministration, la question suivante est o installer le rpertoire racine dApache. Dernire tape de linstallation de OCS redmarr le service Apache2. Accs a linterface web par lurl prsent : http://{adresse IP du serveur}/ocsreports Lors de laccs a linterface pour la premire fois OCS va lancer la procdure dinstallation de la base de donnes, il faut pour pouvoir effectuer cette tche au pralable avoir cre dans MySQL un utilisateur ayant tous les droits sur une base de donnes et dont la connexion nest possible que par local host. Exemple : - Utilisateur : ocsinventory, mot de passe quelconque. - Connexion a partir de : localhost, (vite que lon puisse se connecter a la base de donnes avec un utilisateur non appropri). - Base de donnes : ocsinventory. Ne pas oublier linterface dcoute du service MySQL (1) voir mmento. Dans le fichier de configuration du service ocsinventory il faut rentrer les paramtres de connexion la base de donnes, et oui je ne sais pas lexpliquer mais les paramtres saisie sur linterface web lors de linstallation ne sont pas pris en compte ! # Master Database settings # Replace localhost by hostname or ip of MySQL server for WRITE PerlSetEnv OCS_DB_HOST localhost # Replace 3306 by port where running MySQL server, generally 3306 PerlSetEnv OCS_DB_PORT 3306 # Name of database PerlSetEnv OCS_DB_NAME ocsinventory PerlSetEnv OCS_DB_LOCAL ocsinventory # User allowed to connect to database PerlSetEnv OCS_DB_USER ocsinventory # Password for user PerlSetVar OCS_DB_PWD **** (mot de passe en clair) Linstallation du service est faite nous pouvons passer a la premire phase de test. - Installer le client sur un systme Windows pour tester. Renseigner tous les champs requis lors de linstallation. Chemin URL du serveur : http://{your IP server}/ocsinventory Insr au besoin le serveur proxy, son port, et son type. Pour ce qui est du certificat nous montrerons par la suite comment lutiliser (dploiement dapplication et accs scuriser), mettre sans certificat.

Auteur : Racamier Stphane, Juin 2013.

Page 3/13

Petit exemple de larchitecture du client : Paramtres de connexion Agent Service Action de lutilisateur Systray, zone de notification

Fichier ocsinventory.ini paramtres de connexion.

Inventaire

Envoie au serveur

Certificat cacert.pem

Journal OCSInventory.log

Le dossier Agent se situe aux emplacements suivant, (les dossiers peuvent tre cach) : Windows 7 : C:\ProgramData\OCS Inventory NG\Agent Windows XP: C:\Documents and Settings\All Users\Application Data\OCS Inventory NG\Agent

Pour pouvoir modifier le fichier .ini il faut arrter le service. Le fichier journal donne de prcieuse information en cas dchec, il peut tre supprim ci celui-ci est trop volumineux afin dy voir plus clair ; il sera rgnr la prochaine tentative. Si vous pouvez voir votre ordinateur sur linterface web dOCS vous avez russi la premire phase de test.

Phase 2, Scurisation / ! \.
Gnr une clef priv. Cre un certificat. Auto-sign son certificat. Paramtrage de site web scuris (sites-available fichier de configuration des sites web). Connexion scuris du client au service OCS (fichier de configuration dOCS) Paramtrage manuelle du client partir du fichier ocsinventory.ini.

Requis : OpenSSL. Modification du fichier de configuration dOpenSSL et de son rpertoire. Rpertoire : /etc/ssl/

Auteur : Racamier Stphane, Juin 2013.

Page 4/13

Fichiers et dossier ajouter dans le rpertoire : serial (inclure la valeur 01 avec nano ), index.txt, certs (dossier), newcerts (dossier), private (dossier), crl (dossier). Si certains dossiers manque les cre avec mkdir . Fichier openssl.conf doit correspondre ceci au niveau de certains paramtres : #################################################################### [ CA_default ] dir = /etc/ssl # Where everything is kept certs = $dir/certs # Where the issued certs are kept crl_dir = $dir/crl # Where the issued crl are kept database = $dir/index.txt # database index file. #unique_subject = no # Set to 'no' to allow creation of # several ctificates with same subject. new_certs_dir = $dir/newcerts # default place for new certs. certificate = $dir/cacert.pem # The CA certificate serial = $dir/serial # The current serial number crlnumber = $dir/crlnumber # the current crl number # must be commented out to leave a V1 CRL crl = $dir/crl.pem # The current CRL private_key = $dir/private/cakey.pem# The private key RANDFILE = $dir/private/.rand # private random number file Gnration de la clef prive:
openssl genrsa -des3 -out server.key 1024

Si la commande est bien prise en compte, une passphrase vous est demande :
Generating RSA private key, 1024 bit long modulus .................++++++ .........++++++ e is 65537 (0x10001) Enter pass phrase for server.key: **** Verifying Enter pass phrase for server.key:****

Fixer la configuration:
mv server.key server-old.key openssl rsa -in server-old.key -out server.key

Cela permet de ne pas avoir renseigner la clef chaque opration. Gnration du certificat :
openssl req -new -key server.key -out server.csr

Rpondre aux questions qui vont suivre, attention au common name cela correspond au FQDN du serveur. Le CN ne peut contenir des majuscules, par consquent le non FQDN ne doit pas en contenir aussi. Auto-signature du certificat : openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt Auteur : Racamier Stphane, Juin 2013. Page 5/13

Si la commande est bien prise en compte, ce message apparait :


Signature ok subject=/C=FR/ST=Some State/L%3DMAVILLE/O%3DMABOITE/emailAddress%3Dmoi@monFAI.com State/L=MAVILLE/O=MABOITE/emailAddress=moi@monFAI.com Getting Private key

Exporter une copie du certificat sur votre client dans le rpertoire Agent en le renommant cacert.pem Scurisation de la console dadministration. Non ce nest pas la peine de vous donner du mal je vous fournis entirement le fichier de configuration du site mettre place dans sites-available. <IfModule mod_ssl.c> <VirtualHost (interface dcoute):443> ServerAdmin webmaster@localhost ServerName info.montesoro.net ---------------------Nom FQDN DocumentRoot /usr/share/ocsinventory-reports <Directory /usr/share/ocsinventory-reports/> ---- rpertoire dinstallation du service. Options Indexes FollowSymLinks MultiViews DirectoryIndex ocsreports ----------------------Permet de tomber directement sur le site. AllowOverride None Order allow,deny allow from all </Directory> SSLEngine On SSLCertificateFile /etc/ssl/certs/server.crt ----- la ou se situe votre clef priv prcdemment cre. SSLCertificateKeyFile /etc/ssl/private/server.key - Emplacement de votre certificat. Voila les plus importante lignes du fichier, pour le reste prendre dans default-ssl. Activer le module SSL dApache2 : a2enmod ssl Activer le site web cre : a2ensite nom du site Nouvelle URL de la console dadministration : https://your site/ocsreports Si vous avez rajout la directive DirectoryIndex tapez ladresse IP du serveur ou le nom FQDN directement dans la barre URL. Noublier pas de redmarrer le service dApache2 : service apache2 restart Essayer de vous reconnecter sur la console, un message davertissement devrait safficher comme quoi lidentit du serveur ne peut tre certifi. Cest tout fait normal le certificat ne fournit pas un chemin de confiance vers une autorit de certification connue (voir cours sur les certificats et les clefs de cryptage).

Auteur : Racamier Stphane, Juin 2013.

Page 6/13

Scurisation du client. Aprs avoir pralablement export une copie de votre certificat en le renommant en cacert.pem effectuer les oprations suivantes : Supprim votre machine du serveur dOCS. Stopper le service client DOCS sur la machine Windows. Editer le fichier ocsinventory.ini :

[OCS Inventory Agent] ComProvider=ComHTTP.dll Debug=0 0/1/2 0 : normal, 1 : mode parlant, 2 : debug. Local= NoSoftware=0 HKCU=0 NoTAG=0 IpDisc= ------ 0/1 Fonction IPDiscovery, dcouverte du rseau. [HTTP] Server=https://your IP or FQDN:443/ocsinventory ----- Chemin rseau vers le serveur. SSL=1 0/1 CaBundle=cacert.pem AuthRequired=0 User= Pwd= ProxyType=0/1/2/3 (optional) 0 : pas de proxy, 1 : proxy de type http, 2 : sock v4, 3 : sock v5. Proxy=w.x.y.z (optional) ProxyPort=* (optional) ProxyAuthRequired=0 ProxyUser= ProxyPwd= [OCS Inventory Service] TTO_WAIT=1920 PROLOG_FREQ=24 OLD_PROLOG_FREQ=24 Redmarr le service OCS du client. Cre un dossier ssl dans /etc/apache2/ y inclure server.crt et server.key (prsent dans le rpertoire OpenSSL) et redmarr apache2. Tester la remont du client sur le serveur, si le test est un succs vous avez pass la phase 2.

Phase 3, tl-dploiement dapplication.


Auteur : Racamier Stphane, Juin 2013. Page 7/13

Encadr en rouge licone pour le tl-dploiement. Au programme de la phase 3 : - Cration de paquets. - Activation. - Affectation (avec ou sans rgles).

Cration :
Cest le client OCS qui soccupe de dployer le paquet.

Priorit de 15 0, 0 tant la plus haute. 3 actions sont possibles : - Stocker. - Excuter. - Lancer

Contrle du test.

Le format du fichier doit tre zip ou tar.gz (dossier compresser) pour nimporte quelle action ! Auteur : Racamier Stphane, Juin 2013. Page 8/13

Pour laction stocker, il faut prciser le chemin o il sera dcompress sur la machine cliente. Action Excuter : renseigner quel fichier sera excut avec quels arguments. Action Lancer : ajouter le nom du fichier lancer contenu dans larchive.

*1

Activation du paquet :

*1 Timestamp, identifiant unique, rpertoire du paquet.

/var/lib/ocsinventory-reports/download est un dossier partag.

Auteur : Racamier Stphane, Juin 2013.

Page 9/13

Pour ne pas avoir de message derreur le mieux est de mettre lIP du serveur au lieu de localhost ou du nom FQDN. Serveur de fichier, cest le serveur ou se trouve le paquet. Serveur https, serveur de tl-dploiement. Dans mon cas mon serveur OCS joue les deux rles. Si lopration russi le serveur renvoi un message comme quoi le paquet peut dsormais tre affect.

Affectation :
Laffectation peut seffectuer de deux manires : - Par pc. - Par groupes (on cest permis de rquisitionner une salle). Allez dans traitements personaliss pour configur le poste client et dans Ajouter paquet .

Auteur : Racamier Stphane, Juin 2013.

Page 10/13

La fentre ci-contre saffiche aprs avoir cliqu sur Ajouter paquet , pour laffecter cliquer sur lune des icnes prsentent dans la colonne modifier correspondante au bon paquet. Pour lactivation par groupe lopration elle la mme il suffit de faire la mme chose dans le traitement personnalis du groupe. Si linstallation de paquet russi vous avez pass la dernire phase de test. Lors de la cration de paquet activer lavertissement de lutilisateur pour contrler son fonctionnement. Avec les groupes on peut dfinir des plateformes de test pour contrler des tl-dploiements de paquets avant de les affecter tous ltablissement. Erreur CSRF ATTACK !!! : voir dans le fichier de configuration dOCS ocsinventory-reports.conf aux lignes suivantes :
php_value post_max_size 101m --- taille a modifier php_value upload_max_filesize 100m ---taille a modifier

Cest la limite de taille des fichiers que lon peut uploader.

Mmento :
Dpendances dOCSinventory NG : MySQL, Apache2, PHP5, modules Perl.
(1)MySQL,

ne pas oublier de changer linterface dcoute du service, par dfaut MySQL ncoute que sa propre interface, cest--dire que lon peut configurer le service uniquement en utilisant la machine concern.

Auteur : Racamier Stphane, Juin 2013.

Page 11/13