« Protéger SSH avec sshguard OLD (1.4) » : différence entre les versions
Aucun résumé des modifications |
|||
| Ligne 77 : | Ligne 77 : | ||
ip6tables -A INPUT -m multiport -p tcp --destination-ports 21,22,110,143,80,443 -j sshguard | ip6tables -A INPUT -m multiport -p tcp --destination-ports 21,22,110,143,80,443 -j sshguard | ||
tail -n0 -F /var/log/auth.log | /usr/sbin/sshguard -a 2 -p 1800 -w /etc/sshguard_whitelist & | tail -n0 -F /var/log/auth.log | /usr/sbin/sshguard -a 2 -p 1800 -w /etc/sshguard_whitelist & | ||
#décommentez ceci si vous utilisez http://wiki.csnu.org/index.php?title=Firewall | |||
#/root/firewall/firewall.sh start | |||
;; | ;; | ||
stop) | stop) | ||
Version du 17 mars 2012 à 16:55
Pour Debian Lenny, vérifiez que vous avez les dépôts backports configurés dans /etc/apt/sources.list :
deb http://backports.debian.org/debian-backports lenny-backports main
Sous Debian Squeeze, le paquet est disponible dans les dépôts debian.
aptitude install sshguard psmisc
Configurez la whitelist :
echo "127.0.0.1" > /etc/sshguard_whitelist echo "0:0:0:0:0:0:0:1" >> /etc/sshguard_whitelist
Lancement manuel
Support IPv4 :
iptables -N sshguard
Support IPv6 :
ip6tables -N sshguard
Paramétrer le blocage pour les ports ssh, ftp, pop, imap, http et https :
iptables -A INPUT -m multiport -p tcp --destination-ports 21,22,110,143,80,443 -j sshguard ip6tables -A INPUT -m multiport -p tcp --destination-ports 21,22,110,143,80,443 -j sshguard
Configurez la restauration automatique des règles iptables lors d'un reboot :
iptables-save > /etc/sshguard_iptables ip6tables-save > /etc/sshguard_ip6tables
Créez le fichier /etc/network/if-up.d/sshguard contenant :
#! /bin/sh iptables-restore < /etc/sshguard_iptables ip6tables-restore < /etc/sshguard_ip6tables
Rendez ce fichier exécutable :
chmod +x /etc/network/if-up.d/sshguard
Après un reboot, vous pouvez vérifier que les règles ont bien été redéfinies :
iptables --list sshguard ip6tables --list sshguard
Enfin, voici comment lancer sshguard :
tail -n0 -F /var/log/auth.log | /usr/sbin/sshguard -a 2 -p 1800 -w /etc/sshguard_whitelist &
Vous pouvez ajouter cette ligne à la fin du fichier /etc/rc.local
Lancement automatique avant ssh
Créez le fichier /etc/init.d/sshguard :
#! /bin/sh
### BEGIN INIT INFO
# Provides: sshguard
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: sshguard
### END INIT INFO
case "$1" in
start)
iptables -N sshguard
ip6tables -N sshguard
iptables -A INPUT -m multiport -p tcp --destination-ports 21,22,110,143,80,443 -j sshguard
ip6tables -A INPUT -m multiport -p tcp --destination-ports 21,22,110,143,80,443 -j sshguard
tail -n0 -F /var/log/auth.log | /usr/sbin/sshguard -a 2 -p 1800 -w /etc/sshguard_whitelist &
#décommentez ceci si vous utilisez http://wiki.csnu.org/index.php?title=Firewall
#/root/firewall/firewall.sh start
;;
stop)
killall /usr/sbin/sshguard
iptables -D INPUT -m multiport -p tcp --destination-ports 21,22,110,143,80,443 -j sshguard
ip6tables -D INPUT -m multiport -p tcp --destination-ports 21,22,110,143,80,443 -j sshguard
iptables -X sshguard
ip6tables -X sshguard
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
;;
esac
Rendez le exectuable :
chmod +x /etc/init.d/sshguard
Sous debian lenny :
update-rc.d sshguard start 15 2 3 4 5 . stop 85 1 .
Sous debian squeeze :
insserv sshguard