Semaine 13-14 : Services d’Infrastructure ⚙️
Objectifs pédagogiques
- Déployer et configurer les services d’infrastructure fondamentaux (DNS, DHCP, NTP) sur des systèmes Linux.
- Mettre en place des serveurs d’application et de flux (Web, Proxy).
- Mettre en place des solutions de monitoring (Nagios, Zabbix) en utilisant le protocole SNMP.
Sommaire de Navigation
1 — Services d’Adressage : DNS (BIND)
Le service DNS (Domain Name System) est critique pour la résolution des noms. Sur Linux, le logiciel le plus courant pour un serveur DNS est BIND (Berkeley Internet Name Domain).
Fonctionnement d’une Zone DNS (BIND)
BIND utilise des Zones pour gérer la résolution des noms pour un domaine spécifique.
- Zone Primaire : Le serveur est l’autorité pour cette zone et gère les fichiers de zone.
- Zone Secondaire : Réplique les données de la zone primaire pour la redondance.
- Fichier de Zone : Contient les enregistrements (A, CNAME, MX, NS) qui mappent les noms aux adresses IP.
Types d’Enregistrements Clés
| Type | Rôle | Exemple |
|---|---|---|
| A (Adresse) | Mappe un nom d’hôte vers une adresse IPv4. | www IN A 192.168.1.50 |
| CNAME (Alias) | Mappe un nom vers un autre nom d’hôte (alias). | ftp IN CNAME srv-app-01 |
| PTR (Pointeur) | Résolution inverse (IP vers Nom). Utilisé dans les zones inverses. | 50 IN PTR www.mondomaine.local |
Outil de Diagnostic DNS
Utilisez la commande dig pour interroger directement un serveur DNS et diagnostiquer les problèmes de résolution.
dig @[IP_du_serveur_DNS] [nom_de_domaine]
2 — Services d’Adressage : DHCP sur Linux
Le serveur DHCP (Dynamic Host Configuration Protocol) est utilisé pour attribuer automatiquement les adresses IP aux clients. Sous Linux, on utilise souvent l’ISC DHCP Server (ou plus récemment Kea).
Configuration du DHCP
Le fichier de configuration principal (souvent dhcpd.conf) doit définir :
- Le sous-réseau (subnet) géré.
- La plage d’adresses (range) à distribuer.
- Les options (gateway, serveurs DNS, durée du bail).
Configuration du Fichier dhcpd.conf (Extrait)
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
option routers 192.168.1.1;
option domain-name-servers 192.168.1.10, 8.8.8.8;
default-lease-time 600;
max-lease-time 7200;
}
Réservation Statique (Bail Permanent)
Pour les serveurs ou équipements critiques (imprimantes), vous devez garantir qu’ils reçoivent toujours la même adresse IP en utilisant leur adresse MAC.
host srv-ad-01 {
hardware ethernet [MAC_ADRESSE];
fixed-address 192.168.1.10;
}
3 — Synchronisation Temporelle (NTP)
Le protocole NTP (Network Time Protocol) est fondamental pour la sécurité et la cohérence des journaux d’événements. Des horloges désynchronisées peuvent provoquer des erreurs dans Active Directory et des problèmes d’authentification (Kerberos).
NTP Client et Serveur
Sous Linux, les services ntpd ou chronyd sont utilisés pour synchroniser l’horloge système avec des serveurs NTP de référence (stratum 1, 2, 3…).
- Stratum : Indique la distance par rapport à une horloge atomique de référence (Stratum 0). Plus le nombre est bas, plus la source est précise.
Configuration (Exemple Chrony)
Le service Chrony est souvent préféré à ntpd car il est plus rapide à synchroniser et plus résistant aux coupures.
# Fichier chrony.conf (Exemple)
server 0.fr.pool.ntp.org iburst
server 1.fr.pool.ntp.org iburst
# Permettre aux clients de synchroniser sur ce serveur
allow 192.168.1.0/24
Vérification
Utilisez la commande chronyc tracking pour voir l’état de la synchronisation et l’erreur d’horloge (offset).
4 — Serveurs Web et Hôtes Virtuels (Apache/Nginx)
Les serveurs Web Apache HTTP Server et Nginx sont les deux logiciels les plus dominants sur le marché.
Concept d’Hôte Virtuel (Virtual Host)
Les Hôtes Virtuels permettent à un seul serveur physique (avec une seule adresse IP) d’héberger plusieurs sites Web distincts (ex: siteA.com et siteB.com).
- Hôte Virtuel Basé sur le Nom : Le serveur Web utilise l’en-tête HTTP Host envoyé par le client pour déterminer quel site Web afficher. (Le plus courant)
- Hôte Virtuel Basé sur l’IP : Chaque site est associé à une adresse IP différente sur le serveur.
Configuration Nginx (Extrait de Fichier de Conf.)
server {
listen 80;
server_name www.mon-site-a.com;
location / {
root /var/www/site_a/html;
index index.html;
}
}
server {
listen 80;
server_name www.mon-site-b.com;
location / {
root /var/www/site_b/html;
index index.html;
}
}
5 — Serveurs Proxy et Reverse Proxy
Les serveurs proxy agissent comme des intermédiaires entre les clients et les autres serveurs.
Proxy Direct (Forward Proxy)
- Rôle : Intermédiaire pour les requêtes sortantes des clients (ex: PC de l’entreprise vers Internet).
- Utilisation : Sécurité (filtrage du contenu), mise en cache pour accélérer la navigation, anonymisation.
- Exemple de logiciel : Squid.
Reverse Proxy
- Rôle : Intermédiaire pour les requêtes entrantes d’Internet vers un ou plusieurs serveurs Web internes.
- Utilisation : Répartition de charge (Load Balancing), sécurité (masquer l’IP du serveur réel), gestion des certificats SSL/TLS.
- Exemple de logiciel : Nginx (utilisé aussi comme Reverse Proxy).
Mise en place d’un Reverse Proxy (Nginx)
server {
listen 80;
server_name [nom_public_externe];
location / {
# Transférer la requête vers le serveur Web interne
proxy_pass http://[IP_du_serveur_web_interne]:8080;
# Conserver l'en-tête Host d'origine
proxy_set_header Host $host;
}
}
6 — Supervision et Monitoring (SNMP)
Le monitoring est essentiel pour garantir la disponibilité et la performance des services. Les solutions (Nagios, Zabbix, Prometheus) reposent souvent sur le protocole SNMP.
Protocole SNMP (Simple Network Management Protocol)
SNMP est un protocole standard qui permet à un gestionnaire (le serveur de monitoring) de collecter des informations sur les périphériques réseau (routeurs, serveurs, imprimantes) ou d’envoyer des commandes.
Concepts Clés
- Agent SNMP : Logiciel qui s’exécute sur le périphérique à surveiller. Il collecte les données.
- Gestionnaire (Manager) : Le serveur de monitoring (Nagios, Zabbix) qui interroge les Agents.
- MIB (Management Information Base) : Base de données hiérarchique qui définit la structure des données que l’Agent peut collecter (CPU, RAM, trafic réseau…).
- Community String : Un mot de passe simple (souvent ‘public’ en lecture) utilisé pour l’authentification rudimentaire entre le Gestionnaire et l’Agent.
Méthodes d’Interrogation
| Méthode | Fonction |
|---|---|
| Poll (Interrogation) | Le Gestionnaire interroge l’Agent à intervalles réguliers pour obtenir des données (polling). |
| Trap (Piège) | L’Agent envoie une notification non sollicitée au Gestionnaire en cas d’événement critique (panne, surchauffe). |