
Windows服务器安全性主题已多次提出,包括在本博客中。 不过,我想再次刷新旧的防御方法,并谈论鲜为人知的新方法。 当然,我们将最大程度地使用内置工具。
因此,假设我们有一家小公司在远程数据中心租用终端服务器。
在设计任何防护时,您应该从威胁模型入手-实际上,我们将向谁或谁进行防御。 在我们的典型配置中,我将防御来自能力不强(也许还有一点恶意)的用户的外部邪恶黑客的防御。 让我们从防御的外围开始-防火墙。
在你身后就像一堵火墙
在Windows 2003时代,内置防火墙是一个悲惨的景象,如果无法使用第三方工具,则必须使用IPSec。 例如,在使用IPSec防火墙保护Windows Servers材料中讨论了这种配置的示例。
现在,随着WFP( Windows筛选平台 )的出现,情况变得越来越好。 原则上,可能每个Windows系统管理员都会遇到此防火墙,因此仅从某些IP设置对服务器的远程访问应该并不困难。 我将注意一些很少使用的“芯片”。
默认情况下,防火墙阻止所有传入连接,但明确允许的连接除外,但传出允许所有但明确禁止的连接。 可以通过通过wf.msc打开防火墙管理并选择“属性”来更改此策略。

防火墙设置。
现在,如果要阻止终端服务器的用户从该服务器访问Internet,我们将成功。
值得注意的是,在设置服务器访问规则(传入连接)时,无需显式为传出流量创建规则。 就iptables而言,始终允许建立和关联。
对于命令行行家,您可以在netsh advfirewall上下文中配置防火墙。 您可以在“ 具有高级安全性的Windows 7防火墙 ”一文中阅读有关命令的信息,我将添加该命令启用了阻止传入和传出连接:
netsh advfirewall set currentprofile firewallpolicy blockinbound,blockoutbound
Windows防火墙的另一个功能是,任何程序或设置都会更改其规则而不会发出通知。 例如,您关闭了祖父的所有规则,第二条规则出现在附近,在它们之间建立了本地网络,设置了共享访问权限,然后……突然间,您为所有人和所有事物打开了smb,随之而来的是所有后果。
基本上有两个半出口(让我提醒您,我们只是在谈论内置工具):定期检查规则是否已更改,并使用良好的旧IPSec,或者对我而言,最合理的选择是使用组策略配置防火墙。 在“高级安全性”中的“计算机配置-Windows配置-安全设置-Windows Defender防火墙监视器”中进行设置。

配置防火墙组策略。
另外,使用Windows防火墙,您可以实现简单的fail2ban。 足以审计失败的登录尝试,并且如果连续几次失败,则可以阻止源IP。 您可以使用自行编写的脚本,也可以使用现成的工具,这是我在文章“ 如何使加密器沉陷公司中 ”所写的。
如果内置防火墙还不够,而您想使用更严格的防火墙,则可以安装第三方软件。 很遗憾,大多数著名的Windows Server解决方案都是付费的。 另一种选择是将路由器放在服务器前面。 显然,如果我们使用托管,而不是在国外的任何地方租用服务器,那么这种安装是合适的。 如果我们选择外部数据中心,则可以使用虚拟化(例如内置的Hyper-V),并将熟悉的GNU \ Linux或FreeBSD安装到虚拟机中。
出现了一个问题:如何使虚拟机具有直接的Internet访问权限,而服务器却没有? 而且,服务器的MAC地址不会在主机上显示,因此不需要购买其他IP地址。
注意事项 最好通过IP-KVM执行进一步的操作!
为此,虚拟机必须配备两个网络适配器。 一种是直接连接到Internet,为此,我们将制作一个“外部”类型的虚拟交换机,然后取消选中允许操作系统与此交换机交互的框。 选中此复选框,我们将剥夺服务器直接访问Internet的权限(最好预先配置虚拟防火墙),并且其MAC将不会对主机亮起。

