« Protéger SSH avec sshguard OLD (1.4) » : différence entre les versions
(Page créée avec « Debian Lenny : Vérifiez que vous avez les dépôts backports configurés dans <code>/etc/apt/sources.list</code> : <pre>deb http://backports.debian.org/debian-backports lenn... ») |
Aucun résumé des modifications |
||
(19 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
Debian Lenny | [[category:debian]] | ||
[[category:serveur]] | |||
Cette documentation se limite à sshguard 1.4.X. | |||
Pour les versions plus récentes : http://wiki.csnu.org/index.php?title=Prot%C3%A9ger_SSH_avec_sshguard | |||
Pour Debian Lenny, vérifiez que vous avez les dépôts backports configurés dans <code>/etc/apt/sources.list</code> : | |||
<pre>deb http://backports.debian.org/debian-backports lenny-backports main</pre> | <pre>deb http://backports.debian.org/debian-backports lenny-backports main</pre> | ||
<pre>aptitude install sshguard</pre> | Sous Debian Squeeze, le paquet est disponible dans les dépôts debian. | ||
<pre>aptitude install sshguard psmisc</pre> | |||
Configurez la whitelist : | |||
<pre> | |||
#les deux ips de la boucle locale (ipv4 et ipv6) | |||
echo "127.0.0.1" > /etc/sshguard_whitelist | |||
echo "0:0:0:0:0:0:0:1" >> /etc/sshguard_whitelist | |||
#On peut aussi ajouter des block d'ips, ici, un range local | |||
echo "192.168.0.0/24" >> /etc/sshguard_whitelist | |||
#et pareil avec les ipv6 si vous êtes en version 1.5 minimum | |||
echo "2001:462:9a02:1003:0000:0000:0000:0000/64" >> /etc/sshguard_whitelist | |||
</pre> | |||
=Lancement manuel= | |||
Support IPv4 : | Support IPv4 : | ||
<pre>iptables -N sshguard</pre> | <pre>iptables -N sshguard</pre> | ||
Support | Support IPv6 : | ||
<pre>ip6tables -N sshguard</pre> | <pre>ip6tables -N sshguard</pre> | ||
Ligne 22 : | Ligne 42 : | ||
</pre> | </pre> | ||
Créez le fichier <code>/etc/network/if-up.d/ | Créez le fichier <code>/etc/network/if-up.d/sshguard</code> contenant : | ||
<pre> | <pre> | ||
#! /bin/sh | #! /bin/sh | ||
Ligne 30 : | Ligne 50 : | ||
Rendez ce fichier exécutable : | Rendez ce fichier exécutable : | ||
<pre>chmod +x /etc/network/if-up.d/ | <pre>chmod +x /etc/network/if-up.d/sshguard</pre> | ||
Après un reboot, vous pouvez vérifier que les règles ont bien été redéfinies : | Après un reboot, vous pouvez vérifier que les règles ont bien été redéfinies : | ||
Ligne 38 : | Ligne 58 : | ||
</pre> | </pre> | ||
Enfin, voici comment lancer sshguard : | |||
<pre>tail -n0 -F /var/log/auth.log | /usr/sbin/sshguard -a 2 -p 1800 -w /etc/sshguard_whitelist &</pre> | |||
Vous pouvez ajouter cette ligne à la fin du fichier <code>/etc/rc.local</code> | |||
=Lancement automatique avant ssh= | |||
Créez le fichier <code>/etc/init.d/sshguard</code> : | |||
<pre> | |||
#! /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 | |||
</pre> | |||
Rendez le exectuable : | |||
<pre> | |||
chmod +x /etc/init.d/sshguard | |||
</pre> | |||
Sous debian lenny : | |||
<pre> | <pre> | ||
update-rc.d sshguard start 15 2 3 4 5 . stop 85 1 . | |||
</pre> | </pre> | ||
Sous debian squeeze : | |||
<pre> | <pre> | ||
insserv sshguard | |||
</pre> |
Dernière version du 9 juillet 2012 à 19:50
Cette documentation se limite à sshguard 1.4.X.
Pour les versions plus récentes : http://wiki.csnu.org/index.php?title=Prot%C3%A9ger_SSH_avec_sshguard
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 :
#les deux ips de la boucle locale (ipv4 et ipv6) echo "127.0.0.1" > /etc/sshguard_whitelist echo "0:0:0:0:0:0:0:1" >> /etc/sshguard_whitelist #On peut aussi ajouter des block d'ips, ici, un range local echo "192.168.0.0/24" >> /etc/sshguard_whitelist #et pareil avec les ipv6 si vous êtes en version 1.5 minimum echo "2001:462:9a02:1003:0000:0000:0000:0000/64" >> /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