Site perso d'un administrateur systèmes & réseaux

Catégorie : TSSR Page 3 of 6

Configurer la redirection d’appels dans FreePBX

Configurer le renvoi d’appel d’un poste à un autre dans FreePBX est une tâche assez simple.

Voici les étapes à suivre :

Configuration du Renvoi d’Appel dans FreePBX

  1. Accéder à FreePBX :
    • Connectez-vous à l’interface web de FreePBX.
  2. Aller aux Extensions :
    • Dans le menu principal, sélectionnez Applications > Extensions.
  3. Sélection de l’Extension à Configurer :
    • Trouvez l’extension que vous souhaitez configurer pour le renvoi d’appel et cliquez sur Edit (le bouton en forme de crayon à côté de l’extension).
  4. Configurer le Renvoi d’Appel :
    • Faites défiler jusqu’à la section Follow Me ou Find Me/Follow Me, selon votre version de FreePBX.
    • Si cette option n’est pas déjà activée, activez-la en cliquant sur Enabled.
  5. Paramètres de Renvoi d’Appel :
    • Dans Follow-Me List, ajoutez le numéro de l’extension vers laquelle les appels doivent être redirigés.
    • Configurez les autres paramètres selon vos besoins :
      • Ring Strategy: Détermine comment les appels sont distribués (simultané, séquentiel, etc.).
      • Ring Time: Durée pendant laquelle l’appel sonnera avant d’être renvoyé.
      • Destination if no answer: Choisissez ce qui se passe si l’appel n’est pas répondu (par exemple, renvoi vers une autre extension, messagerie vocale, etc.).
  6. Enregistrement des Modifications :
    • Cliquez sur Submit, puis sur Apply Config pour appliquer les changements.
  7. Test du Renvoi d’Appel :
    • Testez la configuration en appelant l’extension initiale pour voir si l’appel est correctement renvoyé vers l’extension configurée.

Créer un tunnel « Client to site » avec PFsense et OpenVPN

Un VPN « client to site » (ou « remote access VPN ») est une méthode qui permet à un utilisateur distant de se connecter à un réseau privé via Internet, comme s’il était physiquement présent sur le réseau. Cela permet aux utilisateurs de travailler à distance tout en ayant accès aux ressources et services du réseau privé, comme si elles étaient sur place. Les communications entre le client et le site sont cryptées, ce qui protège les données échangées des regards indiscrets.

Voici un résumé de la configuration à mettre en place sur PFsense et sur la machine cliente

