doc:formations:hebergement:serveur:proteger
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
doc:formations:hebergement:serveur:proteger [2022/06/14 13:41] – [Sudo, utilisateurs privilégiés et sudoers] jeremie | doc:formations:hebergement:serveur:proteger [2024/02/19 18:56] (Version actuelle) – [Via le nouveau ufw] jeremie | ||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
====== Protéger ses serveurs ====== | ====== Protéger ses serveurs ====== | ||
+ | |||
+ | Voyez aussi: [[doc: | ||
En cas de compromission, | En cas de compromission, | ||
Ligne 127: | Ligne 129: | ||
Vous trouverez bien d' | Vous trouverez bien d' | ||
+ | |||
===== fail2ban en défense contre les accès "brute force" ===== | ===== fail2ban en défense contre les accès "brute force" ===== | ||
- | Les accès "brute force" sont des tentatives répétées d' | + | Pour SSH au moins, on recommande systématiquement l' |
- | ==== protéger SSH ==== | + | Il y a une [[doc: |
- | Pour SSH spécifiquement, | ||
- | C'est un système qui observe vos tentatives d' | + | ===== portsentry: intercepter |
- | Par défaut il protège SSH sur son port 22, en analysant les abus et erreurs | + | Cet outil peut s' |
- | :!: si l'on a changé le port du serveur SSH en 12345, il faudra le dire à fail2ban. Créez ou modifiez le fichier ''/ | + | apt install portsentry |
- | < | + | ss -tunlp|grep portsentry |
- | [ssh] | + | Par défaut cet outil ne fait que logguer des événements dans le journal '' |
- | + | ||
- | enabled | + | |
- | port = 12345 | + | |
- | filter | + | |
- | logpath | + | |
- | maxretry = 6 | + | |
- | + | ||
- | </ | + | |
- | + | ||
- | ==== Tentatives d'accès "brute force" ==== | + | |
- | + | ||
- | '' | + | |
- | + | ||
- | Par exemple, pour protéger d'accès intempestifs sur votre serveur web nginx vous pouvez créer le fichier de détection | + | |
- | + | ||
- | < | + | |
- | [Definition] | + | |
- | failregex = ^ \[error\] \d+#\d+: .*directory index.*forbidden.*, | + | |
- | ^ \[error\] \d+#\d+: .*Connection refused.*, client: < | + | |
- | + | ||
- | # On cherche à collecter les adresses IP des lignes suivantes: | + | |
- | # | + | |
- | # | + | |
- | + | ||
- | ignoreregex = | + | |
- | </ | + | |
- | + | ||
- | Le fichier d' | + | |
- | < | + | |
- | [nginx-forbidden] | + | |
- | enabled = true | + | |
- | filter = nginx-forbidden | + | |
- | port = http, | + | |
- | logpath = /var/log/nginx/*error*.log | + | |
- | findtime = 60 | + | |
- | bantime = 2000 | + | |
- | maxretry = 4 | + | |
- | </ | + | |
- | + | ||
- | + | ||
- | Fail2ban permet de tester en amont la validité des règles, mais aussi d' | + | |
- | + | ||
- | < | + | |
- | fail2ban-client status nginx-forbidden | + | |
- | Status for the jail: nginx-forbidden | + | |
- | |- Filter | + | |
- | | |- Currently failed: 0 | + | |
- | | |- Total failed: | + | |
- | | `- File list: | + | |
- | `- Actions | + | |
- | |- Currently banned: 1 | + | |
- | |- Total banned: 2 | + | |
- | `- Banned IP list: 176.164.85.123 | + | |
- | </ | + | |
+ | __Note__ je vous conseille d' | ||
===== Firewall: restreindre l' | ===== Firewall: restreindre l' | ||
Ligne 226: | Ligne 175: | ||
Il s'agit d'un système de configuration plus récent que iptables. Il est un peu moins répandu mais il est réputé un peu plus facile à l' | Il s'agit d'un système de configuration plus récent que iptables. Il est un peu moins répandu mais il est réputé un peu plus facile à l' | ||
+ | Exemple pour autoriser les clients 10.34.0.* à accéder au service web local: | ||
+ | |||
+ | ufw allow from 10.34.0.0/8 to 10.34.0.1 port 80 | ||
+ | |||
+ | Pour lister les règles '' | ||
==== Via un serveur filtrant amont ==== | ==== Via un serveur filtrant amont ==== | ||
doc/formations/hebergement/serveur/proteger.1655214095.txt.gz · Dernière modification : 2022/06/14 13:41 de jeremie