Vous êtes sur la page 1sur 21

67949-Administration Linux par la pratique, Tome 2-INT.

book Page I Monday, March 9, 2020 7:51 PM

Administration Linux
par la pratique
67949-Administration Linux par la pratique, Tome 2-INT.book Page II Monday, March 9, 2020 7:51 PM

DANS LA MÊME COLLECTION


S. RINGUEDÉ. – SAS.
N°67631, 4e édition, 2019, 688 pages.
C. BLAESS. – Solutions temps réel sous Linux.
N°67711, 3e édition, 2019, 318 pages.
T. PARISOT. – Node.js.
N°13993, 2018, 472 pages.
C. PIERRE DE GEYER, J. PAULI, P. MARTIN, E. DASPET. – PHP 7 avancé.
N°67720, 2e édition, 2018, 736 pages.
H. WICKHAM, G. GROLEMUND. – R pour les data sciences.
N°67571, 2018, 496 pages.
F. PROVOST, T. FAWCETT. – Data science pour l’entreprise.
N°67570, 2018, 370 pages.
J. CHOKOGOUE. – Maîtrisez l’utilisation des technologies Hadoop.
N°67478, 2018, 432 pages.
R. GOETTER. – CSS 3 Flexbox.
N°14363, 2016, 152 pages.
H. BEN REBAH, B. MARIAT. – API HTML 5 : maîtrisez le web moderne !
N°67554, 2018, 294 pages.
W. MCKINNEY. – Analyse de données en Python.
N°14109, 2015, 488 pages.
E. BIERNAT, M. LUTZ. – Data science : fondamentaux et études de cas.
N°14243, 2015, 312 pages.

SUR LE MÊME THÈME


K. NOVAK. – Débuter avec Linux.
N°13793, 2017, 522 pages.
R. HERTZOG, R. MAS. – Debian Jessie.
N°14203, 2016, 538 pages.

Retrouvez nos bundles (livres papier + e-book) et livres numériques sur


http://izibook.eyrolles.com
67949-Administration Linux par la pratique, Tome 2-INT.book Page III Monday, March 9, 2020 7:51 PM

Kiki Novak

Administration Linux
par la pratique
Tome 2 : Configurer les services les plus courants
67949-Administration Linux par la pratique, Tome 2-INT.book Page IV Monday, March 9, 2020 7:51 PM

ÉDITIONS EYROLLES
61, bd Saint-Germain
75240 Paris Cedex 05
www.editions-eyrolles.com

En application de la loi du 11 mars 1957, il est interdit de reproduire intégralement ou partiellement le présent ouvrage,
sur quelque support que ce soit, sans l’autorisation de l’Éditeur ou du Centre Français d’exploitation du droit de copie,
20, rue des Grands Augustins, 75006 Paris.
© Éditions Eyrolles, 2020, ISBN : 978-2-212-67949-6
67949-Administration Linux par la pratique, Tome 2-INT.book Page V Monday, March 9, 2020 7:51 PM

Avant-propos

Vous voilà donc armé jusqu’aux dents de compétences fondamentales et de savoir-faire de