配置外部虚拟交换机。
另一个虚拟交换机应为“内部”类型,以在虚拟机和服务器之间进行交互。 它已经需要配置本地寻址。 这将创建一个站在服务器前面并对其进行保护的虚拟路由器。
同时,您可以在此虚拟机上为办公室或远程员工配置自己喜欢的VPN,而不必担心“路由和远程访问”或内置IPSec的作用,正如我在“ 如何在德国隐藏1C基地 ”一文中所述。 最主要的是不要忘记在系统启动时检查此虚拟机的启动。
您可以使用常规RDP连接到这样的服务器,也可以使用具有双重身份验证的HTML5客户端 。 如果蛮力地处理fail2ban解决方案,并连续几次尝试进行几次失败的尝试来阻止帐户,则值得这样做。
在外部,我们或多或少地保护了服务器,让我们继续进行内部保护。
内部保护:停下来不放手
当然,为了保护服务器免受内部攻击,我真的想安装某种防病毒软件-您永远不知道服务器用户正在从Internet积累或汲取什么。 但是实际上,服务器上的防病毒弊大于利。 因此,我通常使用非列入白名单的软件启动阻止机制-特别是SRP(软件限制策略)机制,我在“ 如何使加密程序使公司泛滥”一文中也提到了该机制。
我将更详细地介绍一个陷阱,当您使用标准设置打开SRP时,除了Windows和Program Files文件夹以外的所有其他东西都被阻止时,我们常常会忘记这些陷阱。 实际上,这可以过滤掉几乎所有恶意软件。 但这并不能真正解决员工的恶意行为,因为在系统文件夹中,有一些子文件夹有权由用户创建对象。 例如,您可以查看文件夹C:\ Windows \ Temp。

列入白名单的文件夹的权限。
这样的文件夹并不孤单。 当然,您可以自己审核系统文件夹,也可以信任已经完成此操作的人员。 例如, Stefan Kanthak专家在他的博客上 (通过引用就有EICAR测试病毒,可以使用防病毒软件)以相当激进的方式浏览防病毒和Windows保护方法,同时提供了一个已经组装好的SRP设置程序包,该程序包也将阻止此类可疑文件夹。 根据要求,作者提供了一个程序,用于将这些注册表设置转换为本地策略文件。
如果您希望通过更灵活的设置使用AppLocker机制,则AaronLocker解决方案可以为您提供帮助。
在不先学习它们的情况下,编辑人员建议不要从Internet使用和安装脚本和其他程序。
如果AppLocker出现了很长时间,并且SRP的使用时间超过15年,则相对较新的替代方法是WDAC(Windows Defender应用程序控制)。 实际上,自从Security Essentials以来,内置的“防病毒”已经获得了许多有趣的功能。 例如,WDAC是负责应用程序和库访问策略的模块。 以前,它是Device Guard的一部分(保护计算机,包括使用虚拟化技术来保护计算机),而文章“ Windows 10中的S模式的原理以及亲手设置Device Guard ”中介绍了一些有关它的配置。 有关所有细节的更多详细信息,请参见官方文档 ,但我可以添加一些缺点,使其与SRP和AppLocker等经典解决方案区别开来:
- 没有图形配置,仅通过PowerShell cmdlet。
- 用户片中没有设置,仅针对计算机。
- 安装过程非常不寻常-准备了一个xml文件,然后将其转换为二进制文件并分发给计算机。
但是可以在片中配置应用程序:例如,如果您要授予cmd.exe访问脚本的权限,而不是第三方病毒的访问权限,则可以实现此目的。 此外,可以在使用UEFI引导系统之前应用该策略。

通过WDAC的Chrome锁定。
通常,由于配置繁琐,给人的印象是WDAC不再由其自身来管理计算机,而是作为一种工具来允许您与Microsoft Intune等集中式MDM系统集成。 但是与此同时,Windows 10 1803中停止了对旧版本SRP的开发。
如果我们谈论Windows Defender,您不禁提及Credential Guard和远程Credential Guard。
第一个工具再次使用虚拟化,在与操作系统隔离的过程中启动LSA(本地安全机构)组件,这使窃取密码和Kerberos票证哈希的过程大大复杂化。 在官方文档中了解有关该技术的更多信息。 为了使处理器正常工作,它必须支持虚拟化,并且系统必须启用安全启动和用于将凭证绑定到设备的TPM模块。 您可以通过组策略“计算机配置-管理模板-系统-设备保护-启用基于虚拟化的安全性”来启用Credential Guard。

启用凭据保护。
第二个工具用于保护传输的凭据(尤其是admin!),例如通过同一RDP进行远程连接。 以前,出于这些目的提出了“ 受限管理模式”机制,但该机制将连接限制为仅一台服务器。 连接到服务器后,不可能仅使用网络资源,管理员权限仅应用于本地系统帐户中的一台服务器。
远程凭据保护使您无需输入显式密码即可将凭据从本地计算机传输到远程服务器,这不仅具有高级安全性,而且还提供了连接服务器(SSO)的便利。 您可以在文档中阅读更多内容 ,但我将对其进行补充,以使该机制正常工作,足以在服务器上启用其支持-例如,通过使用以下命令的注册表:
reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa /v DisableRestrictedAdmin /d 0
然后使用以下命令连接到服务器:
mstsc.exe /remoteGuard
现在,凭据很安全,服务器也很安全。 没错,在材料中,我没有有意识地涉及到针对恶意托管者的保护问题,但在这里,这通常归结为一件事-磁盘加密。