Pour empêcher les attaques par force brute contre ssh, j'ai ajouté quelques règles iptables (ci-dessous). La question est: comment puis-je répertorier les adresses IP bloquées?
(1)
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 8 --rttl --name SSH -j DROP
iptables -L INPUT -v -n
affiche tous les IP bloquésRéponses:
Une option serait d'enregistrer n'importe lequel de vos paquets perdus avec une règle comme:
Insérez-le juste avant la
DROP
règle. Ensuite, vous pouvez grep le fichier syslog pour quoi que ce soit avec "FW_DROPPED" en elle et la liste des adresses IP sera là. Les entrées du fichier journal ressemblent à ceci:Donc, couper ce qui suit "SRC =" vous montrera les adresses IP supprimées. Triez cela, en éliminant les doublons, et vous aurez votre liste.
J'ai trouvé que le Tutoriel Iptables est la documentation la plus utile pour iptables / netfilter.
la source
Vous pouvez trouver des détails sous / proc / net / ipt_recent / SSH.
Cet article contient plus d'informations.
la source
Regarder
/proc/net/ipt_recent/YOURNAME
où YOURNAME est le nom que vous avez utilisé avec l'option --name dans votre règle iptables.
la source
/proc/net/xt_recent/[list-name]
Voici une simple doublure:
la source
Ce que je fais, par exemple pour l'usurpation d'adresse d'entrée, c'est de définir la chaîne
SPOOF_REJECT
:puis d'envoyer des paquets à cette chaîne s'ils sont usurpés:
Vous pouvez faire quelque chose comme ça pour chaque catégorie de paquets que vous supprimez ou rejetez pour obtenir une ligne dans le syslog à rechercher, puis périodiquement grep, couper, trier, pour obtenir uniquement les adresses IP de ces lignes de journal.
L'avantage d'utiliser des chaînes individuelles pour chaque catégorie est que votre configuration devient plus simple et qu'il est plus facile de lire votre
iptables
configuration. Au fur et à mesure que vous ajoutez de plus en plus de règles, vous serez heureux d'avoir utilisé des chaînes individuelles pour différentes actions spécifiques.la source
"La question est: comment lister les adresses IP bloquées?"
Créez une chaîne bannie:
Créez une chaîne de journalisation:
Ajouter un saut à la chaîne interdite dans la chaîne INPUT avant la plupart des autres règles
Ajoutez maintenant des adresses IP à la chaîne interdite:
Vous pouvez également l'utiliser comme une base de données avec les options de commentaire, afin que vous puissiez savoir quand et pourquoi etc. flock est important lorsque iptables est fréquemment mis à jour par de nombreux processus - il semble que iptables n'a pas de verrouillage intégré.
Pour afficher les adresses et les règles interdites dans la chaîne interdite:
Pour afficher les adresses IP uniques triées:
J'ai un certain nombre de démons en cours d'exécution sur mes serveurs vérifiant les fichiers syslog et les blogs, donc si quelque chose de méchant est tenté par quelqu'un, leur adresse est automatiquement interdite pendant quelques jours, selon le type et la gravité et le nombre d'attaques précédentes. Les informations sont enregistrées dans une base de données mysql et expirent périodiquement. Les adresses sont également distribuées à toutes les autres machines du cluster via la réplication mysql afin qu'elles soient également protégées et restent synchronisées. Mon logiciel recherche également le propriétaire du réseau et envoie une plainte au FAI.
Après 10 ans de travail, j'espère le mettre à la disposition de tous pour bientôt. J'ai actuellement environ 1,5 million d'histoires d'adresses IP et des centaines de milliers d'attaques par courrier et SSH signalées, aidant à nettoyer le net. Si plus l'utilisaient, j'espère que cela aurait plus d'impact.
la source