base en matière de serveurs Linux après la lecture du premier tome de la série Administration
Linux par la pratique. Je vous entends craquer les doigts. Si nous étions dans un cours de cui-
sine, vous seriez maintenant capables de concocter une excellente pâte à crêpes. La prépara-
tion de base a suffisamment reposé au réfrigérateur. Le moment est venu d’attaquer la cuisson
des crêpes à proprement parler : crêpes salées, crêpes sucrées, crêpes à toutes les sauces...
Vous n’avez peut-être pas la moindre idée de ce que je raconte. Je reprends donc depuis le début
pour tous ceux et toutes celles qui viennent de débarquer en cours de route. Cet ouvrage est le
deuxième tome du guide pratique pour les administrateurs en herbe qui veulent installer, confi-
gurer et gérer des serveurs sous CentOS et Red Hat Enterprise Linux. Les techniques fonda-
mentales acquises tout au long du premier tome vont être mises en application ici. Si vous ne
l’avez pas lu, vous risquez fort de vous réveiller en terrain inconnu. Chat échaudé craint la
charrue avant la peau de l’ours, comme le dit un proverbe un peu moins connu.
Si vous administrez les serveurs d’une TPE ou d’une PME ou si vous gérez le réseau d’une école
ou d’une association – avec des postes clients sous Microsoft Windows, macOS ou Linux – ce
livre est fait pour vous. Les configurations présentées sont immédiatement utilisables et
répondent aux besoins numériques les plus courants rencontrés par les professionnels.
Parlons un peu de ce que ce livre n’est pas. Les chapitres sur les serveurs DNS, les serveurs
web ou les serveurs de courriel n’ont pas été conçus dans le but de vous faire réussir un ques-
tionnaire à choix multiples sur BIND, Apache et Postfix. C’est en vain que vous chercherez
de longs exposés théoriques et soporifiques sur les protocoles réseau et vous n’y trouverez pas
non plus l’habituelle collection d’exercices scolaires aux vagues relents de cauchemars
d’examen.
L’approche pédagogique de cette série d’ateliers pratiques consiste à vous faire plonger les
mains dans le cambouis pour que vous sachiez configurer de A à Z vos propres serveurs
Linux « aux petits oignons ». Vous serez capable d’héberger des sites web, des blogs, des
webmails et des plates-formes de stockage réseau sur votre propre serveur dédié. Vous saurez
configurer une authentification centralisée ou un partage de fichiers pour votre réseau local,
surveiller et filtrer le trafic web de tous vos utilisateurs et beaucoup d’autres choses encore.
67949-Administration Linux par la pratique, Tome 2-INT.book Page VI Monday, March 9, 2020 7:51 PM

Administration Linux par la pratique


VI

Vous glanerez la théorie nécessaire en passant et la réussite d’un test d’admission ou d’un
examen de certification constituera éventuellement un bénéfice secondaire non négligeable.
Tout comme le précédent, ce deuxième tome souscrit à l’adage de Méphistophélès dans
Faust : « Grise, cher ami, est toute théorie »…
De par sa nature, cet ouvrage comporte nécessairement des lacunes. Certaines thématiques
comme les serveurs DNS ou les serveurs de courrier électronique auraient mérité un livre à
part entière. Pour faire tenir tous ces sujets passablement complexes en une série de chapitres
concis, j’ai dû procéder à un élagage délicat, en cherchant un équilibre sain quelque part entre
l’exhaustivité érudite et la simplification à outrance. Au final, l’objectif de chacun des ateliers
pratiques présentés ici, c’est de se retrouver avec « quelque chose qui marche ».
L’organisation des chapitres de ce deuxième tome peut surprendre. Les ouvrages traitant des
serveurs Linux sont normalement structurés en grandes sections bien proprement agencées.
Si les chapitres semblent parfois se suivre pêle-mêle ici, c’est par un simple souci de cohérence
pédagogique. J’ai fait de mon mieux pour aller du plus simple au plus compliqué, en mettant
un pied devant l’autre.
La sécurité des serveurs occupe une place centrale du livre dès les premiers chapitres. Elle
n’est donc pas reléguée dans une partie annexe, un peu comme la cerise sur le gâteau. Elle
n’est pas non plus balayée sous le tapis et je ne vous conseillerai pas de désactiver SELinux
(Security Enhanced Linux), comme cela se voit encore trop souvent dans certains ouvrages
imprimés (pas de noms). Au lieu de cela, je vous prends par la main en faisant de mon mieux
pour démystifier pas à pas ce sujet complexe, à l’aide de nombreux exemples.
Certains chapitres sembleront familiers aux lecteurs assidus de mon blog professionnel, ce qui
tient à ma manière particulière de travailler. Lorsque je traite un sujet, je rédige généralement
un ou plusieurs article(s) sous forme de premier jet sur mon blog technique. Cela me permet
un contrôle de qualité constant en interaction avec mes lecteurs dans la zone de commentaires
du blog. Les articles qui ont été intégrés ici ont tous passé cette première épreuve du feu et ont
reçu par la suite leur glaçage final grâce à la vaillante équipe de relecteurs techniques
d’Eyrolles. Je tiens à saluer leur travail minutieux ici.
Un dernier mot sur la version du système d’exploitation utilisée dans cet ouvrage. Lorsque j’ai
commencé la rédaction du manuscrit, Red Hat Enterprise Linux 8.0 venait tout juste de
sortir et CentOS 8.0 était encore loin de voir le jour. Écrire un livre informatique, c’est cher-
cher à figer une cible mouvante, mais cela nécessite également de prendre le temps pour
découvrir toutes les particularités et les menus détails d’un système. Après mûre réflexion, j’ai
décidé de baser tous les exemples de ce livre sur CentOS 7.7. Cette branche ne réserve plus
de surprises et elle est officiellement maintenue jusqu’en juin 2024.