Infrastructure de base

  • Utilisation de Virtualbox pour le lab
  • Une VM qui héberge PFSense avec un WAN dans un réseau NAT customisé en 10.0.2.0/24 et un LAN interne connecté au serveur sur lequel le client voudra se connecter via le VPN
  • Une VM sous Ubuntu qui simulera le poste client (connecté au réseau NAT « NATVPN-Nomade ». Son adresse IP sera attribuée par DHCP.
  • Une VM qui héberge un serveur web qui sera accessible depuis le VPN de la machine « cliente ». Il se situera dans le réseau LanWebServer

Configuration des interfaces de PFSense

Voici la fenêtre de configuration de PFSense avec ses interfaces :

Pour gérer la configuration de PFSense on va devoir se connecter à son interface web depuis son adresse LAN sur le serveur Web.

Suivre les différentes étapes de la première configuration, puis modifier le mot de passe administrateur (cf tuto précédent sur la configuration d’un VPN site to site)

Création des certificats serveur

Ensuite rdv dans VPN -> Open VPN -> Wizards

Cliquer sur « Next »
Remplir les infos du certificat

Puis remplir les différentes infos de façon à avoir ces paramètres :

Dans les grandes lignes :

  • On commence par configurer les options d’encryption
  • Ensuite on définit les paramètres du tunnel en choisissant la plage d’adresse IP que le VPN crééra (exemple 172.31.10.0/24) et en indiquant le réseau qui sera accessible depuis ce tunnel (ici 192.168.1.0/24)

A l’étape suivante on peut demander la création automatique des règles de firewall qui s’appliqueront au tunnel :

Au final le résumé du serveur OpenVPN devrait ressembler à ça :

Pour voir les certificats du serveur, rdv dans System -> Certificates

Et les règles appliquées automatiquement au pare-feu :

En gros ici tous les utilisateurs peuvent accéder au port 1194 défini précédemment.

Idem, dans l’onglet « Firewall » -> « OpenVPN » on voit une règle créée dédiée au VPN en lui même qui autorise les accès à tout le monde :

Création des certificats utilisateurs

Maintenant il faut passer à la création des certificats utilisateurs qui seront installés sur les machines nomades. Aller dans « System » -> « User Manager » et cocher « Click to create a user certificate » (et ne pas oublier de lui attribuer un mot de passe !)

Puis créer le certificat

Ensuite, il va falloir exporter les certificats.

Mais par défaut PFsense ne le permet pas, il faut installer un package via « System » -> « Package Manager » et chercher « OpenVPN Client Export » puis l’installer :

Ensuite rdv dans « VPN » -> « Open VPN » -> « Client Export »

Un peu plus bas on va pouvoir récupérer le certificat « nomad-user » :

Pour l’installer sous Ubuntu il suffit de choisir « Most Clients »

Récupérer le certificat

Pour se connecter au PFsense depuis la machine « nomade » on va créer une règle temporaire dans le firewall :

Dans « Rules » onglet « WAN » on ajoute une règle qui permet aux machines d’accéder à Pfense via le protocole HTTPS:

Ensuite sur la machine Ubuntu nomade on va pouvoir aller dans « VPN » -> « OpenVPN » -> « Client Export » et récupérer le certificat :

Le fichier arrive dans le dossier téléchargements :

On lance un terminal depuis ce dossier téléchargement avec la commande

sudo openvpn pfSense-UDP4-1194-nomad-user-config.ovpn

Et on s’authentifie avec le login et pass de l’utilisateur créé sur PFsense :

Ensuite pour vérifier la bonne connexion on peut ouvrir une autre fenêtre de terminal et faire un ip a pour constater la bonne attribution de l’IP du VPN :

Désormais on peut communiquer avec le réseau local sur lequel se trouve le serveur web :

Ne pas oublier de fermer l’accès extérieur à PFSense en supprimant la règle WAN créé pour récupérer le certificat

Avec Windows

Sous Windows la procédure est plus simple :

  • Il suffit d’installer de récupérer le fichier du certificat dédié à Windows
  • Double-cliquer sur le certificat dans Windows pour installer la configuration
  • Enfin, via l’icône d’OpenVPN, faire un clic droit « se connecter » et utiliser les identifiants de l’utilisateur pour se connecter au tunnel

Un message indique qu’on est bien connectés :

Et on peut donc se rendre sur le serveur web :

Un petit ipconfig /all permet de vérifier la bonne attribution de l’adresse du VPN :

Et voilà, désormais on peut se connecter au serveur via un VPN depuis n’importe quel réseau extérieur !

Quelques rappels sur la gestion des utilisateurs d’un annuaire Active Directory

Voici un pense-bête sur l’utilisation basique d’un annuaire Active Directory. Je mettrais quelques pratiques avancée un peu plus tard !

Création et Gestion des Utilisateurs

  1. Ouvrez « Outils » -> « Utilisateurs et Ordinateurs Active Directory »(souvent désigné comme ADUC en anglais)
  2. Naviguez vers le conteneur ou l’unité d’organisation (OU) approprié.
  3. Cliquez avec le bouton droit et sélectionnez « Nouveau » > « Utilisateur ».
  4. Remplissez les informations obligatoires et cliquez sur « Suivant ».
  5. Définissez le mot de passe et choisissez les options de mot de passe (doit changer au prochain ouvrage, ne peut pas changer, ne jamais expirer, etc.).
  6. Revoyez les informations et cliquez sur « Terminer ».

Gestion des Groupes :

  1. Dans ADUC, naviguez vers l’OU appropriée pour les groupes.
  2. Cliquez avec le bouton droit et sélectionnez « Nouveau » > « Groupe ».
  3. Entrez le nom du groupe, sélectionnez le type et l’étendue du groupe, puis cliquez sur « OK ».
  4. Pour ajouter des utilisateurs, ouvrez les propriétés du groupe et allez à l’onglet « Membres ».

Restrictions d’Accès :

  • Restreindre les heures d’accès :
    1. Ouvrez les propriétés d’un compte utilisateur.
    2. Allez à l’onglet « Comptes ».
    3. Cliquez sur « Horaires d’accès » et définissez les heures autorisées.
  • Gestion du partage :
    1. Faites un clic droit sur un dossier partagé et sélectionnez « Propriétés« .
    2. Allez à l’onglet « Sécurité« .
    3. Modifiez les listes pour contrôler l’accès utilisateur.
  • Limite de stockage :
    1. Ouvrez « Gestion du disque » sur le serveur où les dossiers partagés résident.
    2. Cliquez avec le bouton droit sur le volume, sélectionnez « Propriétés » > « Quota« .
    3. Configurez les paramètres de quota et appliquez-les aux utilisateurs ou groupes.

Ensuite cliquer sur « Entrées de quota » puis définir la limite autorisée pour chaque utilisateur :

Créer un tunnel VPN site à site avec PFSense avec IPSec

Un VPN site à site est une connexion sécurisée et cryptée qui permet de relier deux réseaux locaux distincts à travers Internet, comme si ils étaient sur le même réseau local. Cette connexion permet à des machines situées sur des réseaux différents de communiquer entre elles de manière sécurisée.

Exemple simple :

  1. Vous avez deux machines Ubuntu, Ubuntu 1 et Ubuntu 2, situées sur deux réseaux locaux différents.
  2. Chaque réseau local est protégé par une machine PFsense qui sert de routeur et de pare-feu.
  3. Vous souhaitez que Ubuntu 1 et Ubuntu 2 puissent communiquer entre elles de manière sécurisée, comme si elles étaient sur le même réseau local.

Pour cela, vous allez configurer un VPN site à site entre les deux machines PFsense en utilisant la fonctionnalité IPSec.

IPSec va permettre de chiffrer et sécuriser les données qui transitent entre les deux réseaux locaux à travers Internet. Une fois la connexion VPN établie, Ubuntu 1 pourra communiquer avec Ubuntu 2 de manière sécurisée, comme si elles étaient sur le même réseau local.

IPSeco ? Kézaco ?

IPSec, qui signifie « Internet Protocol Security« , est un ensemble de protocoles utilisés pour sécuriser les communications Internet en authentifiant et en chiffrant chaque paquet d’une session de communication. IPSec peut être utilisé pour protéger des flux de données entre un couple d’hôtes (mode transport), entre un couple de réseaux (mode tunnel), ou entre un hôte et un réseau.

IPSec utilise les méthodes suivantes pour sécuriser les communications :

  1. Authentification : Elle garantit que les données ont bien été envoyées par la source revendiquée, et qu’elles n’ont pas été altérées pendant le transfert. IPSec utilise des algorithmes de hachage (comme SHA-1, SHA-256) pour réaliser l’authentification.
  2. Confidentialité : Elle assure que les données ne peuvent pas être lues par des tiers non autorisés. Pour cela, IPSec utilise des algorithmes de chiffrement (comme AES, 3DES) pour rendre les données illisibles sans la clé de déchiffrement appropriée.
  3. Intégrité : Elle assure que les données n’ont pas été modifiées pendant leur transfert. IPSec utilise également des algorithmes de hachage pour vérifier l’intégrité des données.
  4. Anti-rejeu : Cette fonctionnalité empêche les attaques de type « replay » où un attaquant intercepte et retransmet des paquets pour tenter de tromper le destinataire.

Le fonctionnement d’IPSec implique l’établissement de SAs (Security Associations) qui sont des ensembles de paramètres de sécurité partagés utilisés pour sécuriser les communications.

Installation / mise en place du lab de test

  • Une machine sur Ubuntu (Ubuntu 1) qui sera connectée au Lan1 avec l’adresse IP 192.168.1.100
  • Une machine sous PFsense (PFsense 1) dont le WAN sera connecté à un réseau NAT custom (SiteToSiteVPN) en 10.0.2.4 (en gardant le DHCP actif sous virtualbox cette adresse peut varier) et le LAN au réseau Lan1 avec l’IP 192.168.1.1
  • Une machine sur Ubuntu (Ubuntu 2) qui sera connectée au Lan2 avec l’adresse IP 172.16.1.100
  • Une machine sous Pfsense (PFsense 2) dont l’interface WAN sera connectée au réseau NAT custom (SiteToSiteVPN) en 10.0.2.5 et son interface LAN au réseau Lan2 avec l’adresse IP 172.16.1.0

Etape 1 : Installation de PFsense & Ubuntu sur les différentes VM

Pas besoin d’entrer dans les détails : PFsense s’installe assez facilement en suivant le mode guidé, et Ubuntu… Ben c’est Ubuntu quoi ! :-))

