中心论点

  • 启用 SMB 流量加密,以防止未经授权的访问和网络攻击。 使用传输层安全性 (TLS) 来保护您的数据 Linux Samba 服务器流量。
  • 使用 /etc/samba/smb.conf 配置文件对共享资源实施严格的访问控制和权限。 定义访问、权限和限制规则,以确保只有授权用户才能访问资源。
  • 为 SMB 用户帐户强制使用强而独特的密码,以提高安全性。 定期更新 Linux 和 Samba,以防止漏洞和网络攻击,并避免使用不安全的 SMBv1 协议。
  • 配置防火墙规则以限制对 SMB 端口的访问,并考虑网络分段以将 SMB 流量与不受信任的网络隔离。 监控 SMB 日志中是否存在可疑活动和安全事件,并限制访客访问和匿名连接。
  • 实施基于主机的限制来控制对特定主机的访问并拒绝对其他主机的访问。 采取额外的安全措施来加强和强化您的网络 Linux 服务器。

服务器消息块 (SMB) 协议是互联环境中文件和打印机共享的基石。 然而,Samba 的默认配置可能会带来重大的安全风险,并使您的网络容易受到未经授权的访问和网络攻击。

如果您托管 Samba 服务器,则需要格外小心所做的配置。 以下 10 个重要步骤可确保您的 SMB 服务器保持安全。

1. 启用 SMB 流量加密

默认情况下,SMB 流量不加密。 您可以通过使用 tcpdump 或 Wireshark 捕获网络数据包来验证这一点。 加密所有流量以防止攻击者拦截和分析流量至关重要。

建议设置传输层安全性 (TLS) 来加密和保护您的数据 Linux Samba 服务器流量。

2. 对共享资源实施严格的访问控制和权限

您应该实施严格的访问控制和权限,以确保连接的用户无法访问不需要的资源。 Samba 使用中央配置文件 /etc/samba/smb.conf 这允许您定义访问和权限的规则。

使用特殊语法,您可以定义要共享的资源,授予用户/组对这些资源的访问权限,并指定是否可以搜索、写入或读取资源。 以下是声明资源并对其实施访问控制的示例语法:

 [sambashare]
comment= Samba Example
path = /home/your_username/sambashare
browseable = yes
writable = yes
valid users = @groupname

在上面的行中,我们添加一个带有路径的新共享位置,并将对共享的访问权限限制为有效用户的单个组。 还有几种其他方法可以定义对共享的控制和访问。 有关如何执行此操作的更多信息,请参阅我们的设置网络共享文件夹的专用指南 Linux 与桑巴舞。

3. 为 SMB 用户帐户使用强且唯一的密码

为 SMB 用户帐户实施强大的密码策略是基本的安全最佳实践。 作为系统管理员,您应该为其帐户创建或要求所有用户创建强且唯一的密码。

您还可以使用工具自动生成强密码来加速此过程。 或者,您还可以定期更改密码,以降低数据泄露和未经授权访问的风险。

4.定期更新 Linux 和桑巴

针对所有类型的网络攻击的最简单的被动防御形式是确保您正在运行关键软件的更新版本。 中小企业很容易受到漏洞的影响。 对于攻击者来说,它始终是一个有利可图的目标。

过去,存在多个严重的 SMB 漏洞,导致系统完全被接管或敏感数据丢失。 您必须使操作系统及其上的关键服务保持最新。

5.避免使用SMBv1协议

SMBv1 是一种不安全的协议。 始终建议始终启用 SMB Windows 或者 Linux,您应该避免使用 SMBv1,而仅使用 SMBv2 及更高版本。 要禁用 SMBv1 协议,请将此行添加到配置文件中:

 min protocol = SMB2 

这可确保使用的最低协议级别是 SMBv2。

6. 实施防火墙规则以限制对 SMB 端口的访问

配置网络的防火墙以允许仅从受信任的来源访问 SMB 端口(通常是端口 139 和端口 445)。 这有助于防止未经授权的访问,并降低来自外部威胁的基于 SMB 的攻击的风险。

您还应该考虑安装 IDS 解决方案以及专用防火墙,以实现更好的流量控制和日志记录。 不确定使用哪个防火墙? 您可能会在最佳免费优惠列表中找到最适合您的产品 Linux 使用防火墙。

7. 实施网络分段,将 SMB 流量与不受信任的网络隔离

网络分段是将计算机网络的单个整体模型划分为多个子网的技术,每个子网称为一个网段。 这样做是为了提高网络的安全性、性能和可管理性。

要将 SMB 流量与不受信任的网络隔离,您可以为 SMB 流量创建单独的网段,并将防火墙规则配置为仅允许进出该网段的 SMB 流量。 这使您可以专门管理和监控 SMB 流量。

在Linux上,您可以使用iptables或类似的网络工具来配置防火墙规则来控制网段之间的流量。 您可以创建规则以允许进出 SMB 网段的 SMB 流量,同时阻止所有其他流量。 这有效地将 SMB 流量与不受信任的网络隔离。

8. 监控 SMB 日志中的可疑活动和安全事件

监控 SMB 日志中的可疑活动和安全事件是确保网络安全的重要组成部分。 SMB 日志包含有关 SMB 流量的信息,包括文件访问、身份验证和其他事件。 通过定期监控这些日志,您可以识别并减轻潜在的安全威胁。

在Linux 上,您可以使用journalctl 命令并将其输出通过管道传输到grep 命令来查看和分析SMB 日志。

 journalctl -u smbd.service 

这将显示日志 smbd服务 负责管理 SMB 流量的实体。 您可以使用… -F 可选择实时跟踪日志或使用 -R 首先显示最新条目的选项。

要在日志中搜索特定事件或模式,请将journalctl 命令的输出通过管道传输到grep。 例如,要检查失败的身份验证尝试,请运行:

 journalctl -u smbd.service | grep -i "authentication failure" 

这将显示包含文本“身份验证错误”的所有日志条目,以便您可以快速识别可疑活动或暴力尝试。

9. 限制访客访问和匿名连接的使用

启用访客访问允许用户无需提供用户名或密码即可连接到 Samba 服务器。 匿名连接允许用户在不提供身份验证信息的情况下进行连接。

如果管理不当,这两种选项都可能带来安全风险。 建议将两者都关闭。 为此,您需要在 Samba 配置文件中添加或更改几行。 这是您需要在全局部分中添加/更改的内容 smb配置文件 文件:

 map to guest = never
restrict anonymous = 2

10.实施基于主机的限制

默认情况下,可以从任何主机(IP 地址)不受限制地访问公开的 Samba 服务器。 访问意味着建立连接,而不是对资源的字面访问。

要允许访问某些主机并拒绝其余主机,您可以使用以下命令 允许主机拒绝主机 选项。 以下是添加到配置文件以允许/拒绝主机的语法:

 hosts allow = 127.0.0.1 192.168.1.0/24
hosts deny = 0.0.0.0/0

在这里,您告诉 Samba 拒绝除来自本地主机和网络 192.168.1.0/24 的连接之外的所有连接。 这也是保护 SSH 服务器安全的基本方法之一。

现在您知道如何保护您的 Samba Linux 服务器

Linux 非常适合托管服务器。 然而,在与服务器打交道时,您需要小心行事并格外注意 Linux 服务器始终是威胁行为者有利可图的目标。

最重要的是,您要认真努力发展和加强您的网络 Linux 服务器。 除了正确配置 Samba 之外,您还应该执行一些其他操作来确保您的 Samba 帐户正常工作 Linux 服务器不受敌人十字准线的影响。