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 | ||
pratique:informatique:fail2ban [17/11/2023 15:27] – [Sources] Zatalyz | pratique:informatique:fail2ban [23/01/2024 11:48] (Version actuelle) – [Commandes Iptables utiles] Zatalyz | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Fail2ban et Iptables ====== | ====== Fail2ban et Iptables ====== | ||
+ | |||
+ | <WRAP center round important 100%> | ||
+ | Tout ça n'est pas encore au point. | ||
+ | |||
+ | À un moment faudra que tout ça soit revu de fond en comble... J' | ||
+ | |||
+ | En attendant, n' | ||
+ | </ | ||
+ | |||
Fail2ban logiciel me file des boutons mais je n'ai pas vraiment trouvé de remplaçant. Son principal mérite est de délayer les attaques par brute-force ; en principe notre serveur n'y est pas vulnérable, | Fail2ban logiciel me file des boutons mais je n'ai pas vraiment trouvé de remplaçant. Son principal mérite est de délayer les attaques par brute-force ; en principe notre serveur n'y est pas vulnérable, | ||
Ligne 75: | Ligne 84: | ||
#-A INPUT -m set --match-set blocklist_ip src -j DROP | #-A INPUT -m set --match-set blocklist_ip src -j DROP | ||
# Ça, ça ne veut pas... | # Ça, ça ne veut pas... | ||
+ | |||
+ | #rejeter tout le reste | ||
+ | -A INPUT -j REJECT --reject-with icmp-port-unreachable | ||
</ | </ | ||
+ | |||
==== Commandes Iptables utiles ==== | ==== Commandes Iptables utiles ==== | ||
Lister " | Lister " | ||
Ligne 86: | Ligne 99: | ||
iptables -L INPUT --line-numbers | iptables -L INPUT --line-numbers | ||
+ | Sauf que ce n'est pas " | ||
+ | iptables -t nat -S | ||
+ | |||
Enlever une règle d' | Enlever une règle d' | ||
iptables -D INPUT 14 | iptables -D INPUT 14 | ||
Ligne 92: | Ligne 108: | ||
iptables-restore / | iptables-restore / | ||
- | === Quelques explications === | + | ==== Quelques explications |
- | == Différence entre -I et -A == | + | === Différence entre -I et -A === |
* '' | * '' | ||
* '' | * '' | ||
Bref, quand on a un fichier qui charge les règles, elles sont forcément les unes après les autres, '' | Bref, quand on a un fichier qui charge les règles, elles sont forcément les unes après les autres, '' | ||
+ | |||
+ | === DROP ou REJECT --reject-with icmp-port-unreachable === | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | |||
+ | |||
+ | === Ordre des règles === | ||
+ | Les règles sont appliquées dans l' | ||
+ | |||
+ | Donc il faut que les commandes d' | ||
+ | - On regarde si l'un de ces logiciels dit qu'il faut bloquer l' | ||
+ | - Si oui, elle dégage | ||
+ | - Si non, on passe à la règle suivante | ||
+ | - La règle suivante étant "on accepte" | ||
+ | |||
+ | Sinon, ça serait : | ||
+ | - On accepte la connexion | ||
+ | - On regarde si fail2ban... ah ben non, forcément, ça ne marche pas, puisque la connexion est acceptée. | ||
===== Ipset ===== | ===== Ipset ===== | ||
- | Créer une entrée pour toutes les ip qui vont être renvoyées dans les limbes (adapter le nom '' | + | Créer une entrée pour toutes les ip qui vont être renvoyées dans les limbes (adapter le nom '' |
ipset create blocklist_ip hash:ip | ipset create blocklist_ip hash:ip | ||
Ligne 218: | Ligne 253: | ||
* Vérifier la configuration avant de relancer : '' | * Vérifier la configuration avant de relancer : '' | ||
* Bannir une ip en particulier : '' | * Bannir une ip en particulier : '' | ||
- | * Et la débannir : '' | + | * Et la débannir : '' |
==== Faire ses propres règles Fail2ban ==== | ==== Faire ses propres règles Fail2ban ==== | ||
Il y a quelques améliorations à faire concernant les filtres. | Il y a quelques améliorations à faire concernant les filtres. |