Introduction 1. Introduction 13 2. Le choix de l'ouvrage : Open Source et Linux Ubuntu 13 2.1 Structure du livre 13 2.2 Pré-requis ou niveau de connaissances préalables 13 3. L'objectif : la constitution d'un réseau local d'entreprise 14 3.1 Présentation des chapitres 14 Réseau d'entreprise et serveurs virtuels 1. La distribution Ubuntu Linux 19 1.1 Les raisons du choix 19 1.1.1 Liste de distributions Linux possibles 19 1.1.2 Le choix de la distribution Ubuntu 20 1.1.3 L'optique serveur 20 1.2 Description du modèle de base 21 1.2.1 Définition du modèle 21 1.2.2 Schéma du modèle 22 1.3 Les ressources en matériel nécessaires 23 1.3.1 Meilleure solution rime avec virtualisation 24 1.3.2 Ma plate-forme de test 25 1.3.3 En cas de réel problème de matériel 26 2. Architecture réseau du modèle 26 2.1 Le modèle définitif 26 2.2 Plus de détails sur les serveurs et les clients 28 2.2.1 Le serveur SRVLAN 28 2.2.2 Le serveur SRVDMZ 29 2.2.3 Le serveur SRVFWL 29 1/12
2.2.4 Les clients 30 3. Installation de VirtualBox 30 3.1 Préalable nécessaire à la compréhension du logiciel 31 3.1.1 Connexions réseau sous VirtualBox 31 3.2 Installation de VirtualBox sur Windows 32 3.3 Installation de VirtualBox sur Linux 33 4. Utilisation de VirtualBox 34 4.1 L'interface d'administration de VirtualBox 34 4.1.1 Exemple de création d'une machine virtuelle 35 4.1.2 Premier démarrage 36 4.2 Les additions invités VirtualBox 37 5. Installation d'un serveur Ubuntu 37 5.1 Particularités de la version serveur Ubuntu 38 5.1.1 Version de la distribution Ubuntu utilisée 38 5.2 Le processus d'installation 39 5.2.1 Début de l'installation 39 5.2.2 Le compte utilisateur 40 5.2.3 Le partitionnement 40 5.2.4 Configuration de l'outil de gestion des paquets 40 Configuration des services de base 1. Prise en main de la distribution Ubuntu 45 1.1 Le principe des paquetages 45 1.1.1 Autres méthodes d'installation 45 1.1.2 Utilisation d'apt 46 1.2 La gestion des services au démarrage 47 1.2.1 Détails sur les niveaux d'exécution 47 1.3 Premiers réglages indispensables 48 1.3.1 Rétablir le compte de l'administrateur 48 1.3.2 Contrôler la source des paquetages 49 2/12
1.4 Suite des réglages indispensables 49 1.4.1 Installer la version complète de VIM 49 1.4.2 Créer un fichier des sources plus «propre» 49 1.4.3 L'outil sysv-rc-conf 50 1.4.4 Configurer et optimiser son poste de travail 52 1.4.5 Utiliser uniquement la langue française 52 1.4.6 Installer le manuel en ligne 52 2. Configuration réseau d'un serveur 53 2.1 Environnement réseau d'un système Ubuntu 53 2.1.1 Principaux fichiers et scripts 53 2.2 Le routage sous Ubuntu 54 2.2.1 Route par défaut et route statique 54 2.2.2 La translation d'adresses IP par le NAT 55 2.2.3 Pourquoi le NAT? 55 2.3 Ajouter une interface réseau au serveur 56 2.3.1 Configuration réseau du serveur SRVLAN 56 2.3.2 Modification de la carte eth0 57 2.3.3 Ajout de la carte eth1 58 2.3.4 Configuration de la carte eth1 59 2.4 Transformation du serveur SRVLAN en routeur 61 2.4.1 Mettre en place la translation d'adresses 61 3. Installation de deux systèmes sur un PC 62 3.1 Les processus de démarrage et d'arrêt 63 3.2 Utilisation du chargeur de démarrage GRUB 64 3.2.1 Configuration de GRUB 1 64 3.2.2 Configuration de GRUB 2 65 3.3 Intégration de la machine cliente au réseau 65 3.3.1 Création de la machine virtuelle (si utilisation VirtualBox) 66 3.3.2 Installation du client Windows (XP professionnel, Vista ou 7) 66 3.3.3 Installation du client Linux Ubuntu 68 3.4 Simulation de pannes au démarrage 71 3.4.1 Simulation de panne n 1 : plus d'accès à Windows 71 3.4.2 Simulation de panne n 2 : plus d'accès à Linux 72 3/12
4. Installation du service DNS 73 4.1 Compréhension du système DNS 73 4.1.1 Pourquoi DNS est-il nécessaire? 73 4.1.2 Le vocabulaire DNS 74 4.1.3 Avant l'installation du service 75 4.1.4 Fichiers, structure et contenus 75 4.2 Installation du DNS 76 4.2.1 Installation du paquetage et fichier de configuration générale 76 4.2.2 Construction des fichiers de zones 77 4.2.3 Démarrage et tests du service 79 4.2.4 Vérification plus approfondie 80 4.2.5 S'appuyer sur un DNS externe 82 4.3 Tests à partir des clients 83 5. Service DHCP et DNS dynamique 84 5.1 Principes de fonctionnement 84 5.1.1 Détails sur la demande de bail 85 5.1.2 Explications complémentaires (RFC 1541/2131) 85 5.1.3 L'agent relais DHCP 85 5.2 Installation du service DHCP 86 5.2.1 Processus d'installation 86 5.2.2 Vérification de l'attribution d'adresse 88 5.2.3 Compléments 89 5.3 DNS dynamique 89 5.3.1 Pour Windows 89 5.3.2 Pour Linux 91 Services pour intranet et Internet 1. La plate-forme LAMP 95 1.1 Services combinés et serveur spécialisé 95 1.1.1 Le logiciel Apache 95 1.1.2 Le langage PHP 96 4/12
1.1.3 Le SGBD MySQL 96 1.2 Installation d un serveur dédié au Web 97 1.2.1 Installation du serveur SRVDMZ et des paquetages 97 1.2.2 Configuration d'apache 98 1.2.3 Vérifications 98 1.3 Configuration de PHP 99 1.4 Configuration de MySQL 100 1.4.1 Création d une base et d une table 101 1.5 Utilisation de phpmyadmin 104 2. Transfert de fichiers et délégation DNS 107 2.1 Éléments d informations sur le protocole FTP 107 2.1.1 Le choix des logiciels 107 2.2 Mise en place du serveur FTP 108 2.2.1 Configuration du service dans le cadre d'une connexion anonyme 108 2.2.2 Configuration du service dans le cadre d'une connexion authentifiée 109 2.3 Variations et vérifications sur la configuration 111 2.3.1 Un peu de sécurité avec les utilisateurs virtuels 111 2.4 Changement de DNS 113 2.4.1 Installation du nouveau service DNS 114 2.4.2 Transformation du DNS sur SRVLAN 116 3. Serveurs Web virtuels 120 3.1 Le principe de l'hébergement virtuel 120 3.1.1 Type d'hébergement virtuel 120 3.2 Gestion avancée des utilisateurs 121 3.2.1 Rappel sur la gestion des comptes utilisateurs 121 3.2.2 Changement de la structure de la table de partitions (facultatif) 121 3.2.3 Utilisation des quotas 123 3.3 Hébergement virtuel simple différencié par utilisateur 124 3.4 Hébergement virtuel par adresse IP 125 3.5 Hébergement virtuel par le nom 127 3.6 Un peu de sécurité 129 3.6.1 La partie concernant les utilisateurs 129 3.6.2 La partie concernant Apache 130 5/12
3.6.3 Les accès pour un groupe 132 4. Serveur de messagerie 132 4.1 La structure d'un système de messagerie 133 4.1.1 Composants du système de messagerie 134 4.1.2 Les problèmes du courrier électronique 134 4.2 Mise en place de base du serveur de messagerie 135 4.2.1 Postfix en tant que serveur local de messagerie 135 4.2.2 Postfix en serveur pour un domaine 139 4.2.3 Vérifications sur les clients 141 4.2.4 Exploiter au mieux les logs du système de messagerie 143 5. Serveur mandataire 143 5.1 Principes du service 143 5.1.1 Le serveur Squid 144 5.1.2 Le principe des ACL 144 5.2 Installation et configuration de Squid 145 5.2.1 Configuration du contrôle d'accès 148 5.2.2 Contrôle d'accès suivant un horaire particulier 149 5.2.3 Configuration personnalisée avec SquidGuard 149 5.3 Réglages supplémentaires 152 5.3.1 Utilisation d une redirection par script CGI 153 5.3.2 Gestion des accès ou analyse des logs 154 5.3.3 Intégration derrière un autre proxy 156 Intégration de clients au réseau 1. Installation d'un serveur de temps 159 1.1 Principe d un serveur NTP 159 1.1.1 Les différentes strates 159 1.1.2 Configuration 159 1.1.3 Une autre approche des serveurs NTP 160 1.2 Les trois outils de programmation de tâches 161 1.2.1 Principe de fonctionnement de cron 161 6/12
1.2.2 Principe de fonctionnement d'anacron 162 1.3 Mise en place du service de temps 163 1.3.1 Configuration du serveur 163 1.3.2 Synchronisation du CLIENT 166 2. Intégration d'un client Linux à un domaine NIS 168 2.1 Le service NIS 168 2.1.1 Notion de domaine NIS 169 2.2 Le service NFS 170 2.2.1 Principes de base 170 2.3 Configuration du service NFS 170 2.3.1 Premier test : un répertoire public à exporter 171 2.3.2 Vérification sur le client Ubuntu 173 2.3.3 Filtrage des accès (optionnel) 174 2.4 Configuration du serveur NIS 174 2.4.1 Déclaration du domaine NIS et démarrage 174 2.4.2 Génération des tables NIS 175 2.4.3 Modification du fichier de configuration et démarrage 175 2.4.4 Configuration NFS spécifique 176 2.5 Mise en place de NIS/NFS sur le CLIENT Ubuntu 176 2.5.1 Configuration du fichier /etc/nsswitch.conf 177 2.5.2 Le vrai test 178 2.5.3 Montage automatique 179 3. Intégration d'un client Windows à un domaine Samba 179 3.1 Le protocole SMB 179 3.1.1 Activation de NetBIOS 180 3.1.2 L'authentification des éléments d'un réseau Microsoft 180 3.2 Le voisinage réseau 181 3.2.1 L'intégration de plates-formes en milieu hétérogènes par le service Samba 182 3.3 Installation du service Samba 183 3.3.1 Installation et configuration de base 183 3.4 Configuration minimaliste 184 3.5 Configuration par le mode partage 186 3.5.1 Test de la configuration 188 7/12
3.5.2 Variantes du mode share 189 3.6 Configuration en mode contrôleur de domaine 190 3.6.1 Validation du client sur le domaine 193 3.6.2 Ouverture d'une session sur le contrôleur de domaine 195 3.6.3 Pour aller plus loin 197 4. Serveur d annuaire LDAP 197 4.1 Découverte et principes 198 4.1.1 Principe d un annuaire électronique 198 4.1.2 LDAP : concepts 198 4.1.3 Schéma, classe d'objets, entrées, objets et attributs 200 4.2 Préalable à l utilisation de LDAP 201 4.2.1 Détermination de la structure d annuaire 201 4.3 Utilisation du serveur LDAP 204 4.3.1 Remplissage de l'annuaire 205 5. Authentification des utilisateurs par LDAP 208 5.1 Notion de politique d'authentification 208 5.1.1 Configuration et structure des fichiers PAM 209 5.1.2 Exemple d'un fichier PAM 210 5.2 Mise en place de l authentification par PAM-LDAP 211 5.3 Paquetages nécessaires sur le serveur SRVLAN 211 5.3.1 Configurations 212 5.3.2 Test sur le serveur de la connexion LDAP 213 5.4 Authentification sur le CLIENT 215 5.4.1 LDAP+NFS 215 5.4.2 LDAP/Samba+CIFS 216 Sécurisation et optimisation 1. Administration à distance 227 1.1 Les échanges sécurisés 227 1.1.1 Le protocole SSH 227 1.1.2 La prise de contrôle à distance 227 8/12
1.2 Améliorations et extension du réseau 228 1.2.1 Installation de l environnement graphique sur SRVLAN 228 1.2.2 Installation du serveur SRVFWL 229 1.2.3 Changements importants sur SRVDMZ et SRVLAN 230 1.3 Pratique de SSH 232 1.3.1 Utilisation de SSH 232 1.3.2 Les utilitaires SSH 237 1.4 Prise de contrôle à distance avec VNC 237 2. Réseau définitif et sécurisation du DNS 239 2.1 Le SPLIT DNS 239 2.1.1 Le principe des vues appliqué à votre réseau 240 2.1.2 Sécuriser le DNS 240 2.2 La construction des vues sur SRVDMZ 240 2.2.1 Vérification de la configuration de la vue interne 242 2.2.2 Vérification de la configuration de la vue externe 242 2.3 Sécuriser le DNS 243 2.3.1 Utilisation de RNDC 243 2.3.2 Utiliser les ACL 244 2.3.3 Masquer la version de BIND 245 2.3.4 Sécuriser le DNS : "emprisonner" le serveur 246 3. Chiffrement des échanges 250 3.1 Découverte et principes 250 3.1.1 Principe de fonctionnement 250 3.2 Création d'une autorité de certification racine 253 3.2.1 Création du CA 254 3.3 Utilisation d'openssl avec Apache 256 3.3.1 Configuration du module, création des clés et certificats 257 3.3.2 Utilisation d'openssl avec LDAP 261 3.3.3 Test du client Linux 263 4. Utilisation d'un réseau privé virtuel 263 4.1 OpenVPN 263 4.1.1 Type de fonctionnement 264 9/12
4.2 Création du CA et des différents certificats 264 4.2.1 Mise en place de l'environnement sur SRVFWL 264 4.2.2 Configuration et démarrage du serveur 267 4.3 Mise en place d'openvpn sur le client 269 5. Installation d'une politique de sécurité 272 5.1 Comprendre le problème de la sécurité 272 5.1.1 Types de menaces 273 5.1.2 Mesures essentielles de sécurité 273 5.2 Le pare-feu (ou firewall) 275 5.2.1 Netfilter et IPtables 276 5.3 Mise en place de base d un pare-feu 277 5.3.1 Initialisations 278 5.3.2 Vidage de toutes les règles existantes et verrouillage 278 5.3.3 Premier démarrage du pare-feu 280 5.4 Règles concernant les chaînes INPUT/OUTPUT 281 5.4.1 Autorisation de quelques communications 281 5.4.2 Explications 282 5.5 Règles concernant les flux IP de la chaîne FORWARD 282 5.5.1 Règle concernant le NAT 285 5.6 Éléments supplémentaires 285 5.6.1 La protection contre le spoofing 285 5.6.2 Le cas du PING 286 5.6.3 Les LOGS 286 5.6.4 Le problème de SQUID en proxy transparent 286 5.6.5 Pour finir... 286 Spécialisation du réseau 1. Travail collaboratif par CVS 291 1.1 L outil CVS 291 1.1.1 Principes de fonctionnement 291 1.1.2 Subversion 292 1.2 Utilisation locale sur SRVDMZ 292 10/12
1.2.1 Initialisation du dépôt CVS 293 1.2.2 Utilisation du dépôt CVS 293 1.3 Utilisation en mode serveur 295 1.3.1 Installation du service 295 1.3.2 Gestion des utilisateurs et test 296 1.4 Utilisation de Subversion 298 2. Serveur de dépôts de paquetages 301 2.1 Principe d'un serveur de dépôts 301 2.1.1 La démarche 301 2.1.2 L'utilitaire de synchronisation RSYNC 302 2.2 Création des dépôts 303 2.2.1 Cas de l'ajout d'un deuxième disque (facultatif) 303 2.2.2 Construction du miroir 306 2.3 Utilisation du miroir 307 3. Installation automatisée 308 3.1 Les différentes méthodes 309 3.1.1 Les méthodes OpenSource pour Ubuntu 309 3.2 Utilisation de CloneZilla 310 3.2.1 Le livecd CloneZilla 310 3.2.2 Préparation du serveur NFS 310 3.2.3 Création de l'image sur le client 310 3.2.4 Restauration du système imagé sur une machine CLONE 311 4. Antivirus et WebMail 311 4.1 Système de gestion de courrier en entreprise 312 4.1.1 Le serveur IMAP 312 4.1.2 Le système SquirrelMail 313 4.1.3 Virus et antivirus 313 4.2 Gestion de ClamAV 314 4.2.1 Utilisation de ClamAV 314 4.2.2 Installation de SpamAssassin 315 4.2.3 Intégration dans Postfix 316 4.3 Mise en place de Postfix comme relais 320 11/12
4.3.1 Configuration de Postfix pour l extérieur 321 4.3.2 Postfix comme relais du domaine interne 323 4.3.3 Gestion des courriers avec une interface Web 324 5. Réplication de données en temps réel 328 5.1 La réplication des données 328 5.1.1 Un peu plus sur le RAID 328 5.2 Mise en miroir par le RAID 1 329 5.2.1 Ajout d'un deuxième disque dur sur le serveur et installation des outils de gestion du RAID 329 5.2.2 Préparation du deuxième disque 329 5.2.3 Création et formatage du disque RAID 330 5.2.4 Référencement du volume RAID 330 5.2.5 Configuration du démarrage 331 5.2.6 Copie manuelle des données 331 5.2.7 Redémarrage et fin de configuration 332 Annexe 1. L'éditeur de textes VIM 335 1.1 Lancement de VIM 335 1.2 Utilisation simple de VIM 336 1.2.1 Les autres modes de fonctionnement 336 1.2.2 Les commandes essentielles à connaître 336 Index 339 12/12