Système

DNS ( Domaine Name Ser­vice ) est un ser­vice popu­laire dans les entre­prises et dans le monde, qui per­met la réso­lu­tion d’adresse IP par un nom d’hôte.

Installation

On sélec­tionne l’ins­tal­la­tion basée sur un rôle une fonc­tion­na­li­té

On sélec­tionne le ser­veur sur lequel on veut effec­tuer l’ins­tal­la­tion

On sélec­tionne le rôle que l’on sou­haite ins­tal­ler, ici le ser­veur DNS.

On ajoute les fonc­tion­na­li­tés qui sont néces­saires pour ce rôle.

On passe l’é­tape des fonc­tion­na­li­tés facul­ta­tives.

On peut pas­ser l’é­tape des expli­ca­tions DNS.

On confirme l’ins­tal­la­tion.


Configuration de la zone de recherche directe

La zone de recherche directe per­met la réso­lu­tion d’un nom de domaine lié le plus sou­vent à un ser­veur, ou un poste de tra­vail pour avoir son adresse IP. Ici on créé une nou­velle zone. Dans cette confi­gu­ra­tion, mon ser­veur “WIN-COMPUTING” pos­sède l’IP 192.168.90.1, il sera donc pos­sible d’ac­cé­der à ses res­sources ( Ser­veur WEB / Fichiers / DNS / AD ) grâce à son IP ou de par son nom.

L’as­sis­tant de créa­tion de la zone s’af­fiche.

Vu que c’est notre pre­mier ser­veur DNS sur notre réseau local, nous allons choi­sir “Zone Prin­ci­pale”.

Nous allons choi­sir le nom de la zone que nous allons lui affec­ter, ici je mets mon nom de domaine.

On choi­sit un nom pour notre fichier de zone, je mets le même que celui de mon nom de domaine avec l’ex­ten­sion en .dns.

Pour l’ins­tant nous n’al­lons pas auto­ri­ser la mise à niveau dyna­mique.

On ter­mine l’as­sis­tant de la zone.


Configuration de la zone indirecte

Main­te­nant que nous savons déter­mi­ner l’a­dresse IP en fonc­tion du nom de l’or­di­na­teur, savoir faire l’in­verse peut s’a­vé­rer utile. C’est à dire pou­voir décou­vrir le nom d’un ordi­na­teur ou d’un ser­veur en fonc­tion de son adresse IP.

L’as­sis­tant de créa­tion de la zone inver­sée s’af­fiche.

Vu que c’est notre pre­mier ser­veur DNS sur notre réseau local, nous allons choi­sir “Zone Prin­ci­pale”.

On choi­sit une “Zone de recherche inver­sée IPv4”.

On rentre donc notre ID réseau inver­sée.

On choi­sit notre nom de fichier de zone inver­sée.

Pour l’ins­tant nous n’al­lons pas auto­ri­ser la mise à niveau dyna­mique.

On peut ter­mi­ner l’as­sis­tant de la nou­velle zone.


DNSSEC

DNSSEC ( Domain Name Sys­tem Secu­ri­ty Exten­sions ) per­met d’a­jou­ter au pro­to­cole DNS une couche de sécu­ri­té en signant les enre­gis­tre­ments par un sys­tème de clef public/privé.

Ici nous pou­vons dans la colonne “État DNSSEC” que notre zone n’est pas encore signée.

Pour cela, on fait un clic droit sur notre zone, on place sur cur­seur sur DNSSEC puis signer la zone.

Si l’on ne pos­sède pas de para­mètres spé­ciaux, on peut uti­li­ser les para­mètres par défaut.

On peut main­te­nant voir que la zone est signée depuis la colonne “État DNSSEC”.

Nous pou­vons recom­men­cer l’o­pé­ra­tion avec la zone de recherche inver­sée.

Secure-Enhan­ced linux est un module qui ren­force la sécu­ri­té de Linux. Il per­met de défi­nir des poli­tiques d’ac­cès à dif­fé­rents élé­ments du sys­tème d’ex­ploi­ta­tion tel que des pro­ces­sus ou des fichiers. Chaque pro­ces­sus est caté­go­ri­sé, et en fonc­tion de cela les fichiers sont tagués/étiquetés. Pour cela les pro­ces­sus ne pour­ront accé­der qu’aux fichiers asso­ciés. Il vient amé­lio­rer la sécu­ri­té des ser­veurs en com­plé­tant ceux exis­tant, si un pro­ces­sus vien­drait à être alté­ré, il n’au­ra tout de même accès qu’aux fichiers pour celui-ci.


