防止对 samba 服务器进行暴力攻击

防止对 samba 服务器进行暴力攻击

我有一个局域网,里面有很多用户(客户端)。他们每个人都有一个私人 samba 共享文件夹。

如何防止某人(在同一网络内)暴力破解另一个帐户(以便他可以访问其他人的数据)?

谷歌搜索仅显示:“Samba 共享不应出现在公共互联网上”。但我在我的本地网络中。

我认为许多管理员都有这个“问题”(例如公司或大学管理员)

那么有没有什么办法可以让每分钟只允许3次登录尝试,或者在3次尝试后将客户端的IP列入黑名单呢?或者这个问题还有其他解决方案吗?我尝试了fail2ban,但日志文件中没有主机IP地址。

更多信息:

  • 客户端大多是windows 7或以上版本
  • Ubuntu 16.04 上的 Samba 当前版本

答案1

首先我得承认你做不到100%安全

为了保护 LAN 中的 Samba,我认为唯一的选择是在 iptables 中设置一些规则来阻止任何人尝试错误密码 X 次。 - hitcount数量是你的选择,我建议2或3

这里你可以看到 iptables 中设置的一些简单规则,我在下面的命令中没有使用 IP 地址,但我建议你设置 IP 地址后跟它的 CIDR 号码,这样会变得更安全

    

$ iptables -A INPUT -i eth0 -p udp --dport 137 -m state --state NEW -m recent --set --name netbios-ns

$ iptables -A INPUT -i eth0 -p udp --dport 137 -m state --state NEW -m recent --update --seconds 20 --hitcount 2 --rttl --name netbios-ns -j DROP

$ iptables -A INPUT -i eth0 -p udp --dport 138 -m state --state NEW -m recent --set --name netbios-dgm

$ iptables -A INPUT -i eth0 -p udp --dport 138 -m state --state NEW -m recent --update --seconds 20 --hitcount 2 --rttl --name netbios-dgm -j DROP

$ iptables -A INPUT -i eth0 -p tcp --dport 139 -m state --state NEW -m recent --set --name netbios-ssn

$ iptables -A INPUT -i eth0 -p tcp --dport 139 -m state --state NEW -m recent --update --seconds 20 --hitcount 2 --rttl --name netbios-ssn -j DROP

$ iptables -A INPUT -i eth0 -p tcp --dport 445 -m state --state NEW -m recent --set --name microsoft-ds

$ iptables -A INPUT -i eth0 -p tcp --dport 445 -m state --state NEW -m recent --update --seconds 20 --hitcount 2 --rttl --name microsoft-ds -j DROP

相关内容