J'ai récemment décidé de faire une maintenance de sécurité. J'ai vu mes journaux et il y a eu quelques tentatives contre mon serveur SSH. Au début, j'ai éloigné le port SSH du port par défaut 22. Après cela, j'ai lu quelque chose sur Fail2ban , BlockHosts et DenyHosts .
J'ai jeté un œil au premier: il est simple à configurer, tout est compréhensible; mais quand j'ai essayé de "sonder sa protection", les tests ont échoué . Tout semble bien se passer, mais je peux toujours accéder au serveur.
J'ai également testé les IPtables: # iptables -I INPUT -j DROP
- après cela, ma connexion SSH a été perdue (donc, ce que je voulais). Ensuite # iptables -I INPUT -s 84.x.y.z -j DROP
, ce qui a fonctionné aussi.
Mais, quelles règles le Fail2ban a-t-il appliquées, cela ne fonctionne pas: ( $ sudo iptables -L
)
Chain INPUT (policy ACCEPT)
target prot opt source destination
fail2ban-apache tcp -- anywhere anywhere multiport dports www,https
fail2ban-ssh tcp -- anywhere anywhere multiport dports ssh
fail2ban-ssh-ddos tcp -- anywhere anywhere multiport dports ssh
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain fail2ban-apache (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere
Chain fail2ban-ssh (1 references)
target prot opt source destination
DROP all -- 84.x.y.z anywhere
RETURN all -- anywhere anywhere
Chain fail2ban-ssh-ddos (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere
Modules du noyau chargés: ( $ lsmod | grep ip
)
iptable_nat 4680 0
nf_nat 15576 1 iptable_nat
nf_conntrack_ipv4 12268 3 iptable_nat,nf_nat
nf_conntrack 55540 4 xt_state,iptable_nat,nf_nat,nf_conntrack_ipv4
xt_multiport 2816 2
iptable_filter 2624 1
ip_tables 10160 2 iptable_nat,iptable_filter
x_tables 13284 5 xt_state,xt_tcpudp,iptable_nat,xt_multiport,ip_tables
ipv6 235396 24
Versions:
- Debian Lenny 5.06, noyau 2.6.26-2-686
- IPtables 1.4.2-6
- Fail2ban 0.8.3-2sid1
openssh-server
1: 5.1p1-5
Test n ° 1 étape par étape:
- Configurez Fail2ban à faible bantime. 60 sec. Rechargez ensuite.
- Essayez de vous connecter (avec SSH), directement avec un mauvais mot de passe.
- Pour la 6ème fois, entrez le bon mot de passe (le nombre maximal d'essais n'est que de 4 ici). Je me suis connecté. Je peux également accéder à la page Web hébergée par ce serveur.
iptables -L
m'a montré comme son mentionné ci-dessus. L'interdiction était donc active, lorsque je me suis connecté, a commandé mon serveur.
Test n ° 2 étape par étape:
- Arrêtez Fail2ban. Créez un
at
script pour supprimer à l'avenir la règle d'interdiction écrite ci-dessous. (iptables -D INPUT 1
) - Créez une règle d'interdiction:
iptables -I INPUT 1 -s 84.x.y.z -j DROP
- Je n'ai pas pu taper autre chose, la connexion SSH est inutilisable. Je n'ai pas pu accéder à la page Web. Donc, ce que je voulais d'iptables.
- Après le
at
script, je peux accéder à mon serveur.
Je ne vois pas la solution, que dois-je faire pour que mon interdiction IPtables (effectuée par Fail2ban) fonctionne?