« Protéger SSH avec sshguard OLD (1.4) » : différence entre les versions

De Linux Server Wiki
Aller à la navigation Aller à la recherche
(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]]
Vérifiez que vous avez les dépôts backports configurés dans <code>/etc/apt/sources.list</code> :
[[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 UPv6 :
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/sshguard_iptables</code> contenant :
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/sshguard_iptables</pre>
<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>


Configurez la whitelist :
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>
echo "127.0.0.1" > /etc/sshguard_whitelist
update-rc.d sshguard start 15 2 3 4 5 . stop 85 1 .
echo "::1" >>  /etc/sshguard_whitelist
</pre>
</pre>


Enfin, voici comment lancer sshguard :
Sous debian squeeze :
<pre>tail -n0 -F /var/log/auth.log | /usr/sbin/sshguard -a 2 -p 1800 -w /etc/sshguard_whitelist</pre>
<pre>
insserv sshguard
</pre>

Dernière version du 9 juillet 2012 à 20: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