Iptables, limitation d'accès via IP

Questions relatives à la sécurité de votre système : firewall, SELinux, etc...
Avatar de l’utilisateur
Loup-des-Neiges
Messages : 78
Inscription : 20 octobre 2009, 23:29
Localisation : Cannes (06)
Contact :

Re: Iptables, limitation d'accès via IP

Message par Loup-des-Neiges » 25 octobre 2009, 04:23

Heldwin a écrit :mais pourquoi ne protéger que sshd ?
Heu ... Car sinon il bloque aussi l'accès au service httpd le "ALL: ALL" ? :oops: non ?
Serveur(s) : [home/serveur-1/serveur-2].loup-des-neiges.com
CentOS : 6 CR
Utilisateur des dépôts : RHEL, REMI

Nils
Messages : 89
Inscription : 22 octobre 2009, 18:55

Re: Iptables, limitation d'accès via IP

Message par Nils » 25 octobre 2009, 11:33

Hello,

sur mon dédié, pour faire face aux tentatives de bruteforce SSH et sans installer de logiciel supplémentaires, j'ai utilisé les règles iptables suivantes :

Code : Tout sélectionner

IPTABLES=`which iptables`
IFACE="eth0"
[code tronqué ;)]
$IPTABLES -A INPUT -i $IFACE -s <adresse IP certaine> -p tcp --dport ssh -j ACCEPT
$IPTABLES -A INPUT -i $IFACE -p tcp --dport ssh -m state --state NEW -m recent --set --name BRUTESSH
$IPTABLES -A INPUT -i $IFACE -p tcp --dport ssh -m state --state NEW -m recent --update --seconds 600 --hitcount 3 --rttl --name BRUTESSH -j DROP
$IPTABLES -A INPUT -i $IFACE -p tcp --dport ssh -j ACCEPT
Grosso modo, je laisse d'abord passer certaines IP dont je suis sûr qu'elles ont le droit de se connecter (chez moi, chez certains amis triés sur le volet, le boulot...) et ensuite j'utilise le module recent qui me permet de voir si une IP tente souvent de se connecter au port SSH. Si une IP tente plus 3 connexions (état NEW) en 600 secondes, j'estime que c'est une tentative de brutefoce et je bannis l'IP en question (i.e. je droppe les paquets). Cet exemple est applicable à d'autres services TCP, bien entendu.

Le module recent de Netfilter est un vrai petit bijou :mrgreen:

Avatar de l’utilisateur
Heldwin
Messages : 440
Inscription : 20 octobre 2009, 10:11
Localisation : Unknown

Re: Iptables, limitation d'accès via IP

Message par Heldwin » 26 octobre 2009, 01:53

Loup-des-Neiges a écrit :
Heldwin a écrit :mais pourquoi ne protéger que sshd ?
Heu ... Car sinon il bloque aussi l'accès au service httpd le "ALL: ALL" ? :oops: non ?
Pour httpd, rien ne t'empêche de donner accès à tout le monde pour ce service dans hosts.allow, non ? ;)

Avatar de l’utilisateur
Arrfab
Administrateur
Messages : 307
Inscription : 16 octobre 2009, 18:04
Localisation : /dev/irc.freenode.net/#centos
Contact :

Re: Iptables, limitation d'accès via IP

Message par Arrfab » 26 octobre 2009, 15:45

Perso (mais ça n'engage que moi ..) je n'utilise que iptables ... tcp-wrappers fait double-emploi
----
test -e /dev/human/brain || ( echo 1 > /proc/sys/kernel/sysrq ; echo c > /proc/sysrq-trigger )

Avatar de l’utilisateur
Heldwin
Messages : 440
Inscription : 20 octobre 2009, 10:11
Localisation : Unknown

Re: Iptables, limitation d'accès via IP

Message par Heldwin » 26 octobre 2009, 17:22

Arrfab a écrit :Perso (mais ça n'engage que moi ..) je n'utilise que iptables ... tcp-wrappers fait double-emploi
Pour moi, si tcp-wrappers et iptables font bon ménage, je trouve que c'est mieux d'avoir une redondance, en tout cas pour la sécurité.

En tout cas tant qu'on ne me dit pas qu'ils peuvent s'empêcher de fonctionner correctement, et qu'on me donne la raison :)

bailchanis
Messages : 4
Inscription : 20 octobre 2009, 17:04

Re: Iptables, limitation d'accès via IP

Message par bailchanis » 27 octobre 2009, 17:07

@Loup-des-Neiges : pour la mise en place de denyhosts en particulier c'est un jeu d'enfant : "yum install denyhosts" (peu être un dépôt un peu exotique genre rpmforge à installer mais pas sur...) ensuite un petit tour dans /etc/denyhosts/denyhosts.conf avec un peu de lecture la conf n'est vraiment pas difficile ;)


@ heldwin : oui c'est clair que que si on n'a que des IP fixes à gerer l'intérêt est un peu limité. Moyennant quoi, quand on est soi-même très mobile c'est un peu comme avec une IP dynamique : on change souvent d'IP et on est bien heureux de pouvoir "taper" son server de n'importe où ;)

@ Arrfab : Si iptables permettait de partager des listes à bannir denyhosts ferait double emploi mais je trouve ce petit feat bien intéressant quand même... d'ailleurs cette même mise en commun donne un intérêt à denyhosts même si on a que des IP fixes à gérer.


