Cours Administration et sécurité des réseaux
La gestion des comptes utilisateurs est l’un des travaux absolument essentiels dévolu aux administrateurs. Gérer les utilisateurs et les mots de passe sont une tâche de base à laquelle tout administrateur doit attacher une attention particulière car une mauvaise gestion peut gravement affaiblir la sécurité d’un système.
Même dans le cas d’un système offrant des services réseau ne nécessitant pas la gestion de plusieurs utilisateurs, comme le DNS par exemple, il est essentiel de disposer d’au moins un compte autre que celui réservé à l’administrateur du système (root). L’utilisation du compte root doit être limitée à des tâches spécifiques qui ne peuvent pas être réalisées sous l’identité d’un utilisateur normal. Lorsqu’une personne est connectée à un système UNIX sous l’identité root, il a le droit d’effectuer toutes les opérations sans aucune contrainte. Une utilisation abusive de cette identité peut corrompre complètement l’intégrité du système par le biais de fausses manœuvres. Tout administrateur système doit toujours disposer du compte root pour réaliser les tâches administratives critiques mais également d’un compte utilisateur traditionnel afin d’effectuer de petits travaux n’exigeant pas de privilèges particuliers.
Après l’installation d’un système Linux, le compte administrateur est créé et un mot de passe y est associé. Si l’administrateur se connecte à la console, il aura toujours la faculté de s’identifier et de réaliser les travaux nécessaires à la bonne marche de ce système. Néanmoins, dans de nombreux cas, l’administrateur n’utilise que rarement la console.
En règle générale l’administrateur se connecte par l’intermédiaire d’un poste distant. Pour des raisons de sécurité, root ne peut se connecter directement qu’à la console. Cette sécurité est établie au travers du fichier de configuration /etc/securetty. Ce fichier contient la liste des terminaux qui sont considérés comme des points d’entrée sécurisés du système. Ces terminaux n’engendrent pas de connexion réseau, ce qui rend impossible une écoute de la ligne à la recherche du mot de passe du super-utilisateur.
Cours Administration et sécurité des réseaux
Table des matières :
I. Gestion des comptes utilisateurs. _________________________________________________ 1
1. Introduction._______________________________________________________________ 1
2. Les attributs d’un fichier. ____________________________________________________ 1
3. Création de comptes utilisateurs.______________________________________________ 2
3.1. Principe de base._________________________________________________________ 2
3.2. Script de création des comptes. _____________________________________________ 2
3.3. Options de la commande adduser. ___________________________________________ 3
3.3.1. Les commentaires.____________________________________________________ 3
3.3.2. Le répertoire de base.__________________________________________________ 5
3.3.3. Le shell utilisé._______________________________________________________ 5
3.3.4. Les groupes._________________________________________________________ 5
3.3.5. Spécification de l’UID. ________________________________________________ 6
3.3.6. Date d’expiration. ____________________________________________________ 6
4. Modification d’un compte utilisateur. __________________________________________ 6
4.1. La commande usermod. ___________________________________________________ 6
4.2. La commande chage. _____________________________________________________ 7
4.3. La commande passwd. ____________________________________________________ 8
5. Suppression d’un compte utilisateur. __________________________________________ 8
6. La gestion des groupes.______________________________________________________ 8
6.1. Création d’un groupe._____________________________________________________ 8
6.2. Modification d’un groupe. _________________________________________________ 9
6.3. Suppressions d’un groupe. _________________________________________________ 9
7. Arrêt momentané des connexions._____________________________________________ 9
8. Message du jour. ___________________________________________________________ 9
9. Gestion des quotas. ________________________________________________________ 10
9.1. Introduction. ___________________________________________________________ 10
9.2. Processus de mise en place des quotas. ______________________________________ 10
9.3. Attribution des quotas. ___________________________________________________ 11
9.3.1. Quotas d’un utilisateur. _______________________________________________ 11
9.3.2. Quotas d’un groupe.__________________________________________________ 12
9.3.3. Période de grâce. ____________________________________________________ 12
9.3.4. Attribution des quotas à plusieurs utilisateurs. _____________________________ 12
9.4. Consultation des quotas.__________________________________________________ 13
II. La séquence de démarrage du système. __________________________________________ 15
1. Principe de la séquence de démarrage. ________________________________________ 15
2. LILO. ___________________________________________________________________ 16
2.1. Les arguments du démarrage.______________________________________________ 16
2.2. Le fichier /etc/lilo.conf. __________________________________________________ 17
2.3. Le mot clé password. ____________________________________________________ 17
3. Le processus init. __________________________________________________________ 19
4. Les scripts de démarrage.___________________________________________________ 20
5. L’arrêt du système. ________________________________________________________ 20
6. Le redémarrage du système._________________________________________________ 21
III. Configuration de l’interface réseau.____________________________________________ 23
1. La commande ifconfig. _____________________________________________________ 23
2. Structure des fichiers /etc/hosts et /etc/networks.________________________________ 23
3. Détermination du nom de l’interface. _________________________________________ 24
4.Vérification de l’interface avec ifconfig.________________________________________ 26
5. Affectation un masque de sous-réseau. ________________________________________ 26
6. Affectation de l’adresse broadcast. ___________________________________________ 27
7. Autres options.____________________________________________________________ 27
7.1. Activer et désactiver l’interface.____________________________________________ 27
7.2. ARP et trailers. _________________________________________________________ 28
7.3. Metric.________________________________________________________________ 28
7.4. MTU. ________________________________________________________________ 28
7.5. Mode promiscuous.______________________________________________________ 29
8. Configuration permanente.__________________________________________________ 29
9. Linuxconf.________________________________________________________________ 30
IV. Configuration du routage.____________________________________________________ 31
1. Configuration générale du routage.___________________________________________ 31
2. Table de routage minimale. _________________________________________________ 31
3. Création d’une table de routage statique.______________________________________ 32
3.1. Ajouter des routes statiques._______________________________________________ 33
3.2. Ajouter des routes statiques à l’amorçage. ____________________________________ 34
4. Les protocoles de routage internes.___________________________________________ 35
4.1. Le protocole RIP. _______________________________________________________ 35
4.2. RIP version 2. __________________________________________________________ 38
4.3. OSPF : Open Shortest Path First. ___________________________________________ 38
5. Les protocoles de routage externe.____________________________________________ 40
5.1. EGP : Exterior Gateway Protocol. __________________________________________ 40
5.2. BGP : Border Gateway Protocol. ___________________________________________ 40
5.3. Choisir un protocole de routage.____________________________________________ 40
6. gated : Gateway Routing Daemon.____________________________________________ 41
7. Configurer gated.__________________________________________________________ 42
7.1. Exemple de fichier /etc/gated.conf. _________________________________________ 42
7.1.1. Configuration d’une machine.____________________________________________ 42
7.1.2. Configuration d’une passerelle interne._____________________________________ 43
7.1.3. Configuration d’une passerelle externe. ____________________________________ 44
V. Configuration du DNS. _______________________________________________________ 47
1. Le fichier /etc/hosts.________________________________________________________ 47
2. BIND : Berkeley Internet Name Domain. ______________________________________ 47
3. Configurer le résolveur. ____________________________________________________ 48
4. Initialisation des données du DNS.____________________________________________ 48
4.1. Les fichiers de la base de données.__________________________________________ 48
4.1.1. Les enregistrements SOA (Start Of Authority). ____________________________ 49
4.1.2. Les enregistrements NS (Name Server). __________________________________ 49
4.1.3. Les enregistrements d’adresse et d’alias.__________________________________ 49
4.1.4. Les enregistrements PTR (Pointer).______________________________________ 50
4.1.5. Les données de la zone racine. _________________________________________ 51
4.2. Le fichier de configuration de BIND.________________________________________ 53
4.3. Les abréviations.________________________________________________________ 53
4.4. Démarrage d’un serveur-maître primaire. ____________________________________ 56
4.5. Démarrage d’un serveur-esclave. ___________________________________________ 57
4.6. Les champs de l’enregistrement SOA. _______________________________________ 57
4.7. Gestion de plusieurs domaines. ____________________________________________ 58
5. Gestion des sous-domaines.__________________________________________________ 58
6. La sécurité._______________________________________________________________ 59
6.1. Restriction des requêtes.__________________________________________________ 59
6.1.1. Restriction sur toutes les requêtes._______________________________________ 59
6.1.2. Restriction des requêtes concernant une zone. _____________________________ 60
6.2. Contrôle des transferts de zones. ___________________________________________ 60
6.2.1. Limitation globale du transfert. _________________________________________ 60
6.2.2. Limitation du transfert à une zone. ______________________________________ 61
6.3. Exécution de BIND par un utilisateur sans privilège. ___________________________ 62
7. La commande nslookup. ____________________________________________________ 62
7.1. Recherche de différents types de données.____________________________________ 64
7.2. Réponses faisant autorité._________________________________________________ 64
7.3. Changement de serveur. __________________________________________________ 65
7.4. Visualisation des paquets de requête et de réponse._____________________________ 66
7.5. Recherche à la manière d’un serveur de noms. ________________________________ 67
7.6. Transferts de zone. ______________________________________________________ 69
VI. Le courrier électronique. _____________________________________________________ 71
1. Introduction.______________________________________________________________ 71
2. La structure d’un message.__________________________________________________ 71
3. Principe de livraison des mails. ______________________________________________ 72
4. Le routage du courrier. _____________________________________________________ 72
5. Sendmail. ________________________________________________________________ 73
5.1. Les fonctions de sendmail. ________________________________________________ 73
5.2. Le démon sendmail. _____________________________________________________ 73
5.3. Configuration de sendmail.________________________________________________ 73
5.3.1. Configurer le mail local. ______________________________________________ 74
5.3.2. Configurer le mail distant._____________________________________________ 75
5.3.3. Agir comme serveur relais. ____________________________________________ 75
5.3.4. Options supplémentaires.______________________________________________ 77
5.4. Sendmail et les alias._____________________________________________________ 79
5.5. Utilisation d’un .forward personnel._________________________________________ 80
5.6. Configuration de la sécurité._______________________________________________ 80
5.6.1. Les commandes vrfy et expn. __________________________________________ 80
5.6.2. Restriction d’accès à la file des messages. ________________________________ 81
5.6.3. Forcer l’identification du client. ________________________________________ 81
4.6.1. Balayages généraux de ports. _________________________________________ 146
4.6.2. Balayages ciblés de ports. ____________________________________________ 146
4.7. Attaques par déni de service. _____________________________________________ 146
4.7.1. TCP et SYN flooding. _______________________________________________ 147
4.7.2. Ping flooding. _____________________________________________________ 147
4.7.3. UDP flooding. _____________________________________________________ 147
4.7.4. Bombes ICMP-redirect.______________________________________________ 147
4.7.5. Autres attaques par déni de service. ____________________________________ 147
5. Filtrage de paquets sortants.________________________________________________ 148
5.1. Filtrage d’adresse source locale.___________________________________________ 148
5.2. Filtrage d’adresse de destination distante. ___________________________________ 148
5.3. Filtrage de port source local. _____________________________________________ 148
5.4. Filtrage de port destination distant. ________________________________________ 149
5.5. Filtrage de l’état des connexions TCP sortantes. ______________________________ 149
6. Services réseau privés/publics.______________________________________________ 149
7. Construction d’un firewall._________________________________________________ 149
7.1. Le programme ipchains. _________________________________________________ 149
7.2. Initialisation du firewall._________________________________________________ 150
7.2.1. Les constantes symboliques. __________________________________________ 151
7.2.2. Supprimer les règles existantes.________________________________________ 151
7.2.3. Définir la politique par défaut._________________________________________ 151
7.2.4. Activer l’interface loopback. __________________________________________ 152
7.2.5. Le spoofing et les mauvaises adresses source. ____________________________ 152
7.3. Filtrage des messages d’état et de contrôle ICMP._____________________________ 154
7.3.1. Messages d’erreur d’état et de contrôle. _________________________________ 154
7.3.2. Messages de contrôle ping Echo Request et Echo Reply.____________________ 155
7.4. Protection des services sur les ports TCP sans privilège.________________________ 156
7.4.1. Interdire les connexions Open Window. _________________________________ 156
7.4.2. Interdire les connexions X Window. ____________________________________ 156
7.4.3. Interdire les connexions au serveur SOCKS. _____________________________ 156
7.5. Protection des services sur les ports UDP sans privilège. _______________________ 156
7.6. Activation des services Internet de base. ____________________________________ 157
7.6.1. Permettre DNS. ____________________________________________________ 157
7.6.2. Filtrer les identifications._____________________________________________ 158
7.7. Activer des services TCP courants. ________________________________________ 158
7.7.1. Le courrier électronique. _____________________________________________ 158
7.7.2. Accéder aux services Usenet. _________________________________________ 161
7.7.3. Le service telnet. ___________________________________________________ 161
7.7.4. Le service ssh. _____________________________________________________ 162
7.7.5. Le service ftp. _____________________________________________________ 162
7.7.6. Les services Web. __________________________________________________ 163
7.7.7. Le service finger. ___________________________________________________ 164
7.7.8. Le service whois. ___________________________________________________ 164
7.7.9. Le service gopher. __________________________________________________ 165
7.7.10. Le service WAIS.__________________________________________________ 165
7.8. Habiliter les services UDP courants. _______________________________________ 165
7.8.1. Le programme traceroute. ____________________________________________ 165
7.8.2. Accéder à un serveur DHCP.__________________________________________ 166
7.8.3. Accéder à un serveur Network Time. ___________________________________ 166
7.9. Journaliser des paquets entrants refusés. ____________________________________ 166
7.10. Refuser l’accès aux sites problématiques. __________________________________ 166
7.11. Activer l’accès au réseau local. __________________________________________ 167
7.12. Installer le firewall.____________________________________________________ 167
Bibliographie.________________________________________________________________ 168
Cours Administration et sécurité des réseaux