Configuration de PFsense :

Voici une capture d’écran de la config du PFsense 1 comme indiqué plus haut :

Et PFsense 2 :

Ubuntu 1 :

Et Ubuntu 2 :

Paramétrage du tunnel et du Firewall sous PFsense 1

Dans « VPN -> IPSec »

Voilà la config détaillée de la phase 1 (en indiquant l’interface qui se trouve de l’autre côté du tunnel ^^) :

Attention à bien définir une clé sécurisée dans le champ « Pre-shared Key » qui devra être la même sur PFSense 2

Voici la config détaillée de la phase 2 (qui indique vers quel réseau local on va se diriger) :

Configuration du Firewall pour laisser passer un test de ping (on va tout mettre en open bar pour le test, mais penser à créer des restrictions par la suite)

Rdv dans « Firewall » -> « Rules » -> « IPSec »

Paramétrage du tunnel et du Firewall sous PFsense 2

On fait les mêmes manips mais en renseignant les adresses de PFsense 1 et du réseau local qui lui est lié

Ne pas oublier de mettre la même clé dans « Pre-Shared Key » qu’auparavant !!

Idem pour les règles de Firewall :

Activation du Tunnel

Aller dans « Status » -> « IP Sec » et cliquer sur « Connect P1 et P2 ». La connexion devrait se faire sur les 2 interfaces directement :

