dropbear 是否负责hosts.allow 和hosts.deny?

dropbear 是否负责hosts.allow 和hosts.deny?

dropbear我在 Debian(实际上是 Raspbian)上作为 SSH 守护进程运行。我尝试设置

# /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

然后我重新启动了整个设备。我仍然可以从不同的 IP 地址甚至远程通过 SSH 连接到设备。是我配置文件错误还是不dropbear支持这两个文件?

答案1

Dropbear 不包含对/etc/hosts.allow和 的任何支持/etc/hosts.deny。这些文件由TCP 包装器库 ( libwrap),Dropbear 不使用该库。一些第三方软件包修补了 Dropbear 以支持 TCP 包装器,但 Debian 没有。

您可以通过以下方式启动 Dropbeartcpd获得 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

相关内容