在 Debian 10 上保护 Samba 的安全

在 Debian 10 上保护 Samba 的安全

我正在配置 debian 10 VPS 并最近安装了 samba。 /var/log/samba 如此之快地开始充满各种访问我设置的共享的尝试,这给我留下了深刻的印象——以一种糟糕的方式:)。

为了强化我的设置,我做了一些在线研究并对 /etc/samba/smb.conf 进行了一些更改:

  • 日志级别 = 3
  • 映射到访客服务器 = 从不
  • 限制匿名 = 2

这似乎让攻击者感到沮丧。但我不擅长阅读 samba 日志文件,所以我不确定。

通过观察记录的访问尝试日志文件,我相信这些更改导致攻击者放弃。我这么说是因为所有日志文件的大小都大致相同,并且都在日志事件发生后结束,如下所示:

[2021/11/20 18:01:59.454538, 3] ../auth/auth_log.c:610(log_authentication_event_ human_read) Auth: [SMB,(null)] 用户 [][] 在 [星期六, 2021 年 11 月 20 日 18: 01:59.454490 UTC] 具有 [无密码] 状态 [NT_STATUS_OK] 工作站 [] 远程主机 [ipv4:61.184.77.182:56818] 变为 [HWSRV-901112][无人] [S-1-5-21-4219689906-1908890436 -3181349475-501]。本地主机 [ipv4:104.168.220.233:445] {"timestamp": "2021-11-20T18:01:59.454714+0000", "type": "Authentication", "Authentication": {"version": {"major “:1,“次要”:0},“状态”:“NT_STATUS_OK”,“localAddress”:“ipv4:104.168.220.233:445”,“remoteAddress”:“ipv4:61.184.77.182:56818”,“serviceDescription” :“SMB”,“authDescription”:null,“clientDomain”:“”,“clientAccount”:“”,“工作站”:“”,“becameAccount”:“nobody”,“becameDomain”:“HWSRV-901112”, “becameSid”:“S-1-5-21-4219689906-1908890436-3181349475-501”,“mappedAccount”:“”,“mappedDomain”:“”,“netlogonComputer”:null,“netlogonTrustAccount”:null,“netlogonNegotiateFlags” “:“0x00000000”,“netlogonSecureChannelType”:0,“netlogonTrustAccountSid”:null,“passwordType”:“无密码”,“持续时间”:1587}}

然而,令我担心的是,最后一个条目之前紧接着的是如下所示的条目:

[2021/11/20 18:01:59.454449, 3] ../source3/auth/auth.c:256(auth_check_ntlm_password) auth_check_ntlm_password: 用户 [] 的匿名身份验证成功

我不懂 samba,但匿名身份验证成功很麻烦。

我还应该做什么来强化我的安装?我可以添加一些防火墙规则来阻止除某些 IP 地址之外的所有访问。但这会干扰我在旅行时访问共享的尝试。

答案1

无论您的 Samba 设置如何,将 Samba/CIFS 端口向 Internet 开放都是非常糟糕的做法。 Samba 在 root 用户下运行(需要),如果存在可远程利用的漏洞,您的整个系统将越来越有可能受到损害。

如果您绝对需要远程访问您的 Samba 共享,您可以

  • 设置 VPN 服务器并允许 Samba 仅侦听内部/VPN 网络
  • 使用 SSH 端口转发,同时再次对 Samba 进行防火墙处理或使其仅侦听某些接口
  • 使用防火墙+knock仅向受信任的用户开放端口

knock是最简单的实现方式,并且允许使用几乎任何操作系统访问您的设备。

相关内容