Les principes

SEli­nux peut se mettre en trois modes dif­fé­rents:

  • Enfor­cing : Il est mode par défaut, les accès sont res­treints avec des règles pré-défi­ni.
  • Per­mis­sive : Ce mode est géné­ra­le­ment à consi­dé­rer comme un mode de débo­guage. En mode per­mis­sif, les règles SELi­nux seront inter­ro­gées, les erreurs d’ac­cès log­guées, mais l’ac­cès ne sera pas blo­qué. Ce mode peut être utile pour consta­ter l’en­semble des erreurs SELi­nux posées par un pro­ces­sus par­ti­cu­lier par exemple.
  • Disa­bled : SELi­nux est désac­ti­vé. Rien ne sera res­treint, rien ne sera log­gué.

Pour pou­voir déter­mi­ner le mode actuelle de SEli­nux, nous pou­vons uti­li­ser cette com­mande pour nous retour­ner l’un des trois modes cité ci-des­sus:

getenforce

Pour pou­voir chan­ger le mode actuelle, nous pou­vons uti­li­ser cette com­mande avec l’at­tri­but que vous sou­hai­tez [0/1/2]:

setenforce 0

Si un pro­blème venait à arri­ver du à une confi­gu­ra­tion par­ti­cu­lière, SEli­nux four­nit beau­coup de log:

grep sealert /var/log/messages

 

Virtual Data Opti­mi­zer est une fonc­tion­na­li­té qui per­met d’op­ti­mi­ser le sto­ckage. Elle réduit la redon­dance des don­nées avec une com­pres­sion et une dédu­pli­ca­tion ( Fac­to­rise le sto­ckage ) avant qu’elles soient sto­ckées. Red Hat affirme que les couts de sto­ckage pour les cloud peuvent être réduits de plus de 80%. L’ou­til est dis­po­nible par défaut dans les dépôts de Cen­tOS / Red­hat, mais pour Debian il vous fau­dra com­pi­ler le logi­ciel à la main.


Installation & mise en place

Ins­tal­la­tion des paquets néces­saires:

dnf update && dnf install vdo kmod-kvdo

Iden­ti­fi­ca­tion des par­ti­tions:

lsblk

Nous vou­lons opti­mi­ser l’es­pace qui sera uti­li­sé sur sdb pré­sent à la ligne 8.

On créé la par­ti­tion sous VDO:

vdo create --name=vdo1 --device=/dev/sdb --vdoLogicalSize=20G

Sur la ligne n°7 nous pou­vons voir le disque opti­mi­sé et dis­po­nible sur /dev/mapper/vdo1.

On for­mate la par­ti­tion pour pou­voir l’u­ti­li­ser.

mkfs.xfs -K /dev/mapper/vdo1

La par­ti­tion est bien for­ma­tée.

Créa­tion du dos­sier qui sera mon­té sur la par­ti­tion créée.

mkdir /vdo1

Nous allons ensuite copier le fichier four­nit dans la docu­men­ta­tion de vdo pour ajou­ter le ser­vice qui fera le mon­tage auto­ma­ti­que­ment:

cp /usr/share/doc/vdo/examples/systemd/VDO.mount.example /etc/systemd/system/vdo1.mount

On édite le fichier:

vim /etc/systemd/system/vdo1.mount

Modi­fier comme ce qui suis:

On démarre le ser­vice et on l’ac­tive au démar­rage :

systemctl enable --now vdo1.mount

On véri­fie que le ser­vice à bien mon­té notre par­ti­tion:

mount

Cette ligne à la fin doit appa­raitre.

Nous pou­vons voir les sta­tis­tiques de notre par­ti­tion:

vdostats --human-readable

ESXI est un hyper­vi­seur de type 1. Il a l’a­van­tage de pos­sé­der des tech­no­lo­gies plus récentes que cer­tains hyper­vi­seur, com­pa­ré à prox­mox, il est éga­le­ment lea­der du mar­ché. Il pos­sède une bonne inter­face connue avec l’hy­per­vi­seur de type 2 VMWare Works­ta­tion qui per­met de faire des machines à dis­tance, et en local via la même inter­face. Il faut par contre pos­sé­der une licence.