Contrôle / Ping de test

Sur la machine Ubuntu 1 (qui est en 192.168.1.0) on peut faire un ping vers la machine Ubuntu 2 (en 172.16.1.0).

Et voilà, vous avez paramétré un VPN « Site à site » entre 2 réseaux qui ne sont pas directement reliés, grâce à PFsense et sa fonction de tunneling via IPSec.

En conclusion, IPSec est un ensemble robuste de protocoles qui permet de sécuriser les communications Internet en authentifiant, chiffrant, et en assurant l’intégrité et l’anti-rejeu des données.

Fiche de révision PowerShell

Voici un petit résumé des commandes & syntaxe de Powershell.

Pour rappel l’IDE de PowerShell est PowerShell ISE

# Déclaration de variables
$a = 5
$b = 10

# Opérations mathématiques
$sum = $a + $b
Write-Output "La somme de $a et $b est : $sum"

# Structures de contrôle
if ($a -lt $b) {
    Write-Output "$a est inférieur à $b"
} else {
    Write-Output "$a est supérieur ou égal à $b"
}

# Boucles
for ($i = 0; $i -lt 5; $i++) {
    Write-Output "Valeur de i : $i"
}

# Tableaux
$colors = @("Rouge", "Vert", "Bleu")
foreach ($color in $colors) {
    Write-Output "Couleur : $color"
}

# Fonctions
function Multiply($x, $y) {
    return $x * $y
}

$result = Multiply $a $b
Write-Output "Le produit de $a et $b est : $result"

# Utilisation de pipelines et cmdlets
Get-Process | Where-Object { $_.CPU -gt 20 } | Select-Object -First 5 | Format-Table -AutoSize

Vous pouvez nommer le script en utilisant une extension .ps1, qui est l’extension standard pour les scripts PowerShell. Par exemple, vous pouvez le nommer DemoScript.ps1.

Pour exécuter le script, naviguez vers le dossier où vous avez enregistré le script et exécutez-le avec la commande :

.\DemoScript.ps1

Focus sur les cmdlets

Les cmdlets sont les éléments de base des commandes dans PowerShell. Ce sont des petites unités de fonctionnalité qui encapsulent une opération spécifique. Les cmdlets sont conçus pour être utilisés en combinaison les uns avec les autres pour accomplir des tâches complexes grâce à des pipelines.

Chaque cmdlet est généralement nommé en utilisant une convention de « Verbe-Nom », où le verbe décrit l’action que la cmdlet effectue, et le nom décrit l’objet sur lequel l’action est effectuée. Par exemple, Get-Process récupère des informations sur les processus en cours d’exécution sur un ordinateur.

Voici quelques exemples de ce que vous pouvez faire avec des cmdlets :

Gérer des fichiers et des répertoires :

Get-ChildItem
New-Item
Remove-Item
Copy-Item
Move-Item

Gérer des processus :

Get-Process
Start-Process
Stop-Process

Gérer des services :

Get-Service
Start-Service
Stop-Service
Set-Service

Gérer des évènements :

Get-EventLog
Get-EventSubscriber
Register-ObjectEvent

Quelques exemples de Pipelines

Ces exemples montrent comment combiner différentes cmdlets pour accomplir une variété de tâches en utilisant des pipelines.

  1. Lister les fichiers d’un répertoire et trier par taille :
Get-ChildItem | Sort-Object Length -Descending | Format-Table -AutoSize
  1. Chercher tous les processus utilisant plus de 50 Mo de mémoire :
Get-Process | Where-Object { $_.WorkingSet -gt 50MB } | Format-Table -AutoSize
  1. Compter le nombre de fichiers dans un répertoire :
(Get-ChildItem).Count
  1. Lister les 5 fichiers les plus récents d’un répertoire :
Get-ChildItem | Sort-Object LastWriteTime -Descending | Select-Object -First 5 | Format-Table -AutoSize
  1. Afficher le contenu d’un fichier texte et compter le nombre de lignes :
Get-Content .\fichier.txt | Measure-Object -Lin

Installation et configuration de FreePBX

Pour la simulation, j’utilise une VM virtualbox avec les caractéristiques suivantes :

  • 2048 go de ram
  • 2 cpu
  • 15 go d’espace disque
  • Réseau accès par pont pour que la machine obtienne une adresse consultable facilement depuis l’hôte (en l’occurence pour l’exercice elle sera sur l’IP 192.168.1.135)

