Blog ENI : Toute la veille numérique !
-25€ dès 75€ sur les livres en ligne, vidéos... avec le code FUSEE25. J'en profite !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. LINUX
  3. Le réseau
Extrait - LINUX Maîtrisez l'administration du système (7e édition)
Extraits du livre
LINUX Maîtrisez l'administration du système (7e édition) Revenir à la page d'achat du livre

Le réseau

TCP/IP

L’origine de l’architecture de réseau TCP/IP (Transmission Control Protocol / Internet Protocol) provient des recherches du DARPA (Defense Advanced Research Project Agency) qui débutent en 1970. L’université de Berkeley a intégré ensuite les protocoles de base de TCP/IP au sein de son système UNIX.

TCP/IP s’est popularisé grâce à son interface générique de programmation d’échanges de données entre les machines d’un réseau, les primitives sockets, et l’intégration de protocoles applicatifs. Les protocoles de TCP/IP sont supervisés par l’IAB (Internet Architecture Board) lui-même supervisant deux autres organismes :

  • L’IRTF (Internet Research Task Force) qui est responsable du développement des protocoles. 

  • L’IETF (Internet Engineering Task Force) qui est responsable du réseau Internet.

Les adresses réseau sont distribuées par le NIC (Network Information Center) et en France l’INRIA. L’ensemble des protocoles de TCP/IP est décrit dans des documents RFC (Request For Comments) (voir la RFC 793) comprenant entre autres :

  • La couche réseau est gérée par le protocole IP (Internet Protocol). Elle peut utiliser divers protocoles de niveau physique et liaison.

  • La couche de transport est gérée par les protocoles TCP (Transmission Control Protocol) ou UDP (User Datagram Protocol).

  • Les couches supérieures sont les couches des protocoles applicatifs, par exemple :

  • HTTP (HyperText Transfer Protocole) : protocole du Web.

  • NFS (Network File System) : partage de fichiers à distance.

  • DNS (Domain Name System) : association noms d’hôtes ou de services ó adresses IP.

  • FTP (File Transfer Protocol) : transfert de fichiers.

La version du protocole IP la plus utilisée est la version 4, le protocole IP version 6 devant la remplacer à terme. Compatible IPv4, IPv6 propose un adressage sur 128 bits permettant d’étendre les capacités du réseau notamment en matière de taille et d’adressage.

1. L’adressage IPv4

Il est important de savoir, avant l’installation, dans quel type de réseau TCP/IP doit s’intégrer le nouveau serveur. Il faut lui assigner au moins une adresse IP et le masque de sous-réseau...

Services réseau xinetd

Le daemon xinetd est un « super-service » permettant de contrôler l’accès à un ensemble de services, telnet par exemple. Beaucoup de services réseau peuvent être configurés pour fonctionner avec xinetd, comme les services ftp, ssh, samba, rcp, HTTP, etc. Des options de configuration spécifiques peuvent être appliquées pour chaque service géré.

systemd, qui permet de contrôler à la fois un socket et un service, rend caduque l’utilisation de xinetd sur les distributions récentes. Cependant, xinetd reste présent sur certains systèmes en production.

Lorsqu’un hôte client demande à se connecter sur un port contrôlé par xinetd, ce dernier reçoit la requête et vérifie tout d’abord les autorisations d’accès TCP (voir tcp_wrappers au prochain chapitre) puis les règles définies pour ce service (autorisations spécifiques, ressources allouées, etc.). Une instance du service associé au port est alors démarrée et xinetd lui transmet la demande de connexion. À partir de ce moment xinetd n’interfère plus dans la connexion entre le client et le serveur.

1. Configuration

