main> ssh-keygen -t dsa main> scp ~/.ssh/id_dsa.pub root@192.168.1.1:/tmp
openwrt> cd /etc/dropbear openwrt> cat /tmp/id_*.pub >> authorized_keys openwrt> chmod 0600 authorized_keys
... /usr/sbin/dropbear -s
On utilise ici le module IPT-Recent. Il permet d'accepter les nouvelles connexions (lors du passage de l'état de NEW à ESTABLISHED) uniquement quand le nombre de connexions établies durant un laps de temps X est inférieur à un nombre de hit défini.
Il faut tout d'abord installé les modules suivants
openwrt> ipkg install kmod-ipt-extra openwrt> ipkg install iptables-mod-extra openwrt> echo "ipt_recent" >> /etc/modules openwrt> insmod ipt_recent.o
Il faut ensuite mettre les regles suivantes dans votre script de firewall (par défaut, on utilise /etc/firewall.user avec OpenWRT) :
iptables -t nat -A prerouting_rule -i $WAN -p tcp --dport 22 -j ACCEPT iptables -t filter -A input_rule -i $WAN -p TCP --dport 22 \ -m recent --name SSH --update --hitcount 5 --seconds 180 -j DROP iptables -t filter -A input_rule -i $WAN -p TCP --dport 22 \ -m recent --name SSH --set -j ACCEPT
N'oubliez pas de vérifier que vous avez supprimer les règles ACCEPT par défaut (dans /etc/firewall.user mais aussi dans /etc/config/firewall).
cd ~ wget http://downloads.openwrt.org/whiterussian/newest/OpenWrt-ImageBuilder-Linux-i686.tar.bz2 tar xvjf OpenWrt-ImageBuilder-Linux-i686.tar.bz2 cd ~/OpenWrt-ImageBuilder-Linux-i686
cd ~/OpenWrt-ImageBuilder-Linux-i686/packages wget http://downloads.openwrt.org/whiterussian/packages/non-free/nas_3.90.37-16_mipsel.ipk
cd ~/OpenWrt-ImageBuilder-Linux-i686/lists cp -v default.brcm-2.4 drazzib.brcm-2.4
echo "nas" >> drazzib.brcm-2.4
cd ~/OpenWrt-ImageBuilder-Linux-i686 mkdir -p files/etc/dropbear cd files/etc/dropbear cat ~/.ssh/id_dsa_home.pub >> authorized_keys
cd ~/OpenWrt-ImageBuilder-Linux-i686 mkdir -p files/etc/init.d cp build_mipsel/linux-2.4-brcm/root/etc/init.d/S50dropbear >> files/etc/init.d vi files/etc/init.d/S50dropbear