Я работаю dropbear
как демон SSH на Debian (на самом деле Raspbian). Я пробовал установить
# /etc/hosts.allow
dropbear:192.168.1.1
# my static ip from which I SSH connect to the device
и
# /etc/hosts.deny
ALL:ALL
# block all others
Затем я перезапустил все устройство. Я все еще мог подключаться к устройству по SSH с разных IP-адресов и даже удаленно. Я неправильно настроил файлы или не dropbear
поддерживает эти два файла?
решение1
Dropbear не поддерживает /etc/hosts.allow
и /etc/hosts.deny
. Эти файлы управляютсяTCP-оболочкабиблиотека ( libwrap
), которую Dropbear не использует. Некоторые сторонние пакеты исправляют Dropbear для поддержки TCP-оболочки, но не Debian.
Вы можете запустить Dropbear черезtcpd
для получения поддержки TCP-оболочки.
/usr/sbin/tcpd /usr/sbin/dropbear -i
Если вы хотите фильтровать только по IP-адресу, вы можете сделать это с помощью iptables.
iptables -A INPUT -p tcp ! --dport 22 -j DROP
решение2
Пытаться:
# /etc/hosts.deny
sshd:ALL:spawn /bin/echo the ip %h tried to access `/bin/date`>> /var/log/ssh.log
и
# /etc/hosts.allow
sshd:192.168.1.1
если не сработает, попробуйте еще раз с dropbear таким же образом.
# /etc/hosts.deny
dropear:ALL:spawn /bin/echo the ip %h tried to access `/bin/date`>> /var/log/ssh.log
и
# /etc/hosts.allow
dropbear:192.168.1.1
и проверьте, поддерживает ли dropbear tcp/wrappers.
ldd /path/to/dropbear
искатьlibwrap.so.0 → /lib/libwrap.so.0