cedricpc Posté(e) le 26 mai 2005 Partager Posté(e) le 26 mai 2005 Bonjour, Je suis actuellement en train de chercher un moyen de restreindre les tentatives de connexion erronées (par exemple 3 erreurs par minute). J'ai fait de nombreuses recherches sur ce sujet et la solution revient presque toujours avec IPtables, donc ce sera presque forcément le programme utilisé avec le module "state" et "recent". Pour le moment, j'ai deux codes/méthodes/résultats différents, les voici : #!/bin/bash PATH=/emplacement/d'iptables/ PSSH="<Le port d'SSH>" NTEN="<Nombre maximum de tentatives par $DTEN secondes>" DTEN="<Nombre de secondes maximum total pour $DTEN tentatives>" iptables -A INPUT -p tcp --dport $PSSH -m state --state ESTABLISHED --tcp-flags FIN,ACK FIN,ACK -m recent --set --name SSH_limit iptables -A INPUT -p tcp --dport $PSSH -m state --state ESTABLISHED --tcp-flags RST RST -m recent --set --name SSH_limit #### Journalisation des attaques. #### iptables -A INPUT -p tcp --dport $PSSH -m recent --name SSH_limit --rcheck --seconds $DTEN --hitcount $NTEN -j LOG --log-prefix 'Attaque possible à SSH : ' #### Blocage des attaques. #### iptables -A INPUT -p tcp --dport $PSSH -m recent --name SSH_limit --rcheck --seconds $DTEN --hitcount $NTEN -j DROP Ce code va : -Limiter le nombre de fermeture d'une connexion. (Donc soit une mauvaise identification, soit une fermeture de la connexion.) -Bloquer complètement le port d'SSH. :8 Ce qu'il faudrais qu'il ne fasse pas : -Limiter les fermetures effectuées par le client. -Empêcher d'utiliser les sessions SSH déjà ouverte (bonne identification). J'ai pas regardé pour mettre une liste d'exception dans ce code. #!/bin/bash PATH=/emplacement/d'iptables/ PSSH="<Le port d'SSH>" NTEN="<Nombre maximum de tentatives par $DTEN secondes>" DTEN="<Nombre de secondes maximum total pour $DTEN tentatives>" iptables -F SSH_Except iptables -X SSH_Except iptables -N SSH_Except iptables -A INPUT -p tcp --dport $PSSH -m state --state NEW -m recent --set --name SSH_limit iptables -A INPUT -p tcp --dport $PSSH -m state --state NEW -j SSH_Except #### Journalisation des attaques. #### iptables -A INPUT -p tcp --dport $PSSH -m state --state NEW -m recent --update --seconds $DTEN --hitcount $NTEN --rttl --name SSH_limit -j LOG --log-prefix 'Attaque possible à SSH : ' #### Blocage des attaques. #### iptables -A INPUT -p tcp --dport $PSSH -m state --state NEW -m recent --update --seconds $DTEN --hitcount $NTEN --rttl --name SSH_limit -j DROP Ajouter une ip dans les exceptions : iptables -A SSH_Except -s <IP> -m recent --remove --name SSH_limit -j ACCEPT Ce code va : -Limiter le nombre de connexion. (Donc peut-importe qu'elle échoue ou non.) Ce qu'il ne devrait pas faire : -Limiter le nombre de connexion réussi. Une alternative serait d'effectuer une commande à la connection à SSH (/etc/ssh/sshrc)... Mais laquel ? Donc pour le moment, je cherche des personnes connaissant bien IPtables et les modules précédemment cités (si d'autre seront nécessaire c'est pas gênant. ). D'ailleurs, si vous voyez que le code actuelle peut-être simplifié, n'hésitez pas. Je débute et j'ai aussi grapillé des bouts de code par ci par là donc surement des choses inutiles. Merci de votre aide par avance. J'ai un petit problème, des petits malins essaye de se connecter à SSH jusqu'à là, rien de bien méchant ! Ils arrivent pas à se logger. Le problème, c'est qu'il arrive souvent que des gros boulets tente de se connecter 10 fois, 20 fois, 100 fois, 500 FOIS !!! Donc j'aimerai savoir comment interdire une adresse IP de se connecter pendant 1h au bout de 4/5 tentatives échouées.On m'a dit avec PAM p-e mais j'y comprends pas grand chose à la doc. Si quelqu'un sais comment faire svp ? Merci par avance. Ce message a été modifié par cedricpc le 18-08-2005 17:16:00 Lien vers le commentaire Partager sur d’autres sites More sharing options...
AigleDor Posté(e) le 26 mai 2005 Partager Posté(e) le 26 mai 2005 Si ton mot de passe est correct, tu ne peux rien craindre. 500 fois c'est vraiment rien... Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 26 mai 2005 Partager Posté(e) le 26 mai 2005 Si ton mot de passe est correct, tu ne peux rien craindre. 500 fois c'est vraiment rien... oui, mais pour la bande passante, c'est pas top... Lien vers le commentaire Partager sur d’autres sites More sharing options...
magnig Posté(e) le 27 mai 2005 Partager Posté(e) le 27 mai 2005 Moi j'avais vu un truc dans le genre mais c'était avec iptables mais je ne me souviens plus où Lien vers le commentaire Partager sur d’autres sites More sharing options...
yoda222 Posté(e) le 27 mai 2005 Partager Posté(e) le 27 mai 2005 forums linuxfr.org il y a quelque jours, j'ai vu la même discussion... Je vais même vous le chercher... http://linuxfr.org/forums/12/8945.html Je crois qu'il y a des solutions possibles (je pense aussi à iptables ou le changement de port de ssh) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Starbetrayer Posté(e) le 27 mai 2005 Partager Posté(e) le 27 mai 2005 il me semble que dans la configuration de ssh tu peux le specifier je cherche et je te dis ca Lien vers le commentaire Partager sur d’autres sites More sharing options...
cedricpc Posté(e) le 27 mai 2005 Auteur Partager Posté(e) le 27 mai 2005 oui, mais pour la bande passante, c'est pas top... Ouep c'est ça le problème ! Déjà que j'ai que 16ko en up (enfin ça va par rapport au pauvre gens en 56k ^^) dont 10ko pompé par emule, il en reste que 6 pour surfer avec les trois pc (plus le serveur)... Si je veux mettre un fichier en ftp, bah le gars en face, il lui reste pas grand chose pour le récupérer. Donc c'est pas pour rajouter à ça des tentatives de login à ssh de bouffon qui n'ont que ça à fou*** ! @Magnig, ça ne consiterai pas à limiter les connections à tel port par hasard ? @Yoda222, merci je vais aller voir ce qu'ils en disent. @Starbetrayer, nan je ne crois pas malheureusement mais si tu trouves, je suis preneur Merci de votre aide Lien vers le commentaire Partager sur d’autres sites More sharing options...
Starbetrayer Posté(e) le 27 mai 2005 Partager Posté(e) le 27 mai 2005 http://forum.hardware.fr/hardwarefr/OSAlte...jet-48574-1.htm Lien vers le commentaire Partager sur d’autres sites More sharing options...
fubiga Posté(e) le 27 mai 2005 Partager Posté(e) le 27 mai 2005 salut extrait du man de sshd_config MaxStartups Spécifie un nombre maximal de connexions concurrentes au démon sshd non authentifiées. Les connexions supplémentaires sont purgées si elles ne peuvent pas s'authentifier ou si le délai de grâce défini à l'aide de l'option LoginGraceTime expire pour une connexion. Par défaut 10. Par ailleurs, on peut activer une purge hâtive aléatoire en spécifiant un triplet « début:taux:total » (par exemple, « 10:30:60 »). sshd refuse les tentatives de connexion avec une probabilité de « taux/100 » (30 %) s'il y a « début » (10) connexions non authentifiées en cours. La probabilité augmente linéairement et toutes les tentatives de connexion sont refusées si le nombre de connexions non authentifiées atteint « total » (60). Lien vers le commentaire Partager sur d’autres sites More sharing options...
cedricpc Posté(e) le 27 mai 2005 Auteur Partager Posté(e) le 27 mai 2005 salutextrait du man de sshd_config MaxStartups Spécifie un nombre maximal de connexions concurrentes au démon sshd non authentifiées. Les connexions supplémentaires sont purgées si elles ne peuvent pas s'authentifier ou si le délai de grâce défini à l'aide de l'option LoginGraceTime expire pour une connexion. Par défaut 10. Par ailleurs, on peut activer une purge hâtive aléatoire en spécifiant un triplet « début:taux:total » (par exemple, « 10:30:60 »). sshd refuse les tentatives de connexion avec une probabilité de « taux/100 » (30 %) s'il y a « début » (10) connexions non authentifiées en cours. La probabilité augmente linéairement et toutes les tentatives de connexion sont refusées si le nombre de connexions non authentifiées atteint « total » (60). Et ça m'avance à quoi ça ? -_- @Starbetrayer, merci je vais voir EDIT 1 @ 20:55:54 : Bon je vais matter le code source mais si ça banni l'ip pour tous les ports j'aurais besoin d'aide pour que ça le fasse que sur le port 22 :copain: EDIT 2 @ 21:00:53 : Bon j'ai regardé vite fait et ça ban effectivement l'ip à tous les ports, en plus ça va chercher dans les logs les infos donc si le fichier est gros je te dit pas le load average... Déjà est souvent à plus de 0.5 J'essaye de "décryter" la commande IPTABLE du site http://blog.andrew.net.au/2005/02/17 pour le moment... Je vais voir... Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 28 mai 2005 Partager Posté(e) le 28 mai 2005 Pourquoi ne pas tout simplement tout dropper sauf tes ips sûres ? iptables -P INPUT DROP iptables -A INPUT -p tcp -i eth0 -s $IP --dport 22 -j ACCEPT Lien vers le commentaire Partager sur d’autres sites More sharing options...
cedricpc Posté(e) le 28 mai 2005 Auteur Partager Posté(e) le 28 mai 2005 Bah parce que je ne sais pas (encore) deviné l'ip que va avoir le pc que j'utilise à distance. Ca m'arrive de l'utiliser à distance pour relancer/reconfigurer le ftp par exemple. Tes règles ne vont-elle pas tout dropper ? (Je précise que je connais pas encore très bien le fonctionnement d'IPTABLE, juste deux trois choses comme mapper des ports, partager INternet...) Lien vers le commentaire Partager sur d’autres sites More sharing options...
cedricpc Posté(e) le 28 mai 2005 Auteur Partager Posté(e) le 28 mai 2005 Tiens, je m'en rapellais plus... J'ai mis cette règle : iptables -A INPUT -i ppp0 -p tcp --dport 22 -m limit --limit 5/hour -j ACCEPT mais ça pas l'air de faire grand chose c'est normal ? EDIT : Hier encore j'ai eu environ 300 tentatives en 10 mn >_< J'ai aussi plein de ligne comme ça : May 28 11:20:00 webcenter sshd[28061]: Did not receive identification string from ::ffff:127.0.0.1 Je sais pas d'où elle vienne... Bon c'est le PC qui se les balances lui même ok... Mais comment arrêter ça svp ? Une toute les 5 mn pile c'est ch*** Merci par avance. Lien vers le commentaire Partager sur d’autres sites More sharing options...
semionsi Posté(e) le 28 mai 2005 Partager Posté(e) le 28 mai 2005 Bah eteint ton pc et c'est bon ;-) (le message super-utile de la journée) Lien vers le commentaire Partager sur d’autres sites More sharing options...
cedricpc Posté(e) le 28 mai 2005 Auteur Partager Posté(e) le 28 mai 2005 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Angel Eyes Posté(e) le 29 mai 2005 Partager Posté(e) le 29 mai 2005 j'ai un peu de mal à te suivre : si ça banni tous les ports pour l'ip d'un pc qui n'a pas le login/password, je vois pas pourquoi ça te dérange vu que toi, tu sais te logger ... dis toi bien que le bouffon qui essaye de te hacker peut essayer sur d'autres ports, dont le ftp ... Lien vers le commentaire Partager sur d’autres sites More sharing options...
neologix Posté(e) le 29 mai 2005 Partager Posté(e) le 29 mai 2005 Tiens, je m'en rapellais plus... J'ai mis cette règle :iptables -A INPUT -i ppp0 -p tcp --dport 22 -m limit --limit 5/hour -j ACCEPT mais ça pas l'air de faire grand chose c'est normal ? EDIT : Hier encore j'ai eu environ 300 tentatives en 10 mn >_< J'ai aussi plein de ligne comme ça : May 28 11:20:00 webcenter sshd[28061]: Did not receive identification string from ::ffff:127.0.0.1 Je sais pas d'où elle vienne... Bon c'est le PC qui se les balances lui même ok... Mais comment arrêter ça svp ? Une toute les 5 mn pile c'est ch*** Merci par avance. Si tu fais ça, t'es ***** En effet, imagine qu'un gugus s'amuse à se connecter 20 fois avant que tu n'essayes: et bah toi tu peux plus! Il y a deux solution: -limiter selon l'IP source, ce qui doit se faire via un IDS (snort, prelude) -changer le port d'écoute de ton serveur vers un port à la con, du style 32501. Pour peu que tu n'acceptes que le ssh, et que tu droppes le ping, d'ici à ce que le lamer d'en face trouve sur quel port tu écoutes, il va en avoir pour un bout de temps. Par contre, ce que je ne comprends pas, c'est que tu aies autant de tentatives, vu que tu as une ip dynamique. Tu pourrais nous balancer tes logs iptables? neo Lien vers le commentaire Partager sur d’autres sites More sharing options...
magnig Posté(e) le 29 mai 2005 Partager Posté(e) le 29 mai 2005 J'essaye de "décryter" la commande IPTABLE du site http://blog.andrew.net.au/2005/02/17 pour le moment... Je vais voir... C'est la dessus que j'étais tombé aussi. Lien vers le commentaire Partager sur d’autres sites More sharing options...
cedricpc Posté(e) le 29 mai 2005 Auteur Partager Posté(e) le 29 mai 2005 j'ai un peu de mal à te suivre :si ça banni tous les ports pour l'ip d'un pc qui n'a pas le login/password, je vois pas pourquoi ça te dérange vu que toi, tu sais te logger ... dis toi bien que le bouffon qui essaye de te hacker peut essayer sur d'autres ports, dont le ftp ... Et le pauvre gars qui a une me*** sur son pc ? Nan c'est pas top je trouves ! Si tu fais ça, t'es *****En effet, imagine qu'un gugus s'amuse à se connecter 20 fois avant que tu n'essayes: et bah toi tu peux plus! Il y a deux solution: -limiter selon l'IP source, ce qui doit se faire via un IDS (snort, prelude) -changer le port d'écoute de ton serveur vers un port à la con, du style 32501. Pour peu que tu n'acceptes que le ssh, et que tu droppes le ping, d'ici à ce que le lamer d'en face trouve sur quel port tu écoutes, il va en avoir pour un bout de temps. Par contre, ce que je ne comprends pas, c'est que tu aies autant de tentatives, vu que tu as une ip dynamique. Tu pourrais nous balancer tes logs iptables? neo Bah pourtant y'a la règle mais rien ne change... Vais la virer. Je sais que changé de port est une bonne solution mais je j'aime pas "contourner" les problèmes... Je suis un peu têtu parfois mais bon. Vais déjà voir si le PC répond au ping et si c'est le cas je vais mettre un règle pour le dropper mais je crois qu'il y a un programme qui le fait. En ce qui concerne l'ip dynamic, j'ai une redirection no-ip donc c'est p-e ça qu'ils choppent... EDIT : Euh je vais paraître p-e bête (tant pis ) mais ils sont ou les logs d'iptables svp ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Angel Eyes Posté(e) le 29 mai 2005 Partager Posté(e) le 29 mai 2005 Et le pauvre gars qui a une me*** sur son pc ? Nan c'est pas top je trouves ! euh ... je crois que tu n'as pas tout suivi ... si tu banni un gars, c'est uniquement pour l'accès à TA machine ... t'as pas à t'en faire pour lui, te ne bloques pas sa machine ... Lien vers le commentaire Partager sur d’autres sites More sharing options...
cedricpc Posté(e) le 29 mai 2005 Auteur Partager Posté(e) le 29 mai 2005 OH ? C'est vrai ? Nan je sais bien mais si il doit accèder à ma machine, c'est *** de le bannir ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Angel Eyes Posté(e) le 29 mai 2005 Partager Posté(e) le 29 mai 2005 ???? pq t'as peur qu'un total inconnu avec une machine vérolée ne puisse plus accéder à ta bécanne ???? Franchement, j'aurais aucune pitié, d'autant plus qu'il y a peu de chances qu'il aie une raison légale d'accéder à ta bécanne, non ? //-- edit --// je trouve ça un peu *** de ne pas bannir une IP hostile sous prétexte que la machine qui lui est liée "pourrait" avoir besoin d'accéder à tabécanne. PS : sorry pour l'explication un peu bebete Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 29 mai 2005 Partager Posté(e) le 29 mai 2005 -limiter selon l'IP source, ce qui doit se faire via un IDS (snort, prelude) Un IPS plutôt ? Un IDS a pour but de détecter les intrusions, un IPS, de les prévenir. Lien vers le commentaire Partager sur d’autres sites More sharing options...
neologix Posté(e) le 30 mai 2005 Partager Posté(e) le 30 mai 2005 Oui... Blacklister l'IP qui te dérange. neo Lien vers le commentaire Partager sur d’autres sites More sharing options...
cedricpc Posté(e) le 30 mai 2005 Auteur Partager Posté(e) le 30 mai 2005 Bah nan, moi je trouve pas ça bien... Au passage, j'ai un serveur web et ftp en plus alors ça fait deux raisons en moins pour blacklister l'IP. (Ouai y'a pas beaucoup de trafic et alors, c'est aussi bien comme raison que celle d'Angel Eyes ) Je suis toujours en train de décoder la commande du blog dit dans la première page. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.