Télécharger et insérer l’image téléchargeable ici : https://www.freepbx.org/downloads/

Puis allumer la VM pour lancer le processus d’installation qui doit s’exécuter tout seul :

Pendant l’installation, mettre en place un mot de passe pour « Root » (exemple Motdepasse1234 – à ne pas utiliser sur un serveur en prod bien sûr !!!)

Et attendre sagement que l’installation se termine.

Une fois l’installation terminée, ne pas oublier d’éjecter l’iso du lecteur virtuel 😉

Etape 1 : configuration du serveur

Première chose à faire pour plus de confort : configurer le clavier en français. Entrer la commande suivante :

system-config-keyboard

Et sélectionner le français dans la liste affichée :

Ensuite, il va falloir attribuer une IP fixe au serveur pour éviter les coquilles ultérieures.

Aller dans le fichier de configuration de FreePBX :

nano /etc/sysconfig/network-scripts/ifcfg-eth0

Et modifier la configuration de façon à attribuer une IP fixe au serveur (en gras vous verrez les lignes modifiées) :

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="eth0"
UUID="8f25b3f7-2c1e-4347-b883-72203a5d2f80"
DEVICE="eth0"
ONBOOT="yes"
IPADDR=192.168.1.135
GATEWAY=192.168.1.1
NETMASK=255.255.255.0

Enregistrer le fichier (ctrl + X -> yes)

Ensuite redémarrer le réseau

service network restart

Etape 2 : configuration de Freepbx via l’interface web

Rdv sur l’adresse du serveur dans un navigateur web pour créer l’utilisateur principal :

Validez, puis cliquez sur connexion à l’administration.

Vous allez avoir une série de pubs que vous pouvez passez en cliquant sur « skip » :

Ensuite changez la langue :

Enfin, Freepbx propose d’activer le firewall. Pour l’exercice, rien d’obligatoire vu qu’on bosse sur des VM’s. Vous pouvez passer à l’étape suivante.

NB : mais si vous voulez l’activer, vous pouvez lui ajouter quelques règles en vous connectant directement sur la VM. Voici la page qui recense les commandes utilisables : https://wiki.freepbx.org/display/FPG/Firewall+Command+Line

Ensuite, rdv dans « Settings » -> « Asterisk SIP Settings »

Cliquez sur « detect network settings« 

Puis cliquez sur « Submit » (en bas à droite) et « Apply config » (en haut à droite)

Créer les postes

Un poste (= téléphone) est appelé une « extension » dans Freepbx.

Pour en ajouter, rdv dans « Application » -> « Extensions« 

Ajouter un utilisateur SIP :

Ensuite remplir sa fiche :

Onglet « General » :

Onglet « Voicemail » :

Puis ajouter autant de poste que désiré de la même manière (en attribuant d’autres numéros, par exemple 102 si c’est un 2ème poste du même service, ou 201 si c’est le premier poste d’un autre service, etc.)

Configuration d’un softphone

Maintenant il ne reste plus qu’à télécharger un logiciel de type « softphone » pour faire nos essais.

Micro SIP est un bon exemple : vous pouvez le récupérer ici -> https://www.microsip.org/downloads

Une fois installé, cliquez sur la petite flèche en haut à droite puis « ajouter un compte »

Il suffit de remplir la fiche avec les données du serveur FreePBX (NB : le mot de passe fait référence au champ « Secret » sur la fiche de l’utilisateur) :

Pour le test, vous pouvez faire la même manipulation avec un Softphone sur votre téléphone portable et/ou autre ordinateur (ou autre VM !), puis passer un appel en appelant « 102 » sur le poste « 101 » et réciproquement. Vous devriez voir l’appel :

Simulation d’un réseau simple sous GNS3

Voici quelques prises de notes sur le logiciel GNS3 que j’ai rassemblées après avoir suivi divers tutos.

Scénario

Voilà à quoi doit ressembler l’architecture globale :

Etape 1 : Créer et relier les différents équipements (ordis / switchs / routeurs)

  • Attention : SW1 et SW2 sont en fait des routeurs Cisco 3725 déguisés (l’icône a été modifée)
    • NB : Les ports f0/0 et f0/1 des switchs ne sont pas utilisés (pour une raison que j’ignore la communication ne s’établit pas avec les autres équipements sur les 2 ports par défaut… Bizarre, je chercherai la cause plus tard)
  • Les routeurs Ro1 et Ro2 sont des routeurs Cisco 7200
  • Sur Ro1 et Ro2, ajouter des modules pour connecter davantage de câbles
  • Les machines « clientes » sont des qemus sous micro core linux 6.4

