我继承了一堆物理和虚拟服务器。今天早上我针对所有系统运行了 nmap 以查找漏洞。我注意到一件奇怪的事情,那就是我的一台机器上的端口 8009(tomcat AJP 端口)是向全世界开放的。我通过 telnet 到该端口上的机器验证了这一点。在其他机器上,telnet 连接被拒绝。
我没有设置此环境,也不是系统管理员专家,所以我想知道如何找出哪个文件/命令/设置负责此问题。 Puppet 管理所有机器上的软件和配置,我没有看到该机器有任何防火墙例外。
有问题的机器运行的是 CentOS 5.11。
更新:
iptables 显示以下内容:
[root@server conf]# /sbin/iptables -L | grep 8009
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:8009
所以,我想我可以禁用该访问权限。
答案1
你可以通过以下命令判断哪个进程打开了端口(以 root 身份):
netstat -ntlup | grep 8009
这将显示该进程的所有 PID,您可以在 中找到ps -ef | grep pid
。
大多数 *nix 服务器使用其主配置文件控制接口和端口绑定。这里有一个关于如何配置 tomcat 接口和端口绑定的帖子:https://stackoverflow.com/questions/18617/how-do-you-configure-tomcat-to-bind-to-a-single-ip-address-localhost-instead-o