0 Votes

Code source wiki de Réseau et Sécurité

Modifié par john le 2026/09/20 19:49

Masquer les derniers auteurs
john 1.1 1 {{toc/}}
2
3 Cette section regroupe mes notes et scripts autour de la configuration réseau et du durcissement de la sécurité sous Linux. On y trouve des astuces pratiques, des configurations types, et des outils que j’utilise pour protéger mes machines, superviser les accès, et limiter les failles.
4
5 == nftables : pare-feu moderne ==
6
john 2.1 7 Remplaçant d’iptables, ##nftables## permet de gérer un pare-feu de manière claire et structurée.
john 1.1 8
9 === Exemple de configuration minimale ===
10
11 {{code language="bash"}}
12 sudo nft add table inet filter
13 sudo nft add chain inet filter input { type filter hook input priority 0 \; policy drop \; }
14 sudo nft add rule inet filter input ct state established,related accept
15 sudo nft add rule inet filter input iifname lo accept
16 sudo nft add rule inet filter input tcp dport ssh accept
17 {{/code}}
18
19 Cela permet de :
20
john 2.1 21 * Bloquer tout par défaut
22 * Autoriser les connexions déjà établies
23 * Permettre l'accès SSH
24
john 1.1 25 Pour lister les règles :
26
john 2.1 27 {{code language="bash"}}
28 sudo nft list ruleset
29 {{/code}}
30
31 {{warning}}
32 Ces règles ne survivent pas au redémarrage. Les enregistrer avec ##sudo nft list ruleset > /etc/nftables.conf## et activer ##nftables.service##. Créer la chaîne avec ##policy drop## avant d'autoriser SSH coupe la session en cours : préparer toutes les règles dans un fichier, puis les appliquer en une fois.
33 {{/warning}}
34
35 {{info}}
36 Docker crée et gère ses propres règles de pare-feu : les conteneurs dont un port est publié restent joignables même si la politique par défaut est ##drop##. Pour ne pas exposer un service, ne pas publier son port plutôt que compter sur le pare-feu.
37 {{/info}}
38
john 1.1 39 == dnsmasq : serveur DNS/DHCP local ==
40
john 2.1 41 ##dnsmasq## est un petit démon pratique pour créer un serveur DNS et DHCP léger.
john 1.1 42
john 2.1 43 === Exemple de configuration ##/etc/dnsmasq.conf## ===
john 1.1 44
45 {{code language="text"}}
46 interface=eth0
47 dhcp-range=192.168.1.100,192.168.1.150,12h
48 address=/lan/192.168.1.1
49 log-queries
50 log-dhcp
51 {{/code}}
52
53 Il est particulièrement utile dans des environnements sans routeur dédié ou pour isoler un réseau de test.
54
55 == FIDO2 : authentification sans mot de passe ==
56
57 L’utilisation d’une clé FIDO2 permet de renforcer considérablement l’authentification sans recourir aux mots de passe.
58
59 === Mise en place sous Linux ===
60
john 2.1 61 Installer ##libpam-u2f## :
john 1.1 62
john 2.1 63 {{code language="bash"}}
64 sudo apt install libpam-u2f
65 {{/code}}
john 1.1 66
john 2.1 67 Enregistrer la clé :
john 1.1 68
john 2.1 69 {{code language="bash"}}
70 mkdir -p ~~/.config
71 pamu2fcfg > ~~/.config/u2f_keys
72 {{/code}}
john 1.1 73
john 2.1 74 Modifier ##/etc/pam.d/sudo## :
75
76 {{code language="text"}}
77 auth required pam_u2f.so
78 {{/code}}
79
80 Certaines clés permettent une authentification sans code PIN si configurées en « discouraged verification ». Attention toutefois à l'équilibre sécurité/confort.
81
82 {{warning}}
83 Tester dans un second terminal resté ouvert en root avant de fermer la session : une erreur dans un fichier PAM peut rendre ##sudo## inutilisable. Enregistrer aussi une seconde clé de secours, ou utiliser ##auth sufficient## plutôt que ##required## le temps des essais.
84 {{/warning}}
85
john 1.1 86 == Autres idées à approfondir ==
87
john 2.1 88 * Utilisation de fail2ban pour bloquer les connexions SSH abusives
89 * Surveillance réseau avec ##iftop##, ##nethogs##, ou ##bmon##
90 * Partage de connexion avec ##nft##
91 * Protection système via ##sysctl## : désactiver IP forwarding, limiter ICMP, etc.
john 1.1 92
93 == Liens utiles ==
94
john 2.1 95 * [[wiki.nftables.org>>https://wiki.nftables.org]]
96 * [[Documentation dnsmasq>>https://thekelleys.org.uk/dnsmasq/doc.html]]
97 * [[Guide FIDO2 pam_u2f>>https://developers.yubico.com/pam-u2f/]]
john 1.1 98
99 == Liens internes ==
100
101 * [[Retour à l’accueil>>doc:Wiki Batcave John.WebHome]]
john 2.1 102 * [[Retour à Tutos Linux>>doc:Wiki Batcave John.TutosLinux.WebHome]]
john 1.1 103 * [[Fail2ban>>doc:.Fail2ban.WebHome]]
john 2.1 104 * [[Durcissement Linux>>doc:Wiki Batcave John.TutosLinux.Durcissement.WebHome]]
105
106 ----
107
108 == Toutes les pages ==
109
110 {{children/}}