通过家庭 NAS 安全地公开服务

通过家庭 NAS 安全地公开服务

我有一台运行 Ubuntu Server 的机器,它充当本地文件存储的 NAS。

我现在想远程访问它,并向互联网公开一些服务,如 FTP、聊天和游戏服务器。

我如何隔离和公开服务,以便几乎不存在未经授权访问服务器其余部分的风险?

我读过有关 chrooting、LXC 和 Docker 的文章,但我很迷茫,不确定哪种方法最合适。

提前感谢您的建议。

附言:看到下面的评论,可能来自可能有帮助的人,也可能不是。由于我是一名高级计算机用户,大部分是自学成才,所以我不需要冗长的操作指南,简短的回复给出建议就很好了。

答案1

对于想要尝试的家庭用户:

  1. 检查路由器是否内置 VPN 服务器。某些服务(游戏)可以通过以下方式暴露给互联网:转发端口其他(家庭照片、媒体服务器)通过限制仅 LAN 和 VPN 进行更严格的控制。

    • 使用硬密码。您无需手动输入。
    • 您的 VPN 客户端已内置于 NetworkManager 中。
    • VPN 服务器不会将您限制在仅使用 VPN 的访问范围内。它只是意味着需要转发的端口会少很多。
    • 您也可以在服务器上使用 OpenVPN,但第一次尝试时路由器可能更容易设置。
  2. 对于实际的应用程序和服务,学习如何设置容器管理器(LXD 或 Docker)是值得的,这样您就可以启动实验性容器,然后在完成后将其丢弃。容器还可以很好地处理隔离。我使用 LXD,因为它对我来说很有意义。尝试两者,看看哪个对你有意义。

    • 值得花一个小时按照教程进行设置桥接网络在您的 Ubuntu 服务器上。使用网桥,每个容器都会从路由器获得一个单独的 LAN IP 地址,并且每个容器看起来就像您网络中的一台独立机器。这不适用于许多无线芯片,因此有线网络可能更可取。初始设置略微复杂,但每个容器的设置略微简单。

    • 容器的一个不错的功能是您可以启动/停止和冻结/解冻它们。您的游戏服务器可以在不使用的几小时内停止。在停止或冻结期间,破坏者将无法连接。

  3. 从头开始思考安全性。您已经知道良好的安全性是一套良好的习惯,所以现在就开始刷牙吧。仅使用密钥进行 SSH,始终使用复杂的密码,做好笔记,跟踪您的监听服务和端口等。您已经知道该怎么做了。

  4. 集中精力进行实验成功的而不是第一次就完美。第一次永远不会完美。(只是不要让它们不安全!)构建您的 FTP 或游戏容器,学习课程,写下笔记……然后删除容器并重新开始。这很有趣,你会学到很多东西。

答案2

@user535733 的回答非常好,但我只想补充一点:

  1. 在防火墙中限制外部访问。进行端口转发时(例如打开端口 443 供外部访问 Web 服务),请检查您的防火墙是否支持限制访问的 IP 范围。我已经为自己的服务这样做了,我相信这是一个很好的额外安全层。实际配置将取决于您的防火墙品牌。例如,允许外部访问我的服务(无需 VPN 访问)的唯一 IP 地址是(主要是这样我就可以从这些位置访问我自己的服务):

    • 我的工作场所
    • 我的父母
    • 我值得信赖的朋友

相关内容