Installer le paquet openssl à l’aide de la commande
# apt install openssl
Connectez-vous sous root et aller dans le répertoire de configuration de votre serveur Apache2 /etc/apache2(on peut évidemment choisir un autre répertoire) et créez un répertoire appelé « ssl ». Vous vous placez dans ce répertoire afin que les clés et les certificats soient créés à l’intérieur avant d’effectuer les manipulations.
On génère la clé privée avec la commande suivante en définissant un nom de fichier :
# openssl genrsa 1024 > serveur.key
La sortie attendue est la suivante :
Si vous souhaitez que cette clé ait un mot de passe(qui vous sera demandé à chaque démarrage d’apache, donc à éviter !), ajoutez « -des3 » après « genrsa ».
Pour observer son contenu taper la commande:
# less serveur.key
Pour protéger votre fichier taper la commande :
# chmod 400 serveur.key
Ce fichier contient la clé publique à certifier
# openssl req -new -key serveur.key > serveur.csr
Le système va vous demander de saisir des champs ; remplissez-les en adaptant sauf le champ « Common Name » qui doit être identique au nom de votre serveur virtuel :
Ce n’est pas la peine de saisir d’autres « extra attributes »…
Ceci a pour effet de créer le formulaire de demande de certificat (fichier serveur.csr) à partir de notre clé privée préalablement créée.
Ce fichier contient la clé publique à certifier.
Deux possibilités :
Pour signer un certificat, vous devez devenir votre propre autorité de certification, cela implique donc de réaliser une clé et un certificat auto-signé.
La création de la clé privée de l’autorité de certification se fait comme précédemment :
# openssl genrsa -des3 1024 > ca.key
Ce qui a pour effet de créer la clé privée de l’autorité de certification. Dans ce cas, il vaut mieux rajouter l’option -des3 qui introduit l’usage d’une « passphrase » (mot de passe long qui peut même contenir du blanc) car c’est cette clé privée qui signera tous les certificats que l’on émettra ; cette « passphrase » sera donc demandée à chaque utilisation de la clé.
Ensuite, à partir de la clé privée, on crée un certificat x509 pour une durée de validité d’un an auto-signé
#openssl req -new -x509 -days 365 -key ca.key > ca.crt
Il faut saisir la passphrase… puisqu’on utilise « ca.key » que l’on a protégé. Et on donne les renseignements concernant cette fois-ci l’autorité de certification (c’est à dire nous-même).
Attention : le nom de « Common Name » doit être différent de celui qui a été donné pour la clé (ici cert_CA).
C’est notre certificat d’autorité de certification qui va permettre de signer les certificats créés.
La commande qui signe la demande de certificat est la suivante :
#openssl x509 -req -in serveur.csr -out serveur.crt -CA ca.crt -CAkey ca.key -CAcreateserial -CAserial ca.srl
Il faut saisir la passphrase…
L’option « CAcreateserial » n’est nécessaire que la première fois.
Le certificat signé est le fichier « serveur.crt« . La sortie de la commande attendue est la suivante:
Vous avez maintenant un certificat pour votre serveur qui se nomme « serveur.crt »
La commande ci-dessous permet de voir le certificat :
# less serveur.crt
C’est ce dernier qui va valider le certificat reçu par le client lors de la requête https://. Pour installer sur votre navigateur le certificat de l’autorité de certification, fichier ca.crt :
Sur Mozzila :
Aller sur préférence > confidentialité et Sécurité ou Vie Privée et Sécurité > Certificats > Click sur Afficher les certificats > Autorités, aller tout en bas et cliquer sur « Importer » chercher le dossier où se trouve le certificat ca.crt (/etc/apache2/ssl) valider et fermer la fenêtre
Vérifions tout d’abord si le serveur apache2 a déjà le module ssl chargé à l’aide de la commande :
# apache2ctl -M | grep ssl
Le module est chargé si le résultat de la commande renvoie :
Sinon nous rechargeons le module avec la commande :
# a2enmod ssl
La sortie de cette commande devrait ressembler à ça :
Dans un premier temps il est nécessaire que le serveur apache écoute sur le port 443. Pour cela il suffit d’éditer le ficher /etc/apache2/ports.conf et vérifier que la ligne Listen 443 y soit présente.
La meilleure manière de l’intégrer est de l’écrire de la sorte :
Ainsi, lors de la désactivation (volontaire ou non) du module SSL d’Apache, la configuration restera correcte et ne plantera pas le serveur
Dans un second temps il est nécessaire de créer un virtualhost, Apache prenant en compte notre certificat ssl. Debian et Ubuntu en fournissent un par défaut (/etc/apache2/sites-available/default-ssl) que nous allons modifier pour tester.
Ouvrir le fichier /etc/apache2/sites-available/default-ssl.conf
Chercher les sections suivantes ou rajouter celles qui manquent :
VirtualHost _default_ :443
ServerAdmin webmaster@localhost
Servername dns.pawoed.org :443
Vérifier que les variables suivantes sont correctement définies dans le même fichier :
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/serveur.crt # chemin du fichier du certificat signé
SSLCertificateKeyFile /etc/apache2/ssl/serveur.key #chemin du fichier de la clé privée du certificat
NB :
1-attention à bien renseigner le bon répertoire du DocumentRoot (c’est dans ce répertoire que se trouve la configuration de votre site)
2-penser à créer le répertoire ErrorLog renseigner dans ce fichier
À l’aide de la commande ci-dessous nous allons activer l’hôte virtuel (en étant dans le répertoire /etc/apache2/sites-available) :
# a2ensite default-ssl
Redémarrer avec la commande
# service apache2 restart
À partir d’un navigateur sur votre poste client renseigner votre url :
https://dns.pawoed.org ou https://www.pawoed.org
Télécharger l’intégralité de la documentation ici
Nous avons maintenant un serveur Zabbix fonctionnel et nous avons décider de rajouter les machines qui composent notre infrastructure dans notre solution de supervision. Ici, nous allons donc installer le client Zabbix sur lune machine Linux, afin de la remonter sur le serveur zabbix.
Sous Linux, l’installation est similaire à celle du serveur :
nous installons le paquet de l’agent Zabbix avec la commande « apt-get install zabbix-agent », par la suite, nous allons modifier sa configuration qui se trouve dans le fichier /etc/zabbix/zabbix_agentd.conf, et moifier les lignes suivantes
Server=’@IP_du_serveur’
ServerActive=’@IP_serveur’
Hostname=’nom_machine_zabbix’
Par la suite retourner sur l’interface web de notre serveur Zabbix, enter dans le menu : configuration>hosts et cliquer sur « Create host »
Indiquer un nom d’hôte, le(s) groupe(s) auxquels appartient la machine et son adresse IP.
Sélectionner le(s) template(s) voulu et cliquer sur le bouton « Add » puis sur le bouton « Update »pour valider.
Pour finir redémarrer le service zabbix-agent. Si nous retournons sur le serveur zabbix, nous allons voir apparaitre notre machine qui vient d’être configurée.
Afin de remonter chaque machine sur le serveur zabbix, nous devons au préalable installer l’agent sur chaque poste que l’on souhaite surveiller. L’agent remontera périodiquement les informations nécessaire.
Aller sur la page Télécharger l’agent en fonction de l’OS:
https://www.zabbix.com/download_agents
L’agent se présente sous la forme d’un fichier zip, on va décompresser ce fichier et copier le fichier zabbix_agentd.win.conf ainsi que zabbix_agentd.exe dans un dossier que l’on crée à la racine duC:\zabbix.
Modifier les lignes suivantes :
Server=’IP_DU_Server_Zabbix’
ServerActive=’IP_DU_Server_Zabbix’
Hostname=’Nom_exact_de_la_machine_Hote’
Ouvrir le terminal en tant qu’administrateur puis lancer cette commande :
c:\zabbix\bin\zabbix_agentd.exe --config c:\zabbix\conf\zabbix_agentd.win.conf --install
Le –config sert à lier l’exécutable et le fichier de configuration tandis que le –install installe l’agent.
Démarrer le service avec la commande:
c:\zabbix\bin\zabbix_agentd.exe --start
Vérifier les logs :
c:\zabbix_agentd.log
Afin de permettre au pare-feu Windows de ne pas bloquer la communication entre notre agent et notre serveur, nous allons créer une règle personnalisée pour autoriser la communication, par défaut l’agent fonctionne sur le port 10050 en UDP et TCP. Ouvrir le menu « configuration avancée« du pare-feu et cliquer sur « Nouvelle règle… » dans les règles entrantes.
Sélectionner la règle par port
Cocher le port TCP et renseigner son numéro, le 10050 par défaut.
On autorise la connexion et on ajoute les profils sur lesquels la règle s’applique.
Faire de même avec le protocole UDP, et terminer en donnant un nom aux règles créées afin de les retrouver facilement.
Par la suite retourner sur l’interface web de Zabbix et ajouter un nouvel hôte, en précisant son nom d’hôte ainsi que son groupe. Nous pouvons choisir de renseigner son nom FQDN pour communiquer avec le serveur.
Ensuite sélectionner le(s) template(s), les ajouter avec le bouton « Add » et valider pour terminer.
Désormais cette machine est bien supervisée par le serveur zabbix.
ZABBIX: est une application libre (open source) de supervision des systèmes et des réseaux en infrastructure IT. Elle a été créé par Alexei Vladishev.
Par sa polyvalence, Zabbix peut superviser et vérifier les statuts d’une multitude de services réseaux, ou systèmes (serveurs), tout en surveillant au niveau matériel de nombreux types d’équipements présents au sein d’une infrastructure IT, comme un routeur, une imprimante, un téléphone IP, … grâce à l’utilisation du protocole SNMP ( Simple Network Management Protocol) .
Installation ZABBIX
Pour l’installer, il faut aller sur le site, de Zabbix, et télécharger la bonne version.
http://repo.zabbix.com/zabbix/4.0/debian/pool/main/z/zabbix-release/
Une fois téléchargée, se déplacer dans le dossier où se trouve le paquet, en général les paquets téléchargés sont dans le répertoire Téléchargement. Ensuite faire la commande:
dpkg -i zabbix-release_4.0-2+stretch_all.deb
Pré-requis
apache + mysql + php qui sont contenus dans les paquets que nous installerons ci-dessous.
Avant l’installation faire une mise à jour des paquets avec « apt update » ensuite installer, les paquets zabbix-server-mysql zabbix-frontend-php zabbix-agent.
Création d’un utilisateur zabbix dans mysql
create user “zabbix”@”localhost” identified by “zabbix”;
Configuration de la base de données
se connecter à mysql avec la commande:
"mysql -u root -p" et renseigner le mot de passe
"CREATE DATABASE zabbix;" #pour Créer la base de donnée:
Donner tous les droits (grant all privileges) sur la base de donnée zabbix à l’utilisateur (to) zabbix identifié par le mot de passe (identified by) ‘azerty’.
GRANT ALL PRIVILEGES ON zabbix.* TO ‘zabbix’@’localhost’ IDENTIFIED BY 'azerty';
flush all privileges;
"quit" #pour quitter
Par la suite, importer le fichier SQL qui va créer tous les éléments nécessaires au bon fonctionnement de notre base de données (import des tables, etc.), avec la commande:
"zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix"
La commande zcat permet d’afficher le contenu d’un fichier gzipper, ensuite le contenu affiché par la commande, zcat sera envoyé dans mysql grâce au | (pipe), la commande mysql se présente comme ceci : mysql -u<utilisateur_bdd_zabbix> -p <bdd_de_zabbix>.
Configurons la base de données du serveur zabbix, en lui renseignant l’endroit où se trouve cette base, pour ce faire, éditer le fichier /etc/zabbix/zabbix_server.conf et modifier les lignes suivantes:
DBHost= »localhost » -> machine où se trouve la bdd »
DBName= »zabbix » -> nom de la bdd »
DBUser= »zabbix » -> nom de l’utilisateur de la bdd »
DBPassword= »azerty » -> mot de passe de l’utilisateur »
Par la suite, configurer le php, comme nous utilisons apache2 comme serveur web, en modifiant le fichier /etc/apache2/conf-available/zabbix.conf comme suit :
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
php_value date.timezone Europe/Paris
Redémarrer les services zabbix-server zabbix-agent et apache2, ensuite aller sur l’interface web de zabbix qui se trouve à l’adresse http://@IP_zabbix_server/zabbix.
Une fois sur l’interface web, nous devons installer le front end, ensuite cliquez sur suivant sur la première page, la deuxième page vérifie la configuration et tout est vert grâce aux configurations que l’on a fait au préalable. Ensuite on nous demande des informations sur la base de données, remplir les champs demandés, la page suivante nous permet d’entrer un nom pour cette installation si on le souhaite ensuite nous avons un récapitulatif, le front end est ainsi installé. Pour s’y connecté on utilise le login Admin et le mot de passe azerty. vous pouvez dès à présent naviguer sur l’interface Web de votre serveur.
GLPI (Gestion Libre de Parc Informatique) est un gestionnaire de parc informatique libre. Il permet de centraliser des outils liés à l’administration de la structure informatique d’une entreprise. La fonctionnalité qui est en majeure partie utilisée par les services informatiques est la gestion de tickets d’incidents.
Pré-requis
Faire tout d’abord une mise à jour des paquets avec la commande
« apt-get update »
Installer les paquets suivants:
apt install apache2 php7.0-fpm mysql-server php7.0-curl php7.0-gd php7.0-mysql php7.0-cli php7.0-imap php7.0-ldap php7.0-apcu php7.0-xmlrpc php7.0-mbstring php7.0-xml php-cas.
Création d’un utilisateur et la base de données de GLPI :
Définir un mot de passe pour root
"mysql_secure_installation"
Se connecter au serveur de base de données MariaDB
"mysql -u root"
Création d’un utilisateur permettant d’accéder à la base de donnée de glpi
"create user 'glpi'@'localhost' identified by 'glpi'; "
Création de la base de donnée de glpi.
"create database glpi ;"
Donner des droits à l’utilisateur de la base de données.
" grant all privileges on glpi.* to 'glpi'@'localhost'; "
Recharger les privilèges pour la prise en compte des modifications avec la commande suivante:
"flush privileges;"
"quit" #pour quitter.
Aller sur le navigateur et télécharger glpi sur https://glpi-project.org/fr/telechargements/
Ouvrir votre terminal et déplacer vous dans le répertoire téléchargements, décompresser le fichier glpi qui s’y trouve en .tgz, à l’aide de la commande:
"tar -xvf glpi-9.4.2.tgz"
Copier le fichier décompressé dans le répertoire « /var/www »
"cp glpi /var/www -r"
Modifier le fichier d’apache afin de pouvoir accéder à l’interface Web de glpi.
"nano /etc/apache2/sites-available/000-default.conf"
Changer la ligne « DocumentRoot /var/www/html en /var/www/
Redémarrer le service apache
"service apache2 restart"
Se déplacer dans /var/www/glpi
"cd /var/www/glpi"
Donner des droits comme ci dessous:
"chmod 777 config"
"chmod 777 files -R"
Connectez-vous à l’interface web de GLPI via http://ServeurIP/glpi. Dans notre cas, http://172.16.2.4/glpi. Vous accédez à l’interface Web de GLPI, sélectionnez la langue et cliquez sur « OK ». Une nouvelle page s’ouvre comme sur l’image ci-dessous cliquez sur « Installer »
Les voyants sont en verts, cliquez sur continuer:
Étape -1: Saisir les informations concernant les accès à la base de données de GLPI :
Étape -2: Sélectionner le base de données GLPI :
Étape -3: Cliquer sur Continuer
Étape -4: Cliquer sur Continuer (vous pouvez décocher la case Envoyer « statistiques d’usage »)
Enfin cliquer sur « Utiliser GLPI »
Saisir les identifiants par défaut pour se connecter à l’interface web administration de GLPI : glpi/glpi
Active Directory est un service d’annuaire créé par Microsoft en 1996 et destiné à être installé sur les Windows Server 2000, 2003, 2008, 2012 et 2016. En stockant dans une base de données les renseignements relatifs aux ressources réseau d’un domaine, Active Directory a pour objectif premier de centraliser l’identification et l’authentification d’un réseau de postes Windows. Ses fonctions additionnelles permettent aux administrateurs de gérer efficacement une stratégie de groupe, ainsi que l’installation des logiciels et des mises à jour sur les stations du réseau. Le protocole associé au service d’annuaire est le LDAP: pour Lightweight Directory Access Protocol, il détermine la méthode d’accès aux données sur un serveur au niveau du client.
Pour l’installation de l’AD, nous aurons besoins de:
Installation et configuration de l’AD.
Avant de commencer, il est nécessaire de renommer notre machine et de lui donner une IP fixe.
Installer l’AD sans fonctionnalités supplémentaires
Choisir le rôle « AD DS » et cliquez sur suivant
Le DNS n’étant pas encore installé, on va l’installer en même temps que le rôle Active Directory. Pour cela nous allons ajouter une nouvelle forêt et renseigner le nom de domaine, ensuite Cliquez sur suivant.
Configurer un mot de passe en cas de restauration des services, la case Serveur DNS devant être cochée, ensuite cliquez sur suivant tout en laissant par défaut les chemins de stockage de l’AD, ensuite installer.
Par la suite, une page s’affiche, récapitulant toute la configuration faite.
Après l’installation, il faut le configurer en faisant un clic sur l’onglet « promouvoir ce serveur en contrôleur … »
Nous remarquerons après l’installation qu’une zone a été créée et qu’il faut juste configurer la zone inverse.
Création de l’OU
Une unité d’organisation: est un conteneur d’objets d’un domaine. Elle permet une hiérarchisation d’objets au sein d’un domaine.
Dans une OU nous pouvons créer :
Pour créer une OU, ouvrir l’outil d’administration > click sur Utilisateurs et ordinateurs Active Directory >clic droit sur le nom de domaine(epbooktic.local) > nouveau > Unité d’Organisation et ensuite remplir les cases avec les informations données.
Création des groupes dans l’annuaire.
Un groupe: est un ensemble de machines ou Users avec une politique particulière et des droits spécifiques. Clic droit sur l’OU dans laquelle il faut créer un groupe >nouveau >groupe et ensuite renseignez les informations qui vous sont données.
Intégration de la machine cliente Windows 7 dans le domaine
Pour intégrer une machine dans le domaine, aller sur démarrer > clic droit ordinateur >propriétés > Modifier les paramètres > Modifier et cocher la case « membre d’un : Domaine, ensuite un mot de passe administrateur vous sera demandé (utilisez le compte administrateur du serveur pour intégrer la machine), après le redémarrage de la machine, elle sera intégrée au domaine.
Test de connectivité à l’annuaire AD avec les utilisateurs
Je me suis connectée avec l’utilisateur Philippe GRAND qui est admin réseau du G_Info.
Arborescence du domaine
Création des utilisateurs
Pour créer les utilisateurs, nous allons sélectionner une OU > click droit nouveau >utilisateur ensuite renseigner les champs : prénom, nom, nom d’ouverture de session (initiale prénom.nom) ensuite cliquez sur suivant.
Dans la nouvelle fenêtre entrer le mot de passe de l’utilisateur et configurer ses droits. Faire de même pour les autres utilisateurs.
Mettre chaque utilisateur dans un groupe
Clic droit sur l’utilisateur > Ajouter à un groupe…, dans la fenêtre qui s’ouvre clic sur avancé >rechercher pour avoir la liste de tous les groupes.
Stratégie de compte du domaine « epbooktic.local »
Pour ouvrir la console de gestion des stratégies de mot de passe, aller dans démarrer > outil d’administration > gestion des stratégies de groupe.
Une nouvelle fenêtre s’ouvre, dérouler le menu jusqu’à stratégie de mot de passe
Configuration ordinateur > stratégies > paramètres Windows >paramètres de sécurités >stratégies de comptes >stratégie de mot de passe.
Activer et entrer les valeurs nécessaires.
GPO pour bloquer le panneau de configuration
Cette GPO se fait au niveau des unités d’organisation. Créer la GPO sur une unité d’organisation ensuite lier un objet de stratégie de groupe existant … au niveau des autres OU.
Aller dans comptabilité > créer un objet GPO dans ce domaine… pour créer un nouvel objet GPO
Par la suite entrer le nom de la GPO et clic sur ok.
une fois la GPO créée, clic droit sur la GPO > Modifier.
Dérouler le menu configuration utilisateur >stratégies >Modèles d’administration > panneau de configuration > Empêcher l’accès au panneau de configuration… et activer la GPO.
Pour appliquer la même GPO aux autres unités d’organisation , clic droit sur l’OU > lier un oblet de stratégie de groupe existant… Sélectionner la GPO à appliquer.
Interdiction aux paramètres réseaux
Création GPO fond d’ecran
Créer tout d’abord un dossier nommé « partage_im » à la racine du serveur, dossier dans lequel on ajoutera un fichier image qui représente le logo que l’on imposera à tous les utilisateurs.
Une fois le dossier crée, le partager et lui donner des droits.
Clic droit sur le dossier partage_im > propriétés > partage > partage avancé.
Mettre le signe » $ « devant le dossier partage afin de le cacher (cela permet aux utilisateurs de ne pas voir le dossier à la racine).
Clic droit sur autorisation pour configuré les droits au dossier. Ensuite noter le chemin pour la configuration de la GPO.
Après avoir créé le dossier, aller dans la console de gestion de stratégie de groupe> Default Domain Policy > Modifier, pour que la GPO s’applique à tous les utilisateurs du domaine
Ensuite dans configuration utilisateur > stratégies > modèles d’administration > bureau > bureau >papier peint du bureau.
Renseigner le chemin d’accès à l’image et cliquer sur activer, ensuite appliquer.
Création d’un répertoire partagé caché appelé « commun » à la racine du serveur et à l’intérieur un répertoire pour chaque service portant le nom du service et affecter les droits NTFS
Créer un répertoire appelé « commun »
Créer dans le repertoire commun, les repertoire suivants :
Affecter les droits comme suit :
Chaque OU possède un espace partagé dans lequel les utilisateurs lisent et déposent des fichiers
Les administrateurs réseaux ont accès, en contrôle total à tous les dossiers.
Tous les utilisateurs de chaque service peuvent accéder à leur dossier en « modification » et leur espace partagé en « écriture »
Les informaticiens accèdent en lecture à tous les dossiers partagés.
Scripts de démarrage ex : « RHstart.bat » permettant la connexion des lecteurs réseaux accédant aux dossiers.
Création des scripts
Script de connexion des utilisateurs d’AccèsVPN’.
Script de connexion des utilisateurs du comité d’entreprise.
Script de connexion des utilisateurs du service clientèle.
Script de connexion des utilisateurs du service informatique.
Script de connexion des utilisateurs du service des ressources humaines.
Script de connexion des utilisateurs du service économique.
Une fois les scripts rédigés, les enregistrer dans C:\windows\sysvol\nom_du_domaine\scripts.
Monter le script sur chaque profil utilisateur.
Création de 2 répertoires (profil et home) cachés à la racine du serveur, accessible par tous en modification.
Sur les propriétés de l’utilisateur, il va falloir configurer l’onglet profil pour que l’utilisateur accède à son profil à l’ouverture de session et qu’il connecte comme lecteur réseau « Z » son home.
Redirection des dossiers de base.
C’est une GPO qui va s’appliquer au niveau de chaque OU. Créer la GPO et la nommer.
Dérouler le menu configuration utilisateur > stratégies > paramètre Windows > redirection de documents > clic droit sur document >propriétés.
Par la suite lier cette GPO aux autres OU.
Pour mettre en œuvre cette configuration, nous avons simulé une architecture réseau sur le matériel Cisco packet tracer comme sur le schéma suivant :
Intérêt des vlan
Avoir un réseau modulaire : Avant l’apparition des technologies de réseaux virtuels, l’architecture logique du réseau était fortement dépendante de l’architecture physique. Les VLAN permettent de rassembler dans un même réseau de niveau 2 du modèle OSI (généralement Ethernet) l’ensemble des matériels ayant une corrélation fonctionnelle (même service, même fonctionnalité, etc), ou ayant une nécessité de communiquer entre eux, et ceci, indépendamment du placement physique des matériels.
Réduire le domaine de broadcast : les VLAN permettent de réaliser une segmentation logique d’un support physique en plusieurs réseaux de niveau 2, limitant ainsi la diffusion des broadcasts. Même si la commutation (niveau 2) est plus rapide que le routage (niveau 3) sur les matériels réseaux, à cause de la désencapsulation de trames, il est utile de prendre en compte le dimensionnement des réseaux de niveau 2 afin de garantir les meilleures performances. En prenant en compte ces éléments la mise en œuvre de VLAN pour segmenter un réseau de niveau 2, en plusieurs sous réseaux, peut s’avérer bénéfique.
Augmenter la sécurité sur le réseau : la communication entre les différents VLAN ne peut se faire uniquement par une passerelle de niveau 3 du modèle OSI (routage inter-VLAN). Par conséquents même si deux stations sont situées sur un même » support physique » (uniquement de HUB, Commutateurs et de liens) mais sur deux VLAN différents, elles ne pourront communiquer que par l’intermédiaire d’une passerelle de niveau 3.
Les domaines de broadcast étant réduits, cela limite un certain nombre d’informations que pourrait sniffer un éventuelle Hacker grâce à ces trames. Il peut ainsi être intéressant de séparer grâce aux VLAN les services critiques des autres services. Nous constatons malgré tout que la sécurité apportée par les VLAN reste basique.
Constructions des vlan
Nous allons commencer par créer les vlan au niveau de chaque Switch, à l’aide des commandes suivantes :
Switch(config)#vlan 10
Switch(config)#vlan 20
Switch(config)#vlan 30
Affectations des ports aux différents vlans
Switch 0
interface FastEthernet0/1
switchport mode access
switchport access vlan 10
interface FastEthernet0/2
switchport mode access
switchport access vlan 10
interface FastEthernet0/15
switchport mode access
switchport access vlan 20
interface FastEthernet0/16
switchport mode access
switchport access vlan 20
interface GigabitEthernet0/1
switchport mode trunk
switchport trunk allowed vlan 10-30
Switch 1
interface FastEthernet0/1
switchport mode access
switchport access vlan 10
interface FastEthernet0/2
switchport mode access
switchport access vlan 10
interface FastEthernet0/15
switchport mode access
switchport access vlan 20
interface FastEthernet0/16
switchport mode access
switchport access vlan 20
interface GigabitEthernet0/1
switchport mode trunk
switchport trunk allowed vlan 10-30
Switch2
interface FastEthernet0/1
switchport mode access
switchport access vlan 30
interface FastEthernet0/2
switchport mode access
switchport access vlan 30
interface FastEthernet0/15
switchport mode access
switchport access vlan 20
interface FastEthernet0/16
switchport mode access
switchport access vlan 20
interface GigabitEthernet0/1
switchport mode trunk
switchport trunk allowed vlan 10-30
Switch3
interface FastEthernet0/1
switchport mode access
switchport access vlan 30
interface FastEthernet0/2
switchport mode access
switchport access vlan 30
interface FastEthernet0/15
switchport mode access
switchport access vlan 10
interface FastEthernet0/16
switchport mode access
switchport access vlan 10
interface GigabitEthernet0/1
switchport mode trunk
switchport trunk allowed vlan 10-30
Switch4
interface GigabitEthernet0/1
switchport mode trunk
switchport trunk allowed vlan 10,20,30
interface GigabitEthernet4/1
switchport mode trunk
switchport trunk allowed vlan 10,20,30
interface GigabitEthernet5/1
switchport mode trunk
switchport trunk allowed vlan 10,20,30
interface GigabitEthernet6/1
switchport mode trunk
switchport trunk allowed vlan 10,20,30
interface GigabitEthernet7/1
switchport mode trunk
switchport trunk allowed vlan 10,20,30
Switch5
interface GigabitEthernet0/1
switchport mode trunk
switchport trunk allowed vlan 10,20,30
interface GigabitEthernet4/1
switchport mode trunk
switchport trunk allowed vlan 10,20,30
interface GigabitEthernet5/1
switchport mode trunk
switchport trunk allowed vlan 10,20,30
Routage Inter-vlan
« Encapsulation dot1q ». La norme de trame 802.1q indique que les trames sont étiquetées pour contenir le numéro de vlan à laquelle elles sont destinées/attribuées. La commande « encapsulation dot1q 30 » permet donc d’encapsuler une trame pour transiter sur le vlan 30 si elle est destinée à celui-ci. Le routeur a besoin de cette information par exemple quand il voit une trame venant du vlan 20 (étiquetée vlan 20) qui souhaite se diriger sur le vlan 30. Il change donc à ce moment-là son étiquetage 802.1q pour que les switches puissent correctement acheminer la trame vers le ou les postes du vlan 30. N’oublions pas que sur notre switch, il faut également mettre les ports des « Switches » (qui font la liaison avec le routeur) en mode trunk pour qu’il puisse lui aussi acheminer tous les VLAN vers le routeur.
Router1
Nous allons donc créer nos interfaces virtuelles sur le port Fa0/0 de notre routeur. Il faut avant tout activer l’interface physique pour que les interfaces virtuelles soient opérationnelles :
interface GigabitEthernet0/0
no shutdown
Nous allons ensuite créer les interfaces fa0/0.10, fa0/0.20, fa0/0.30 (interface virtuelle de l’interface physique fa0/0).
interface GigabitEthernet0/0.10
encapsulation dot1Q 10
ip address 172.16.0.1 255.255.255.192
interface GigabitEthernet0/0.20
encapsulation dot1Q 20
ip address 172.16.0.65 255.255.255.192
interface GigabitEthernet0/0.30
encapsulation dot1Q 30
ip address 172.16.0.129 255.255.255.192
Router2
interface GigabitEthernet0/0.10
encapsulation dot1Q 10
ip address 172.16.0.2 255.255.255.192
interface GigabitEthernet0/0.20
encapsulation dot1Q 20
ip address 172.16.0.66 255.255.255.192
interface GigabitEthernet0/0.30
encapsulation dot1Q 30
ip address 172.16.0.130 255.255.255.192
La tolérance aux pannes
Pour gérer la tolérance de pannes dans les liaisons inter-commutateurs on met en place des liaisons redondantes (Fig.2). Cette gestion de la redondance est prise en charge par le protocole 802.1d. Un algorithme de l’arbre de recouvrement minimal (spanning tree) est utilisé pour transformer les circuits en un arbre afin d’éviter les cycles.
Pour gérer la redondance de routeur, pour que lorsqu’un routeur tombe en panne un routeur de secours prennent le relais, nous utiliserons le protocole HSRP (Hot Standby Router Protocol). HSRP permet d’augmenter la tolérance de panne sur un réseau en créant un routeur virtuel à partir de 2 routeurs physiques (ou plus), une élection déterminera le routeur actif et les autres routeurs seront en « attente » (standby). L’élection du routeur actif est réalisée grâce à la priorité configurée sur chaque routeur.
Nous allons modifier le réseau en rajoutant un second lien entre les Switch0 et Switch1, le Switch2 et switch3, ainsi que les Switch4 et Switch5.
Le protocole Spanning Tree (STP) est un protocole de couche 2 (liaison de données) conçu pour les switches et les bridges.
Sa principale fonction est de s’assurer qu’il n’y a pas de boucles dans un contexte de liaisons redondantes entre des matériels de couche 2. STP détecte et désactive des boucles de réseau et fournit un mécanisme de liens de backup. Il permet de faire en sorte que des matériels compatibles avec le standard ne fournissent qu’un seul chemin entre deux stations
STP crée un chemin sans boucle basé sur le chemin le plus court. Ce chemin est établi en fonction de la somme des coûts de liens entre les switches, ce coût étant basé sur la vitesse d’un port
Par défaut, la valeur de la priorité est 32768.
Le switch4 qui est élu racine car il est directement connecté aux routeurs. La commande ci-dessous diminue la priorité à 24576 +numéro du vlan
Spanning-tree vlan 10-30 root primary
Quand 2 chemins ont le même coût, ils sont départagés en fonction de la priorité du port par lequel chacun passe : celui ayant la priorité la plus faible l’emporte.
En modifiant ce paramètre nous pouvons privilégier un chemin par rapport à un autre, selon nos besoins. Par défaut, la priorité d’un port est 128 et les ports sont départagés en fonction de leur numéro de port. La priorité doit être comprise entre 1 et 240 et être un multiple de 16.
Sur les switches 0, 1, 2, 3 nous allons rentrer les commandes suivantes (les nouveaux liens étant créés nous allons les tagués pour tous les vlan) :
NB: Bien renseigner les interfaces de chaque Switch.
Ex : Switch1
interface giga0/2
switchport mode trunk
switchport trunk allowed vlan all
spanning-tree vlan 10-30 port-priority 240 // permet de modifier la priorité du port giga0/2
end
Vérification
show spanning-tree interface giga 0/2
Après la configuration des ports, ils seront en état « Blocking » ou « Learning » mais passera par la suite à l’état « Forwarding »
Optimisation : Agrégat de liens et VTP
LACP : Agrégat de liens
Maintenant le trafic entre Switch4 et Switch5 est intense, on souhaite profiter des deux fibres pour augmenter le débit entre les deux commutateurs. Nous allons créer un agrégat de liens avec le protocole LACP (Link Aggregation Control Protocol).
Les deux ports physiques Gi0/1 et Gi1/1 (fibres optiques) vont devenir des « tunnels » pour un port virtuel Port-Channel 1. Les deux ports physiques Gi0/1 et Gi1/1 serviront pour la transmission physique, ils ne seront donc plus tagués. Le port virtuel Port-Channel 1 gèrera lui le passage logique des trames, il sera tagué (trunk) comme un port classique.
Configuration
Switch4 et Switch5
Sur chaque commutateur (4 et 5) nous allons retirer les tags des ports physiques si existent, ensuite inscrire sur chaque port physique le groupe lacp créant un lien agrégé.
interface gi0/1
no switchport mode trunk
channel-protocol lacp
channel-group 1 mode active
interface gi1/1
channel-protocol lacp
channel-group 1 mode active
Les commandes suivantes vont créer un port virtuel agrégé et tagué
interface port-channel 1
switchport mode trunk
switchport trunk allowed vlan 10-30
Test
Après avoir lancé des pings de part et d’autre depuis chaque poste, nous arrivons à atteindre chaque réseau depuis n’importe quelle machine.
VTP : gestion dynamique des vlan
VTP (Vlan Trunking Protocol) sert à la propagation de création /suppression/modification de vlan sur tous les switch du réseau à partir d’un seul switch. Le VTP utilise les ports trunks pour transmettre la liste des vlan ou une mise à jour de cette liste depuis le commutateur maitre(server) vers un ensemble de commutateurs clients. Avant sa mise en œuvre vérifier que l’ensemble des trunks fonctionnent.
Configuration du serveur VTP
VTP Server: switch qui crée les annonces VTP. Le switch en mode Server permet à l’administrateur de faire toute modification sur les VLAN et de propager automatiquement ses modifications vers tous les switch du réseau.
Switch4(config)#vtp version 2
Switch4(config)#vtp mode server
Switch4(config)#vtp domain SIOJJR
Switch4(config)#vtp password ‘Motdepasse’
Pour visualiser le mot de passe configuré
Switch4#sh vtp password
Vérification des compteurs de messages VTP envoyés et reçus
Switch4#show vtp counters
Configuration des clients VTP (sur tous les autres switch)
VTP Client: switch qui reçoit, se synchronise et propage les annonces VTP. Le switch en mode Client ne permet pas à l’administrateur de faire des modifications sur les VLANs. Vous recevez un message d’erreur quand vous essayez de créer un VLAN.
Switch(config)#vtp version 2
Switch(config)#vtp mode client
Switch(config)#vtp domain SIOJJR
Switch(config)#vtp password Motdepasse
Nous allons maintenant créer les nouveaux vlan au niveau du switch server.
Ces vlan Sont à propager sur l ’ensemble des commutateurs en utilisant le VTP.
NB : il est nécessaire que les mots de passe soient identiques sur tous les commutateurs y compris le server.
Vérifications au niveau des clients VTP
Switch#show vlan //permet de vérifier la création des vlan
Switch#show vtp counters //permet de vérifier la communication VTP
Protocole HSRP (Hot Standby Router Protocol)
HSRP est implémenté sur les routeur pour assurer la continuité de service. Il permet à 2 routeurs de partager une adresse IP virtuelle et une adresse MAC virtuelle. Le routeur actif réponds aux requêtes ARP destinées à l’adresse commune comme s’il s’agissait de la sienne puis prend en charge les trames adressées à l’adresse MAC commune. Un échange de message réalisé en multicast permet aux routeurs de déterminer le routeur actif puis de vérifier la présence de l’autre routeur. Lorsque le routeur actif est défaillant, le deuxième routeur ne reçoit plus de message multicast de sa part, il devient alors actif et répond aux requêtes adressées aux adresses communes (IP et MAC).
Configuration routeur 1
interface giga0/0.10
standby 10 priority 150 //Déclare la priorité du routeur
standby 10 ip 172.16.0.3 //Déclare l’adresse IP du routeur virtuel
standby 10 preempt //Permet d’augmenter la rapidité d’élection
interface giga0/0.20
standby 20 priority 150
standby 20 ip 172.16.0.67
standby 20 preempt
interface giga0/0.30
standby 30 priority 150
standby 30 ip 172.16.0.131
standby 30 preempt
interface giga0/0
no shutdown
//standby 10 déclare le groupe HSRP
Configuration routeur 2
interface giga0/0.10
standby 10 priority 80
standby 10 ip 172.16.0.1
interface giga0/0.20
standby 20 priority 80
standby 20 ip 172.16.0.65
interface giga0/0.30
standby 30 priority 80
standby 30 ip 172.16.0.129
interface giga0/0
no shutdown
end
Test
Par la suite re-modifier les passerelles de toutes les machines et configurer leur les adresses IP virtuelle du routeur
Le fichier .htaccess se situe à la racine du site web. Il permet de donner des instructions sur les modalités d’accès au contenu de notre site grâce à des fichiers de configuration spécifiques aux serveurs web Apache.
Le fichier htaccess sert principalement à protéger des répertoires par des mots de passes, créer des redirections ou encore des pages d’erreurs (type 401,404…). Mais dans le cadre de ce TP, nous n’aborderons que la protection d’une page web par mot de passe.
Configuration
Je vais faire le choix de protéger le répertoire crée plus haut sur le serveur web, à savoir « /var/www/html/epbooktic »
« nano /var/www/html/epbooktic/.htaccess » et renseigner les champs suivants :
AuthName : permet de renseigner le message qui s’affichera sur votre page web
AuthType : indique le type d’authentification
AuthUsersFile : indique le chemin du fichier qui contient les mots de passe
Require : précise que seuls les utilisateurs authentifiés pourront accéder à la page web
Pour cela, se déplacer dans le répertoire et taper la commande « htpasswd –c .htpasswd NomUtilisateur », il vous sera demandé de renseigner le mot de passe et le confirmer.
Cette commande sera répétée autant de fois qu’il y a d’utilisateur, mais sans l’option –c car elle permet de créer le fichier en même temps que la création du premier utilisateur.
Pour voir le fichier, taper la commande « ls -al » afin de voir les fichiers cachés, comme le fichier « .htaccess » et « .htpasswd ».
<Directory /var/www/html/epbooktic>
Options Indexes FollowSymlinks
AllowOverride AuthConfig
</Directory>
Nous nous rendons sur la page web de notre site www.epbooktic.local et nous constatons bien qu’il nécessite un identifiant et mot de passe pour y accéder.
Par serveur Web (aussi appelé serveur http), on entend, tout type de serveur qui permet de diffuser des contenus Web sur internet ou intranet. L’un de ces serveurs est le serveur apache celui que nous allons configurer dans ce TP. Il existe d’autre serveur web notamment: IIS, Lighttpd, Nginx.
Installation du serveur apache sous Debian
Pour l’installer, il faut taper la commande
« apt-get update && install apache2 »
La première commande permettant de mettre à jour les paquets et la seconde à installer le Service apache.
Après l’installation, redémarrer le service avec la commande
service apache2 restart
Après l’installation, redémarrer le service avec la commande « service apache2 restart »
Pour vérifier si le service est bien installé et fonctionnel taper la commande « ps –ax ». Pour vérifier le port du web est bien à l’écoute taper la commande : « netsat –atn »
Configuration d’une zone sur le serveur DNS
Nous allons créer une zone sur le serveur DNS (bind9), La zone: « epbooktic.local » et faire les enregistrements de « type A » du serveur apache ainsi qu’un enregistrement de type « CNAME ».
Création de l’arborescence
Nous allons par la suite créer un répertoire à la racine du répertoire « /var/www/html »
"mkdir /var/www/html/epbooktic "
Par la suite, se déplacer dans le répertoire nouvellement créé (cd /var/www/html/epbooktic) et éditer le fichier « index.html », renseigner les informations que vous souhaitez voir sur votre page web.
Configuration des hôtes virtuels ou VirtualHost
Chaque hôte est défini dans un fichier de configuration indépendant qu’on trouve et qu’on crée dans le répertoire /etc/apache2/sites-available/, dans ce fichier figure déjà le premier hôte virtuel « 000-default. conf »
Pour cela copier le fichier du premier Virtualhost défini dans le répertoire /etc/apache/sites-available/ vers le fichier de chaque hôte, avec la commande suivante:
« cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-avalaible/site1.conf »
Éditer ce fichier et modifier les lignes suivantes : « DocumentRoot » et le « ServerName »
Après la configuration du fichier /etc/apache2/sites-available/site1.conf
Activer l’hôte virtuel en créant un lien entre le répertoire « /etc/apache2/sites-available » (sites disponibles) et le répertoire « /etc/apache2/sites-enabled » (sites activés).
Se déplacer dans le répertoire « /etc/apache2/sites-enabled » et taper la commande:
« a2ensite site1.conf »
vous devez avoir le message ci-dessous:
Redémarrer le service après toutes ces configurations « service apache2 restart« .
Test
Aller sur le navigateur et taper l’URL http://www.epbooktic.local, le navigateur nous redirige bien sur la page epbooktic.
Schéma réseau
Installation du serveur DHCP
Pré-requis
Avant toute installation on commence par une mise à jour des paquets du système avec la commande « apt update& upgrade »
Ensuite nous installons le paquet suivant :
« apt-get install isc-dhcp-server »
Le système ne parvient pas à trouver le serveur DHCP : c’est normal car il n’est pas configuré. Nous allons consulter l’état du service isc-dhcp-server afin de visualiser le nom complet du fichier à configuré, à l’aide de la commande: « systemctl isc-dhcp-server »
Configuration du serveur DHCP
1er fichier de configuration/etc/network/interfaces
Je vais tout d’abord configurer l’interface réseau de mon serveur avec l’adresse IP statique.
2ème fichier de configuration /etc/default/isc-dhcp-server
Ce fichier permet de définir l’interface réseau sur laquelle écoute le serveur.
Avant de configurer ce fichier nous allons tout d’abord le copier afin de faire une sauvegarde en cas de déstructuration de l’original.
Par la suite éditez ce fichier et modifiez le comme suit :
« nano /etc/default/isc-dhcp-server »
À la fin de ce fichier modifiez la ligne suivante :
INTERFACES= « enp0s3 »
3ème fichier de configuration /etc/dhcp/dhcpd.conf
Nous allons faire une copie de ce fichier à l’aide de la commande :
« cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.old »
Ce fichier nous indique la configuration IP, donc les informations suivantes :
Option domain-name: « pawoed.net » ; qui indique le suffixe DNS ou le nom de mon domaine
Option domain-name-servers: indique le ou les serveurs DNS
Option routers: indique l’adresse de ma passerelle
Option broadcast-address: l’adresse de broadcast du réseau
Default-lease-time 606: indique le bail par défaut
Max-lease-time 7200: indique le bail maximum, il est exprimé en secondes
Par la suite nous allons l’éditer et le configurer comme sur l’image ci-dessous :
Dans ce fichier, nous allons configurer autant de plage que de réseaux dont nous disposons. Après la configuration, démarrer le système à l’aide de la commande « systemctl start isc-dhcp-server »
Et à l’aide de la commande « systemctl status isc-dhcp-server » nous pouvons constater que le serveur DHCP est bien en marche
Test de validation
Nous allons démarrer une machine cliente Debian dans le même réseau que le serveur dhcp afin de tester le fonctionnement de notre serveur. Une fois démarrée, configurer sa carte réseau dans le fichier /etc/network/interfaces en dhcp, ensuite taper la commande suite dans le terminal :
« dhclient -1 –v enp0s3 »
Nous pouvons apercevoir les étapes d’une requête dhcp
la commande ci-dessous nous permet de voir l’adresse IP attribuée, le serveur qui l’a attribué ainsi que l’interface d’attribution.
"systemctl isc-dhcp-server"
Pour visualiser les baux alloués sur le serveur
« cat /var/lib/dhcp/dhcpd.leases »
Visualiser l’adresse IP obtenue par le client Debian
Visualiser le bail obtenu par le client
« cat /var/lib/dhcp/dhclient.leases »
Mise en place d’un agent relais DHCP sur le routeur
Fonctionnement d’un agent relais
L’Agent-Relais est un service qui permet de diffuser des plages d’adresses aux machines qui ne sont pas sur le même réseau que celui du serveur DHCP.
Il permet d’assurer le routage entre les réseaux.
En général il dispose de deux cartes réseau configurés avec des adresses IP statiques. L’une de ses cartes sera sur le même réseau que le serveur DHCP contrairement à l’autre qui ne le sera pas.
Le serveur DHCP aura donc en passerelle l’adresse IP de l’Agent-Relais.
Mais dans notre cas, nous allons effectuer des configurations au niveau du routeur comme suit:
Sur l’interface virtuelle du routeur connectée au vlan 50 et 60, nous allons renseigné l’adresse IP de notre serveur DHCP.
interface FastEthernet0/0.50
encapsulation dot1Q 50
ip helper-address 192.168.0.36
ip address 172.19.0.129 255.255.255.128
vlan 60
interface FastEthernet0/0.60
encapsulation dot1Q 60
ip helper-address 192.168.0.36
ip address 172.19.0.1 255.255.255.128
Test
Pour les tests, lancez une machine virtuelle dans le vlan 50 ou 60. Configurez la carte réseau en DHCP.
Vérifiez l’IP qu’elle a reçu, ça doit correspondre à la plage configurée plutôt dans ce réseau.