打开端口:Apache与IIS

我刚刚和安全人员进行了一次有趣的会议,我想在这次会议上做一些备份:

Apache是​​安全的,因为它只需要端口80和443(用于http和https访问)打开。 IIS将需要更多的端口打开到客户端,因为它也需要DNS和其他东西。

这听起来很腥,不要误解我的意思:我喜欢Apache,就像我喜欢IIS一样,但是我不是防火墙和networkingconfiguration方面的专家:我需要一些意见。

对于答案,请只假设最新版本的Apache和IIS。

没有任何理由说IIS服务器有比Apache服务器更多的端口。 现在,实际上也许会有更多的端口,你可能希望在它和后面的服务器之间打开(AD等),但是如果你有前后接口,你只需要在后面打开它们,就可以使IIS能够运行在前端口上的80/443作为Apache。

我有一种感觉,你的安全人员正在给你一个负担。 我只有端口80/443在我的服务器的前端打开,我没有任何问题。

正如其他人所提到的,一个HTTP服务器(IIS / Apache)不需要任何比另一个更开放的端口。 他们似乎混淆/混淆是进一步下面的HTTP服务器。 joinActive Directory域的Windows非常依赖于DNS。

服务器与任何防火墙相关的坐标图将有所帮助。 这听起来像是networking服务器应该是面向公众的。 如果是这样的话,是在DMZ吗?

不过,我同意其他人的看法。 在任何情况下,都不应该让公众暴露超过80/443的理由。

编辑:
在您的DMZ中,如果Windows必须joinAD域,并且DMZ中没有DC(我猜测没有),则需要打开其他端口才能与DNS通信广告。

现在,我不是一个* nix上帝,但是如果有任何一种中央authentication发生在Apache上,我认为也是如此。 不过,也许已经build立起来了,而且他们更多地使用现有的configuration。

底线:IIS需要额外的端口打开的说法是不正确的。 所有的底层服务可能需要打开更多的端口,但是完全取决于Web应用程序的工作方式以及如何pipe理。 对于直接的HTTP服务,std端口80/443都是需要的。