0 Votes

Code source wiki de Durcissement Linux

Modifié par john le 2026/09/20 20:06

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