@Nils : 3 connexions en 600 secondes ? une connexion toutes les 3minutes30 .... ? je trouve ça un peu sévère pour le coup. Je préfère réagir en cas de tentatives successives ratées, peu importe le temps qui les sépare, que sur un critère de n tentatives dans un laps de temps... mais ça n'engage que moi ;)

Avatar de l’utilisateur
Heldwin
Messages : 440
Inscription : 20 octobre 2009, 10:11
Localisation : Unknown

Re: Iptables, limitation d'accès via IP

Message par Heldwin » 27 octobre 2009, 17:29

Pour denyhosts sur CentOS 5, il se trouve dans le dépôt EPEL si jamais (2.6-5.el5), peut-être effectivement aussi dans rpmforge.

Pour CentOS 4.8, il se trouve dans rpmforge (2.6-3.el4.rf)

EDIT:

Et je viens de voir que je l'avais installé sur mes serveurs, et ça doit faire un moment... lol
Je comprenais pas pourquoi je ne le trouvais pas dans rpmforge avant :)

Le seul truc de "presque rassurant", c'est que rien n'a été bloqué apparemment, car --purge n'a pas de valeurs (donc laisse les traces).

Nils
Messages : 89
Inscription : 22 octobre 2009, 18:55

Re: Iptables, limitation d'accès via IP

Message par Nils » 27 octobre 2009, 20:06

bailchanis a écrit :@Nils : 3 connexions en 600 secondes ? une connexion toutes les 3minutes30 .... ? je trouve ça un peu sévère pour le coup. Je préfère réagir en cas de tentatives successives ratées, peu importe le temps qui les sépare, que sur un critère de n tentatives dans un laps de temps... mais ça n'engage que moi ;)
Tu peux ajuster le nombre de tentatives et le temps imparti, tu peux précéder ces règles d'une ligne de whitelist si tu as une IP fixe, si tu as peur de ne pas avoir assez de shells, il y a screen et si tu as peur de mal taper ton mot de passe il y a les clés SSH. En bref, tout ce qui peut poser problème du fait de ces règles est aisément ou élégamment contourné. En fait la seule chose qui manque, c'est une règle qui fait le café :mrgreen:

Ah, et pour la sévérité : un robot qui te bruteforce va mettre, quoi, 5 secondes pour initier une connexion, tenter un mot de passe et passer à la tentative suivante?

bailchanis
Messages : 4
Inscription : 20 octobre 2009, 17:04

Re: Iptables, limitation d'accès via IP

Message par bailchanis » 30 octobre 2009, 00:56

Nils a écrit :Tu peux ajuster le nombre de tentatives et le temps imparti, tu peux précéder ces règles d'une ligne de whitelist si tu as une IP fixe, si tu as peur de ne pas avoir assez de shells, il y a screen et si tu as peur de mal taper ton mot de passe il y a les clés SSH.
Certes, moyennant quoi, je suis non seulement mobile mais j'ai aussi régulièrement "besoin" de me connecter à mon server depuis des machines sur lesquelles je ne préfère pas laisser trainer de clé (genre portable du boulot, machine multi utilisateur -toujours au tafff- , etc ... )
Nils a écrit :En bref, tout ce qui peut poser problème du fait de ces règles est aisément ou élégamment contourné. En fait la seule chose qui manque, c'est une règle qui fait le café :mrgreen:
Probablement mais je trouve denyhosts franchement plus simple (opérationnel en 2 minutes) et tout aussi efficace ... voire plus en raison du partage des IP bannies.
Nils a écrit :Ah, et pour la sévérité : un robot qui te bruteforce va mettre, quoi, 5 secondes pour initier une connexion, tenter un mot de passe et passer à la tentative suivante?
Oui en gros c'est 4 ou 5s, du coup 1 connexion toutes les 3minutes30 : c'est un bruteforce "à la main" réalisé par un humain ?
D'ou ma remarque sur la sévérité ;)

@heldwin : s'il n'a rien bloqué c'est peut etre que le daemon n'est pas lancé ? :p (sur mon dédié le hosts.deny est pas loin d'1Go et sur un autre serveur qui a moins d'1 moi il est déjà à 60Mo ) ... c'est d'ailleur le seul inconvéniant de la chose si on est conservateur comme moi et si on est limité en place (ce qui n'est pas trop mon cas). Bon , on peut aussi purger tous les ans ou tous les mois si on est un peu plus laxiste :p

Avatar de l’utilisateur
Heldwin
Messages : 440
Inscription : 20 octobre 2009, 10:11
Localisation : Unknown

Re: Iptables, limitation d'accès via IP

Message par Heldwin » 30 octobre 2009, 12:06

bailchanis a écrit :@heldwin : s'il n'a rien bloqué c'est peut etre que le daemon n'est pas lancé ? :p (sur mon dédié le hosts.deny est pas loin d'1Go et sur un autre serveur qui a moins d'1 moi il est déjà à 60Mo ) ... c'est d'ailleur le seul inconvéniant de la chose si on est conservateur comme moi et si on est limité en place (ce qui n'est pas trop mon cas). Bon , on peut aussi purger tous les ans ou tous les mois si on est un peu plus laxiste :p
Mais non lol, il est bien lancé.

Les ports sont tous bloqués en entrée sur le firewall WAN/LAN, donc si il y avait des logs, ça me poserait un problème, car je devrais prévenir des personnes à qui j'ai pas du tout envie de parler ^^

Verrouillé