我有一个 debian 服务器,用于通过 https/apache2 托管 subversion,还想将同一台服务器用于我的家庭文件共享(samba),用于敏感的财务文档等。我使用 apache2 托管 svn,显然不会将同一目录用于我的文件共享 - 这种配置需要注意哪些安全问题?
答案1
首先,如果 SVN 服务器遭到入侵,这些敏感的财务文件将很容易被获取。这比将它们托管在单独的设备上要容易得多。这种设置根本不值得推荐。如果您必须这样做,我会认真考虑尝试将 apache/svn 设置放入某种强制访问控制系统(如 AppArmor 或 Tomoyo),以帮助更好地遏制可能潜入的任何邪恶行为。
答案2
您是否在防火墙后面?
您正在运行任何类型的 IDS/IPS 吗?
我个人认为你考虑这个问题是疯了,但每个人都有自己的想法……
答案3
理论上,如果您分别正确配置每个服务并保持更新,应该没问题。每个服务都应在其各自的端口(SAMBA 137-139 和 HTTP 80)上处理身份验证。Apache 应该正在运行,因此nobody
它不应该访问您的 SMB 文件。但是,我仍然对双重用途的机器感到有点不安。如果 SVN 或 Apache 受到攻击,它可能会提供对您的私人数据的访问权限。
答案4
我实在不认为这是一个好主意。
我最好的建议是在两台不同的 PC 上运行外部可见服务器和内部服务器 - 买一个二手或准系统(Atom?),价格应该低于 300 美元。其次是在内部可见服务器上托管的虚拟机上运行外部可见服务器。
这两种方法都存在一个问题,如果你只有一个外部 IP,那么你就必须将两个盒子放在同一个内部网络上,这意味着当有人入侵外部服务器时,他们就已经获得了你内部网络上一台机器的 root 权限,这意味着他们可以(经过一番努力)看到所有内部网络流量,看起来像一个内部客户端,并以 LAN 速度攻击内部机器,中间没有防火墙。
如果您可以获得两个外部 IP,那么外部盒子就不需要位于防火墙的错误一侧,而且会更加安全。