Ins­tal­la­tion

ESXI charge le cd d’ins­tal­la­tion.

ESXI charge l’ins­tal­la­tion.

On appuie sur “Entrée”.

On accepte la licence en appuyant sur F11.

Il scan les disques.

On choi­sit le disque pour l’ins­tal­la­tion puis “Entrée”.

On choi­sit le cla­vier Fran­çais puis “Entrée”.

On rentre un mot de passe mini­mum de 7 carac­tères et une majus­cule, puis “Entrée”.

On écrit sur les disques, on appuie sur “F11”.

L’ins­tal­la­tion se déroule.

On nous signale d’en­le­ver le disque d’ins­tal­la­tion puis “Entrée”

ESXI est lan­cé, nous pou­vons nous connec­ter sur une inter­face web à l’a­dresse indi­qué.

Publi­ca­tion mise à jour le 2 Décembre 2020

Gestion Libre de Parc Infor­ma­tique 🌐 est un logi­ciel de ges­tion des ser­vices infor­ma­tiques et de ges­tion des ser­vices infor­ma­tiques. Il peut se cou­pler au logi­ciel OCSIn­ven­to­ryNG 🌐, avec un article dont j’ai écrit pour per­mettre l’ins­tal­la­tion 🌐. Nous ver­rons dans cet article com­ment ins­tal­ler GLPI sur Debian 10.

Installation

apt-get install -y apache2 mariadb-server mariadb-client php build-essential perl libapache2-mod-perl2 libxml-simple-perl libio-compress-perl libdbi-perl libapache-dbi-perl libdbd-mysql-perl libnet-ip-perl libsoap-lite-perl libxml-libxml-perl libmojolicious-perl nmap snmp php7.3-mysql php7.3-gd php7.3-mbstring php-ldap php-imap php-apcu php-xmlrpc php-soap php-cas php7.3-xml php7.3-intl php7.3-zip php7.3-bz2

Configuration de la base de données

On se connecte sur l’in­ter­face mys­ql

mysql -u root -p

On créer l’u­ti­li­sa­teur theo­phile qui aura comme mot de passe root

create user 'theophile'@'%' identified by 'root';

On créer la base de don­nées

create database glpi;

On attri­bue tous les droits à l’utilisateur “theo­phile” sur la base de don­née “glpi”

grant all privileges on glpi.* TO 'theophile'@'%';

On recharge les droits et on quitte mariadb

flush privileges;
exit;

Téléchargement de l’archive

On se rend dans le dos­sier adé­quat

cd /var/www/html
rm index.html

On télé­charge l’ar­chive depuis GitHub 🌐, la der­nière en date au moment de la mise à jour de l’ar­ticle

wget https://github.com/glpi-project/glpi/releases/download/9.5.3/glpi-9.5.3.tgz

On décom­presse l’ar­chive

tar -zxvf glpi-9.5.3.tgz

On sup­prime l’ar­chive

rm glpi-9.5.3.tgz

Configuration du serveur WEB

On modi­fie le vir­tual­host

vim /etc/apache2/sites-available/000-default.conf
000-default.conf

On modi­fie les droits

chown -R www-data:www-data /var/www/html/glpi

On active le module rewrite

a2enmod rewrite

On redé­marre le ser­vice apache2

systemctl restart apache2

Configuration du SSL

On créer un dos­sier qui accueille­ra nos cer­ti­fi­cats

mkdir /etc/apache2/ssl

On génère la clef

openssl genrsa 2048 > /etc/apache2/ssl/glpi.key

Géné­ra­tion du cer­ti­fi­cat en fon­tion de la clef géné­ré pré­cé­dem­ment

openssl req -new -key /etc/apache2/ssl/glpi.key -x509 -days 365 -out /etc/apache2/ssl/glpi.crt

On édite le vir­tual­host d’apache2 pour ren­sei­gner les cer­ti­fi­cats SSL

vim /etc/apache2/sites-available/default-ssl.conf

On redé­marre le ser­veur WEB et notre site sera main­te­nant acces­sible depuis HTTPS

systemctl restart apache2

Finalisation de l’installation depuis l’interface WEB

On se rend sur l’in­ter­face web grâce à l’a­dresse IP