Que contient ce livre ?


Ce livre est conçu pour être lu page par page, chapitre par chapitre. Lisez-le comme un
roman et mettez en pratique toutes les configurations proposées. Là encore, les chapitres sur
lesquels vous ferez l’impasse reviendront très probablement vous mordre les fesses.
67949-Administration Linux par la pratique, Tome 2-INT.book Page VII Monday, March 9, 2020 7:51 PM

Avant-propos
VII

Le chapitre 1 part d’une installation fraîche de CentOS 7.7 et offre une vue d’ensemble sur la
configuration post-installation d’un serveur Linux : l’agrémentation du shell, la configuration
des dépôts de paquets, l’installation des outils, le peaufinage de la configuration réseau, etc.
Le chapitre 2 décrit la mise en place d’une connexion SSH sans mot de passe, à l’aide d’une
paire de clés.
Le chapitre 3 met en place un site web local en deux minutes chrono. Cet hébergement « vite
fait mal fait » nous servira de base pratique pour expliquer les concepts de sécurité des cha-
pitres subséquents.
Le chapitre 4 explique pas à pas la notion de pare-feu sous Linux en vous faisant construire le
vôtre en ligne de commande. C’est également l’occasion de découvrir les scripts shell pour
automatiser les tâches répétitives.
Le chapitre 5 démystifie un sujet qui fait peur à de nombreux administrateurs : SELinux, un
mécanisme de sécurité développé par la NSA et utilisé principalement sur les serveurs
Red Hat et CentOS.
Le chapitre 6 transforme un serveur en routeur pour un réseau local grâce à Dnsmasq. Cette
configuration vous donne le contrôle sur votre propre réseau tout en contournant toutes les
limitations imposées par les box Internet.
Les chapitres 7 et 8 décrivent en détail l’installation de CentOS sur du matériel spécifique :
un routerboard PC Engines pour une passerelle locale et un serveur dédié dans un datacenter
pour les hébergements publics avec une ouverture frontale sur Internet.
Le chapitre 9 vous montre une série de techniques pour protéger votre machine publique
fraîchement installée contre les attaques par force brute.
Le chapitre 10 met les pendules à l’heure atomique et vous montre en détail la synchronisa-
tion NTP des machines de votre réseau.
Le chapitre 11 vous présente une série de réflexes pratiques à adopter lorsque votre serveur ne
démarre plus.
Le chapitre 12 décrit la mise en place d’un serveur de courriel minimal avec Postfix pour
envoyer des messages.
Le chapitre 13 se penche en détail sur l’automatisation des mises à jour de sécurité de vos ser-
veurs.
Le chapitre 14 explique pas à pas la configuration d’un serveur DNS avec BIND sur une
machine publique, ce qui vous permettra de contrôler votre propre domaine avec un
maximum de flexibilité.
Le chapitre 15 vous aide à prendre en main le serveur de bases de données MariaDB, une
brique logicielle essentielle pour l’hébergement d’un grand nombre d’applications web.
Les chapitres 16 à 18 traitent en détail de l’installation et de la configuration du serveur web
Apache, en allant du simple site statique jusqu’aux hôtes virtuels sécurisés en passant par la
génération de certificats Let’s Encrypt.
67949-Administration Linux par la pratique, Tome 2-INT.book Page VIII Monday, March 9, 2020 7:51 PM

