Derniers journaux de yeupou :
- [16/02@10:42] des idées pour éviter la création automatique de compte par des bots ?
- [14/02@17:42] ilhomail... pas mal !
- [08/02@12:27] dans l'intérêt de qui ?
- [22/10@07:17] sur le système de vote
- [11/10@07:17] mais c'est vraiment génial les forums !
- [01/10@10:30] xmms > /dev/null
- [29/09@14:54] et hop, nouvelle version de Savane
- [23/09@11:19] mieux que wikipédia (vu sur advogato)
- [22/09@11:52] gna hotspot #7
- [20/09@06:02] security.debian.org
- [21/07@20:03] Diffuser de la musique en ogg ; le problème de l'absence du support ogg dans windows media player
- [10/09@18:05] gna! down
- [04/05@10:57] La votation sur linuxfr, un pas de plus vers des notations insensées
- [29/03@14:38] dépeche sur SuSE disparue
- [29/03@11:48] heure d'été, freebox
- [26/03@10:00] GNU/Linux vs MS Windows selon un hébergeur
- [24/03@15:29] GNU/Linux magazine
- [20/03@15:15] Brave Eddy
- [06/03@15:23] ESR
- [06/03@12:06] Beuh
Or, nous constations pas mal de trucs pénibles ingérables avec SSH seul (multiples tentatives de connexion sur des dicos de login en quelques secondes), qui en soit ne posais pas vraiment problème mais bouffait petit à petit pas mal de ressources.
Ben là solution magique est xinetd. Nous utilisions déjà xinetd pour quasiment tout le reste (multiples avantages : limite du nombre de connexion par IP, limite du nombre de connexion par seconde, fermeture de l'accès en cas de charge trop élévée, différente politiques en fonction de l'émetteur, banissement par /etc/hosts.deny).
Théoriquement, il est dit qu'utilise SSH par xinetd fait perdre en perf plutôt que l'utiliser directement. Peut-être. Mais depuis l'autre jour, tout passe par xinetd et la charge est divisée par deux, réellement. Tout simplement parce que nos serveurs sont devenus suffisement connus pour que certains pénibles deviennent suffisement pénibles et que des règles de xinetd soit l'outil idéal pour leur dire au revoir.
Mis à part ça, pour ceux qui font tourner un serveur de courriel public, vous pouvez jetter un oeil à https://gna.org/p/seeyoulater que j'ai écris l'autre jour pour éviter que certains pénibles dont l'IP est bloquée via des DNSBL fiables, ou qui envoie des courriels vers des adresses qui ne correspondent à rien (dans les archives de gna, nous publiant les message-id des courriels, c'est pratique pour faire des recherches avec google par message-id : ça produit plein d'adresse qui ne correspondent à rien telles que 213131313135@subversion.gna.org, dont les spambots rafolent) repointent leur museau trop souvent dans les heures qui suivent (multipliant inutilement les requêtes vers les DNSBL), en mettant les IP logguées sous la forme ++BAN:IP++ dans hosts.deny pour un temps défini.
L'outil est prévu pour fonctionner avec Exim mais devrait fonctionne avec n'importe quel serveur.
Tout ça pour dire que si vous faites tourner des serveurs publics, tournez vous vers xinetd, vous allez gagner du temps !
> Lire le journal (13 commentaires, moyenne: 2,8).
Méthode avec netfilter
pour les pénibles, j'utilise ça : http://blog.blackdown.de/2005/02/18/mitigating-ssh-brute-for(...)
-
[^]Re: Méthode avec netfilter
Posté par TuxPierre () le 28/02/2006 à 15:23. (lien). Évalué à 6.Et pour ceux qui utilisent autre chose que shorewall : http://www.debian-administration.org/articles/187
Sinon, il faut noter l'existence d'un petit utilitaire fort sympatique : fail2ban. Permet de bannir pendant un certain temps et apres un certain nombre de tentatives... Et il ne concerne pas que ssh.-
[^]Re: Méthode avec netfilter
Posté par Antoine Jacquet (page perso, ) le 28/02/2006 à 16:40. (lien). Évalué à 1.Génial, c'est exactement ce que je cherchais, un filtrage au niveau iptables.
Merci !-
[^]Re: Méthode avec netfilter
Posté par mathieu mathieu (Jabber id, page perso, ) le 28/02/2006 à 20:33. (lien). Évalué à 1.il exite aussi un script python qui s'appelle failtoban...
cela insere au bout de 5 echecs dans une table avec la règle -j drop!
Le blocaque est annulé au bout d'un temps paramétrable
Couplé avec portsentry, c'est très efficace!-
[^]Re: Méthode avec netfilter
Posté par Adrien BUSTANY (Jabber id, page perso, ) le 28/02/2006 à 21:00. (lien). Évalué à 1.Aussy denyhosts dans le même genre, très efficace aussi :)
-
-
-
Pour les BSDistes
Une solution réservée aux bsdistes qui répond bien à ce problème (attaques bruteforce sur un service), il y a une fonctionnalité intéressante de pf (packet filter) qui permet de bloquer le nombre de connexions maximum par seconde au niveau réseau, voir
http://beta.gcu.info/1727/2000/01/01/Bloquer-les-attaques-br(...)
-
[^]Re: Pour les BSDistes
Posté par TuxPierre () le 28/02/2006 à 15:33. (lien). Évalué à 3.Oui je confirme... C'est vraiment une tres bonne fonctionnalite. Elle est issue a la base de PF du projet OpenBSD. PF a ete porte sur FreeBSD mais pas sur netBSD (a ma connaissance).
Cependant dans l'exemple donne dans ton lien, l'adresse IP est stockée dans une table en memoire et du coup toute tentative de connexion venant de cette IP est systematiquement refusee.. Donc grosso modo, la machine devient "invisible" pour cette IP.
Mais si on ne rajoute pas un petit script pour purger de temps en temps cette table, l'adresse IP va y rester "definitivement" (sauf en cas de reboot ou de flush manuel bien evidemment).-
[^]Re: Pour les BSDistes
Posté par Nicolas Bernard (page perso, ) le 28/02/2006 à 18:39. (lien). Évalué à 2.Juste pour dire que PF existe aussi pour NetBSD et DragonflyBSD.
Cf. <http://www.benzedrine.cx/pf.html >
-
-
[^]Re: Pour les Linuxiens
Posté par Florent Bayle (page perso, ) le 28/02/2006 à 17:05. (lien). Évalué à 7.Pour les Linuxiens, il est possible de faire la même chose ave iptables :
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j SSH_WHITELIST
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 --rttl --name SSH -j ULOG --ulog-prefix SSH_brute_force
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 --rttl --name SSH -j DROP
Si on a plus de 4 tentatives de connexions en moins d'une minute, on bloque l'ip pendant une minute.-
[^]Re: Pour les Linuxiens
Posté par Olivier Jeannet () le 07/03/2006 à 00:18. (lien). Évalué à 2.Si on a plus de 4 tentatives de connexions en moins d'une minute, on bloque l'ip pendant une minute.
Très intéressant, je suis preneur, mon serveur se prend des attaques régulièrement. Je fais le DROP à la main avec une seule règle, quand je suis devant mon ordi et que je vois qu'il y a du trafic anormal :
iptables -A INPUT -i eth0 -s 11.22.33.44 -j DROP .
Je n'ai pas le mot-clef --rttl dans mon "man" (j'ai un noyau 2.6.12), peux-tu me dire ce qu'il fait ?
Et comment est-il précisé que le blocage s'arrête au bout d'une minute ?
Sinon j'ai vu une légère simplification de tes 4 lignes, mais je ne sais pas si ça gère le déblocage :
iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set
iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP
-
Changer le port de SSH
Chez moi, ça a suffit pour retrouver un auth.log normal. :o)
-
[^]Re: Changer le port de SSH
Posté par TuxPierre () le 28/02/2006 à 15:36. (lien). Évalué à 2.C'est clair que ca suffit amplement en ce qui concerne les differents vers qui circulent en ce moment.
Une autre methode tres efficace aussi est de n'autoriser que les clés publiques... du coup ca degage quasiment tout le mode aussi.-
[^]Re: Changer le port de SSH
Posté par gnap gnap (page perso, ) le 28/02/2006 à 15:56. (lien). Évalué à 4.Dans le cas de Gna!, aucune connexion par mot de passe n'est autorisée. Par contre, ne pas utiliser les ports classiques ne ferait que pertuber les utilisateurs, le prix à payer en temps de traitement des demandes d'assistances ne nous arrangeraient pas.
-

Les journaux sont destinés à des informations qui ne sont pas suffisamment intéressantes
pour être validées en dépêche (sinon n'hésitez pas à proposer votre information en
dépêche), qui sont sans rapport avec Linux ou le libre, ou simplement pour donner votre
avis. Si vous désirez poser une question, merci d'utiliser 

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.