我必须设置一个 Windows 2003 Small Business Server 来作为 Subversion 存储库,并且以后可能作为电子邮件服务器。
这台机器是虚拟的,由托管公司托管,并且刚刚初始化。
我使用安全配置向导停用所有服务器角色。安装 Subversion 后,我将为服务打开必要的端口;此外,显然,RDP 将保持打开状态,以便我可以远程控制机器。
自动更新已激活,每次有人登录服务器时我都会设置电子邮件通知。
我是一名程序员,而不是专业的系统管理员,所以我想知道您是否认为这是一个理智和安全的设置,用于(公开可用的)盒子来托管敏感代码和/或电子邮件。
我还应该做些什么来确保机器安全吗?
除了监视事件日志(据我所知)并查看是否正确安装了任何修补程序之外,我还能做些什么来长期确保机器安全?
Windows Small Business Server 物超所值:您以极低的价格获得 Exchange、SharePoint、Remote Web Workplace 等,非常适合小型办公室。
但是,无论是否使用电子邮件,SBS 都可能是我建议的最后一个用于专用 SVN 服务器的服务器。我会感觉更好地将 SVN 托管在类似 UNIX 的操作系统(您选择的发行版中的 Linux/BSD)上,并使用 Postfix 之类的邮件。不仅托管费用更便宜(例如,无需购买 Windows 许可证/CAL),而且您可以通过仅安装支持您的两个所需的 Ports 包来从根本上减少使用 FreeBSD 之类的占用空间(从而减少攻击向量)要求; Linux 的服务器版本(Ubuntu、Debian、CentOS、RHEL 等)与您可以毫无困难地使用 SBS 的服务器版本相同。
另一种选择是与专门的私有 SVN 托管公司一起运行;我听说过有关http://beanstalkapp.com/的好消息。
同样,对于电子邮件(以及一些协作功能以及共享日历和私人 Google 文档),您可以使用 Google Apps for My Domain——免费/标准版本最多支持 5 个用户。
如果您对 SBS 2003/Windows 感到满意,那么我认为您已经完成了目前的工作。其他几件事:
在事件日志中启用失败审核,以便您查看何时发生登录失败,而不仅仅是成功;你可以谷歌如何做到这一点。
创建一个名为“somebodyelse”或其他名称的新管理员用户并禁用内置\管理员用户(首先检查以确保没有服务正在运行并相应地更改)。这样,任何进行身份验证的人都需要知道用户名和密码。
仅启用 NTLMv2;LanManager 哈希很容易破解。
使用密码短语而不是密码
对您的 SBS 服务器使用远程工作网站,而不是直接使用 RDP;我还将限制可以使用您的防火墙访问远程工作网站(443、4125)的 IP 地址;如果可能的话,SVN 也是如此。
在 TechNet 上查看 Microsoft 关于 Windows Hardening 的文档;您可以完成清单,也可以运行基线安全分析器: http ://www.microsoft.com/downloads/details.aspx?FamilyID=F32921AF-9DBE-4DCE-889E-ECF997EB18E9&displaylang=en