我不需要任何广播/自动发现,一切都是确定性的,并严格configuration在我的networking。 我仍然放弃由防火墙垃圾邮件SAMBA广播,不能我只是禁用他们,以保持我的networkingstream量清洁?
杀nmbd
编辑启动smbd和nmbd的rc / init脚本,以便它们不运行nmbd。 nmbd是samba的自动发现组件。 禁用它将会减lessstream量。
至less在Debian中,您可以在smb.conf文件中使用“disable netbios = yes”选项。 我认为这比编辑init脚本更好。 这样,每次被升级覆盖时就不必编辑初始化脚本。
只要在configuration文件中使用disable netbios = yes就不会阻止从init.d脚本运行nmbd。 杀死nmbd后,你需要从脚本手动注释nmbd选项,因为nmbd将在重新启动samba服务或重启后重新启动。
您可以使用以下命令检查netbios是否不再运行:
netstat -an | grep 137 (or 138)
这将显示您的系统上是否有侦听器使用端口号137(netbios名称)和138(Netbios数据报)处于活动状态。
我实际上做了一些关于netbios的iptable规则,而不是禁用它。
(但是,当然你可以在[global]部分通过smb.conf文件添加disable netbios = yes来禁用它)。
我正在运行一个专用服务器,但他们实际上不断告诉我有netbios攻击,所以我为我的客户做了一个VPN。
(如果你通过路由器运行服务器,你不需要build立一个VPN,但是如果你使用TCP / IP的远程连接进行networking共享,我真的build议你做一个) 。
所以有我的解决scheme(取决于你的路由器的IP分配你的192.168.0.0/24取代你的IP范围):
首先通过iptables拒绝netbios端口使用的所有连接:
iptables -A INPUT -p udp -m udp --dport 137 -j REJECT iptables -A INPUT -p udp -m udp --dport 138 -j REJECT iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j REJECT iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j REJECT
这是阻止:
其次,您将接受所有本地(或VPN)客户端通过iptables访问netbios端口:
iptables -A INPUT -p udp -m udp -s 10.8.0.0/24 --dport 137 -j ACCEPT iptables -A INPUT -p udp -m udp -s 10.8.0.0/24 --dport 138 -j ACCEPT iptables -A INPUT -m state --state NEW -m tcp -p tcp -s 10.8.0.0/24 --dport 139 -j ACCEPT iptables -A INPUT -m state --state NEW -m tcp -p tcp -s 10.8.0.0/24 --dport 445 -j ACCEPT
根据这个configuration,将接受从10.8.0.1到10.8.0.254的所有IP连接。
您可能会发现有关IP路由的更多信息: https : //en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation
我希望有帮助。