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 | ||
| netadmin:blocage_adresses_ip [2021/09/02 21:38] – yoann | netadmin:blocage_adresses_ip [2024/06/08 12:18] (Version actuelle) – yoann | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| {{tag> | {{tag> | ||
| - | ====== | + | : |
| + | |||
| + | < | ||
| + | Sur les distributions récentes, **nftables** remplace **iptables**. Voir la note [[netadmin/ | ||
| + | </ | ||
| + | |||
| + | ====== | ||
| Il est parfois nécessaire de bloquer des adresses IP avec lesquelles le système Linux communique par défaut: on peut vouloir bannir certains hôtes ayant tenté des attaques contre le système par exemple. | Il est parfois nécessaire de bloquer des adresses IP avec lesquelles le système Linux communique par défaut: on peut vouloir bannir certains hôtes ayant tenté des attaques contre le système par exemple. | ||
| Ligne 26: | Ligne 32: | ||
| sudo apt-get install ipset | sudo apt-get install ipset | ||
| </ | </ | ||
| + | |||
| + | ===== Créer l' | ||
| On commence par créer un nouvel ensemble, ici on le nomme " | On commence par créer un nouvel ensemble, ici on le nomme " | ||
| Ligne 49: | Ligne 57: | ||
| </ | </ | ||
| - | Pour ajouter | + | Pour ajouter |
| <code bash> | <code bash> | ||
| Ligne 58: | Ligne 66: | ||
| </ | </ | ||
| - | Maintenant que l' | + | Pour supprimer un élément de l' |
| + | <code bash> | ||
| + | sudo ipset del set_banished_ip 93.186.198.153 | ||
| + | </ | ||
| + | |||
| + | ===== Créer le filtre netfilter ===== | ||
| + | |||
| + | Maintenant que l' | ||
| <code bash> | <code bash> | ||
| - | sudo iptables -I INPUT -m set --match-set set_banished_ip src -p tcp --destination-port 80 -j DROP | + | sudo iptables -I INPUT -m set --match-set set_banished_ip src -p tcp -j LOG --log-level info --log-prefix=" |
| + | sudo iptables -I INPUT 2 -m set --match-set set_banished_ip src -p tcp -j DROP | ||
| </ | </ | ||
| + | |||
| + | ==== Filtres avec Docker ==== | ||
| + | |||
| + | Si le serveur s' | ||
| + | |||
| + | <code bash> | ||
| + | sudo iptables -I DOCKER-USER -m set --match-set set_banished_ip src -p tcp -j LOG --log-level info --log-prefix=" | ||
| + | sudo iptables -I DOCKER-USER 2 -m set --match-set set_banished_ip src -p tcp -j DROP | ||
| + | </ | ||
| + | |||
| + | ===== Sauvegarde et restauration d'un ensemble ===== | ||
| + | |||
| + | Il est possible d' | ||
| + | |||
| + | <code bash> | ||
| + | sudo ipset save set_banished_ip -f banished_ip.txt | ||
| + | </ | ||
| + | |||
| + | |||
| + | Pour supprimer un set existant: | ||
| + | <code bash> | ||
| + | sudo ipset destroy set_banished_ip | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | Un ensemble ne pourra pas être supprimé s'il est en cours d' | ||
| + | </ | ||
| + | |||
| + | Pour recréer un ensemble via le fichier d' | ||
| + | <code bash> | ||
| + | sudo ipset restore -f banished_ip.txt | ||
| + | </ | ||
| + | |||
| + | ===== Automatiser le bannissement ===== | ||
| + | |||
| + | |||
| ===== Références ===== | ===== Références ===== | ||
| * https:// | * https:// | ||