Administration Linux par la pratique


VIII

Les chapitres 19 à 22 décrivent pas à pas la configuration d’un serveur de courriel IMAP
sécurisé avec Postfix, Dovecot et SpamAssassin.
Les chapitres 23 à 26 vous permettent de mettre en œuvre vos compétences d’hébergeur fraî-
chement acquises. Nous y abordons en détail l’installation et la configuration de quatre appli-
cations web extrêmement populaires : WordPress, Dolibarr, OwnCloud et Roundcube.
Le chapitre 27 offre une introduction pratique au serveur Samba, pour partager des fichiers
entre Windows, macOS et Linux.
Les chapitres 28 et 29 présentent une solution « pur Linux » pour l’authentification centra-
lisée et le partage de fichiers, basée sur 389 Directory Server et NFS.
Les chapitres 30 à 33 expliquent en détail la mise en place d’un serveur proxy avec Squid.
Avec cette configuration, vous surveillerez le trafic web de votre réseau local et filtrerez l’accès
aux sites problématiques.
Vous trouverez en annexe des informations supplémentaires pour l’installation d’une interface
graphique minimaliste avec WindowMaker, notamment pour exploiter confortablement le
serveur d’annuaire présenté dans le chapitre 29.

Remarque
Les exemples fournis dans le livre utilisent les deux noms de domaine « slackbox.fr » et « unixbox.fr »
qui appartiennent à l'auteur. Le lecteur peut prendre son propre nom de domaine chez BookMyName.

Remerciements
Merci à Alexandre Habian pour avoir cru en ce projet et surtout pour sa patience. Sans son
professionnalisme – le vrai, celui qui ne fait pas l’impasse sur les qualités relationnelles et la
bonne humeur – ce livre n’aurait jamais vu le jour.
Un grand merci à Clothilde, ma tendre moitié, pour son soutien, ses bons conseils, ses bons
petits plats et les hectolitres de thé aux fruits rouges.

À propos de l’auteur
Féru d’informatique depuis les jours du processeur 8080 et du Commodore VC-20, Kiki Novak est gérant
de la société Microlinux, spécialisée dans l’élaboration de solutions informatiques durables basées à cent
pour cent sur Linux et les logiciels libres. Microlinux est également un organisme de formation s’adres-
sant aux utilisateurs et aux administrateurs de Linux.
B https://www.microlinux.fr
67949-Administration Linux par la pratique, Tome 2-INT.book Page IX Monday, March 9, 2020 7:51 PM

Table des matières

CHAPITRE 1
Un système de base aux petits oignons ....................................... 1
L’installation de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Mise à jour initiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Installer une panoplie d’outils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
En français ou en anglais ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Personnaliser l’invite de commande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Avec un peu de couleur, c’est encore mieux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Quelques alias pratiques pour la console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Définir Vim comme l’éditeur principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Peaufiner la configuration réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Supprimer NetworkManager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Désactiver l’IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Configuration statique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Configurer les dépôts pour Yum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Les dépôts officiels de la distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Le dépôt CR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Le dépôt EPEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Configurer l’affichage de la console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Rendre sudo plus confortable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Surveiller l’état du système en un coup d’œil avec Glances . . . . . . . . . . . . . . . . . . . . . . 16
Un premier audit de sécurité avec Lynis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

CHAPITRE 2
L’authentification par clé SSH ..................................................... 23
Notre objectif. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Générer la paire de clés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Transférer la clé publique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Transfert automatique avec ssh-copy-id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Transfert manuel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Renforcer la sécurité du serveur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

CHAPITRE 3
Je vous sers quelque chose ?....................................................... 29
Avant de commencer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Un serveur web en deux minutes chrono . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
67949-Administration Linux par la pratique, Tome 2-INT.book Page X Monday, March 9, 2020 7:51 PM