GLPI Setup
GLPI Licence
GLPI Ins­tal­ler
GLPI Dépen­dances
GLPI Base de don­nées
GLPI uti­li­sa­tion de la base
GLPI Sta­tis­tiques d’u­sage
GLPI Don
GLPI Ins­tal­la­tion ter­mi­née
GLPI Authen­ti­fi­ca­tion

On sup­prime le fichier d’ins­tal­la­tion pour des rai­sons de sécu­ri­té

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

Il peut être impor­tant de mettre en place une redon­dance ou encore un sys­tème fai­lo­ver du ser­veur DNS. Même si Bind sur un sys­tème Linux est très stable, on est jamais à l’a­bri.


Configuration serveur principale

On reprend la même confi­gu­ra­tion que le ser­veur confi­gu­ré pré­cé­dem­ment.

On ajoute dans nos zones ain­si que notre fichier d’op­tions, la direc­tive ” allow-trans­fer” qui auto­rise le ser­veur secon­daire à faire un trans­fert de zone pour per­mettre la répli­ca­tion

vim /etc/bind/named.conf.local

 

vim /etc/bind/named.conf.options


Configuration serveur secondaire

On édite le fichier de zone

vim /etc/bind/named.conf.local

On redé­marre le ser­vice Bind9 et on peut s’apercevoir que nos fichiers de zone sont bien appa­ru !

systemctl restart bind9

ls -l

On peut main­te­nant indi­quer à nos clients via le DHCP nos deux ser­veurs DNS, le maître en tant que pre­mier et l’es­clave en tant que secon­daire !

Une faille cri­tique est appa­ru dans Sudo, toutes les ver­sions de sudo en des­sous de 1.8.28 sont concer­nés.

Connaitre sa ver­sion de Sudo

sudo -V

Pour se connec­ter en tant que super-uti­li­sa­teur il suf­fit de taper

sudo -u#-1 -s

Mais il faut pour cela que l’u­ti­li­sa­teur soit spé­ci­fié dans le fichier sudoers en tant qu’in­ter­dic­tion de deve­nir root tel que:

theo­phile ALL=(ALL, !root) ALL

Il existe un plu­gin qui s’ins­talle sur le ser­veur GLPI pour per­mettre de bas­cu­ler les infor­ma­tions du ser­veurs OCS sur le ser­ver GLPI qui se nomme ocsin­ven­to­ryng


Installation du plugin

On se déplace dans le réper­toire adé­quat sur notre ser­ver glpi

cd /srv/www/htdocs/glpi/plugins

On télé­charge l’ar­chive

wget https://github.com/pluginsGLPI/ocsinventoryng/releases/download/1.6.0/glpi-ocsinventoryng-1.6.0.tar.gz

On décom­presse

tar -zxvf glpi-ocsinventoryng-1.6.0.tar.gz

On sup­prime l’ar­chive

rm glpi-ocsinventoryng-1.6.0.tar.gz

On se rend sur l’in­ter­face de GLPI, sec­tion –>configuration–>plugins

On aper­çoit main­te­nant notre plu­gin ajou­té

Dans la colonne “Actions” on clique sur le petit dos­sier avec un + pour dire d’a­jou­ter ce plu­gin

Si le plu­gin à bien été ins­tal­lé, une fenêtre à bas à droite s’ouvre comme ceci

Il nous manque plus qu’à l’ac­ti­vé, un nou­veau bou­ton est appa­ru à la place du dos­sier avec un +, cli­qué des­sus


Importation

Ren­dez-vous dans la caté­go­rie –> Outils –> OCS Inven­to­ry NG dans GLPI

On clique sur Ajou­ter un ser­veur OCS Inven­to­ry NG

Pour l’hôte, indi­qué son nom, ici ocs car j’ai rajou­té une entrée DNS indi­quant l’Ip de mon ser­ver.
Si vous êtes sur le même ser­ver, vous pou­vez indi­quer local­host.
Si vous n’a­vez pas fais d’en­trée DNS, vous pou­vez indi­quer l’a­dresse IP

Indi­quez le nom d’u­ti­li­sa­teur et le mot de passe de la base de don­née d’OCS

Atten­tion, si en cli­quant sur test, votre connexion à la base de don­née à échoué, c’est que MariaDB sur OCS refuse toutes les autres connexions que sur lui même

