各位,有一个奇怪的问题,需要专家的帮助。对于我们在审计中发现的一台使用率很高的面向外部的服务器,nmap -Pn 扫描显示以下内容:
Starting Nmap 5.51 ...
Host pub.ip is up (0.0032s latency).
Not shown: 993 filtered ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
80/tcp open http
113/tcp closed auth
119/tcp open nntp
8008/tcp open http
8010/tcp open xmpp
现在这是一个公共 FTP/SFTP 服务器,并且物理主机上的 netstat /lsof 确认只有端口 21(ftp)、22(ssh)和 25(内部 smtp)正在监听。
ASA FW 配置显示它仅允许在 ftp/ssh 上从 pub ip 到内部 IP 进行 NAT:
static (dmz3,pub1) pub.ip internalftp.ip netmask 255.255.255.255
access-list pub1_access_in extended permit tcp any host pub.ip eq ftp
access-list pub1_access_in extended permit tcp any host pub.ip eq ssh
就是这样。整个 FW 配置中没有 8010 或端口 8008 的条目。
但这里有一个令人困惑的部分:
当我尝试在端口 8008 上打开一个套接字(使用 telnet)时,我确实得到了一个套接字,当我键入 HEAD / 或 GET / 时,我得到了以下重定向到安全端口 8010:
HTTP/1.1 302 Found
Location: https://:8010
Connection: close
Connection to host lost.
我也可以打开端口 8010 上的套接字,但是没有任何结果,通过浏览器或 wireshark 什么也没有得到。
有趣的是,在物理 ftp/sftp 服务器上,快速
#tcpdump -nni eth0 port 80 or port 8008 or port 8010
当我在客户端上获得套接字时,不会产生任何流量。所以肯定连接是在其他地方建立的。
那么这里是 - 套接字上的列表是什么/在服务器端建立连接!?
一个论坛/帖子暗示可能存在智能路由器/防火墙,试图欺骗/误导黑客。真的吗?
无论哪种方式,如何准确地找到建立连接的位置。
附言:我仅在 ASA 端拥有读取权限。因此无法在那里运行任何故障排除。必须将其传递给 ASA/NW 管理员。
提前感谢您的时间和宝贵的帮助。
根据要求输出“netstat -taulpn | grep LISTEN”:
tcp 0 0 10.x.x.x:427 0.0.0.0:* LISTEN 3779/slpd
tcp 0 0 127.0.0.1:427 0.0.0.0:* LISTEN 3779/slpd
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 3843/portmap
tcp 0 0 127.0.0.1:2544 0.0.0.0:* LISTEN 4081/zmd
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 4042/xinetd
tcp 0 0 10.x.x.x:22 0.0.0.0:* LISTEN 4190/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 4282/master
tcp 0 0 ::1:25 :::* LISTEN 4282/master
更新:抱歉各位,进一步排除每个跳数的故障,上述情况只有在我们从内部网络扫描外部 IP 时才成立。所以我们并没有真正出去。在我出去的路上,我们的边缘路由器的内部接口将其直接路由到 ASA。结果发现这个内部接口正在监听这些端口,我们不确定为什么。它的配置中没有任何内容,我们已经向提供商提出了这个问题。也许是 Cisco 7200 的默认行为。
因此,使用 DSL 线路进行的实际测试显示,只有端口 21/22 在外部打开。而在边缘路由器(外部接口)上进行扫描显示没有端口打开。
所以目前我们没事。仍然需要从内部找出“原因”。找到原因后,我们会发布最后一条更新。
谢谢大家。珍惜你们的时间和帮助。
答案1
我会检查输出
netstat -an
查看 8008 和 8080 的监听器在哪个接口上。它们可能只在环回接口上监听,在这种情况下,流量必须从本地主机发起。