Administration Linux par la pratique


X

CHAPITRE 4
Un pare-feu fait maison ............................................................... 35
Quelques généralités. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Netfilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Les différentes actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Les tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Les chaînes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Fonctionnement de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Avant de mettre la main à la pâte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Afficher l’état du pare-feu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Définition manuelle des premières règles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Retour à la case départ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Scripter les règles de filtrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Configurer un pare-feu persistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Ajouter quelques règles de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Tester le pare-feu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Enregistrer les paquets refusés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
En conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

CHAPITRE 5
SELinux expliqué aux administrateurs frileux........................... 53
DAC et MAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
SELinux, qu’est-ce que c’est exactement ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Les points problématiques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
SELinux dans tous ses états . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Exemple pratique n° 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Le contexte de sécurité SELinux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Exemple pratique n° 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Modifier le contexte SELinux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Exemple pratique n° 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Exemple pratique n° 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Gérer les booléens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
En conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

CHAPITRE 6
Transformer un serveur en routeur ............................................ 67
La configuration initiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Notre objectif. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Configuration réseau de la machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Configuration initiale du pare-feu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Autoriser SSH depuis l’extérieur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Installer et configurer un serveur Dnsmasq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Prérequis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Installation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Configuration de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Démarrage et utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Premier test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Attribuer des adresses statiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
67949-Administration Linux par la pratique, Tome 2-INT.book Page XI Monday, March 9, 2020 7:51 PM

Table des matières


XI

Gérer les hôtes statiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80


Activer le relais des paquets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

CHAPITRE 7
Installer CentOS sur une carte PC Engines ................................. 85
Considérations matérielles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Choisir le matériel adapté . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Montage du matériel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Configurer le port série . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Lancer l’installation de CentOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Configuration post-installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Application pratique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

CHAPITRE 8
Installer CentOS sur un serveur dédié ........................................ 97
Les serveurs dédiés Dedibox chez Online . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Installer CentOS sur votre Dedibox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Connexion initiale et première surprise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Les droits de l’utilisateur initial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Vérifier les mises à jour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Redéfinir les mots de passe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Quelques modifications courantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Peaufiner la configuration réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Configurer le pare-feu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Activer SELinux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

CHAPITRE 9
Gérer les attaques par force brute............................................ 111
Premier contact avec les cyberméchants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Autoriser les connexions pour quelques adresses IP . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Limiter le nombre de tentatives de connexion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Désactiver l’authentification par mot de passe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Bloquer les attaques par force brute avec Fail2ban . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Installer Fail2ban . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Configurer Fail2ban . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Premier test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

CHAPITRE 10
Synchroniser vos machines avec NTP ....................................... 119
Auriez-vous l’heure atomique s’il vous plaît ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
NTP et le pare-feu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Synchronisation avec un serveur NTP public . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Gestion et utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Synchroniser les postes clients avec le serveur NTP local . . . . . . . . . . . . . . . . . . . . . . 123
Sous Windows 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Sous OpenSUSE Leap 15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
67949-Administration Linux par la pratique, Tome 2-INT.book Page XII Monday, March 9, 2020 7:51 PM

Administration Linux par la pratique


XII

CHAPITRE 11
Au secours ! Mon serveur ne démarre plus ! ........................... 129
Se tirer dans le pied en visant bien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Réparer un système qui ne démarre plus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Faire disparaître un serveur dédié des radars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Reprendre la main sur une Dedibox inaccessible . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
J’ai oublié tous mes mots de passe ! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

CHAPITRE 12
Configurer Postfix pour l’envoi de courriels............................ 141
Le MTA Postfix. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Postfix minimal sur un serveur dédié . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Prérequis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Installation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Configuration initiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Premier test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Postfix minimal sur une machine locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Installation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Configuration initiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Tester la configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Utiliser Gmail comme relais SMTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

