在防火墙后面运行网络服务器,它安全吗?

hsy*_*sym 7 security firewall ssh web-server

目前,我们有一个基于 Linux 的防火墙,它对我们的公共 IP 地址进行 NAT 转换,以便为我们员工的 PC 和一个 Windows Server 2003 提供互联网访问,用于内部文件共享。

我想使用 Linux 服务器在此防火墙后面内部托管 Redmine/SVN(一个错误跟踪器)。我们的客户将从外部访问此网络服务器,以便他们可以发布错误报告。这意味着我必须在防火墙上打开端口 80 和 22 才能访问网络服务器,而我必须从家里通过 SSH 进行访问。

但是,假设我在网络服务器上使用基于密码的 SSH 并且有人破解了它。这是否意味着破解者可以 ping 并访问网络中的其他服务器和 PC?

oos*_*hro 12

是的。DMZ解决了这个问题。您可以在 Linux(独立网络)上创建 DMZ,使用多一个 NIC 或创建 VLAN。

在计算机安全领域,DMZ 或非军事区是一个物理或逻辑子网,它包含一个组织的外部服务并将其暴露给更大的不受信任的网络,通常是 Internet。该术语通常被信息技术专业人员称为 DMZ。它有时被称为外围网络。DMZ 的目的是为组织的局域网 (LAN) 添加额外的安全层;外部攻击者只能访问 DMZ 中的设备,而不能访问网络的任何其他部分。

dmz

  • 这当然假设 DMZ 中的机器与内部网络之间的链接已正确锁定。我知道你可能知道这一点,但我添加它是因为很多人*不*似乎知道它。您会惊讶于有多少人将一台机器放入 DMZ 并在该机器与防火墙上的内部网络之间执行“全部允许”规则,这是一个很大的失败。 (9认同)

Phi*_*ack 5

@ooshro 给出了一个关于 DMZ 的很好的答案,但我想补充一点,您应该查看一些额外的步骤来保护您的外部访问,以限制您的主机受到威胁的可能性。

首先,确保您在 linux bugtracker 服务器上设置了正确的防火墙规则。由于它将是可公开访问的,因此您应该严格控制进出机器的访问。大多数防火墙配置专注于阻止来自外部世界的传入连接。这是一个很好的第一步,但您还应该锁定传出连接。例如,如果此服务器不需要 ssh 到外部世界,则应该有防火墙规则阻止它。

在服务器上安装最少的软件包。你真的需要像 tcpdump 或 traceroute 这样的网络工具吗?可能不是,但对于闯入您机器的人来说,它们可能是无价的。

采取额外的步骤来保护 linux 服务器上传入的 ssh。您应该运行诸如denyhosts 之类的程序来阻止自动登录尝试。如果只有像您这样的管理员用户要通过 ssh 访问该框,请在不同的端口上运行 ssh 服务器以再次减少自动 ssh 登录尝试。

不允许仅使用密码的 ssh 登录到该框,而是需要使用预先生成的公钥/私钥对。考虑运行Google 双重身份验证,以便在您登录时获得额外的安全层。