PROJET EVOLUTION Cédric BERGOUGNOUX (Chef de projet) Stève BIAGINI Sylvain LAGARDE
Sommaire PROJET EVOLUTION... 1 I. PROJET EVOLUTION SUJET... 4 A. SERVEUR LINUX... 4 B. SERVEUR WINDOWS 2003... 4 DNS... 4 Sécurité... 4 Les impressions... 4 Les connexions réseaux... 4 Stratégie locale... 5 Gestion de l'espace disque... 5 Connexion aux lecteurs réseau... 5 Accès à distance... 5 II. MISE EN ŒUVRE... 6 C. DEVIS... 6 Serveurs HP ProLiant DL180 G6... 6 HP Proliant DL120 G5... 7 Récapitulatif... 7 D. ARCHITECTURE... 8 E. PLANNING... 9 F. DIAGRAMME DE GANT... 10 III. SERVEUR LINUX DEBIAN (SRVDEBIAN 192.168.0.3)... 11 Partitionnement et environnement... 11 Installation de paquage... 12 IV. SERVEUR PRINCIPAL WINDOWS 2003 (SRV2003 192.168.0.1)... 15 Installation des services :... 15 Mise en place du domaine BLB.local... 16 Installation et configuration de l'active Directory... 16 Installation et configuration du serveur DNS... 17 Installation et configuration du serveur DHCP avec la plage d'adresse 192.168.0.10 à 192.168.0.100 17 V. SERVEUR REPLICA WINDOWS 2003 (SRV2003R 192.168.0.2)... 18 Exécuter la commande "dcpromo" afin de lancer la procédure de réplication... 18 Indiquer l existence d'un serveur principal en cochant "Contrôleur de domaine supplémentaire pour notre domaine existant" afin que celui-ci soit reconnu comme serveur secondaire.... 18 Copie de l'active Directory... 19 Architecture de l Active Directory... 19 Une fois l Active Directory répliqué, mise en place du DHCP avec une plage d adressage d IP de 192.168.0.110 à 192.168.0.200... 20 Mise en place des Systèmes de Fichiers Distribués DFS.... 20 Pour une meilleur tolérance de panne nous avons fait un DFS par OU... 21 2
Stratégie de redirection de dossiers sur notre DFS, par exemple pour le service Administratif... 21 Stratégie de mot de passe répondants aux exigences de complexité et de 8 caractères minimum... 22 Stratégie de désactivation des lecteurs cd et disquettes... 22 Stratégie n'autorisant la modification de l'heure qu'à certains groupes de services.... 23 Stratégie pour la gestion de l espace disque (quotas) 5 Giga octet par utilisateur avec une alerte à 4 Giga octet.... 23 Stratégie de désactivation du moniteur d évènements... 24 Planification des audits... 24 Configuration des journaux... 25 Installation des imprimantes IP avec leur nom respectif aux services.... 25 Installation de freenas, configuration de l interface réseau (192.168.0.9)... 26 Administration de freenas par une interface web http://192.168.0.9:33290.... 26 La sauvegarde automatique se fait grâce aux logiciels Rsync sur freenas ainsi que delta copy sous Windows.... 27 Automatisation de la sauvegarde.... 27 VI. VB SCRIPTS... 28 VII. BASE SQL / PHP... 29 VIII. CHARTE GRAPHIQUE... 30 G. LOGO... 30 H. POLICES D'ECRITURE... 30 IX. GLOSSAIRE... 31 Windows 2003 Server... 31 SQL... 31 Php... 31 VB.net... 31 Active Directory... 31 DNS... 31 DHCP... 32 DFS... 32 OU... 32 X. ANNEXE... 33 Annexe 1 Script de remonter de disque réseau pour le Service Produit A.... 33 Annexe 2 Script de disque commun et raccourci bureau vers le FTP... 34 Annexe 3 proftpd.conf (Lignes modifiées)... 35 Annexe 4 smb.conf (Lignes modifiées)... 35 Annexe 5 Script de récupération automatique des données de chaque poste... 35 Annexe 6 MCD... 39 Annexe 7 MLD... 40 3
I. Projet EVOLUTION Sujet a. Serveur Linux Il nous a été demandé de mettre en place un serveur sous linux qui nous permettra de : Partager les données du serveur Linux pour les postes client Windows Mettre en place un service FTP (sécurisé et anonyme) Mettre en place un service http (intranet php_mysql) qui permet de visualiser les caractéristiques techniques et logiciels des autres machines du parc informatique. Mettre en place une sauvegarde automatique des données du FTP. b. Serveur Windows 2003 Il nous a été demandé de mettre en place deux serveurs Windows 2003 avec les caractéristiques suivantes : DNS Configurer les zones (en précisant le nombre de zone que vous avez) Prévoir une solution de tolérance de panne et la justifier Sécurité Mot de passe doit répondre aux exigences de complexité 8 caractères minimum Les impressions Il faut 1 imprimante pour chaque service nommée Print"nom du service" Une imprimante réseau pour tout le monde (les services Produit A et B ne peuvent imprimer qu'entre 8 heures du matin et 17 heures). La direction sont prioritaires sur toutes les impressions et les utilisent 24H/24. Le service informatique a contrôle total sur toutes les impressions. Mme LAPORTE et Mlle ADA (les assistantes des services SAV et direction peuvent imprimer chez les Services Informatique, Service Produit A et B. Les connexions réseaux Mme BEZIAT, ELLA, AYO, ACIEN ne peuvent se connecter qu'entre 08H et 18H et à 19H elles doivent être déconnectées (elles sont du service Produit A) Aucun salarié sauf la direction, le SAV et l'informatique ne peut se connecter entre 20H et 07H du matin. 4
Stratégie locale En dehors de la direction, des services informatique, personne ne peut installer de logiciels sur sa machine ni modifier l'heure. Les lecteurs disquette et CD sont désactivés sur les postes des services Produit A, B et SAV Gestion de l'espace disque Chaque utilisateur a droit à 5 Go sur le disque Mettre les alertes en cas de dépassement Connexion aux lecteurs réseau Chaque service doit avoir un répertoire nommé "Commun"nom du service"" qui sera attribué à chacun des salariés lors de sa connexion réseau. A l'intérieur de chaque répertoire, vous créerez un dossier pour chaque salarié (contrôle total sur celui-ci et aucun accès sur ceux des collègues). Seuls la direction et l'informatique peuvent y accéder en plus (juste lire pour la direction). Attribuer un dossier de base à 2 users locaux au choix. Attribuer un dossier de base à 2 users du domaine au choix. Planifier 2 audits au hasard. Configurer au moins 3 journaux à 3 jours. Désactiver le moniteur d'évènements. Accès à distance Tous les postes doivent être accessibles à distance. Tolérance de panne (au niveau de chaque machine et de tout le domaine). Prévoir une solution de tolérance de panne, la justifier et l'expliquer. Donner une liste de matériels prévus et les coûts associés. Créer des scripts (facilitant l'administration des serveurs). Créer des scripts de connexion (définissant l'environnement propre à chaque utilisateur). 5
II. Mise en œuvre c. Devis Pour pouvoir réaliser ce projet, nous avons besoin d'acheter du matériel informatique, à savoir trois serveurs. Deux serveurs qui tourneront sous Windows Serveur 2003 (Un serveur principal et un serveur réplica), et un serveur sous Debian 5.0. Type de processeur Vitesse du processeur Nombre de processeurs Mise à niveau du processeur Serveurs HP ProLiant DL180 G6 Processeur Intel Xeon E5520 2,26 GHz 1 processeur Evolution vers 2 processeurs possible Chipset Chipset Intel 5520 Mémoire Mémoire en standard Processeur bus latéral avant Mémoire maximale Logements pour la mémoire Lecteurs internes DDR3 sans mise en tampon (UDIMM) 6 Go (3 x 2 Go) de mémoire standard Bus frontal à 1066 MHz 24 Go (UDIMM) 12 logements DIMM Pas de disque dur en configuration standard Contrôleur de stockage Dimensions du produit (L x P x H) Garantie Contrôleur HP Smart Array P212/256 Mo (RAID 0/1/1+0/5/5+0) 44,80 x 71,71 x 8,76 cm 3 ans pièces, hors main-d'œuvre, sans intervention sur site 6
HP Proliant DL120 G5 Type de processeur Vitesse processeur Nombre processeurs du de Noyau processeur disponible Mémoire interne cache Processeur Intel Pentium E2160 bicœur à 1,80 GHz 1,80 GHz 1 processeur Double 1 Mo mém. cache niv. 2 Chipset Chipset Intel 3200 Mémoire Mémoire standard Processeur latéral avant en bus Mémoire maximale 8 Go Logements pour la mémoire PC2-6400 (800MHz) SDRAM DDR2 ECC sans tampon, entrelacement optionnel (activé quand les DIMM sont remplis par paires) 1 Go (1 x 1 Go) de mémoire en standard Bus frontal à 800 MHz 4 emplacements pour modules DIMM Récapitulatif Coût du serveur ProLiant DL180 G6 1795 HT x2 = 3490 HT et du Proliant DL120 G5 500 HT Disque dur HP 500 Go, Garantie 1 an ; 210 HT x9 = 1890 OEM Windows 2003 serveur Entreprise R2 SP2, 5 CAL = 459,33 x2 = 918,66 CAL 2003 serveur (Pack de 5 Clients) = 88,08 x 18 = 1585,44 Kaspersky BusinessSpace Security nouvelle licence 90 postes 1 an = 2347,45, remise 25% 1667,93 Total HT = 10 052,03 Total TTC = 12 022,22 7
d. Architecture Une fois les serveurs mis en place, le réseau ressemblera à ceci : 8
e. Planning Suite à la réunion avec notre DAF qui nous à fournis le cahier des charge ci dessus, nous avons réalisé le planning suivant afin de se fixer des dates butoir par partie à réaliser mais aussi afin de se répartir les tâches à effectuer. 9
f. Diagramme de GANT Diagramme de GANT réalisé pour suivre l'évolution du projet et se fixer des dates butoir.
III. Serveur Linux Debian (SRVDEBIAN 192.168.0.3) Partitionnement et environnement Voici le partitionnement du serveur, 20 Go pour le système avec un point de montage en / avec système de fichier ext3. 1 Téraoctet pour les répertoires personnels en /home avec un système de fichier ext3. 1 Go pour le fichier d échange (le swap) qui correspond à deux fois la mémoire vive.
Nous avons choisis de ne pas installer d interface graphique afin d alléger le serveur. Installation de paquage Webmin Téléchargement de la clé gpg En root wget http://www.webmin.com/jcameron-key.asc Installation de la clé : apt-key add jcameron-key.asc Dans le fichier /etc/apt/sources.list et ajout des lignes : - deb http://download.webmin.com/download/repository sarge contrib - deb http://ftp.debian.org/debian lenny main - deb http://ftp2.fr.debian.org/debian/ lenny main non-free contrib. - deb-src http://ftp2.fr.debian.org/debian/ lenny main non-free contrib Mise à jour des nouveau paquage avec la commande : apt-get update Installation de Webmin : apt-get install webmin 12
Webmin est une interface web permettant d administrer intégralement le serveur Debian. ProFTPD Installation de ProFTPD : apt-get install proftpd Modification du fichier proftpd.conf : nano /etc/proftpd/proftpd.conf (En Annexe 3) Donner les droits à tout le monde dans le dossier /home : Chmod 777 /home Donner les droits uniquement au propriétaire du dossier : Chmod 700 /home/utilisateurs Création d un utilisateur : useradd adminftp -s /bin/false useradd userftp -s /bin/false passwd adminftp passwd userftp 2009$Blb steve Pour une question de sécurité, les utilisateurs ont des droits restreints sur le serveur FTP. Modification du ficher /etc/shells en rajoutant la ligne : /bin/false /etc/ftpusers est le fichier dans lequel sont mentionnés les utilisateurs exclus du FTP, pour l'initialiser taper : cp /etc/passwd /etc/ftpusers Il faut qu'apparaissent dans ce fichier tous les utilisateurs du linux à l'exception de ceux créés précédemment (adminftp et userftp). Ceci permet que les utilisateurs du FTP ne soient que des utilisateurs autorisé sur le FTP et aucun autre. 13
Samba Installation de Samba : apt-get install smbs, samba Le fichier smb.conf est disponible en annexe 4 (Seulement les lignes modifiées) 14
IV. Serveur Principal Windows 2003 (srv2003 192.168.0.1) Installation de deux serveur 2003 avec 60 Giga octet pour le disque C (Système) et 1 Terra octet pour le D (Données). Installation des services : 15
Mise en place du domaine BLB.local Installation et configuration de l'active Directory 16
Installation et configuration du serveur DNS Installation et configuration du serveur DHCP avec la plage d'adresse 192.168.0.10 à 192.168.0.100 17
V. Serveur Réplica Windows 2003 (srv2003r 192.168.0.2) Mise en place de la réplication de l Active Directory Exécuter la commande "dcpromo" afin de lancer la procédure de réplication Indiquer l existence d'un serveur principal en cochant "Contrôleur de domaine supplémentaire pour notre domaine existant" afin que celui-ci soit reconnu comme serveur secondaire. 18
Copie de l'active Directory Architecture de l Active Directory Pour une meilleur organisation nous avons fait une OU pour chaque Service de la société (Administratif, Direction, Financier, Informatique, Produit A, Produit B et SAV). 19
Une fois l Active Directory répliqué, mise en place du DHCP avec une plage d adressage d IP de 192.168.0.110 à 192.168.0.200 Mise en place des Systèmes de Fichiers Distribués DFS. 20
Pour une meilleur tolérance de panne nous avons fait un DFS par OU Stratégie de redirection de dossiers sur notre DFS, par exemple pour le service Administratif 21
Stratégie de mot de passe répondants aux exigences de complexité et de 8 caractères minimum Stratégie de désactivation des lecteurs cd et disquettes 22
Stratégie n'autorisant la modification de l'heure qu'à certains groupes de services. Stratégie pour la gestion de l espace disque (quotas) 5 Giga octet par utilisateur avec une alerte à 4 Giga octet. 23
Stratégie de désactivation du moniteur d évènements Planification des audits 24
Configuration des journaux Installation des imprimantes IP avec leur nom respectif aux services. 25
Installation de freenas, configuration de l interface réseau (192.168.0.9) Pour la sauvegarde des données de la société nous avons utilisé le NAS qui était déjà présent dans la société et qui sera représenté dans ce projet par FREENAS. Administration de freenas par une interface web http://192.168.0.9:33290. 26
La sauvegarde automatique se fait grâce aux logiciels Rsync sur freenas ainsi que delta copy sous Windows. Automatisation de la sauvegarde. 27
VI. VB Scripts L'utilisation des scripts dans l'entreprise est primordial afin de définir des droits réseaux aux utilisateurs, mais aussi de faciliter l'administration des serveurs pour les administrateurs réseaux. Un script par service a été mis en place afin de faire remonter les disques réseau propre à chaque utilisateur en fonction de son service. (Le script pour le service "Produit A" se trouve en annexe 1). Un second script est mis en place sur toutes les OU afin de faire remonter un disque "Commun BLB", accessible à tous, ou chacun peut créer, modifier ou supprimer des données. Ce même script créer un raccourci sur le bureau de l'utilisateur qui pointe vers le disque FTP (qui est accessible aussi par FileZilla) (Ce script est en annexe 2). En plus de ceux-ci, nous avons ajouté un script qui, à l'ouverture de session, affiche un message en fonction d'un fichier texte situé sur le serveur. Grâce à ce fichier, nous pouvons informer les utilisateurs si nous sommes en train d'effectuer des maintenances ou non sur le réseau. Un script pour l'administration des serveurs a été développé. Il permet de créer automatiquement les dossiers "personnel" de chaque utilisateur en fonction d'un fichier texte contenant leur nom. En liaison avec le gestionnaire de parc informatique développé, nous avons jugé intéressant de rajouter un script récupérant, à chaque ouverture de session, des informations sur le poste au moment de la connexion de l'utilisateur. Ces informations sont directement envoyées dans la base de données en fonction du nom du poste. Elles sont alors directement visibles depuis le gestionnaire de parc informatique de la société. 28
VII. Base SQL / Php Il nous a été demandé de mettre en place un outil de gestion de parc informatique. Pour cela, nous avons suivis une formation sur les bases de données MySQL et sur le PHP. A la suite de ses deux formations, nous avons pus mettre en place un gestionnaire complet, permettant aux administrateurs réseaux un contrôle total, mais permettant aussi aux utilisateurs de l'entreprise d'y accéder, mais seulement en temps qu'utilisateur. Page d'accueil du site (faisant aussi office de page de connexion) En premier lieux nous avons eu besoin de mettre en place une base de données dont le MSD et le MLD se trouve en annexe 6 et 7. 29
VIII. Charte Graphique g. Logo La société BLB utilise le logo suivant : Basé dans un rectangle arrondi, sur fond clair, avec deux demi sphères de couleur bleu clair le tout entourant le nom de la société "BLB" (écrit en "Candara", couleur bleue, taille 72). h. Polices d'écriture Pour tous les types de titre, nous utiliserons la police "Candara". Pour les entêtes de document et les titres principaux, nous utiliserons la couleur bleue (en taille 54 pour les entêtes de document et en taille 16 pour les titres principaux). Pour les sous titres, nous utiliserons la couleur verte (en taille 14 et 12 suivant le niveau du sous titre). Le reste des textes devra être en Bodoni MT et en taille 11. 30
IX. GLOSSAIRE Windows 2003 Server Windows 2003 Server est un système d'exploitation orienté serveur développé par Microsoft. SQL Structured query language (SQL), ou langage structuré de requêtes, est un pseudo-langage informatique (de type requête) standard et normalisé, destiné à interroger ou à manipuler une base de données relationnelle. Php PHP (acronyme récursif pour PHP: Hypertext Preprocessor1), est un langage de scripts libre2 principalement utilisé pour produire des pages web dynamiques via un serveur HTTP1, mais pouvant également fonctionner comme n'importe quel langage interprété de façon locale, en exécutant les programmes en ligne de commande. VB.net Visual Basic.Net est un langage de programmation à la syntaxe similaire à celle de Visual Basic 6. VB.NET permet de développer en.net via Visual Studio, c'est à- dire seulement sur les systèmes d'exploitation Windows (98, 2000, XP, Vista). Active Directory Active Directory (AD) est la mise en oeuvre par Microsoft des services d'annuaire pour une utilisation principalement destinée aux environnements Windows. L'objectif principal d'active Directory est la fourniture à un réseau d'ordinateurs utilisant le système Windows de services centralisés d'identification et d'authentification. Il permet également l'attribution et l'application de stratégies, la distribution de logiciels, et l'installation de mises à jour critiques par les administrateurs DNS Le Domain Name System (ou DNS, système de noms de domaine) est un système permettant d'établir une correspondance entre une adresse IP et un nom de domaine et, plus généralement, de trouver une information à partir d'un nom de domaine. 31
DHCP Dynamic Host Configuration Protocol (DHCP) est un terme anglais désignant un protocole réseau dont le rôle est d'assurer la configuration automatique des paramètres IP d'une station, notamment en lui assignant automatiquement une adresse IP et un masque de sous-réseau. DHCP peut aussi configurer l'adresse de la passerelle par défaut, des serveurs de noms DNS et des serveurs de noms NBNS. DFS "Distributed File System", "système de fichier distribué" permettant à un client d'utiliser le système de fichier d'un serveur comme s'il s'agissait du sien. OU Les unités organisationnelles ou OU Les unités d'organisation sont des conteneurs Active Directory dans lesquels vous pouvez placer des utilisateurs, des groupes, des ordinateurs et d'autres unités d'organisation. Vous pouvez créer des unités d'organisation de façon à refléter la structure fonctionnelle ou commerciale de votre société. Chaque domaine peut implémenter sa propre hiérarchie d'unités d'organisation. Si votre organisation comprend plusieurs domaines, vous pouvez créer dans chaque domaine des structures d'unités d'organisation indépendantes des structures des autres domaines. 32
X. Annexe Annexe 1 Script de remonter de disque réseau pour le Service Produit A. Option Explicit Dim cheminpartage, lettrelecteur Dim cheminfichierbonjour cheminpartage = "\\BLB.local\Produit A\Commun Produit A" lettrelecteur = "S:" 'Déclaration de WshNetwork Dim WshNetwork,network,fso Set WshNetwork = WScript.CreateObject("WScript.Network") Set fso = CreateObject("Scripting.FileSystemObject") 'Démontage des disques existants If fso.driveexists(lettrelecteur) Then network.removenetworkdrive lettrelecteur End If 'Mappage des disques réseaux WshNetwork.MapNetworkDrive lettrelecteur, cheminpartage 33
Annexe 2 Script de disque commun et raccourci bureau vers le FTP Option Explicit Dim cheminpartage, lettrelecteur cheminpartage = "\\BLB.local\Commun BLB" lettrelecteur = "Z:" 'Déclaration de WshNetwork Dim WshNetwork,network,fso Set WshNetwork = WScript.CreateObject("WScript.Network") Set fso = CreateObject("Scripting.FileSystemObject") 'Démontage des disques existants If fso.driveexists(lettrelecteur) Then network.removenetworkdrive lettrelecteur End If 'Mappage des disques réseaux WshNetwork.MapNetworkDrive lettrelecteur, cheminpartage 'Script qui créer sur le bureau un raccourci vers les imrimantes Dim shell, cheminbureau, cheminftp, raccourci 'Récupération des chemins indépendemment de la version Windows et le lecteur Set shell = WScript.CreateObject("WScript.Shell") cheminbureau = shell.specialfolders("desktop") cheminftp = "ftp://192.168.0.3" 34
'Création du raccourci avec la méthode CreateShortcut de l'objet shell Set raccourci = shell.createshortcut(cheminbureau & "\FTP.url") raccourci.targetpath = cheminftp raccourci.save ServerName Annexe 3 proftpd.conf (Lignes modifiées) "srvdebian" ServerType DefaultRoot standalone /home/ Port 21 Annexe 4 smb.conf (Lignes modifiées) log file = /var/log/samba/log.%m encrypt passwords = true netbios name = srvdebian server string = %h server workgroup = BLB.local Option Explicit Annexe 5 Script de récupération automatique des données de chaque poste '========================================================= '============= Déclaration des variables ================= Dim Wshell,baseSQL,testSQL,reqSQL,resSQL,restestSQL Set Wshell = Createobject("Wscript.Shell") Set basesql = CreateObject("ADODB.Connection") Set testsql = CreateObject("ADODB.Recordset") 35
Set reqsql = CreateObject("ADODB.Recordset") '========================================================= '=Initialisation de la connexion à la base postgre locale= basesql.connectionstring = "Driver={MySQL ODBC 5.1 Driver};" _ & "SERVER=192.168.0.1;" _ & "DATABASE=evolution;" _ & "UID=admin;PWD=admin" basesql.open '========================================================= '=================== Connexion réussie =================== 'msgbox "Connexion au serveur OK",64,"SQL" '========================================================= '=========== Récupération du nom du poste client ========= Dim col,nom,computer Set col = Wscript.CreateObject("WScript.Network") nom = col.computername '========================================================= '===== Récupération du nom de l'utilisateur connecté ===== Dim userco Set col = Wscript.CreateObject("WScript.Network") userco = col.username '========================================================= '==== Récupération des informations matériels du poste === 36
Dim WMI,item Set WMI = GetObject("winmgmts:\\" & nom & "\root\cimv2") '========================================================= '===================== Disque dur ======================== Dim capadd,totaldd,dd Set col = WMI.ExecQuery("Select * from Win32_LogicalDisk where DriveType=3",,48) For Each item in col capadd = item.size/1024/1024/1024 totaldd = totaldd + capadd dd = int(totaldd) Next '========================================================= '========================== Ram ========================== Dim caparam,totalram,ram Set col = WMI.ExecQuery("Select * from Win32_PhysicalMemory",,48) For Each Item in col caparam = Item.Capacity/1024/1024 totalram = totalram + caparam ram = totalram Next '========================================================= '=========================== OS ========================== Dim os Set col = WMI.ExecQuery("Select * from Win32_OperatingSystem",,48) For Each Item in col 37
os = item.caption Next '========================================================= '========================== CPU ========================== Dim cpu Set col = WMI.ExecQuery("Select * from Win32_Processor",,48) For Each Item in col cpu = item.name Next '========================================================= '===================== Requète sql ======================= reqsql = "UPDATE poste " _ & "SET ddposte="& dd &", ramposte="& ram &", osposte='"& os &"', cpuposte='"& cpu &"', usercoposte='"& userco &"' " _ & "WHERE nomposte='"&nom&"';" Set ressql = basesql.execute(reqsql) '========================================================= '================== Requète sql réussie ================== 'msgbox "Requète envoyé correctement",64,"sql" '========================================================= '================= Déconnection de la base =============== basesql.close 38
Annexe 6 MCD 39
Annexe 7 MLD 40