CHAPITRE 13
Configurer les mises à jour automatiques ............................... 151
Automatiser les mises à jour de mon serveur ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Gérer les mises à jour avec yum-cron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

CHAPITRE 14
Installer un serveur DNS avec BIND .......................................... 155
Des chiffres et des lettres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Organisation du DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Découvrir la gestion des DNS par la pratique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Clicodrome ou ligne de commande ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Le serveur BIND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
BIND et le pare-feu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Serveur cache DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Configurer la journalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Désactiver l’IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Utiliser les DNS de base de chez Online . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Configurer un serveur maître primaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
DNS secondaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Reverse DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Quelques vérifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
67949-Administration Linux par la pratique, Tome 2-INT.book Page XIII Monday, March 9, 2020 7:51 PM

Table des matières


XIII

CHAPITRE 15
Installer un serveur de bases de données MariaDB ................ 169
MySQL et MariaDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Installation et mise en service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Sécuriser l’installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Un exemple de base de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Sauvegarder une base de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Supprimer une base de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Restaurer une base de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Restaurer toutes les bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Atelier pratique : les courriels jetables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

CHAPITRE 16
Installer un serveur web Apache .............................................. 187
Le serveur Apache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Le protocole HTTP et les URL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Ports et pare-feu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Premier lancement du serveur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Les fichiers de configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
La configuration par défaut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Configuration de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Héberger un site statique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Apache et les permissions de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Héberger plusieurs sites sur un serveur local . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Héberger plusieurs sites sur une machine publique . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Héberger des sites dynamiques avec PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Définir le fuseau horaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Utiliser MySQL/MariaDB à partir de PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Remplacer PHP 5.4 par PHP 7.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205

CHAPITRE 17
Obtenir et gérer
des certificats SSL/TLS gratuits.................................................. 211
Qu’est-ce qu’un certificat électronique ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Let’s Encrypt et Certbot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Quelques préparatifs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Plug-ins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Tester Certbot et générer un certificat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Utiliser et tester le certificat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Renouveler un certificat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Révoquer un certificat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Certificats et permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Automatiser la procédure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
67949-Administration Linux par la pratique, Tome 2-INT.book Page XIV Monday, March 9, 2020 7:51 PM

Administration Linux par la pratique


XIV

Certificat SAN multi-domaines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220


Le cas de figure domaine-0001 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221

CHAPITRE 18
Hébergement sécurisé avec Apache et SSL .............................. 223
Plate-forme de paiement ou mafia ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Prérequis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Configurer Apache et SSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Améliorer la sécurité de notre hébergement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
La politique HSTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
La sécurité est une cible mouvante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
La cerise sur le gâteau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Héberger plusieurs sites sécurisés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Un peu de pratique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231

CHAPITRE 19
Serveur de courriel multidomaine avec Postfix....................... 233
Prérequis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Configuration initiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Premier test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Gérer les courriels avec Mutt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Créer les comptes Linux pour la messagerie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Les alias. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Définir les destinataires autorisés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Comptes Linux et adresses de messagerie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Domaines virtuels avec des utilisateurs distincts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243

CHAPITRE 20
Serveur IMAP avec Dovecot....................................................... 245
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Prérequis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Configuration initiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Configurer l’authentification SMTP pour Postfix . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Premier lancement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
Configuration de Thunderbird . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248

CHAPITRE 21
Sécuriser les connexions à Postfix et Dovecot......................... 251
Prérequis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Configurer le chiffrement SSL pour Postfix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Configurer le chiffrement SSL pour Dovecot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Configuration de Thunderbird . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
67949-Administration Linux par la pratique, Tome 2-INT.book Page XV Monday, March 9, 2020 7:51 PM

Table des matières


XV

CHAPITRE 22
Lutter contre le spam................................................................. 255
100 milliards de spams par jour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Bloquer un ou plusieurs domaine(s) avec Postfix . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Filtrer les spams avec SpamAssassin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Prérequis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Configuration de SpamAssassin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Configuration de Postfix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
Premier test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Mise à jour automatique des règles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Configuration de Thunderbird . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
SpamAssassin et SELinux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Configurer le contrôle d’accès de Postfix. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262

