0 Votes

Modifications pour le document Durcissement

Modifié par john le 2025/05/25 11:16

Depuis la version 1.4
modifié par john
sur 2025/05/24 22:17
Commentaire de modification : Le tag [linux] a été ajouté
À la version 1.6
modifié par john
sur 2025/05/24 23:09
Commentaire de modification : Renamed back-links.

Résumé

Détails

Propriétés de la Page
Parent
... ... @@ -1,1 +1,1 @@
1 -Wiki Batcave John.TutosLinux.WebHome
1 +TutosLinux.WebHome
Contenu
... ... @@ -3,37 +3,39 @@
3 3  {{toc/}}
4 4  
5 5  == Présentation ==
6 +
6 6  Le **durcissement** (ou *hardening*) d’une machine Linux consiste à **renforcer sa sécurité** pour limiter les risques d’exploitation, d’intrusion ou d’erreurs critiques.
7 7  
8 8  C’est une démarche proactive, indispensable pour les systèmes exposés en réseau ou manipulés par plusieurs utilisateurs.
9 9  
10 ----
11 +-----
11 11  
12 12  == Objectifs du durcissement ==
14 +
13 13  * Réduire la **surface d’attaque**
14 14  * Protéger les **données et services critiques**
15 15  * Prévenir les **exécutions non autorisées**
16 16  * **Isoler** les composants sensibles
17 17  
18 ----
20 +-----
19 19  
20 20  == 1. Nettoyer le système ==
23 +
21 21  * Supprimer les services inutiles :
22 - {{code language="bash"}}
23 - systemctl list-units --type=service
25 + {{code language="bash"}} systemctl list-units --type=service
24 24   sudo systemctl disable nom_du_service
25 25   {{/code}}
26 26  
27 27  * Supprimer les paquets superflus :
28 - {{code language="bash"}}
29 - sudo apt autoremove
30 + {{code language="bash"}} sudo apt autoremove
30 30   # ou
31 31   sudo dnf remove paquet
32 32   {{/code}}
33 33  
34 ----
35 +-----
35 35  
36 36  == 2. Mettre à jour régulièrement ==
38 +
37 37  Les mises à jour corrigent des failles de sécurité :
38 38  
39 39  {{code language="bash"}}
... ... @@ -44,17 +44,19 @@
44 44  
45 45  Automatiser avec `unattended-upgrades` (Debian/Ubuntu).
46 46  
47 ----
49 +-----
48 48  
49 49  == 3. Sécuriser les comptes ==
52 +
50 50  * Désactiver l’accès root en SSH
51 51  * Utiliser `sudo` au lieu de se connecter en root
52 52  * Supprimer les utilisateurs inutilisés
53 53  * Utiliser des mots de passe robustes
54 54  
55 ----
58 +-----
56 56  
57 57  == 4. Configurer un pare-feu ==
61 +
58 58  Utiliser `ufw` ou `nftables` :
59 59  
60 60  {{code language="bash"}}
... ... @@ -65,21 +65,19 @@
65 65  {{/code}}
66 66  
67 67  Ou pour un contrôle plus fin :
68 -{{code language="bash"}}
69 -sudo nft add table inet filter
72 +{{code language="bash"}}sudo nft add table inet filter
70 70  sudo nft add chain inet filter input { type filter hook input priority 0 \; }
71 71  sudo nft add rule inet filter input ct state established,related accept
72 72  sudo nft add rule inet filter input iifname lo accept
73 73  sudo nft add rule inet filter input tcp dport ssh accept
74 -sudo nft add rule inet filter input drop
75 -{{/code}}
77 +sudo nft add rule inet filter input drop{{/code}}
76 76  
77 ----
79 +-----
78 78  
79 79  == 5. Configurations sensibles ==
82 +
80 80  * `/etc/sysctl.conf` pour le kernel :
81 - {{code language="bash"}}
82 - net.ipv4.ip_forward = 0
84 + {{code language="bash"}} net.ipv4.ip_forward = 0
83 83   net.ipv4.conf.all.accept_source_route = 0
84 84   {{/code}}
85 85  
... ... @@ -89,44 +89,46 @@
89 89   - Désactiver root : `PermitRootLogin no`
90 90   - Forcer les clés : `PasswordAuthentication no`
91 91  
92 ----
94 +-----
93 93  
94 94  == 6. Sécuriser les permissions et services ==
97 +
95 95  * Vérifier les **fichiers SUID** :
96 - {{code language="bash"}}
97 - find / -perm -4000 -type f 2>/dev/null
99 + {{code language="bash"}} find / -perm -4000 -type f 2>/dev/null
98 98   {{/code}}
99 99  
100 100  * Utiliser `chmod`, `chown`, `ls -l` pour ajuster les permissions
101 101  * Mettre en place `AppArmor` ou `SELinux` pour renforcer l’isolation
102 102  
103 ----
105 +-----
104 104  
105 105  == 7. Surveillance et audit ==
108 +
106 106  * Installer un IDS comme `AIDE`, `OSSEC`, ou `Fail2Ban`
107 107  * Auditer les connexions SSH, sudo, root :
108 - {{code language="bash"}}
109 - journalctl -u ssh
111 + {{code language="bash"}} journalctl -u ssh
110 110   sudo lastlog
111 111   {{/code}}
112 112  
113 ----
115 +-----
114 114  
115 115  == 8. Autres bonnes pratiques ==
118 +
116 116  * Désactiver les modules inutiles (`/etc/modprobe.d/blacklist.conf`)
117 117  * Monter `/tmp` et `/var/tmp` avec les options `noexec,nosuid,nodev`
118 118  * Utiliser des partitions séparées : `/home`, `/var`, `/srv`, etc.
119 119  * Activer la journalisation (`rsyslog`, `logrotate`)
120 120  
121 ----
124 +-----
122 122  
123 123  == Liens utiles ==
127 +
124 124  * [CIS Linux Benchmark](https://cisecurity.org)
125 125  * [Debian Securing Manual](https://debian-handbook.info)
126 126  * [ArchWiki: Hardening](https://wiki.archlinux.org/title/Security)
127 127  
128 ----
132 +-----
129 129  
130 130  == Liens internes ==
131 -* [[Retour à la section Tutos Linux>>Wiki Batcave John.TutosLinux]]
132 132  
136 +* [[Retour à la section Tutos Linux>>TutosLinux.WebHome]]