[netfilter] limiter les attaques SSH par dictionnaire
35 réponses
Sébastien Kirche
Bonsoir,
sur la pauvre passerelle de mon pauvre petit domaine, je retrouve dans
les logs plusieurs centaines de fois par jour les traces de scripts
kiddies qui tentent d'accéder à mon système en utilisant un dictionnaire
de logins SSH.
Niveau sécurité c'est sans importance puisque que j'ai supprimé la
possibilité d'accès SSH par mot de passe en ne conservant que
l'utilisation de clé privée.
Seulement sshd trace quand même chaque tentative dans /var/log/auth.log.
Pour le seul problème de log j'aurais pu diminuer le LogLevel mais vu
que ma passerelle est motorisée par une SparcStation20 bi-75MHz (ouaouh
la puissance !) je souhaite également limiter le gaspillage de cpu
qu'occasionne chaque tentative de login surtout quand c'est en rafale.
J'ai trouvé DenyHosts qui trace la fréquence des logins SSH et en cas
d'abus ajoute l'émetteur dans /etc/hosts.deny, seulement je n'aime pas
trop l'idée d'une modification automatique d'un fichier système.
J'ai pensé que Netfilter devait pouvoir suffire et j'ai rajouté les
règles suivantes à ma config existante (extrait d'iptables-save) :
-A tcp_packets -i eth0 -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name DEFAULT --rsource
-A tcp_packets -i eth0 -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 2 --name DEFAULT --rsource -j REJECT --reject-with icmp-port-unreachable
Pour beaucoup de mes règles netfilter, quand je refuse un paquet en fait
j'utilise la target DROP mais dans le cas présent j'ai utilisé REJECT
qui permet de ne pas devoir attendre un timeout pour la négociation SSH...
Je ne comprends pas ton raisonnement, pour moi j'ai l'impression que tu fait plutôt du social (pour ainsi dire) alors qu'il essaye de se proteger.
Un peu tard, je rebondis sur cette remarque... Je m'estime protégé au niveau de SSH par mon choix d'interdire les logins par mot de passe au profit de l'utilisation des clés.
Simplement le fonctionnement de SSH fait qu'une attaque par dictionnaire même sans effet au niveau sécurité engendre 2 effets : 1) une augmentation massive des logs. Inconvénient mineur grâce à logrotate 2) une consommation inutile du cpu sur ce système, ce qui m'embête déjà plus. Certes la charge est très faible mais je rajoute des services au fur et à mesure et par principe je n'aime pas gaspiller les ressources.
Ceci dit je m'efforce autant que possible de respecter les normes et je trouve la remarque de Tichou concernant le rejet à préférer au drop tout à fait recevable. Dans le même genre, je réponds aux echos ICMP même si ça peut permettre une analyse de mon système...
-- Sébastien Kirche
Le 8 March 2006 à 23:53, aze vraute :
Je ne comprends pas ton raisonnement, pour moi j'ai l'impression que
tu fait plutôt du social (pour ainsi dire) alors qu'il essaye de se
proteger.
Un peu tard, je rebondis sur cette remarque... Je m'estime protégé au
niveau de SSH par mon choix d'interdire les logins par mot de passe au
profit de l'utilisation des clés.
Simplement le fonctionnement de SSH fait qu'une attaque par dictionnaire
même sans effet au niveau sécurité engendre 2 effets :
1) une augmentation massive des logs. Inconvénient mineur grâce à
logrotate
2) une consommation inutile du cpu sur ce système, ce qui m'embête déjà
plus. Certes la charge est très faible mais je rajoute des services
au fur et à mesure et par principe je n'aime pas gaspiller les
ressources.
Ceci dit je m'efforce autant que possible de respecter les normes et je
trouve la remarque de Tichou concernant le rejet à préférer au drop tout
à fait recevable. Dans le même genre, je réponds aux echos ICMP même si
ça peut permettre une analyse de mon système...
Je ne comprends pas ton raisonnement, pour moi j'ai l'impression que tu fait plutôt du social (pour ainsi dire) alors qu'il essaye de se proteger.
Un peu tard, je rebondis sur cette remarque... Je m'estime protégé au niveau de SSH par mon choix d'interdire les logins par mot de passe au profit de l'utilisation des clés.
Simplement le fonctionnement de SSH fait qu'une attaque par dictionnaire même sans effet au niveau sécurité engendre 2 effets : 1) une augmentation massive des logs. Inconvénient mineur grâce à logrotate 2) une consommation inutile du cpu sur ce système, ce qui m'embête déjà plus. Certes la charge est très faible mais je rajoute des services au fur et à mesure et par principe je n'aime pas gaspiller les ressources.
Ceci dit je m'efforce autant que possible de respecter les normes et je trouve la remarque de Tichou concernant le rejet à préférer au drop tout à fait recevable. Dans le même genre, je réponds aux echos ICMP même si ça peut permettre une analyse de mon système...
-- Sébastien Kirche
Sébastien Kirche
Le 10 March 2006 à 00:23, Sébastien Monbrun aka TiChou a formulé :
Pour une meilleure gestion des logs, as-tu déjà songé à utiliser syslog-ng au lieu du traditionnel sysklogd ?
Absolument pas. Faut dire qu'en mauvais sysadmin je ne gère pas tellement les logs ;)
Je me contente souvent d'y chercher des infos sur des problèmes matériels. le seul que je «monitore» un peu est mail.info et de temps en temps auth.log. Pour le reste... Faut dire que je suis mon seul client en dehors de la messagerie de Madame.
À une époque j'ai utilisé logcheck sur mon poste perso mais je ne l'ai pas installé sur le serveur.
Que t'apporte un baril de syslog-ng que tu n'échangerais pas contre deux de sysklogd ? -- Sébastien Kirche
Le 10 March 2006 à 00:23, Sébastien Monbrun aka TiChou a formulé :
Pour une meilleure gestion des logs, as-tu déjà songé à utiliser
syslog-ng au lieu du traditionnel sysklogd ?
Absolument pas. Faut dire qu'en mauvais sysadmin je ne gère pas
tellement les logs ;)
Je me contente souvent d'y chercher des infos sur des problèmes
matériels. le seul que je «monitore» un peu est mail.info et de temps en
temps auth.log. Pour le reste... Faut dire que je suis mon seul client
en dehors de la messagerie de Madame.
À une époque j'ai utilisé logcheck sur mon poste perso mais je ne l'ai
pas installé sur le serveur.
Que t'apporte un baril de syslog-ng que tu n'échangerais pas contre deux
de sysklogd ?
--
Sébastien Kirche
Le 10 March 2006 à 00:23, Sébastien Monbrun aka TiChou a formulé :
Pour une meilleure gestion des logs, as-tu déjà songé à utiliser syslog-ng au lieu du traditionnel sysklogd ?
Absolument pas. Faut dire qu'en mauvais sysadmin je ne gère pas tellement les logs ;)
Je me contente souvent d'y chercher des infos sur des problèmes matériels. le seul que je «monitore» un peu est mail.info et de temps en temps auth.log. Pour le reste... Faut dire que je suis mon seul client en dehors de la messagerie de Madame.
À une époque j'ai utilisé logcheck sur mon poste perso mais je ne l'ai pas installé sur le serveur.
Que t'apporte un baril de syslog-ng que tu n'échangerais pas contre deux de sysklogd ? -- Sébastien Kirche
Sébastien Kirche
Le 10 March 2006 à 01:17, Sébastien Monbrun aka TiChou a formulé :
Que t'apporte un baril de syslog-ng que tu n'échangerais pas contre deux de sysklogd ?
Que je n'échangerai même pas contre ma mère, pour dire. :-P
J'espère qu'elle ne lit pas les news, elle pourrait être peinée... ;)
Plus sérieusement, tout ce qu'on a toujours souhaité d'un gestionnaire de log. [snip la description]
Pas mal à première vue, en effet. Trop tard pour que je me plonge dans la doc à cette heure, mais je vais regarder ça de plus près demain.
Et voilà, tu m'as *encore* appris un truc de plus ;) -- Sébastien Kirche
Le 10 March 2006 à 01:17, Sébastien Monbrun aka TiChou a formulé :
Que t'apporte un baril de syslog-ng que tu n'échangerais pas contre
deux de sysklogd ?
Que je n'échangerai même pas contre ma mère, pour dire. :-P
J'espère qu'elle ne lit pas les news, elle pourrait être peinée... ;)
Plus sérieusement, tout ce qu'on a toujours souhaité d'un gestionnaire
de log.
[snip la description]
Pas mal à première vue, en effet. Trop tard pour que je me plonge dans
la doc à cette heure, mais je vais regarder ça de plus près demain.
Et voilà, tu m'as *encore* appris un truc de plus ;)
--
Sébastien Kirche
Le 10 March 2006 à 01:17, Sébastien Monbrun aka TiChou a formulé :
Que t'apporte un baril de syslog-ng que tu n'échangerais pas contre deux de sysklogd ?
Que je n'échangerai même pas contre ma mère, pour dire. :-P
J'espère qu'elle ne lit pas les news, elle pourrait être peinée... ;)
Plus sérieusement, tout ce qu'on a toujours souhaité d'un gestionnaire de log. [snip la description]
Pas mal à première vue, en effet. Trop tard pour que je me plonge dans la doc à cette heure, mais je vais regarder ça de plus près demain.
Et voilà, tu m'as *encore* appris un truc de plus ;) -- Sébastien Kirche
aze
Le Thu, 09 Mar 2006 16:00:04 +0000, Sebastien Monbrun aka TiChou a écrit :
[...]
La discussion se portant essentiellement sur une politique de sécurité, je vous invite à poursuivre la discussion sur le groupe fr.comp.securite vers lequel je place un fu2.
xpost+fu fc.securite
J'ai répondu là-bas, mais je trouve cela un peu dommage car cette petite digression concerne de fait un paramétrage de Linux. Mais soit...
Le Thu, 09 Mar 2006 16:00:04 +0000, Sebastien Monbrun aka TiChou a
écrit :
[...]
La discussion se portant essentiellement sur une politique de sécurité, je
vous invite à poursuivre la discussion sur le groupe fr.comp.securite vers
lequel je place un fu2.
xpost+fu fc.securite
J'ai répondu là-bas, mais je trouve cela un peu dommage car cette petite
digression concerne de fait un paramétrage de Linux.
Mais soit...
Le Thu, 09 Mar 2006 16:00:04 +0000, Sebastien Monbrun aka TiChou a écrit :
[...]
La discussion se portant essentiellement sur une politique de sécurité, je vous invite à poursuivre la discussion sur le groupe fr.comp.securite vers lequel je place un fu2.
xpost+fu fc.securite
J'ai répondu là-bas, mais je trouve cela un peu dommage car cette petite digression concerne de fait un paramétrage de Linux. Mais soit...
Pascal Hambourg
Euh, je vois mal comment on peut espérer établir une connexion TCP et à plus forte raison SSH avec une adresse source invalide, forgée ou privée, c'est-à-dire en aveugle... :-
http://www.gulker.com/ra/hack/tsattack.html
Il me semblait que la prédiction des numéros de séquence TCP était impossible avec Linux.
Euh, je vois mal comment on peut espérer établir une connexion TCP et à
plus forte raison SSH avec une adresse source invalide, forgée ou
privée, c'est-à-dire en aveugle... :-
http://www.gulker.com/ra/hack/tsattack.html
Il me semblait que la prédiction des numéros de séquence TCP était
impossible avec Linux.
Euh, je vois mal comment on peut espérer établir une connexion TCP et à plus forte raison SSH avec une adresse source invalide, forgée ou privée, c'est-à-dire en aveugle... :-
http://www.gulker.com/ra/hack/tsattack.html
Il me semblait que la prédiction des numéros de séquence TCP était impossible avec Linux.