Pour avoir des QEMU fonctionnelles

Ajouter un template en utilisant Micro Core Linux (dernière version) :

Pour des soucis de praticité, utiliser l’interface SolarPutty intégrée à GNS3 (+ facile de naviguer entre les VM)

Aller dans “Edit” → “Preferences” puis choisir Solar Putty dans la liste des consoles d’applications :

Etape 2 Configurer les IP des différentes interfaces de chaque réseau

Sur les ordinateurs Linux (exemple avec le PC1 boutique) :

sudo ifconfig eth0 192.168.2.1 netmask 255.255.255.0

Sur les switchs (exemple avec SW1)

conf t int vlan 1 ip add 192.168.2.3 255.255.255.0 no sh

Sur les routeurs (exemple avec Ro1)

conf t int fa0/0 ip add 192.168.2.254 no sh

Faire des pings croisés entre les switchs et les machines pour vérifier que tout est ok niveau communication.

Attention, un bug GNS3 oblige à arrêter / redémarrer le switch pour que les pings fonctionnent correctement

Etape 3 : Relier les 2 réseaux

Ensuite, configurer les IP des interfaces des routeurs pour qu’elles communiquent ensemble

conf t int se2/0 ip add 10.0.5.1 255.255.255.0 no sh

NB : pour les routeurs et les switchs ne pas oublier de se remettre à la racine et d’enregistrer les configuration

copy running-config start

​Etape 4 : créer les routes pour établir la communication entre les réseaux

Commencer par définir les passerelles par défaut sur les ordinateurs (exemple avec le PC1 boutique)

  • Commencer par définir les passerelles par défaut sur les ordinateurs (exemple avec le PC1 boutique)
sudo route add default gw 192.168.2.254
  • Définir également la passerelle sur les switchs (exemple avec SW1)
conf t
ip default-gateway 192.168.2.254

