我正在运行 Windows Server 2012 R2。目前,我想提高服务器的安全性,因此我正在寻找不需要的服务(和开放端口)。
我禁用了几乎所有的服务器角色,除了 IIS(我需要 IIS)。
Windows 防火墙的配置使得每个没有规则的入站/出站连接都会被自动阻止。
我只为端口 80、443 和远程桌面端口创建了一些规则。所有其他规则均已停用(或设置为私有配置文件),因此我的公共网络上没有其他端口/协议/服务的规则,因此,不应该存在开放端口。
但是如果我使用 nmap(tcp 连接扫描)扫描我的服务器,会发现有一些开放的端口。例如:
25/tcp open smtp
80/tcp open http
110/tcp open pop3
119/tcp open nntp
143/tcp open imap
465/tcp open smtps
563/tcp open snews
587/tcp open submission
993/tcp open imaps
995/tcp open pop3s
3389/tcp open rdp
我不需要 pop、imap 和其他服务(RDP 3389 除外)。
现在我有几个问题:1. 如果防火墙应该阻止所有没有规则的端口(上面的端口没有规则),那么端口怎么可能显示为打开?2. 使用 netstat -anop tcp,我查找了哪些服务正在侦听这些端口。它是系统服务。但是为什么系统服务会侦听这些端口?我该如何阻止服务这样做?
答案1
我在这里看到三个选项:
- 您的防火墙配置错误。别担心,即使是最好的人也会遇到这种情况。测试做得不错!
- 您的网络适配器使用的网络配置文件与您所需的防火墙配置文件不同。网络位置感知有时也会影响此情况。
- NMap 错误地检测了开放端口。我很少看到这种情况发生,当我在某些严苛的防火墙/代理/IDS 实施后进行测试时。
您应该使用 确认服务确实正在监听这些端口,netstat -ab
然后从那里缩小故障排除范围。您是否有需要卸载的其他 Windows 功能?