终端服务上不受信任的用户

终端服务上不受信任的用户

我们正在考虑让我们的 10 多家供应商(主要来自中国)通过统一界面输入/编辑/查看数据。首选方式是使用与内部使用的相同的基于 Windows 的 .NET/MSSQL 应用程序。

由于应用程序需要直接数据库连接,我的想法是允许所有供应商通过终端服务访问我们站点上的服务器。但这种方法的安全性令人担忧,因此目前的计划是开发应用程序的 Web 界面(成本高昂)或继续使用 excel/txt/word/pdf 进行数据提交(嗯……)。

深的具体来说,我的方法包括:

外部服务器

Windows Server 2003、SQL Server 2005、应用程序

  • Windows 更新设置为自动

  • 终端服务,授予个人用户

  • 直接启动应用程序(组策略),终止后自动注销

  • 调整文件系统 ACL 以防止:

    • 任何文件写入(除配置文件外)
    • 执行 taskmgr、cmd、ftp、telnet、(explorer.exe?
  • 注册表 ACL 应该没问题

  • 更改 RDP 端口

  • 适当防火墙

  • 启用审核(组策略),通过电子邮件向管理员报告事件:

    • 执行 cmd、taskmgr 等(所有用户,包括 system/admin/...)
    • 安全权限的改变

内部服务器

  • 通过交叉以太网连接
  • 完全防火墙(入站)

  • 每5分钟同步一次:

    • 开放局域网接口
    • 通过网络共享同步文件
    • 通过 SQL Server 复制同步数据库(一些表入站,许多表出站)
    • 关闭局域网接口
  • 备份和历史备份(因为外部服务器拥有应用程序数据库的主副本)

由于我所在的部门采用的是类似的方法(使用网络而不是终端服务),因此我对这种设置没有异议。我唯一担心的可能攻击是应用程序本身的漏洞,这可能会导致特定于应用程序的数据(所有供应商的数据)遭到泄露。

尽管如此,由于我必须说服一群支持 Excel 方法的人,所以我想听听您的想法。

非常感谢。

答案1

不幸的是,您使用的是 Server 2003,因为 Server 2008 的 RemoteApp 功能在这种情况下会为您提供出色的服务。但是,从安全角度来看,您拥有的功能应该足以解决这一问题。

我们曾经有一个 TS,上面有不受信任的用户,设置也类似。我们使用 GPO 锁定了账户,以删除一切- 他们的开始菜单只有“注销”,Windows 安全屏幕中的所有内容都被禁用(更改密码和注销除外),如果他们能够设置浏览屏幕,则对每个本地磁盘的访问都被禁用,并且他们是受限制组的成员,实际上拒绝访问网络资源。我们甚至禁用了右键单击桌面的功能。我们还禁用了通过终端服务映射客户端设备的功能,以及命令提示符,一切。

基本上,我们通过 GPO 禁用了我们能发现的每一个 UI 功能。虽然我们确实很难禁用 Explorer,但如果您可以强制在启动时启动单个程序,也可以随意禁用它。

您可能还没有想到以下几件事:

  • 我不会费心更改端口。这只是通过隐蔽性来实现安全性,每次你都必须向某人读出 TS 地址时,这都是很麻烦的事
  • 在连接上启用符合 FIPS 标准的加密
  • 如果这是 Server 2008,我会强制使用网络级身份验证

事实上,如果可以的话,我会强烈如果可能的话,建议迁移到 2008 R2,因为它为终端服务(或现在称为 RDS)提供了更多的安全功能

相关内容