Sur le ser­veur OCS, édi­ter cela:

vim /etc/mysql/mariadb.conf.d/50-server.cnf

Sur la ligne bind-address
mettre bind-address = 0.0.0.0 si l’on veut que tout le monde puisse se connec­ter
Ou
bind-address = ip_server_glpi si l’on veut que seul le ser­ver glpi puisse se connec­ter.

On redé­marre le ser­vice Mys­ql

service mysql restart

La connexion à la base de don­née OCS devrait avoir réus­si, sinon c’est qu’il y’a une erreur au niveau de vos iden­ti­fiants.

Ensuite, notre ser­veur est bien la, on clique sur Import de l’in­ven­taire puis impor­ta­tion de nou­veaux ordi­na­teurs.

Puis on clique sur Impor­ter et on attend que la pro­gres­sion se finissent !

Ensuite on se rend dans Parc, puis Ordi­na­teur, et on voit notre liste de tous les ordi­na­teurs !

 

TFTP: Tri­vial File Trans­fert Pro­to­col ( client )
TFTPd: Tri­vial File Trans­fert Pro­to­col Dae­mon ( ser­ver )
Uti­lise par défaut le port 69 en UDP


Mise en place du service

On pro­cède à l’ins­tal­la­tion des paquets:

apt install -y tftp tftpd

On édite le fichier de confi­gu­ra­tion prin­ci­pal:

vim /etc/initd.conf

L’attribut alt de cette image est vide, son nom de fichier est Capture-20190625150344-947x69-1.png.

Dans l’en­ca­dré rouge se trouve le che­min du dos­sier de notre ser­ver TFTPd. En fonc­tion de cet enca­dré, nous pou­vons créer notre dos­sier ou se trou­ve­ront nos fichiers.

mkdir /srv/tftp

On y attri­buts tous les droits néces­saires pour que les ser­vers et les équi­pe­ments réseaux puissent y pous­ser leurs confi­gu­ra­tions.

chmod 777 /srv/tftp


Récupération de fichier sur le server TFTPd

Depuis le client, on se déplace dans le réper­toire ou l’on veut récu­pé­rer ou envoyer son fichier, on pré­sume que l’a­dresse du ser­ver tftpd est 192.168.1.80

Connexion au ser­ver:

tftp 192.168.1.80

Récu­pé­ra­tion du fichier

tftp>get essai.txt

Envoyer un fichier

tftp>put essai.txt

Atten­tion

Avant de pou­voir envoyer un fichier sur le ser­ver TFTPd, il faut qu’un fichier du même nom soit préa­la­ble­ment créé dans /srv/tftp au risque d’a­voir une erreur:

Error code 2: Access violation

Cela per­met d’é­vi­ter qu’un pirate puisse venir injec­ter n’im­porte quel code mal­veillant.

Bind pour Berke­ley Inter­net Name Domain est le sys­tème de ser­veur de nom le plus uti­li­sé sur inter­net.


Installation

On ins­talle les paquets néces­saires

apt-get install bind9 bind9utils dnsutils vim git curl build-essential

On édite le fichier des options pour per­mettre au ser­ver DNS de trans­mettre la requête à un autre DNS si il n’ar­rive pas à la résoudre.
De base Bind nous pro­pose de mettre les fichiers de zone dans /var/cache/bind ce qui est bonne pro­po­si­tion car il contient toutes les per­mis­sions et tous les droits requis. Il est toute fois pos­sible de le modi­fier dans le fichier sui­vant.

vim /etc/bind/named.conf.options

Et on dé-com­mentes les trois lignes sui­vantes

On édite le fichier de confi­gu­ra­tion prin­ci­pal des zones

vim /etc/bind/named.conf.local

Confor­mé­ment au fichier named.conf.options, nos fichiers de zones seront:
/var/cache/bind/db.garintheophile.fr
/var/cache/bind/db.1.168.192

L’op­tion allow-trans­fer sera utile pour plus tard dans la confi­gu­ra­tion de notre ser­veur secon­daire.

On édite le fichier de la zone prin­ci­pale

vim /var/cache/bind/db.garintheophile.fr

On édite le fichier de la zone reverse

vim /var/cache/bind/db.1.168.192

On redé­marre le ser­veur et on recharge la confi­gu­ra­tion

systemctl restart bind9 && systemctl reload bind9