Windows 2008 带有原生 Windows 防火墙和高级安全。使用 GRC.com 的 Shield'sUP 探测我的系统,我发现 25 端口是开放的。由于我只使用它从 SQL Server(内部)发送邮件,所以我想关闭该端口以防止任何外部访问。我设置了防火墙规则来阻止所有配置文件上的所有本地和远程“端口 25”,但 shieldsup 坚持认为它可以看到 25。
我下一步该看哪里?
谢谢
答案1
不要相信您提到的应用程序,让我们自己调查一下。
请打开命令提示符并输入以下命令:
netstat -aon | find ":25"
完成此操作后,查找包含 :25 的行(如果存在),则应用程序正确,我们需要更仔细地查看机器上运行的软件。如果不存在,则软件不准确。
编辑
现在您已经检查并发现有一行显示端口 25 确实在您的机器上打开,我们需要查看该过程是什么。
tasklist | find "1856"
此命令列出了您的计算机上所有正在运行的任务,并且通过“查找”管道,它可以将结果限制为您在评论中向我显示的进程 ID。
记住!
您需要记住的一件事是,除非您的服务器位于 DMZ/直接连接到互联网,或者在防火墙/路由器上有 NAT 端口转发,否则它在互联网上是不可见的。
您的帖子评论中的 Dave 对此进行了测试,这个想法很正确。如果您在家中或任何可以访问互联网(不是您自己的)的网络尝试此操作。
打开命令提示符并输入以下内容:
telnet <externalIPaddress> 25
如果您收到横幅页面,请记下显示的消息,因为这将帮助我们识别哪个服务器设置为从防火墙/路由器接收端口 25。
请注意,随着更多信息的提供,此答案正在更新
答案2
您需要小心谨慎地正确解释 ShieldsUP 结果。例如,在家里,我有一个来自有线互联网提供商的单一动态 IP 地址。我将 SMTP 流量转发到我的内部电子邮件服务器,如果我从我的工作站运行 ShieldsUP,它会报告我已打开 SMTP。对吗?是也不是。SMTP 已打开,但不是我的工作站,只是我的服务器。ShiledsUP 只能报告它通过外部 IP 地址发现的打开的内容,这可能无法反映您实际在内部打开的内容,具体取决于您的特定配置。