Code source wiki de Réseau et Sécurité
Modifié par john le 2025/05/24 23:47
Afficher les derniers auteurs
| author | version | line-number | content |
|---|---|---|---|
| 1 | = Réseau & Sécurité = | ||
| 2 | |||
| 3 | {{toc/}} | ||
| 4 | |||
| 5 | 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. | ||
| 6 | |||
| 7 | == nftables : pare-feu moderne == | ||
| 8 | |||
| 9 | Remplaçant d’iptables, `nftables` permet de gérer un pare-feu de manière claire et structurée. | ||
| 10 | |||
| 11 | === Exemple de configuration minimale === | ||
| 12 | |||
| 13 | {{code language="bash"}} | ||
| 14 | sudo nft add table inet filter | ||
| 15 | sudo nft add chain inet filter input { type filter hook input priority 0 \; policy drop \; } | ||
| 16 | sudo nft add rule inet filter input ct state established,related accept | ||
| 17 | sudo nft add rule inet filter input iifname lo accept | ||
| 18 | sudo nft add rule inet filter input tcp dport ssh accept | ||
| 19 | {{/code}} | ||
| 20 | |||
| 21 | Cela permet de : | ||
| 22 | - Bloquer tout par défaut | ||
| 23 | - Autoriser les connexions déjà établies | ||
| 24 | - Permettre l'accès SSH | ||
| 25 | |||
| 26 | Pour lister les règles : | ||
| 27 | {{code language="bash"}}sudo nft list ruleset{{/code}} | ||
| 28 | |||
| 29 | == dnsmasq : serveur DNS/DHCP local == | ||
| 30 | |||
| 31 | `dnsmasq` est un petit démon pratique pour créer un serveur DNS et DHCP léger. | ||
| 32 | |||
| 33 | === Exemple de configuration `/etc/dnsmasq.conf` === | ||
| 34 | |||
| 35 | {{code language="text"}} | ||
| 36 | interface=eth0 | ||
| 37 | dhcp-range=192.168.1.100,192.168.1.150,12h | ||
| 38 | address=/lan/192.168.1.1 | ||
| 39 | log-queries | ||
| 40 | log-dhcp | ||
| 41 | {{/code}} | ||
| 42 | |||
| 43 | Il est particulièrement utile dans des environnements sans routeur dédié ou pour isoler un réseau de test. | ||
| 44 | |||
| 45 | == FIDO2 : authentification sans mot de passe == | ||
| 46 | |||
| 47 | L’utilisation d’une clé FIDO2 permet de renforcer considérablement l’authentification sans recourir aux mots de passe. | ||
| 48 | |||
| 49 | === Mise en place sous Linux === | ||
| 50 | |||
| 51 | 1. Installer `libpam-u2f` : | ||
| 52 | {{code language="bash"}} sudo apt install libpam-u2f | ||
| 53 | {{/code}} | ||
| 54 | |||
| 55 | 2. Enregistrer la clé : | ||
| 56 | {{code language="bash"}} pamu2fcfg > ~/.config/u2f_keys | ||
| 57 | {{/code}} | ||
| 58 | |||
| 59 | 3. Modifier `/etc/pam.d/sudo` : | ||
| 60 | {{code language="bash"}} auth required pam_u2f.so | ||
| 61 | {{/code}} | ||
| 62 | |||
| 63 | Certaines clés permettent une authentification sans code PIN si configurées en “discouraged verification”. Attention toutefois à l'équilibre sécurité/confort. | ||
| 64 | |||
| 65 | == Autres idées à approfondir == | ||
| 66 | |||
| 67 | - Utilisation de fail2ban pour bloquer les connexions SSH abusives | ||
| 68 | - Surveillance réseau avec `iftop`, `nethogs`, ou `bmon` | ||
| 69 | - Partage de connexion avec `iptables` ou `nft` | ||
| 70 | - Protection système via `sysctl` : désactiver IP forwarding, limiter ICMP, etc. | ||
| 71 | |||
| 72 | == Liens utiles == | ||
| 73 | |||
| 74 | * [wiki.nftables.org](https://wiki.nftables.org) | ||
| 75 | * [dnsmasq manpage](https://thekelleys.org.uk/dnsmasq/doc.html) | ||
| 76 | * [Guide FIDO2 pam_u2f](https://developers.yubico.com/pam-u2f/) | ||
| 77 | |||
| 78 | == Liens internes == | ||
| 79 | |||
| 80 | * [[Retour à l’accueil>>doc:Wiki Batcave John.WebHome]] | ||
| 81 | * [[Retour à TutoLinux>>doc:Wiki Batcave John.TutosLinux.WebHome]] | ||
| 82 | * [[Fail2ban>>doc:.Fail2ban.WebHome]] |