CHAPITRE 23
Hébergement WordPress ........................................................... 265
Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Prérequis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Configuration de SELinux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
Configurer les permaliens personnalisés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Gérer les extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
Gérer les mises à jour avec WP-CLI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
Prérequis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Installation de WP-CLI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Maintenance de WP-CLI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Mises à jour WordPress manuelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Scripter la procédure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Mise à jour quotidienne automatique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278

CHAPITRE 24
Hébergement Dolibarr ............................................................... 279
Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Prérequis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Installer la bibliothèque GD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Configuration de l’hôte virtuel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Configuration de SELinux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Téléchargement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Mise à jour. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285

CHAPITRE 25
Héberger un stockage réseau avec OwnCloud......................... 287
Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Prérequis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Configuration de SELinux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
67949-Administration Linux par la pratique, Tome 2-INT.book Page XVI Monday, March 9, 2020 7:51 PM

Administration Linux par la pratique


XVI

Installation des modules PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289


Configuration de l’hôte virtuel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Téléchargement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Peaufiner la configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Configurer le cache de la mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Configurer le verrouillage transactionnel des fichiers . . . . . . . . . . . . . . . . . . . . . 296
Utiliser les tâches planifiées du système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Synchroniser un poste client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Mettre à jour OwnCloud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
En mode graphique avec l’interface web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Mise à jour manuelle en ligne de commande . . . . . . . . . . . . . . . . . . . . . . . . . . . 305

CHAPITRE 26
Héberger un webmail avec Roundcube .................................... 311
Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Prérequis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Configuration de SELinux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Configuration de l’hôte virtuel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Configuration de PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Téléchargement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Première connexion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Gérer les mises à jour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322

CHAPITRE 27
Partager des fichiers entre Windows et Linux ......................... 323
Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Prérequis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
Création de l’arborescence des partages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
Modification du contexte SELinux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Configuration des partages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Créer et gérer les utilisateurs Samba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Premier test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
Connecter un poste client Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
En mode graphique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
En ligne de commande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
Connecter un poste client Windows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334

CHAPITRE 28
Partager des fichiers sous Linux avec NFS................................ 341
Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
Prérequis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
67949-Administration Linux par la pratique, Tome 2-INT.book Page XVII Monday, March 9, 2020 7:51 PM

Table des matières


XVII

Mise en service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343


Configurer un client NFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
Prérequis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
Configuration des partages NFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344

CHAPITRE 29
Installer et configurer un serveur d’annuaire.......................... 349
Les solutions existantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
Apprivoiser la documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
Prérequis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Configuration initiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Gérer les services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
Connexion à la console d’administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
Gérer les utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
Sécuriser 389 Directory Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
Créer une autorité de certification TLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
Initialiser la base de données NSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
Générer une demande de certificat CSR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
Signer le certificat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
Importer le certificat CA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
Importer le certificat du serveur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
Activer les connexions sécurisées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
Gérer le démarrage du service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
Connecter un poste client à l’annuaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
Exporter le certificat CA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
Configurer la connexion à l’annuaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
Tester la connexion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
L’authentification centralisée de A à Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377

CHAPITRE 30
Serveur proxy cache HTTP avec Squid....................................... 379
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Prérequis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Mise en service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Configuration manuelle de Firefox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Vérifier le fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
Configurer Squid comme proxy transparent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383

CHAPITRE 31
Gérer les connexions HTTPS avec Squid.................................... 385
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
Implications éthiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
Vérifier les options de compilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
Configuration du pare-feu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
67949-Administration Linux par la pratique, Tome 2-INT.book Page XVIII Monday, March 9, 2020 7:51 PM

Administration Linux par la pratique


XVIII

Créer un certificat racine auto-signé. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387


Importer le certificat dans les navigateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
Adapter la configuration de Squid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
Vérifier le fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
Les sites qui posent problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
Définir les exceptions au niveau de Squid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392

