J'ai un VPS Linux, et il est constamment scanné et forcé par des IP malhonnêtes. Ce VPS est mon serveur privé, qui ne sert qu'à moi, et dont je suis le seul utilisateur. Je suis donc le seul utilisateur qui devrait être autorisé à s'y connecter.
Je voudrais vous demander, ServerFault, de commenter ma méthode de "résolution" du problème et de m'indiquer les problèmes qu'elle pose, car je n'ai pas d'expérience dans les domaines suivants iptables
du tout.
Sur mon serveur, j'utilise dovecot
sur le port 993
et sshd
sur le port 22
. J'ai déplacé les deux services vers des ports non standard vers X
et Y
afin d'empêcher les attaques par force brute sur les ports connus. Pour ce qui est de l'analyse des ports, je me suis dit que j'aimerais créer un "piège" sur les ports standard 23
(telnetd), 22
(sshd), 110
(pop3), 80
(httpd), etc. Si le pare-feu détecte que quelqu'un veut se connecter à ces ports, il doit bloquer le paquet initiateur, ainsi que les éléments suivants cualquier toute autre communication avec l'hôte source pendant les 24 heures suivantes, même avec les ports X
et Y
. Pour ce faire, j'essaie d'utiliser la fonction recent
module de iptables
:
iptables -I INPUT -m state --state NEW -m recent --update --seconds 86400 --hitcount 1 -j DROP
iptables -I INPUT -p tcp -m tcp --dport 80 -m state --state NEW -m recent --set -j DROP
iptables -I INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set -j DROP
iptables -I INPUT -p tcp -m tcp --dport 23 -m state --state NEW -m recent --set -j DROP
iptables -I INPUT -p tcp -m tcp --dport 110 -m state --state NEW -m recent --set -j DROP
D'après mes tests, il semblerait que cela fonctionne. plus approprié pour réaliser ce que j'essaie de faire ?