设置IIS 8.5 – 安全实践

这是我第一次设置IIS安装,我想确保提供最大的安全性。 build立时有一些问题突然出现在我的脑海里:

请注意,此服务器托pipe的外部网站每天约有50个用户,每天约1000个用户,而且还包含仅用于内部目的的内部网站(这种情况下的内部手段是我们公司用户在networking外使用的网站,客户使用这些网站)

应用程序池标识:

我读过使用ApplicationPoolIdentity的内置帐户ApplicationPoolIdentity是最好的安全措施。 我的问题是,如果我可以为每个应用程序池使用此embedded式帐户,因为我将部署Wep应用程序隔离 – 意味着我将为每个Web应用程序都设置一个不同的AppPool。 即使我为每个Web App部署不同的应用程序,这是不是每个AppPool使用相同的帐户的矛盾?

服务器强化:

我想安装尽可能less的function和服务,尽可能强化服务器。 有没有办法来检查我安装的function是否使用,或者如果它不需要这些? (是的,我知道,有点小问题)

身份authentication:

有外部访问者的网站需要匿名authentication吗? 像www.mycompany.com这样的网站需要被所有人访问吗? 我还没有find一种方法来禁用匿名authentication,但使网站仍然可以为所有人。

一般networking问题:

我一直认为IIS的最佳做法是将服务器放入DMZ中,因为如果服务器被黑了,入侵者将无法访问我们的域网中的所有其他服务器。 由于像Digestauthentification这样的新的authentication方法需要与一个域控制器进行通信,而且服务器本身也需要在这个域中,所以我问自己是否最好把服务器放在域networking中,并保证访问的安全与其他安全措施(代理等),还是DMZ仍然是最好的安全做法?

预先感谢您的每一个input。

1.应用程序池标识

为每个应用程序使用单独的帐户 – 每个应用程序池导致一个独立的w3wp进程,该进程在分配的用户上下文中运行。 像文件和其他资源(如数据库authentication)的东西,你可以提高安全性,因为使用默认的操作系统,文件系统和其他安全子系统(如kerberos)。

显然,分配的帐户应该只有尽可能less的访问您的主机(从来没有使用高特权帐户的网站,除非绝对需要的应用程序[应该真的不是这样的])。

如果可能的话,我强烈build议分开托pipe你的公共网站和你的内部服务器的服务器。 公共可达的服务器也应该被放置在一个单独的网段。

2.服务器强化

您的主要攻击面是IIS(我假设您在服务器前面有一个防火墙) – 通过禁用服务来强化是防止本地攻击所必需的。 在这种情况下,本地意味着你的本地networking(networking相关的服务),以及你自己的操作系统,甚至你的本地硬件(比如cachebleed )。

所以,是的 – 禁用你不需要的服务。 不要禁用保护您的服务。 你可以在网上find一些关于这个的资源。

为防止坏人启动可能最终包含更多服务器部分的自定义应用程序,我build议使用软件限制策略

  • 您的应用程序池正在使用弱帐户(如工作站上的用户),无法在被视为“应用程序path”的path上安装/修改应用程序
  • 限制执行到这些path的软件

这会导致相互之间的相互影响,并防止一些简单的攻击,比如打开shell并下载最终打开服务器的实际应用程序。

当使用SSL / TLS我的build议来巩固这里的服务器。 这个工作的好工具是IISCrypto和SslLabs进行validation。 有一些空闲的时间,你可以挖掘到使用NGINX作为反向代理,提供了一些运输安全的额外优势。

3.authentication

匿名authentication更多的是“不authentication”。 所以没关系

4.networking分割

我已经看到许多networking应用DMZ的概念,将大量的服务器放在那里,打开主networking的大门,以支持从DMZ中托pipe的服务器提供的服务的后端连接。

这导致你有一个networking分割,没有任何好处的结论。

所以:是的,DMZ绝对是。 但是不要把所有东西都放在那里,不要打开你不需要的门。 如果在同一个DMZ中有太多不相关的服务,可以考虑创build一个独立的区域,将提供的服务分离为相互关联并具有相关性的服务组。

IIS最好的安全实践是一个整个学科,你可以花几个月阅读和学习。 你当然在问正确的问题。

我会对你的每一个特定的主题做很长时间的解释,但是我只是在重复那些已经被很好地logging下来的信息。

简而言之,如果您希望遵循IIS的最佳实践configuration,请遵循CIS II8基准。 一切你需要知道和configuration在这里。 https://benchmarks.cisecurity.org/tools2/iis/CIS_Microsoft_IIS_8_Benchmark_v1.4.0.pdf