CHAPITRE 32
Surveiller le trafic web avec SquidAnalyzer ............................ 395
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Prérequis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Téléchargement des sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Construction et installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
SquidAnalyzer et SELinux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
Configuration de l’hôte virtuel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
Configuration de SquidAnalyzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
Premier essai . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
Définition d’une tâche automatique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401

CHAPITRE 33
Filtrer le Web avec SquidGuard................................................. 403
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
La page explicative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
Récupérer les listes noires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
Un filtre simple pour contenus problématiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
Automatiser la mise à jour des listes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410

ANNEXE A
Installer X11 et WindowMaker.................................................. 411

Index ............................................................................................ 415


67949-Administration Linux par la pratique, Tome 2-INT.book Page 1 Monday, March 9, 2020 7:51 PM

1
Un système de base
aux petits oignons

Dans ce premier chapitre, nous allons partir d’une installation fraîche de CentOS 7 sur une machine
du réseau local. La configuration post-installation de chaque serveur Linux comprend toute une série
de manipulations comme la personnalisation du shell, la configuration des dépôts de paquets,
l’installation d’une série d’outils, le peaufinage de la configuration réseau, etc.

L’installation de base
Le point de départ, c’est une installation minimale de CentOS 7.7 sur un PC « bac à sable »
de mon réseau local. La machine – un vieux PC HP Compaq – est dotée d’un disque SSD de
60 Go, que j’ai organisé de manière relativement simple :
• une partition /boot de 500 Mo, formatée en ext2 ;
• une partition swap de 4 Go ;
• une partition principale, formatée en ext4.
67949-Administration Linux par la pratique, Tome 2-INT.book Page 2 Monday, March 9, 2020 7:51 PM

Administration Linux par la pratique


2

COMPÉTENCES Le savoir-faire acquis


Les manipulations à effectuer pour notre installation – ainsi que la configuration post-installation – ont
toutes été abordées en détail dans le premier tome de cet ouvrage. Je ne reviendrai donc pas dessus. Je
me contenterai tout au plus de petites piqûres de rappel par-ci par-là.

Voici les paramètres pour intégrer ma machine dans le réseau local :


• nom d’hôte : amandine.microlinux.lan
• adresse IP : 192.168.2.5
• masque de sous-réseau : 255.255.255.0
• serveur DNS : 192.168.2.1
• passerelle : 192.168.2.1
Lors de l’installation, j’ai créé un utilisateur microlinux avec des droits d’administrateur. Cet
utilisateur fait partie du groupe wheel et peut invoquer des commandes avec sudo.

ADMINISTRATION Gérer les logs


En dehors du groupe wheel, j’ajoute mon utilisateur initial au groupe système systemd-journal, ce
qui lui permet d’accéder aux logs du système sans autres privilèges :
$ sudo usermod -a -G systemd-journal microlinux

Mise à jour initiale


Une fois que le système est installé, un bon réflexe consiste à effectuer une première mise à jour.

SÉCURITÉ Mises à jour


Vous pouvez utiliser votre système tant que le distributeur met à disposition des mises à jour de sécurité
afin de corriger les bogues ou les vulnérabilités potentielles. Dans le cas de CentOS 7, le système est
maintenu jusqu’au 30 juin 2024.

Dans un premier temps, affichez éventuellement les mises à jour disponibles, ce qui ne néces-
site pas de privilèges spécifiques :

$ yum check-update
...
binutils.x86_64 2.27-41.base.el7_7.1 updates
device-mapper.x86_64 7:1.02.158-2.el7_7.2 updates
device-mapper-libs.x86_64 7:1.02.158-2.el7_7.2 updates
firewalld.noarch 0.6.3-2.el7_7.2 updates
firewalld-filesystem.noarch 0.6.3-2.el7_7.2 updates
hostname.x86_64 3.13-3.el7_7.1 updates
kernel.x86_64 3.10.0-1062.4.3.el7 updates
kernel-tools.x86_64 3.10.0-1062.4.3.el7 updates

Vous aimerez peut-être aussi