SlideShare une entreprise Scribd logo
1  sur  18
PROJET LINUX - ANNUAIRE,
ADMINISTRATION ET DEPLOIEMENT
D’UN PORTAIL WEB D’ENTREPRISE
-= Documentation Technique =-
ÉQUIPE DE PROJET
Pieniek Solène
Joyeux Pierre-Emmanuel
Aubry Aurélien
PROJET LINUX - ANNUAIRE, ADMINISTRATION ET
DEPLOIEMENT D’UN PORTAIL WEB D’ENTREPRISE
1
SOMMAIRE
Versions du document ..........................................................................................................................................................2
Introduction..............................................................................................................................................................................3
I. L’environnement de projet.........................................................................................................................................4
A. Les techniques de virtualisation ..........................................................................................................................4
B. Choix de VMware ESXi............................................................................................................................................5
II. Choix des distributions GNU/LINUX .......................................................................................................................5
A. Pour les serveurs de l’entreprise .........................................................................................................................5
B. Pour les postes clients de l’entreprise...............................................................................................................6
C. Topologie de la maquette .....................................................................................................................................6
III. Annuaire LDAP ...............................................................................................................................................................6
A. Installation de l’annuaire OpenLDAP .................................................................................................................6
B. Configuration.............................................................................................................................................................7
IV. Portail WEB de l’entreprise.........................................................................................................................................7
A. Installation du serveur WEB Apache ..................................................................................................................7
B. Fonctionnement du site de l’entreprise............................................................................................................8
V. Exploitation et archivage des logs...........................................................................................................................8
A. Exploitation des logs...............................................................................................................................................8
B. La sauvagarde avec logrotate ..............................................................................................................................9
VI. Protection du serveur.................................................................................................................................................10
A. Le firewall IPtables .................................................................................................................................................10
B. Sécuriser le serveur SSH.......................................................................................................................................12
C. Alertes de connexion en tant que root ...........................................................................................................12
VII. Outils d’administration.........................................................................................................................................12
A. PHPLDAPADMIN pour administrer l’annuaire ..............................................................................................12
B. WEBMIN pour la gestion du serveur................................................................................................................13
VIII. Les problèmes rencontrés ...................................................................................................................................13
A. Environnement de virtualisation........................................................................................................................14
B. Packages....................................................................................................................................................................15
Conclusion...............................................................................................................................................................................15
Annexes....................................................................................................................................................................................16
A. L’arbre des distributions GNU/Linux ................................................................................................................16
B. Schéma de la maquette .......................................................................................................................................17
PROJET LINUX - ANNUAIRE, ADMINISTRATION ET
DEPLOIEMENT D’UN PORTAIL WEB D’ENTREPRISE
2
VERSIONS DU DOCUMENT
Version Date Commentaire
1.0 11/6/2013 Création du document
PROJET LINUX - ANNUAIRE, ADMINISTRATION ET
DEPLOIEMENT D’UN PORTAIL WEB D’ENTREPRISE
3
INTRODUCTION
L’entreprise Exia.CorpSystems nous a demandé de réaliser un projet avant le 8 Décembre 2013.
Ainsi, notre but était de mettre en place un serveur d’annuaire sur le serveur de l’entreprise. Ajoutons à
cela d’autres demandes parallèles du client comme la création d’un intranet avec un serveur Apache, la
mise en place d’un pare feu, l’archivage des logs du serveur et une personnalisation du site internet.
Quelques demandes supplémentaires, mais cependant facultatives, nous ont été demandées.
Par exemple, l’entreprise souhaitait avoir la possibilité de récupérer les logs d’authentification qui ne
sont pas passées, et de les archiver régulièrement. De plus, l’entreprise souhaiterait mettre en place un
protocole SSL et testait le tout avec trois machines Linux différentes (Debian, Ubuntu, Fedora)
A travers ce document technique nous allons vous présenter notre solution et les techniques
utilisées, afin que vous compreniez plus aisément notre travail sur votre projet.
Ainsi, en premier lieu, nous vous présenterons l’environnement de ce projet. Ensuite, nous
expliquerons nos différents choix de distributions. Par la suite, nous rentrerons dans les détails en vous
présentation l’installation et la configuration d’openLDAP, nous vous présenterons ensuite le portail web
de l’entreprise. Pour finir, nous vous expliquerons comment nous avons répondu à votre demande
d’exploitation et d’archivage des logs ainsi que la sécurité du serveur installé et configuré.
PROJET LINUX - ANNUAIRE, ADMINISTRATION ET
DEPLOIEMENT D’UN PORTAIL WEB D’ENTREPRISE
4
I. L’ENVIRONNEMENT DE PROJET
Avec l’avènement de la virtualisation et l’évolution constante des technologies informatiques, il
est dorénavant bien plus facile d’établir une maquette complète (clients, serveurs et réseaux)
virtuellement que matériellement. Dans ce chapitre nous verrons quelques hyperviseurs libres ou non-
libres, gratuits ou payants, puis nous spécifierons quel hyperviseur nous avons choisis pour élaborer la
maquette de ce projet.
A. LES TECHNIQUES DE VIRTUALISATION
Il existe un nombre assez conséquent d’hyperviseurs disponibles et un hyperviseur peut être
préférable à un autre selon l’utilisation qui va en être fait. Mise à part les distinctions de liberté et de
prix, les hyperviseurs se distinguent également par leur niveau de fonctionnement.
En effet, il existe des hyperviseurs qui vont exécuter des machines virtuelle dont le matériel est
complètement émulé au-dessus d’un système d’exploitation déjà installé, on parle d’hyperviseur de
deuxième type. Ce type d’hyperviseur est tout particulièrement adapté pour des tests ponctuels pour
éviter par exemple de polluer le système déjà en place et isoler les conséquences à la seule machine
virtuelle. Ces hyperviseurs sont très pratiques mais en contrepartie les performances sont
considérablement diminuées du fait de la surcouche engendrée par le système d’exploitation de la
machine physique ainsi que de l’utilisation des ressources de ce dernier. Pour ce type d’hyperviseur, on
a par exemple VMware Workstation, Hyper-V de Microsoft (rôle Windows Server) ou encore Parallels
Desktop pour les propriétaires ; Oracle VirtualBox et QEMU pour les libres.
Il y a ensuite les hyperviseurs de premier type. Cette fois-ci, l’hyperviseur est directement installé
sur la machine physique, d’où l’appellation « Bare Metal » et permet l’exécution de machines virtuelles
à un niveau plus proche du matériel, ce qui engendre une moindre perte en performances par rapport
à l’hyperviseur de deuxième type. Le support de l’hyperviseur se compose d’un noyau très léger ainsi
que du strict minimum au niveau des drivers et applications. En contrepartie, le management de ces
plateformes en est plus compliqué et les outils nécessaire aux opérations d’administration doivent êtres
déployés sur un autre poste physique. On pourra citer ici les hyperviseurs propriétaires VMware ESXi,
Hyper-V Serveur de Microsoft ou encore Citrix XenServer, ce dernier est basé sur l’hyperviseur libre Xen.
Il y a enfin les solutions dites de « cloisonnement » de système d’exploitation qui vont permettre
la création de containers au sein d’un système d’exploitation installé sur la machine physique. C’est une
virtualisation un peu spéciale, car seules les surcouches logicielles (shell, interface graphique…) sont
séparées (au sein de contextes), c’est-à-dire que les programmes de chaque contexte ne peuvent
dialoguer qu’avec les ressources de son propre contexte. Par contre le noyau (kernel) du système
d’exploitation hôte est partagé entre les contextes. Cette technique de virtualisation est la plus légère et
permet la création de dizaines de contextes sur une même machine tout en gardant des performances
optimales. Elle permet également à plusieurs systèmes d’exploitation de cohabiter sur le même système
PROJET LINUX - ANNUAIRE, ADMINISTRATION ET
DEPLOIEMENT D’UN PORTAIL WEB D’ENTREPRISE
5
à condition qu’ils partagent le même noyau. Le partage du noyau engendre d’autres limitations, par
exemple si le noyau crash, tous les environnements seront hors service, la validation de nouvelles
versions du noyau sont également à proscrire. Dans ce domaine, on pourra citer Virtuozzo de Parallels
en propriétaire et OpenVZ pour le monde du libre.
Bien entendu, les solutions de virtualisation citées précédemment ne sont pas les seules
existantes, bien d’autres sont disponibles et vont de leurs spécificités.
B. CHOIX DE VMWARE ESXI
Nous nous sommes positionnés sur la solution ESXi de VMware car sa réputation n’est plus à
faire. En effet, ESXi est l’un des hyperviseurs de premier type des plus utilisés et bénéficie de l’expérience
conséquente de VMware dans le domaine de la virtualisation.
Tout d’abord, il possède l’un des noyaux des plus légers pour les hyperviseurs de premier type
et l’interface d’administration est complète et assez intuitive.
II. CHOIX DES DISTRIBUTIONS GNU/LINUX
L’entreprise a choisi d’opter pour un environnement complètement basé sur des solutions libres
autant en termes de systèmes d’exploitation (serveurs et postes de travail) qu’en termes d’applicatifs
(annuaire LDAP, DNS, applications sur les postes client, etc…). Hors il existe un nombre quasi illimité de
distributions GNU/Linux (cf. Annexe A), il faut donc faire un choix parmi ces distributions.
A. POUR LES SERVEURS DE L’ENTREPRISE
GNU/Linux étant un système modulaire, on dispose d’un large choix de distributions et chacune
d’elle pourra convenir au besoin. Le choix se fera donc en fonction de l’organisation derrière la
distribution (entraide des utilisateurs très forte, contrat de support, fondation de la distribution…).
Dans cette optique, nous nous sommes positionnés sur une distribution Debian qui sera
dépourvue d’interface graphique utilisateur (GUI). En effet cette distribution est très utilisée en
environnement serveur et est maintenant éprouvée. Cette distribution ne repose pas sur un mécénat
mais sur une communauté de développeurs organisés de par le monde. De surcroit, elle est gratuite.
PROJET LINUX - ANNUAIRE, ADMINISTRATION ET
DEPLOIEMENT D’UN PORTAIL WEB D’ENTREPRISE
6
B. POUR LES POSTES CLIENTS DE L’ENTREPRISE
Il en va de même que pour les serveurs, les distributions principalement orientées station de
travail font foule. Chaque distribution peut-être dotée d’une interface graphique mais disposera
d’application plus ou moins différentes.
L’entreprise souhaite dans un premier temps assurer l’intégration des postes sous Debian et
Ubuntu (dérivée de Debian), c’est donc sur ces deux distributions que nous avons axés nos efforts. Bien
entendu, l’entreprise peut changer d’avis par la suite, c’est pour cela que nous avons effectués des tests
d’intégration sur d’autres distributions. Nous avons choisis Fedora (dérivée et sponsorisé par Red Hat),
OpenSUSE (dérivée de Slackware Linux et sponsorisée par Novell). De cette manière on couvrira un
éventail assez large.
C. TOPOLOGIE DE LA MAQUETTE
Le schéma (cf. Annexe B) montre l’organisation de notre maquette virtuelle du réseau.
Dans la réalité, les deux serveurs et les clients doivent être reliés entre eux par le réseau Ethernet
de l’entreprise. Sur notre environnement virtualisé, ceci consiste au lien des interfaces réseau des
machines virtuelles à un switch virtuel. Ce dernier est lié à la carte réseau physique du serveur, ce qui
permet la récupération des packages depuis l’Internet tout en modélisant le réseau souhaité.
III. ANNUAIRE LDAP
Pour créer le réseau d’entreprise Exia.CorpSystems, nous avons décidé d’utiliser l’outil d’annuaire
LDAP, OpenLDAP sous notre serveur Debian Squeeze 6.0. Grâce à cet outil, nous avons pu créer un
annuaire informatique comportant toutes les informations des utilisateurs et des groupes.
A. INSTALLATION DE L’ANNUAIRE OPENLDAP
Une fois notre serveur debian 6.0 installé, il a fallu ajouter les packages suivants slapd
correspondant au serveur LDAP, mais aussiopenldap-utils, package permettant au client de se connecter
à notre serveur LDAP.
PROJET LINUX - ANNUAIRE, ADMINISTRATION ET
DEPLOIEMENT D’UN PORTAIL WEB D’ENTREPRISE
7
B. CONFIGURATION
Une fois les packages installés, il a fallu lancer la commande dpkg-reconfigure slapd,
permettant ainsi de reconfigurer d’une manière plus complète le serveur LDAP. Ajouter à cela, nous
avons dû changer quelques paramètres au niveau du fichier ldap.conf (/etc/ldap/) et notamment ces
deux lignes :
BASE dc=exia,dc=corpsystems
URI ldap://10.69.127.108
#UNIQUEMENT EN CAS DE CONFIG SECURISEE
TLS_CACERT /chemin/des/certs
TLS_CACERTDIR /chemin/des/certs
Pour ajouter à la configuration du ldap.conf pour la sécurisation du serveur LDAP, nous avions
deux possibilités depuis la version du LDAP que nous utilisions, soit utiliser un fichier sldap.conf
(disponible dans /usr/share/docs/example/slapd/), soit paramétrer le serveur par l’intérmédiaire du
cn=config et de fichier ldif.
Nous avons décidé d’utiliser le sldap.conf, nos configurations sont ainsi directement intégrées.
IV. PORTAIL WEB DE L’ENTREPRISE
Durant leurs nombreux déplacements, chacun des collaborateurs a besoin de garder un contact
avec l’entreprise. Ainsi, le site de l’entreprise doit être accessible de l’extérieur. L’employé doit s’y
connecter en s’authentifiant grâce au login et au mot de passe de son poste client.
A. INSTALLATION DU SERVEUR WEB APACHE
Un serveur web est un logiciel permettant de rendre accessibles à de nombreux ordinateurs, des
pages web stockées sur le disque. Afin d’installer Apache et l’interpréteur de PHP, nous devons récupérer
les sources et les compiler. Pour ce faire, nous devons suivre les étapes suivantes.
En premier lieu, nous devons décompresser les archives. (tar zxvf *****.tar.gz) puis configurer
Apache et PHP. A la suite de la configuration nous pouvons enfin compiler PHP et installer Apache.
PROJET LINUX - ANNUAIRE, ADMINISTRATION ET
DEPLOIEMENT D’UN PORTAIL WEB D’ENTREPRISE
8
B. FONCTIONNEMENT DU SITE DE L’ENTREPRISE
Le site de l’entreprise doit comporter un module de connexion sécurisé à l’arrivée sur la page
d’accueil de la plateforme. Les utilisateurs doivent se connecter avec leurs identifiants de l’annuaire LDAP
puis à la connexion, le site affichera les informations relatives aux différents services de l’entreprise et
les modules seront personnalisés par rapport à l’utilisateur connecté.
V. EXPLOITATION ET ARCHIVAGE DES LOGS
Les logs (ou journaux) sont des fichiers très importants dans l’administration et la maintenance
des serveurs. Ils donnent des informations capitales sur les évènements systèmes, par exemple une
identification utilisateur s’étant mal passée ou tout simplement pour connaitre la fréquence d’utilisation
d’un composant. Les fichiers logs permettent de mieux comprendre ce qui s’est passé en cas d’erreur ou
de trouver des voies d’optimisation du serveur.
A. EXPLOITATION DES LOGS
L’entreprise souhaite que l’on détecte les authentifications qui n’ont pas fonctionné. De plus, les
logs obtenus doivent être réunis dans la même archive. Ces logs doivent, par ailleurs, être plus légers et
faciles à lire pour les employés de l’entreprise.
L’exploitation des logs est fastidieuse de par l’inondation d’informations contenues à l’intérieur.
Il s’agit donc ici d’extraire seulement les informations nécessaires de ces fichiers. Par exemple, on
souhaite garder un fichier log contenant les authentifications utilisateurs qui se sont mal passées. On va
donc utiliser un outil d’extraction des chaines de caractères, grep par exemple va nous permettre
d’extraire les lignes qui contiendraient la chaine de caractères « Failed password » pour ne garder que
les lignes concernant un accès refusé par mot de passe inconnu.
grep -i "invalid user" /var/log/auth.log > file : cette commande permettra
d’extraire les enregistrements concernant des logins inconnus et de les enregistrer dans le fichier file.
D’autres outils comme sed et awk existent et sont plus poussés permettant une extraction plus
fine des enregistrements.
Ces tâches peuvent être automatisées via la création de scripts.
En parallèle de ces logs, tous les autres logs du serveur fournis, doivent être archivés
automatiquement et régulièrement.
PROJET LINUX - ANNUAIRE, ADMINISTRATION ET
DEPLOIEMENT D’UN PORTAIL WEB D’ENTREPRISE
9
B. LA SAUVAGARDE AVEC LOGROTATE
Logrotate est un petit utilitaire permettant la gestion des fichiers de log du système. Il peut
sauvegarder, archiver et organiser ces fichiers automatiquement. L’archivage des logs est très important
aussi bien au niveau sécurité interne qu’au niveau législatif.
L’outil est essentiellement composé d’un script de rotation des logues et de ses fichiers de
configuration /etc/logrotate.conf et /etc/logrotate.d/. Le déclenchement du script est effectué par le
cron (cron, fcron ou vixie-cron). Lorsque le script est appelé, il examine les fichiers de logues qui
ont été spécifié dans la configuration de logrotate, et y applique le traitement définit comme la
compression des fichiers, l’archivage dans un dossier local ou sur le réseau, la numérotation ou l’ajout
de la date à l’archive, etc…
Logrotate est disponible sur les dépôts des majeures distributions orientées serveur et son
installation est très simple via le gestionnaire de paquets de la distribution concernée. Par exemple, la
commande d’installation sur Debian est : apt-get install logrotate
La configuration de logrotate est en deux parties : /etc/logrotate.conf pour le paramétrage
général de logrotate et /etc/logrotate.d/ qui est le dossier contenant les fichiers de configuration des
éléments à archiver.
Nous allons voir ici comme exemple, le paramétrage pour sauvegarder de manière journalière
le fichier de log des authentifications utilisateurs. Dans /etc/logrotate.d/rsyslog :
/var/log/auth.log {
olddir /var/log/archives/
rotate 366
daily
notifempty
compress
dateext
postrotate
invoke-rc.d rsyslog rotate > /dev/null
endscript
}
Chemin du fichier à archiver
Chemin de destination de l’archive
Durée de vie de 366 jours
Archivage journalier
Ne pas archiver si le fichier log est
vide
Compresser l’archive
Affiche la date en extension de
fichier
Commande de post logrotate
Recharge le fichier conf rsyslog
(anciennement reload, est devenu
rotate sur les dernieres versions)
PROJET LINUX - ANNUAIRE, ADMINISTRATION ET
DEPLOIEMENT D’UN PORTAIL WEB D’ENTREPRISE
10
VI. PROTECTION DU SERVEUR
De nos jours, il est absolument nécessaire de protéger au maximum nos serveurs des diverses
attaques provenant de la toile mais également de l’interne dans la mesure où un utilisateur peut apporter
un périphérique vérolé. C’est pour cela que plusieurs techniques permettent de contrer ces attaques
mais également de réduire la surface d’attaque des serveurs.
A. LE FIREWALL IPTABLES
IPtables (anciennement Netfilter) est le pare-feu intégré aux systèmes GNU/Linux. Il permet le
filtrage de paquets, la translation d’adresses (NAT), etc… Il est le plus utilisé en tant que pare-feu et NAT.
Son fichier de configuration se trouve dans /etc/iptables.up.rules. Sa configuration n’est pas à la portée
de tout le monde, c’est pour cela que plusieurs outils dédiés existent comme fwbuilder ou encore bastille.
Pour voir les règles actuellement définies, on utilise la commande iptables –L ce qui donne
en sortie :
On peut créer un fichier iptables.t dans /etc contenant les règles que l’on souhaite appliquer,
on ne va pas modifier le fichier de configuration directement. Dans ce fichier on crée les règles ci-
après :
*filter
# On accepte tout le loopback sauf sur le réseau 127.0.0.0/8
-A INPUT -i lo -j ACCEPT
-A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT
# On accepte toutes les connexions entrantes déjà établies
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# On autorise toute sortie
-A OUTPUT -j ACCEPT
PROJET LINUX - ANNUAIRE, ADMINISTRATION ET
DEPLOIEMENT D’UN PORTAIL WEB D’ENTREPRISE
11
# On accepte les connexions HTTP/HTTPS
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT
# On accepte le SSH
# THE -dport NUMBER IS THE SAME ONE YOU SET UP IN THE SSHD_CONFIG FILE
-A INPUT -p tcp -m state --state NEW --dport 30000 -j ACCEPT
# On autorise le ping
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
# log iptables denied calls (access via 'dmesg' command)
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
# Par défaut on rejet toute autre connexion entrante
-A INPUT -j REJECT
-A FORWARD -j REJECT
COMMIT
Pour activer ces règles, on utilise la commande iptables-restore < /etc/iptables.t
On vérifie avec iptables –L
Une fois que les règles sont bien celles que l’on souhaite, on les applique grâce à la
commande iptables-save < /etc/iptables.t
Le souci, c’est que les règles que nous venons d’appliquer disparaitrons au redémarrage du
serveur. Pour cela, on va créer un script. Nano /etc/network/if-pre-up.d/iptables
On y inscrit les lignes suivantes :
#!/bin/bash
/sbin/iptables-restore < /etc/iptables.up.rules
Puis on attribue les droits d’exécution au script grâce à la commande suivante :
chmod +x /etc/network/if-pre-up.d/iptables
PROJET LINUX - ANNUAIRE, ADMINISTRATION ET
DEPLOIEMENT D’UN PORTAIL WEB D’ENTREPRISE
12
B. SECURISER LE SERVEUR SSH
Il s’agit d’une petite configuration annexe, de base, le port SSH est le port 22, changer le port
d’écoute du serveur SSH permet de réduire les risques d’attaques, car le port 22 est connu pour être
celui du SSH.
C. ALERTES DE CONNEXION EN TANT QUE ROOT
On peut par exemple envoyer un mail de notification à l’administrateur en éditant le fichier
/root/.bashrc et on y ajoute les lignes suivantes :
echo 'Accès Shell Root le ' `date` `who` | mail -s `hostname` Shell Root de `who | cut -d"(" -f2 |
cut -d")" -f1` monitoring@test.com
L’administrateur étant le seul à pouvoir avoir accès à root, il sera prévenu en cas d’accès illicite.
VII. OUTILS D’ADMINISTRATION
Pour faciliter l’administration quotidienne des serveurs, il existe des interfaces WEB qui
permettent d’effectuer la majorité des opérations d’administration. Bien entendu, ces outils sont
toujours moins complets que l’utilisation des commandes.
A. PHPLDAPADMIN POUR ADMINISTRER L’ANNUAIRE
L’outil phpldapadmin permet la gestion par l’intermédiaire d’une interface web, de tous les objets du
serveur LDAP (Unité organisationnelle, groups, utilisateurs unix & samba…).
Cet outil est disponible à partir de la commande apt-get install phpldapadmin. Une fois
installée, une petite configuration est nécessaire pour se connecter à l’adresse :
http://10.69.127.108/phpldapadmin/.
Pour ce faire, nous avons besoin d’éditer le fichier config.php (/etc/phpldapadmin/).
# Config du nom du serveur qui sera affiché
$servers->setValue('server','name','LDAP Server - Exia');
# Config de l’adresse du serveur LDAP
PROJET LINUX - ANNUAIRE, ADMINISTRATION ET
DEPLOIEMENT D’UN PORTAIL WEB D’ENTREPRISE
13
$servers->setValue('server','host','10.69.127.108');
# Config du port (standard 389) :
$servers->setValue('server','port',389);
# Config de la base DNS du serveur LDAP
$servers->setValue('server','base',array('dc=exia,dc=corpsystems'));
# Config de l’authentification sur le portail web
$servers->setValue('login','bind_id','cn=admin,dc=exia,dc=corpsystems');
Une fois cette configuration effectué, et si le
serveur LDAP fonctionne correctement, nous
pouvons alors nous connecter pour la gestion
des objets du LDAP.
B. WEBMIN POUR LA GESTION DU SERVEUR
Nous avons opté, pour la gestion de certains points du serveur, d’utiliser une interface WEB. Ce dernier
est représenté par Webmin. Ce panel d’administration permet l’administration générale du serveur,
comme par exemple : Apache, MySQL, Samba, SSH, Firewall, LDAP Server…).
VIII. LES PROBLEMES RENCONTRES
Pendant ce projet, nous avons essuyés quelques mésaventures, nous allons les expliquer ici et
fournir les moyens de contournement dont nous avons eu recours ou les pistes que nous envisageons
pour régler les problèmes toujours en cours.
PROJET LINUX - ANNUAIRE, ADMINISTRATION ET
DEPLOIEMENT D’UN PORTAIL WEB D’ENTREPRISE
14
A. ENVIRONNEMENT DE VIRTUALISATION
Nous avions au départ un serveur spécial sur lequel nous devions installer ESXi, le souci fut que
l’hyperviseur ESXi 5.5 ne reconnaissait pas l’interface réseau du serveur et refusait de s’installer. Après
vérification auprès du supportVMware, il fut établi que la version 5.5 d’ESXi ne supportait plus les pilotes
de la carte réseau, une Realtek GB 8168, mais que les versions 5.0 et 5.1 prenaient en charge ce driver. Il
a donc fallu télécharger ces deux versions et les tester. Malheureusement aucune des deux n’a
fonctionné.
Après d’autres recherches, il a été établi la possibilité d’injecter le driver dans l’image ISO
d’installation d’ESXi. Nous avons donc utilisé ESXi Customizer, un petit utilitaire permettant l’injection
du driver. Cette fois-ci l’installation s’est correctement déroulée mais ce fut à l’utilisation que de
nouveaux problèmes sont apparus. En effet, après connexion avec vSphere, le serveur perdait la
connexion et l’administration était impossible.
Finalement nous avons essayés de passer sur Hyper-V Server 2012 R2. Qui est fournis
gratuitement et se résume à un Windows Server 2012 R2 en mode Core (sans interface graphique) et
seulement Hyper-V d’activé dessus. Le petit souci cette fois-ci fut l’administration d’Hyper-V. En effet,
Hyper-V Serveur est fait pour être utilisé en entreprise dans un environnement Active Directory. Hors,
l’administration à distance ne peut se faire que par les Hyper-V Management Tools depuis un compte
administrateur. En voici la procédure.
Tout d’abord, il a fallu créer un administrateur local sur l’Hyper-V (HVADMIN par exemple) et le
créer également sur le poste Windows 8 qui administrera le serveur (avec les même login/password que
sur le serveur Hyper-V). Ensuite, il a fallu activer l’administration à distance ainsi que le RDP sur le serveur
Hyper-V puis changer les paramètres de COM en autorisant les connexions distantes sur le poste
d’administration selon ce qui suit : Panneau de configuration / outils d’administration / Services de
composants. Dans la fenêtre, déplier Services de composants, et Ordinateurs puis effectuer un clic droit
sur Poste de travail. Se rendre dans l’ongle Sécurité COM et Editer les limites dans Permissions d’accès.
Autoriser les connexions anonymes à distance. Appliquer et tout fermer.
Il faut ensuite installer les RSAT (Remote Server Administration Tools) à télécharger depuis
Microsoft.com puis activer les outils d’administration d’Hyper-V (Panneau de configuration /
Programmes et fonctionnalités / Activer ou désactiver des fonctionnalités de Windows. Chercher et
cocher Outils d’administration Hyper-V et appliquer. Il faut enfin lancer la commande suivante dans un
invite de commande PowerShell en tant qu’administrateur :
Set-item WSMan:localhostclientTrustedHosts -value %servername% -concatenate
Nous pouvons dorénavant utiliser le Gestionnaire de serveur sur Windows 8 pour administrer
tous les serveurs à distance, don’t notre Hyper-V Server.
Finalement, tout ce qui a été fait précédemment n’a malheureusement servi a rien, un nouveau
serveur a été trouvé et ESXi a pu être installé. Les machines virtuelles tournent dorénavant dessus.
PROJET LINUX - ANNUAIRE, ADMINISTRATION ET
DEPLOIEMENT D’UN PORTAIL WEB D’ENTREPRISE
15
B. PACKAGES
Nous avons, à l’heure où nous rédigeons le rapport, un souci de connexion des hôtes sur le
serveur LDAP.
CONCLUSION
Finalement, ce document technique vous décrit précisément chaque partie de votre projet, leur
installation et leur configuration. Ce document est, cependant, basé sur nos connaissances dans ces
différents domaines mais ne prend pas appui sur le côté pratique de ce projet. En effet, comme dit dans
le document d’organisation du projet, bien que nos connaissances soient présentes, nous n’avons pas
réussi à les mettre en pratique durant ce projet.
En espérant que ce document soit assez précis pour vous prouver qu’il ne nous manque que la pratique
et non la théorie pour terminer ce projet dans les temps avec toutes les fonctionnalités demandées par
l’entreprise
Pour finir, voici quelques annexes pour vous aider à mieux comprendre notre maquette ainsi que les
différentes distributions Linux.
PROJET LINUX - ANNUAIRE, ADMINISTRATION ET
DEPLOIEMENT D’UN PORTAIL WEB D’ENTREPRISE
16
ANNEXES
A. L’ARBRE DES DISTRIBUTIONS GNU/LINUX
Ce document vise à montrer la multitude de distributions existantes plus ou moins
officiellement. Il peut être lu en détail à l’adresse suivante :
http://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_Timeline.svg
PROJET LINUX - ANNUAIRE, ADMINISTRATION ET
DEPLOIEMENT D’UN PORTAIL WEB D’ENTREPRISE
17
B. SCHEMA DE LA MAQUETTE

Contenu connexe

Tendances

Important Vm Ware Infrastrucutre Slides
Important Vm Ware Infrastrucutre SlidesImportant Vm Ware Infrastrucutre Slides
Important Vm Ware Infrastrucutre Slides
nouari
 

Tendances (20)

Amazon web services fonctionnement de quelques services
Amazon web services   fonctionnement de quelques servicesAmazon web services   fonctionnement de quelques services
Amazon web services fonctionnement de quelques services
 
Presentation kernel - Kernel Linux - Configuration – Compilation & installation
Presentation kernel - Kernel Linux - Configuration –  Compilation & installationPresentation kernel - Kernel Linux - Configuration –  Compilation & installation
Presentation kernel - Kernel Linux - Configuration – Compilation & installation
 
Rapport DVWA: File Upload
Rapport DVWA: File UploadRapport DVWA: File Upload
Rapport DVWA: File Upload
 
Procedure ocs et glpi
Procedure ocs et glpiProcedure ocs et glpi
Procedure ocs et glpi
 
Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0
Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0
Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0
 
Tutoriel : Apprendre à configurer et gérer un serveur Web sous Windows Server...
Tutoriel : Apprendre à configurer et gérer un serveur Web sous Windows Server...Tutoriel : Apprendre à configurer et gérer un serveur Web sous Windows Server...
Tutoriel : Apprendre à configurer et gérer un serveur Web sous Windows Server...
 
Etude de la virtualisation
Etude de la virtualisationEtude de la virtualisation
Etude de la virtualisation
 
Mdl ocsinventory 20100330-2
Mdl ocsinventory 20100330-2Mdl ocsinventory 20100330-2
Mdl ocsinventory 20100330-2
 
Mdl ocsinventory 20100330-2
Mdl ocsinventory 20100330-2Mdl ocsinventory 20100330-2
Mdl ocsinventory 20100330-2
 
Mdl ocsinventory 20100330
Mdl ocsinventory 20100330Mdl ocsinventory 20100330
Mdl ocsinventory 20100330
 
Ansible
AnsibleAnsible
Ansible
 
Microsoft - Solution Virtualisation Windows Server 08
Microsoft - Solution Virtualisation Windows Server 08Microsoft - Solution Virtualisation Windows Server 08
Microsoft - Solution Virtualisation Windows Server 08
 
Important Vm Ware Infrastrucutre Slides
Important Vm Ware Infrastrucutre SlidesImportant Vm Ware Infrastrucutre Slides
Important Vm Ware Infrastrucutre Slides
 
Vm ware
Vm wareVm ware
Vm ware
 
A Libre Ouvert : Virtual box
A Libre Ouvert : Virtual boxA Libre Ouvert : Virtual box
A Libre Ouvert : Virtual box
 
Introssis
IntrossisIntrossis
Introssis
 
Mise en place d'une infrastructure VDI de A à Z
Mise en place d'une infrastructure VDI de A à ZMise en place d'une infrastructure VDI de A à Z
Mise en place d'une infrastructure VDI de A à Z
 
Zabbix, garder un oeil toujours ouvert
Zabbix, garder un oeil toujours ouvertZabbix, garder un oeil toujours ouvert
Zabbix, garder un oeil toujours ouvert
 
SOLARIS 10 - Exercise - FR - 2008
SOLARIS 10 - Exercise - FR - 2008SOLARIS 10 - Exercise - FR - 2008
SOLARIS 10 - Exercise - FR - 2008
 
Docker en production et la sécurité … _
Docker en production   et la sécurité …  _Docker en production   et la sécurité …  _
Docker en production et la sécurité … _
 

Similaire à Document technique lamp linux

Alphorm.com Support de la Formation Oracle VM Administration
Alphorm.com Support de la Formation Oracle VM AdministrationAlphorm.com Support de la Formation Oracle VM Administration
Alphorm.com Support de la Formation Oracle VM Administration
Alphorm
 
Eranea : presentation technique de la solution de transcodage Cobol vers Java...
Eranea : presentation technique de la solution de transcodage Cobol vers Java...Eranea : presentation technique de la solution de transcodage Cobol vers Java...
Eranea : presentation technique de la solution de transcodage Cobol vers Java...
Eranea
 

Similaire à Document technique lamp linux (20)

Virtualisation
VirtualisationVirtualisation
Virtualisation
 
Alphorm.com Support de la Formation Oracle VM Administration
Alphorm.com Support de la Formation Oracle VM AdministrationAlphorm.com Support de la Formation Oracle VM Administration
Alphorm.com Support de la Formation Oracle VM Administration
 
Alphorm.com Formation VirtualBox
Alphorm.com Formation VirtualBoxAlphorm.com Formation VirtualBox
Alphorm.com Formation VirtualBox
 
Eranea : presentation technique de la solution de transcodage Cobol vers Java...
Eranea : presentation technique de la solution de transcodage Cobol vers Java...Eranea : presentation technique de la solution de transcodage Cobol vers Java...
Eranea : presentation technique de la solution de transcodage Cobol vers Java...
 
Journées du Logiciel Libre 2008
Journées du Logiciel Libre 2008Journées du Logiciel Libre 2008
Journées du Logiciel Libre 2008
 
Gestion des LOGS savec syslog+loganalyzer
Gestion des LOGS savec syslog+loganalyzerGestion des LOGS savec syslog+loganalyzer
Gestion des LOGS savec syslog+loganalyzer
 
[Webinar] Techniques avancées de création de workflow - FR
[Webinar] Techniques avancées de création de workflow - FR[Webinar] Techniques avancées de création de workflow - FR
[Webinar] Techniques avancées de création de workflow - FR
 
alphorm.com - Formation proxmoxVE 3
alphorm.com - Formation proxmoxVE 3alphorm.com - Formation proxmoxVE 3
alphorm.com - Formation proxmoxVE 3
 
Alphorm.com Formation VMware Workstation 11
Alphorm.com Formation VMware Workstation 11 Alphorm.com Formation VMware Workstation 11
Alphorm.com Formation VMware Workstation 11
 
Alphorm.com Formation Nagios et Cacti : Installation et Administration
Alphorm.com Formation Nagios et Cacti : Installation et AdministrationAlphorm.com Formation Nagios et Cacti : Installation et Administration
Alphorm.com Formation Nagios et Cacti : Installation et Administration
 
Rex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesRex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantes
 
resume-theorique-m105-15-02-2022-version-provisoire-62178e62b8a1f.pdf
resume-theorique-m105-15-02-2022-version-provisoire-62178e62b8a1f.pdfresume-theorique-m105-15-02-2022-version-provisoire-62178e62b8a1f.pdf
resume-theorique-m105-15-02-2022-version-provisoire-62178e62b8a1f.pdf
 
UE 2 PROJET - GROUPE MENANT--FERRY Th‚o, DO Alexandre, NADJAR Matt et Massi...
UE 2 PROJET - GROUPE MENANT--FERRY Th‚o, DO Alexandre, NADJAR Matt et Massi...UE 2 PROJET - GROUPE MENANT--FERRY Th‚o, DO Alexandre, NADJAR Matt et Massi...
UE 2 PROJET - GROUPE MENANT--FERRY Th‚o, DO Alexandre, NADJAR Matt et Massi...
 
InstallAnywhere 2014- FR
InstallAnywhere 2014- FRInstallAnywhere 2014- FR
InstallAnywhere 2014- FR
 
Les avantages de la virtualisation
Les avantages de la virtualisationLes avantages de la virtualisation
Les avantages de la virtualisation
 
Installation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey SpiderInstallation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey Spider
 
Premiers pas avec snort
Premiers pas avec snortPremiers pas avec snort
Premiers pas avec snort
 
Docker, Pierre angulaire du continuous delivery ?
Docker, Pierre angulaire du continuous delivery ?Docker, Pierre angulaire du continuous delivery ?
Docker, Pierre angulaire du continuous delivery ?
 
OpenERP/Odoo: Fiche Technique
OpenERP/Odoo: Fiche TechniqueOpenERP/Odoo: Fiche Technique
OpenERP/Odoo: Fiche Technique
 
Virtualisation et intégration des applications d'entreprise en environnement ...
Virtualisation et intégration des applications d'entreprise en environnement ...Virtualisation et intégration des applications d'entreprise en environnement ...
Virtualisation et intégration des applications d'entreprise en environnement ...
 

Document technique lamp linux

  • 1. PROJET LINUX - ANNUAIRE, ADMINISTRATION ET DEPLOIEMENT D’UN PORTAIL WEB D’ENTREPRISE -= Documentation Technique =- ÉQUIPE DE PROJET Pieniek Solène Joyeux Pierre-Emmanuel Aubry Aurélien
  • 2. PROJET LINUX - ANNUAIRE, ADMINISTRATION ET DEPLOIEMENT D’UN PORTAIL WEB D’ENTREPRISE 1 SOMMAIRE Versions du document ..........................................................................................................................................................2 Introduction..............................................................................................................................................................................3 I. L’environnement de projet.........................................................................................................................................4 A. Les techniques de virtualisation ..........................................................................................................................4 B. Choix de VMware ESXi............................................................................................................................................5 II. Choix des distributions GNU/LINUX .......................................................................................................................5 A. Pour les serveurs de l’entreprise .........................................................................................................................5 B. Pour les postes clients de l’entreprise...............................................................................................................6 C. Topologie de la maquette .....................................................................................................................................6 III. Annuaire LDAP ...............................................................................................................................................................6 A. Installation de l’annuaire OpenLDAP .................................................................................................................6 B. Configuration.............................................................................................................................................................7 IV. Portail WEB de l’entreprise.........................................................................................................................................7 A. Installation du serveur WEB Apache ..................................................................................................................7 B. Fonctionnement du site de l’entreprise............................................................................................................8 V. Exploitation et archivage des logs...........................................................................................................................8 A. Exploitation des logs...............................................................................................................................................8 B. La sauvagarde avec logrotate ..............................................................................................................................9 VI. Protection du serveur.................................................................................................................................................10 A. Le firewall IPtables .................................................................................................................................................10 B. Sécuriser le serveur SSH.......................................................................................................................................12 C. Alertes de connexion en tant que root ...........................................................................................................12 VII. Outils d’administration.........................................................................................................................................12 A. PHPLDAPADMIN pour administrer l’annuaire ..............................................................................................12 B. WEBMIN pour la gestion du serveur................................................................................................................13 VIII. Les problèmes rencontrés ...................................................................................................................................13 A. Environnement de virtualisation........................................................................................................................14 B. Packages....................................................................................................................................................................15 Conclusion...............................................................................................................................................................................15 Annexes....................................................................................................................................................................................16 A. L’arbre des distributions GNU/Linux ................................................................................................................16 B. Schéma de la maquette .......................................................................................................................................17
  • 3. PROJET LINUX - ANNUAIRE, ADMINISTRATION ET DEPLOIEMENT D’UN PORTAIL WEB D’ENTREPRISE 2 VERSIONS DU DOCUMENT Version Date Commentaire 1.0 11/6/2013 Création du document
  • 4. PROJET LINUX - ANNUAIRE, ADMINISTRATION ET DEPLOIEMENT D’UN PORTAIL WEB D’ENTREPRISE 3 INTRODUCTION L’entreprise Exia.CorpSystems nous a demandé de réaliser un projet avant le 8 Décembre 2013. Ainsi, notre but était de mettre en place un serveur d’annuaire sur le serveur de l’entreprise. Ajoutons à cela d’autres demandes parallèles du client comme la création d’un intranet avec un serveur Apache, la mise en place d’un pare feu, l’archivage des logs du serveur et une personnalisation du site internet. Quelques demandes supplémentaires, mais cependant facultatives, nous ont été demandées. Par exemple, l’entreprise souhaitait avoir la possibilité de récupérer les logs d’authentification qui ne sont pas passées, et de les archiver régulièrement. De plus, l’entreprise souhaiterait mettre en place un protocole SSL et testait le tout avec trois machines Linux différentes (Debian, Ubuntu, Fedora) A travers ce document technique nous allons vous présenter notre solution et les techniques utilisées, afin que vous compreniez plus aisément notre travail sur votre projet. Ainsi, en premier lieu, nous vous présenterons l’environnement de ce projet. Ensuite, nous expliquerons nos différents choix de distributions. Par la suite, nous rentrerons dans les détails en vous présentation l’installation et la configuration d’openLDAP, nous vous présenterons ensuite le portail web de l’entreprise. Pour finir, nous vous expliquerons comment nous avons répondu à votre demande d’exploitation et d’archivage des logs ainsi que la sécurité du serveur installé et configuré.
  • 5. PROJET LINUX - ANNUAIRE, ADMINISTRATION ET DEPLOIEMENT D’UN PORTAIL WEB D’ENTREPRISE 4 I. L’ENVIRONNEMENT DE PROJET Avec l’avènement de la virtualisation et l’évolution constante des technologies informatiques, il est dorénavant bien plus facile d’établir une maquette complète (clients, serveurs et réseaux) virtuellement que matériellement. Dans ce chapitre nous verrons quelques hyperviseurs libres ou non- libres, gratuits ou payants, puis nous spécifierons quel hyperviseur nous avons choisis pour élaborer la maquette de ce projet. A. LES TECHNIQUES DE VIRTUALISATION Il existe un nombre assez conséquent d’hyperviseurs disponibles et un hyperviseur peut être préférable à un autre selon l’utilisation qui va en être fait. Mise à part les distinctions de liberté et de prix, les hyperviseurs se distinguent également par leur niveau de fonctionnement. En effet, il existe des hyperviseurs qui vont exécuter des machines virtuelle dont le matériel est complètement émulé au-dessus d’un système d’exploitation déjà installé, on parle d’hyperviseur de deuxième type. Ce type d’hyperviseur est tout particulièrement adapté pour des tests ponctuels pour éviter par exemple de polluer le système déjà en place et isoler les conséquences à la seule machine virtuelle. Ces hyperviseurs sont très pratiques mais en contrepartie les performances sont considérablement diminuées du fait de la surcouche engendrée par le système d’exploitation de la machine physique ainsi que de l’utilisation des ressources de ce dernier. Pour ce type d’hyperviseur, on a par exemple VMware Workstation, Hyper-V de Microsoft (rôle Windows Server) ou encore Parallels Desktop pour les propriétaires ; Oracle VirtualBox et QEMU pour les libres. Il y a ensuite les hyperviseurs de premier type. Cette fois-ci, l’hyperviseur est directement installé sur la machine physique, d’où l’appellation « Bare Metal » et permet l’exécution de machines virtuelles à un niveau plus proche du matériel, ce qui engendre une moindre perte en performances par rapport à l’hyperviseur de deuxième type. Le support de l’hyperviseur se compose d’un noyau très léger ainsi que du strict minimum au niveau des drivers et applications. En contrepartie, le management de ces plateformes en est plus compliqué et les outils nécessaire aux opérations d’administration doivent êtres déployés sur un autre poste physique. On pourra citer ici les hyperviseurs propriétaires VMware ESXi, Hyper-V Serveur de Microsoft ou encore Citrix XenServer, ce dernier est basé sur l’hyperviseur libre Xen. Il y a enfin les solutions dites de « cloisonnement » de système d’exploitation qui vont permettre la création de containers au sein d’un système d’exploitation installé sur la machine physique. C’est une virtualisation un peu spéciale, car seules les surcouches logicielles (shell, interface graphique…) sont séparées (au sein de contextes), c’est-à-dire que les programmes de chaque contexte ne peuvent dialoguer qu’avec les ressources de son propre contexte. Par contre le noyau (kernel) du système d’exploitation hôte est partagé entre les contextes. Cette technique de virtualisation est la plus légère et permet la création de dizaines de contextes sur une même machine tout en gardant des performances optimales. Elle permet également à plusieurs systèmes d’exploitation de cohabiter sur le même système
  • 6. PROJET LINUX - ANNUAIRE, ADMINISTRATION ET DEPLOIEMENT D’UN PORTAIL WEB D’ENTREPRISE 5 à condition qu’ils partagent le même noyau. Le partage du noyau engendre d’autres limitations, par exemple si le noyau crash, tous les environnements seront hors service, la validation de nouvelles versions du noyau sont également à proscrire. Dans ce domaine, on pourra citer Virtuozzo de Parallels en propriétaire et OpenVZ pour le monde du libre. Bien entendu, les solutions de virtualisation citées précédemment ne sont pas les seules existantes, bien d’autres sont disponibles et vont de leurs spécificités. B. CHOIX DE VMWARE ESXI Nous nous sommes positionnés sur la solution ESXi de VMware car sa réputation n’est plus à faire. En effet, ESXi est l’un des hyperviseurs de premier type des plus utilisés et bénéficie de l’expérience conséquente de VMware dans le domaine de la virtualisation. Tout d’abord, il possède l’un des noyaux des plus légers pour les hyperviseurs de premier type et l’interface d’administration est complète et assez intuitive. II. CHOIX DES DISTRIBUTIONS GNU/LINUX L’entreprise a choisi d’opter pour un environnement complètement basé sur des solutions libres autant en termes de systèmes d’exploitation (serveurs et postes de travail) qu’en termes d’applicatifs (annuaire LDAP, DNS, applications sur les postes client, etc…). Hors il existe un nombre quasi illimité de distributions GNU/Linux (cf. Annexe A), il faut donc faire un choix parmi ces distributions. A. POUR LES SERVEURS DE L’ENTREPRISE GNU/Linux étant un système modulaire, on dispose d’un large choix de distributions et chacune d’elle pourra convenir au besoin. Le choix se fera donc en fonction de l’organisation derrière la distribution (entraide des utilisateurs très forte, contrat de support, fondation de la distribution…). Dans cette optique, nous nous sommes positionnés sur une distribution Debian qui sera dépourvue d’interface graphique utilisateur (GUI). En effet cette distribution est très utilisée en environnement serveur et est maintenant éprouvée. Cette distribution ne repose pas sur un mécénat mais sur une communauté de développeurs organisés de par le monde. De surcroit, elle est gratuite.
  • 7. PROJET LINUX - ANNUAIRE, ADMINISTRATION ET DEPLOIEMENT D’UN PORTAIL WEB D’ENTREPRISE 6 B. POUR LES POSTES CLIENTS DE L’ENTREPRISE Il en va de même que pour les serveurs, les distributions principalement orientées station de travail font foule. Chaque distribution peut-être dotée d’une interface graphique mais disposera d’application plus ou moins différentes. L’entreprise souhaite dans un premier temps assurer l’intégration des postes sous Debian et Ubuntu (dérivée de Debian), c’est donc sur ces deux distributions que nous avons axés nos efforts. Bien entendu, l’entreprise peut changer d’avis par la suite, c’est pour cela que nous avons effectués des tests d’intégration sur d’autres distributions. Nous avons choisis Fedora (dérivée et sponsorisé par Red Hat), OpenSUSE (dérivée de Slackware Linux et sponsorisée par Novell). De cette manière on couvrira un éventail assez large. C. TOPOLOGIE DE LA MAQUETTE Le schéma (cf. Annexe B) montre l’organisation de notre maquette virtuelle du réseau. Dans la réalité, les deux serveurs et les clients doivent être reliés entre eux par le réseau Ethernet de l’entreprise. Sur notre environnement virtualisé, ceci consiste au lien des interfaces réseau des machines virtuelles à un switch virtuel. Ce dernier est lié à la carte réseau physique du serveur, ce qui permet la récupération des packages depuis l’Internet tout en modélisant le réseau souhaité. III. ANNUAIRE LDAP Pour créer le réseau d’entreprise Exia.CorpSystems, nous avons décidé d’utiliser l’outil d’annuaire LDAP, OpenLDAP sous notre serveur Debian Squeeze 6.0. Grâce à cet outil, nous avons pu créer un annuaire informatique comportant toutes les informations des utilisateurs et des groupes. A. INSTALLATION DE L’ANNUAIRE OPENLDAP Une fois notre serveur debian 6.0 installé, il a fallu ajouter les packages suivants slapd correspondant au serveur LDAP, mais aussiopenldap-utils, package permettant au client de se connecter à notre serveur LDAP.
  • 8. PROJET LINUX - ANNUAIRE, ADMINISTRATION ET DEPLOIEMENT D’UN PORTAIL WEB D’ENTREPRISE 7 B. CONFIGURATION Une fois les packages installés, il a fallu lancer la commande dpkg-reconfigure slapd, permettant ainsi de reconfigurer d’une manière plus complète le serveur LDAP. Ajouter à cela, nous avons dû changer quelques paramètres au niveau du fichier ldap.conf (/etc/ldap/) et notamment ces deux lignes : BASE dc=exia,dc=corpsystems URI ldap://10.69.127.108 #UNIQUEMENT EN CAS DE CONFIG SECURISEE TLS_CACERT /chemin/des/certs TLS_CACERTDIR /chemin/des/certs Pour ajouter à la configuration du ldap.conf pour la sécurisation du serveur LDAP, nous avions deux possibilités depuis la version du LDAP que nous utilisions, soit utiliser un fichier sldap.conf (disponible dans /usr/share/docs/example/slapd/), soit paramétrer le serveur par l’intérmédiaire du cn=config et de fichier ldif. Nous avons décidé d’utiliser le sldap.conf, nos configurations sont ainsi directement intégrées. IV. PORTAIL WEB DE L’ENTREPRISE Durant leurs nombreux déplacements, chacun des collaborateurs a besoin de garder un contact avec l’entreprise. Ainsi, le site de l’entreprise doit être accessible de l’extérieur. L’employé doit s’y connecter en s’authentifiant grâce au login et au mot de passe de son poste client. A. INSTALLATION DU SERVEUR WEB APACHE Un serveur web est un logiciel permettant de rendre accessibles à de nombreux ordinateurs, des pages web stockées sur le disque. Afin d’installer Apache et l’interpréteur de PHP, nous devons récupérer les sources et les compiler. Pour ce faire, nous devons suivre les étapes suivantes. En premier lieu, nous devons décompresser les archives. (tar zxvf *****.tar.gz) puis configurer Apache et PHP. A la suite de la configuration nous pouvons enfin compiler PHP et installer Apache.
  • 9. PROJET LINUX - ANNUAIRE, ADMINISTRATION ET DEPLOIEMENT D’UN PORTAIL WEB D’ENTREPRISE 8 B. FONCTIONNEMENT DU SITE DE L’ENTREPRISE Le site de l’entreprise doit comporter un module de connexion sécurisé à l’arrivée sur la page d’accueil de la plateforme. Les utilisateurs doivent se connecter avec leurs identifiants de l’annuaire LDAP puis à la connexion, le site affichera les informations relatives aux différents services de l’entreprise et les modules seront personnalisés par rapport à l’utilisateur connecté. V. EXPLOITATION ET ARCHIVAGE DES LOGS Les logs (ou journaux) sont des fichiers très importants dans l’administration et la maintenance des serveurs. Ils donnent des informations capitales sur les évènements systèmes, par exemple une identification utilisateur s’étant mal passée ou tout simplement pour connaitre la fréquence d’utilisation d’un composant. Les fichiers logs permettent de mieux comprendre ce qui s’est passé en cas d’erreur ou de trouver des voies d’optimisation du serveur. A. EXPLOITATION DES LOGS L’entreprise souhaite que l’on détecte les authentifications qui n’ont pas fonctionné. De plus, les logs obtenus doivent être réunis dans la même archive. Ces logs doivent, par ailleurs, être plus légers et faciles à lire pour les employés de l’entreprise. L’exploitation des logs est fastidieuse de par l’inondation d’informations contenues à l’intérieur. Il s’agit donc ici d’extraire seulement les informations nécessaires de ces fichiers. Par exemple, on souhaite garder un fichier log contenant les authentifications utilisateurs qui se sont mal passées. On va donc utiliser un outil d’extraction des chaines de caractères, grep par exemple va nous permettre d’extraire les lignes qui contiendraient la chaine de caractères « Failed password » pour ne garder que les lignes concernant un accès refusé par mot de passe inconnu. grep -i "invalid user" /var/log/auth.log > file : cette commande permettra d’extraire les enregistrements concernant des logins inconnus et de les enregistrer dans le fichier file. D’autres outils comme sed et awk existent et sont plus poussés permettant une extraction plus fine des enregistrements. Ces tâches peuvent être automatisées via la création de scripts. En parallèle de ces logs, tous les autres logs du serveur fournis, doivent être archivés automatiquement et régulièrement.
  • 10. PROJET LINUX - ANNUAIRE, ADMINISTRATION ET DEPLOIEMENT D’UN PORTAIL WEB D’ENTREPRISE 9 B. LA SAUVAGARDE AVEC LOGROTATE Logrotate est un petit utilitaire permettant la gestion des fichiers de log du système. Il peut sauvegarder, archiver et organiser ces fichiers automatiquement. L’archivage des logs est très important aussi bien au niveau sécurité interne qu’au niveau législatif. L’outil est essentiellement composé d’un script de rotation des logues et de ses fichiers de configuration /etc/logrotate.conf et /etc/logrotate.d/. Le déclenchement du script est effectué par le cron (cron, fcron ou vixie-cron). Lorsque le script est appelé, il examine les fichiers de logues qui ont été spécifié dans la configuration de logrotate, et y applique le traitement définit comme la compression des fichiers, l’archivage dans un dossier local ou sur le réseau, la numérotation ou l’ajout de la date à l’archive, etc… Logrotate est disponible sur les dépôts des majeures distributions orientées serveur et son installation est très simple via le gestionnaire de paquets de la distribution concernée. Par exemple, la commande d’installation sur Debian est : apt-get install logrotate La configuration de logrotate est en deux parties : /etc/logrotate.conf pour le paramétrage général de logrotate et /etc/logrotate.d/ qui est le dossier contenant les fichiers de configuration des éléments à archiver. Nous allons voir ici comme exemple, le paramétrage pour sauvegarder de manière journalière le fichier de log des authentifications utilisateurs. Dans /etc/logrotate.d/rsyslog : /var/log/auth.log { olddir /var/log/archives/ rotate 366 daily notifempty compress dateext postrotate invoke-rc.d rsyslog rotate > /dev/null endscript } Chemin du fichier à archiver Chemin de destination de l’archive Durée de vie de 366 jours Archivage journalier Ne pas archiver si le fichier log est vide Compresser l’archive Affiche la date en extension de fichier Commande de post logrotate Recharge le fichier conf rsyslog (anciennement reload, est devenu rotate sur les dernieres versions)
  • 11. PROJET LINUX - ANNUAIRE, ADMINISTRATION ET DEPLOIEMENT D’UN PORTAIL WEB D’ENTREPRISE 10 VI. PROTECTION DU SERVEUR De nos jours, il est absolument nécessaire de protéger au maximum nos serveurs des diverses attaques provenant de la toile mais également de l’interne dans la mesure où un utilisateur peut apporter un périphérique vérolé. C’est pour cela que plusieurs techniques permettent de contrer ces attaques mais également de réduire la surface d’attaque des serveurs. A. LE FIREWALL IPTABLES IPtables (anciennement Netfilter) est le pare-feu intégré aux systèmes GNU/Linux. Il permet le filtrage de paquets, la translation d’adresses (NAT), etc… Il est le plus utilisé en tant que pare-feu et NAT. Son fichier de configuration se trouve dans /etc/iptables.up.rules. Sa configuration n’est pas à la portée de tout le monde, c’est pour cela que plusieurs outils dédiés existent comme fwbuilder ou encore bastille. Pour voir les règles actuellement définies, on utilise la commande iptables –L ce qui donne en sortie : On peut créer un fichier iptables.t dans /etc contenant les règles que l’on souhaite appliquer, on ne va pas modifier le fichier de configuration directement. Dans ce fichier on crée les règles ci- après : *filter # On accepte tout le loopback sauf sur le réseau 127.0.0.0/8 -A INPUT -i lo -j ACCEPT -A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT # On accepte toutes les connexions entrantes déjà établies -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # On autorise toute sortie -A OUTPUT -j ACCEPT
  • 12. PROJET LINUX - ANNUAIRE, ADMINISTRATION ET DEPLOIEMENT D’UN PORTAIL WEB D’ENTREPRISE 11 # On accepte les connexions HTTP/HTTPS -A INPUT -p tcp --dport 80 -j ACCEPT -A INPUT -p tcp --dport 443 -j ACCEPT # On accepte le SSH # THE -dport NUMBER IS THE SAME ONE YOU SET UP IN THE SSHD_CONFIG FILE -A INPUT -p tcp -m state --state NEW --dport 30000 -j ACCEPT # On autorise le ping -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT # log iptables denied calls (access via 'dmesg' command) -A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7 # Par défaut on rejet toute autre connexion entrante -A INPUT -j REJECT -A FORWARD -j REJECT COMMIT Pour activer ces règles, on utilise la commande iptables-restore < /etc/iptables.t On vérifie avec iptables –L Une fois que les règles sont bien celles que l’on souhaite, on les applique grâce à la commande iptables-save < /etc/iptables.t Le souci, c’est que les règles que nous venons d’appliquer disparaitrons au redémarrage du serveur. Pour cela, on va créer un script. Nano /etc/network/if-pre-up.d/iptables On y inscrit les lignes suivantes : #!/bin/bash /sbin/iptables-restore < /etc/iptables.up.rules Puis on attribue les droits d’exécution au script grâce à la commande suivante : chmod +x /etc/network/if-pre-up.d/iptables
  • 13. PROJET LINUX - ANNUAIRE, ADMINISTRATION ET DEPLOIEMENT D’UN PORTAIL WEB D’ENTREPRISE 12 B. SECURISER LE SERVEUR SSH Il s’agit d’une petite configuration annexe, de base, le port SSH est le port 22, changer le port d’écoute du serveur SSH permet de réduire les risques d’attaques, car le port 22 est connu pour être celui du SSH. C. ALERTES DE CONNEXION EN TANT QUE ROOT On peut par exemple envoyer un mail de notification à l’administrateur en éditant le fichier /root/.bashrc et on y ajoute les lignes suivantes : echo 'Accès Shell Root le ' `date` `who` | mail -s `hostname` Shell Root de `who | cut -d"(" -f2 | cut -d")" -f1` monitoring@test.com L’administrateur étant le seul à pouvoir avoir accès à root, il sera prévenu en cas d’accès illicite. VII. OUTILS D’ADMINISTRATION Pour faciliter l’administration quotidienne des serveurs, il existe des interfaces WEB qui permettent d’effectuer la majorité des opérations d’administration. Bien entendu, ces outils sont toujours moins complets que l’utilisation des commandes. A. PHPLDAPADMIN POUR ADMINISTRER L’ANNUAIRE L’outil phpldapadmin permet la gestion par l’intermédiaire d’une interface web, de tous les objets du serveur LDAP (Unité organisationnelle, groups, utilisateurs unix & samba…). Cet outil est disponible à partir de la commande apt-get install phpldapadmin. Une fois installée, une petite configuration est nécessaire pour se connecter à l’adresse : http://10.69.127.108/phpldapadmin/. Pour ce faire, nous avons besoin d’éditer le fichier config.php (/etc/phpldapadmin/). # Config du nom du serveur qui sera affiché $servers->setValue('server','name','LDAP Server - Exia'); # Config de l’adresse du serveur LDAP
  • 14. PROJET LINUX - ANNUAIRE, ADMINISTRATION ET DEPLOIEMENT D’UN PORTAIL WEB D’ENTREPRISE 13 $servers->setValue('server','host','10.69.127.108'); # Config du port (standard 389) : $servers->setValue('server','port',389); # Config de la base DNS du serveur LDAP $servers->setValue('server','base',array('dc=exia,dc=corpsystems')); # Config de l’authentification sur le portail web $servers->setValue('login','bind_id','cn=admin,dc=exia,dc=corpsystems'); Une fois cette configuration effectué, et si le serveur LDAP fonctionne correctement, nous pouvons alors nous connecter pour la gestion des objets du LDAP. B. WEBMIN POUR LA GESTION DU SERVEUR Nous avons opté, pour la gestion de certains points du serveur, d’utiliser une interface WEB. Ce dernier est représenté par Webmin. Ce panel d’administration permet l’administration générale du serveur, comme par exemple : Apache, MySQL, Samba, SSH, Firewall, LDAP Server…). VIII. LES PROBLEMES RENCONTRES Pendant ce projet, nous avons essuyés quelques mésaventures, nous allons les expliquer ici et fournir les moyens de contournement dont nous avons eu recours ou les pistes que nous envisageons pour régler les problèmes toujours en cours.
  • 15. PROJET LINUX - ANNUAIRE, ADMINISTRATION ET DEPLOIEMENT D’UN PORTAIL WEB D’ENTREPRISE 14 A. ENVIRONNEMENT DE VIRTUALISATION Nous avions au départ un serveur spécial sur lequel nous devions installer ESXi, le souci fut que l’hyperviseur ESXi 5.5 ne reconnaissait pas l’interface réseau du serveur et refusait de s’installer. Après vérification auprès du supportVMware, il fut établi que la version 5.5 d’ESXi ne supportait plus les pilotes de la carte réseau, une Realtek GB 8168, mais que les versions 5.0 et 5.1 prenaient en charge ce driver. Il a donc fallu télécharger ces deux versions et les tester. Malheureusement aucune des deux n’a fonctionné. Après d’autres recherches, il a été établi la possibilité d’injecter le driver dans l’image ISO d’installation d’ESXi. Nous avons donc utilisé ESXi Customizer, un petit utilitaire permettant l’injection du driver. Cette fois-ci l’installation s’est correctement déroulée mais ce fut à l’utilisation que de nouveaux problèmes sont apparus. En effet, après connexion avec vSphere, le serveur perdait la connexion et l’administration était impossible. Finalement nous avons essayés de passer sur Hyper-V Server 2012 R2. Qui est fournis gratuitement et se résume à un Windows Server 2012 R2 en mode Core (sans interface graphique) et seulement Hyper-V d’activé dessus. Le petit souci cette fois-ci fut l’administration d’Hyper-V. En effet, Hyper-V Serveur est fait pour être utilisé en entreprise dans un environnement Active Directory. Hors, l’administration à distance ne peut se faire que par les Hyper-V Management Tools depuis un compte administrateur. En voici la procédure. Tout d’abord, il a fallu créer un administrateur local sur l’Hyper-V (HVADMIN par exemple) et le créer également sur le poste Windows 8 qui administrera le serveur (avec les même login/password que sur le serveur Hyper-V). Ensuite, il a fallu activer l’administration à distance ainsi que le RDP sur le serveur Hyper-V puis changer les paramètres de COM en autorisant les connexions distantes sur le poste d’administration selon ce qui suit : Panneau de configuration / outils d’administration / Services de composants. Dans la fenêtre, déplier Services de composants, et Ordinateurs puis effectuer un clic droit sur Poste de travail. Se rendre dans l’ongle Sécurité COM et Editer les limites dans Permissions d’accès. Autoriser les connexions anonymes à distance. Appliquer et tout fermer. Il faut ensuite installer les RSAT (Remote Server Administration Tools) à télécharger depuis Microsoft.com puis activer les outils d’administration d’Hyper-V (Panneau de configuration / Programmes et fonctionnalités / Activer ou désactiver des fonctionnalités de Windows. Chercher et cocher Outils d’administration Hyper-V et appliquer. Il faut enfin lancer la commande suivante dans un invite de commande PowerShell en tant qu’administrateur : Set-item WSMan:localhostclientTrustedHosts -value %servername% -concatenate Nous pouvons dorénavant utiliser le Gestionnaire de serveur sur Windows 8 pour administrer tous les serveurs à distance, don’t notre Hyper-V Server. Finalement, tout ce qui a été fait précédemment n’a malheureusement servi a rien, un nouveau serveur a été trouvé et ESXi a pu être installé. Les machines virtuelles tournent dorénavant dessus.
  • 16. PROJET LINUX - ANNUAIRE, ADMINISTRATION ET DEPLOIEMENT D’UN PORTAIL WEB D’ENTREPRISE 15 B. PACKAGES Nous avons, à l’heure où nous rédigeons le rapport, un souci de connexion des hôtes sur le serveur LDAP. CONCLUSION Finalement, ce document technique vous décrit précisément chaque partie de votre projet, leur installation et leur configuration. Ce document est, cependant, basé sur nos connaissances dans ces différents domaines mais ne prend pas appui sur le côté pratique de ce projet. En effet, comme dit dans le document d’organisation du projet, bien que nos connaissances soient présentes, nous n’avons pas réussi à les mettre en pratique durant ce projet. En espérant que ce document soit assez précis pour vous prouver qu’il ne nous manque que la pratique et non la théorie pour terminer ce projet dans les temps avec toutes les fonctionnalités demandées par l’entreprise Pour finir, voici quelques annexes pour vous aider à mieux comprendre notre maquette ainsi que les différentes distributions Linux.
  • 17. PROJET LINUX - ANNUAIRE, ADMINISTRATION ET DEPLOIEMENT D’UN PORTAIL WEB D’ENTREPRISE 16 ANNEXES A. L’ARBRE DES DISTRIBUTIONS GNU/LINUX Ce document vise à montrer la multitude de distributions existantes plus ou moins officiellement. Il peut être lu en détail à l’adresse suivante : http://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_Timeline.svg
  • 18. PROJET LINUX - ANNUAIRE, ADMINISTRATION ET DEPLOIEMENT D’UN PORTAIL WEB D’ENTREPRISE 17 B. SCHEMA DE LA MAQUETTE