Les fichiers de configuration sont :

  • /etc/xinetd.conf: configuration globale.

  • /etc/xinetd.d/* : répertoire contenant les fichiers spécifiques aux services. Il existe un fichier par service, du même nom que celui précisé dans /etc/services.

Exemple

$ ls -l /etc/xinetd.d 
total 92 
-rw-r--r-- 1 root root  313 sep 22  2007 chargen 
-rw-r--r-- 1 root root  333 sep 22  2007 chargen-udp 
-rw-r--r-- 1 root root  256 mar 20 22:11 cups-lpd 
-rw-r--r-- 1 root root  409 nov  4  2005 cvs 
-rw-r--r-- 1 root root  313 sep 22  2007 daytime 
-rw-r--r-- 1 root root  333...

OpenSSH

OpenSSH est un protocole de shell sécurisé, un mécanisme qui permet l’authentification sécurisée, l’exécution à distance et la connexion à distance. Il permet aussi le transport sécurisé du protocole X Window. Enfin, il est capable d’encapsuler des protocoles non sécurisés en redirigeant les ports.

Les paquets logiciels à utiliser pour un serveur sont openssh, openssl et openssh-clients. La liste des paquets à installer dépend de chaque distribution.

L’utilisation la plus commune est l’accès distant sécurisé au serveur, en mode terminal via le client ssh.

1. Configuration du serveur ssh

Le fichier de configuration est /etc/ssh/sshd_config, complété par les fichiers *.conf du répertoire /etc/ssh/sshd_config.d/. Quelques options sont éventuellement à modifier :

  • Port : le numéro de port, par défaut 22.

  • Protocol : fixé à 2 par défaut. Configuré à 1 il autorise SSH1 et SSH2. On préférera SSH2 et donc on laissera la valeur 2 seule.

  • ListenAddress : par défaut ssh écoute sur toutes les adresses IP du serveur. On peut autoriser uniquement l’écoute sur une interface donnée.

  • PermitRootLogin : ssh autorise ou non les connexions avec le compte administrateur root. On peut placer la valeur à « no ». Dans ce cas, il faut se connecter en simple utilisateur et passer par su ou sudo pour utiliser le compte administrateur root.

  • Banner : chemin d’accès d’un fichier dont le contenu sera affiché aux utilisateurs lors de la connexion.

ssh peut être un service System V à lancer avec la commande service ou par /etc/init.d/sshd, ou être géré par une unité systemd. 

Exemple

# service sshd start 

Via systemd :

# systemctl status sshd 
 sshd.service - OpenSSH server daemon 
     Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; preset: enabled) 
     Active: active (running) since Mon 2023-07-24 14:58:27 CEST; 1 day 3h ago 
       Docs: man:sshd(8) 
             man:sshd_config(5) 
   Main...

Courrier électronique

Le courrier électronique implique différents services entre l’émetteur et le récepteur, fonctionnant en mode client-serveur :

  • Quand un client (un utilisateur) envoie un message, il utilise un MUA (Mail User Agent), par exemple Thunderbird, Evolution, Kmail, Mutt, Outlook Express, etc.

  • Le MUA adresse le message au MTA (Mail Transport Agent). Le MTA étudie l’adresse électronique pour déterminer l’utilisateur et le domaine de destination, puis il recherche les informations DNS de type MX (Mail Xchanger) pour le domaine choisi, pour savoir à quel serveur transmettre le courrier. Si aucun MTA distant n’est disponible, le message est placé en file d’attente et le MTA relance la distribution plus tard (le délai dépend de la configuration du MTA).

  • Le MX peut être soit un autre MTA, qui jouera le rôle de routeur (cas d’une redirection vers un sous-domaine par exemple), soit un MDA (Mail Delivery Agent). Le MDA place le message dans un fichier temporaire, peut le filtrer, etc.

  • Le destinataire reçoit le message : soit il le récupère en lisant directement le fichier temporaire (cas de la commande mail par exemple) soit il passe par un protocole de type POP ou IMAP.

  • Le protocole de transport de messages est le SMTP (Simple Mail Transfer Protocol) sur le port 25.

  • Les protocoles de réception de messages...