Vérifier que tout fonctionne en faisant des pings croisés entre les différentes machines (ordi → passerelle 1 → passerelle 2 → ordi autre réseau

Etape 5 : création de VLAN

Les VLAN’s vont permettre de créer des réseaux logiques détachés du réseau physique pour permettre par exemple d’isoler la boutique des bureaux.

On va attribuer le n°10 à la boutique et le n° 5 aux bureaux.

Exemple sur le switche de la boutique :

vlan 10
name boutique
exit
exit

On peut voir si le vlan “boutique” est bien créé en tapant la commande suivante à la racine du routeur :

show vlan-switch
  • Puis on attribue les interfaces connectées aux PC à ce VLAN10
conf t
int fa1/1
switchport mode access
switchport access vlan 10
exit

Et on fait la même chose pour l’int fa1/2

  • On définit l’interface du switch en mode “trunk” pour qu’il accepte le passage des vlan
conf t
int fa1/3
switchport mode trunk
exit

On refait ces manips dans le réseau du bureau (192.168.4.0)

Au final, les PC de la boutique peuvent communiquer entre eux car ils sont dans le même VLAN mais ne peuvent pas communiquer avec les PC du bureau alors que le routage de base le permettait !

Installer GLPI sur Debian

Pour installer GLPI 10 sur un serveur Debian, suivez ces étapes :

Mettez à jour les packages du système

sudo apt update && apt upgrade -y

Installer les dépendances nécessaires :

sudo apt install php8.1-curl php8.1-mysqli php8.1-fileinfo php8.1-fpm php8.1-simplexml php8.1-dom php8.1-gd php8.1-intl php8.1-ldap php8.1-zip php8.1-bz2 php8.1-mbstring 

Téléchargez et extrayez GLPI :

wget https://github.com/glpi-project/glpi/releases/download/10.0.0/glpi-10.0.0.tgz
tar -zxvf glpi-10.0.0.tgz
sudo mv glpi /var/www/html/

Configurez les permissions :

sudo chown -R www-data:www-data /var/www/html/glpi
sudo chmod -R 755 /var/www/html/glpi

Créez une base de données pour GLPI :

sudo mysql -u root -p
CREATE DATABASE glpi;
CREATE USER 'glpi_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON glpi.* TO 'glpi_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

(Si vous voulez attacher GLPI à un domaine, suivez les étapes suivantes, sinon allez directement à « redémarrer Apache »)

Configurez Apache :

sudo nano /etc/apache2/sites-available/glpi.conf

Ajoutez les lignes suivantes :

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/glpi
    ServerName glpi.example.com

    <Directory /var/www/html/glpi>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Activez le site GLPI et le module rewrite d’Apache :

sudo a2ensite glpi.conf
sudo a2enmod rewrite

Enfin, redémarrer apache

sudo systemctl restart apache2

Vous pouvez désormais accéder à l’interface web via

  • http://adresseipduserveur/glpi
  • http://glpi.example.com (si vous avez configuré un domaine)

Lorsque GLPI vous demande de créer la base de données, indiquez les infos que vous avez entré lors de la configuration de Mysql :

  • Adresse : localhost
  • User : glpi_user
  • Password: password

Suivez les dernières étapes, vous devriez finir par arriver ici :

Pour info, les identifiants de base pour une première installation sont :

  • User : glpi
  • Pass : glpi

Enfin, terminez l’installation par le changement des mots de passe pour glpi, post-only, tech et normal, puis supprimez le fichier d’installation sur le serveur

rm /var/www/html/glpi/install/install.php

Le tableau de bord doit maintenant s’afficher correctement !

Tips & tricks pour changer de version de php sur Debian

Installer d’autres versions de PHP (en cas de problème de compatibilité)

Parfois, on veut tout mettre à jour et on se rend compte que les solutions qui dépendent de PHP ne sont pas compatibles avec ses dernières versions. Dans ce cas je propose une petite méthodo de résolution pour tester différentes versions de PHP :

Commencer par ajouter les dépôts sury

sudo apt install -y lsb-release ca-certificates apt-transport-https software-properties-common

echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list

wget -qO - https://packages.sury.org/php/apt.gpg | sudo apt-key add -

sudo apt update 

sudo apt install php8.0

Choisir la version de Php à utiliser

sudo update-alternatives --config php

Ce qui devrait proposer quelques choix :

There are 2 choices for the alternative php (providing /usr/bin/php).Selection    Path             Priority   Status
------------------------------------------------------------
  0            /usr/bin/php8.1   81        auto mode
* 1            /usr/bin/php8.0   80        manual mode
  2            /usr/bin/php8.1   81        manual modePress <enter> to keep the current choice[*], or type selection number:

Ne pas oublier de désactiver / réactiver php au niveau d’Apache (exemple si je veux passer de php8.1 à php8.0 :

sudo a2dismod php8.1
sudo systemctl restart apache2

sudo a2enmod php8.0 
sudo systemctl restart apache2

Il suffit ensuite de vérifier la version de PHP :

php -v
Output
PHP 8.0.18 (cli) (built: May  1 2022 04:42:09) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.18, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.18, Copyright (c), by Zend Technologies

Et de vérifier la version utilisée par Apache :

php -c /etc/php/apache2/php.ini -v
PHP 7.4.33 (cli) (built: Sep  4 2023 08:12:36) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.33, Copyright (c), by Zend Technologies

Les bonnes pratiques ITIL

Qu’est-ce que ITIL au juste ?

ITIL (Information Technology Infrastructure Library) est un référentiel de bonnes pratiques pour la gestion des services informatiques. Créé dans les années 1980 par le gouvernement britannique, ITIL a évolué au fil des années, avec sa dernière version, ITIL V4, mise à jour en 2019.

Le cœur d’ITIL repose sur une approche par processus qui met le client au centre de l’organisation. ITIL propose un vocabulaire commun pour les utilisateurs, clients et fournisseurs, et s’applique à tout type d’entreprise, qu’elle soit gouvernementale, multinationale ou PME.

L’un des éléments clés d’ITIL est la CMDB (Configuration Management DataBase), un référentiel qui contient des informations sur les services informatiques, leur constitution et leurs relations de dépendance.

La CMDB aide à gérer la complexité des systèmes d’information en recentrant l’organisation informatique sur les services métiers.

ITIL est composé de plusieurs manuels, chacun dédié à un aspect spécifique de la gestion des services informatiques, tels que le support technique, la gestion des coûts et des niveaux de service, la gestion des logiciels, la gestion des infrastructures informatiques, la gestion des applications et la gestion de la sécurité.

La version 4 d’ITIL a introduit sept principes de base :

  1. La valeur : tous les services doivent apporter de la valeur au consommateur.
  2. Partir de la situation nominale : ne recommencez pas à zéro pour adopter ITIL.
  3. Le feedback : appuyez-vous sur le feedback pour évoluer.
  4. La transparence : soyez transparent et travaillez en harmonie avec toutes les parties prenantes.
  5. Avoir une vision d’ensemble : ne laissez jamais un service ou un processus à l’écart.
  6. Restez simple et pratique : allez à l’essentiel.
  7. Optimisez et automatiser.

Enfin, ITIL peut être complémenté par d’autres méthodes telles que Agile, Lean et DevOps, qui peuvent fonctionner ensemble pour améliorer la gestion des services informatiques.

Liste des processus clés d’ITIL

ITIL est structuré autour d’un ensemble de processus clés qui sont regroupés en cinq domaines principaux, appelés phases du cycle de vie des services. Voici une liste des processus clés d’ITIL :

  1. Stratégie des services :
    • Gestion de portefeuille de services : assure que les services informatiques sont alignés avec les objectifs de l’entreprise.
    • Gestion de la demande : comprend et anticipe les besoins des clients en matière de services informatiques.
    • Gestion financière des services informatiques : gère le budget et les coûts associés aux services informatiques.
    • Gestion des relations d’affaires : établit et maintient une relation positive entre le service informatique et les clients.
  2. Conception des services :
    • Gestion du catalogue de services : crée et maintient un catalogue des services informatiques disponibles.
    • Gestion des niveaux de service : définit et gère les niveaux de service attendus.
    • Gestion de la capacité : s’assure que les ressources informatiques sont suffisantes pour répondre à la demande.
    • Gestion de la disponibilité : s’assure que les services informatiques sont disponibles lorsque les clients en ont besoin.
    • Gestion de la continuité des services informatiques : planifie et gère la continuité des services en cas de catastrophe.
    • Gestion de la sécurité de l’information : protège les informations contre les menaces et les vulnérabilités.
    • Gestion des fournisseurs : gère les relations avec les fournisseurs de services informatiques.
  3. Transition des services :
    • Gestion des changements : gère les changements dans les services informatiques pour minimiser les risques.
    • Gestion des actifs de service et des configurations : gère les actifs informatiques et leurs configurations.
    • Gestion des versions et des déploiements : gère le déploiement de nouvelles versions de services informatiques.
    • Gestion des tests et de la validation des services : s’assure que les services informatiques répondent aux exigences.
    • Évaluation des changements : évalue les changements proposés pour s’assurer qu’ils sont bénéfiques.
    • Gestion des connaissances : capture et partage des connaissances pour améliorer les services informatiques.
  4. Exploitation des services :
    • Gestion des incidents : gère les incidents qui affectent les services informatiques.
    • Gestion des problèmes : identifie et résout les problèmes sous-jacents qui causent des incidents.
    • Gestion des accès : contrôle l’accès aux services informatiques.
    • Gestion des événements : surveille les événements qui affectent les services informatiques.
    • Gestion des requêtes : gère les demandes de service des clients.
  5. Amélioration continue des services :
    • Processus d’amélioration continue des services : identifie et met en œuvre des améliorations pour les services informatiques.

Quels outils permettent de mettre en application ces processus ?

Pour appliquer les principes ITIL, il existe plusieurs outils qui peuvent aider les organisations à gérer leurs services informatiques de manière efficace et efficiente. Ces outils sont généralement regroupés sous le terme « ITSM » (Information Technology Service Management) et peuvent inclure des fonctionnalités pour la gestion des incidents, des problèmes, des changements, des configurations, et bien plus encore.

Voici quelques exemples d’outils ITSM populaires :

GLPI

LPI est une application open-source de gestion des services informatiques qui offre des fonctionnalités pour la gestion des actifs informatiques, la gestion des incidents et des demandes, la gestion des problèmes, et bien plus encore.

GLPI est particulièrement populaire dans les organisations qui recherchent une solution ITSM flexible et personnalisable, car il peut être étendu avec des plugins et adapté aux besoins spécifiques de l’organisation. GLPI est également conforme aux principes ITIL, ce qui en fait un choix approprié pour les organisations qui souhaitent mettre en œuvre ITIL pour améliorer la gestion de leurs services informatiques.

ServiceNow

ServiceNow est une plateforme cloud qui offre une suite complète d’outils ITSM pour aider les organisations à gérer leurs services informatiques conformément aux principes ITIL.

BMC Remedy

BMC Remedy est une solution ITSM qui offre des fonctionnalités pour la gestion des incidents, des problèmes, des changements, des configurations, et bien plus encore.

JIRA Service Desk

JIRA Service Desk est une solution ITSM populaire qui est souvent utilisée par les équipes de développement logiciel pour gérer les incidents, les problèmes, et les demandes de service.

Freshservice

Freshservice est une solution ITSM qui offre des fonctionnalités pour la gestion des incidents, des problèmes, des changements, des configurations, et bien plus encore.

Zendesk

Zendesk est une plateforme de service client qui offre également des fonctionnalités ITSM pour aider les organisations à gérer leurs services informatiques.

Ces outils permettent aux organisations de mettre en œuvre les principes ITIL en fournissant des fonctionnalités pour la gestion des incidents, des problèmes, des changements, des configurations, et bien plus encore.

Ils aident également à automatiser les processus ITIL, ce qui peut améliorer l’efficacité et la qualité des services informatiques.

Page 3 of 6