过去几年我一直在运行 Centos 7 VPS 服务器。最初设置时我没有安装任何防火墙(iptables
特别是),因为我以为主机(linode
)需要打开防火墙才能从他们那边管理该盒子。是的,我知道,这是一个非常愚蠢的错误。其他东西ssh
,比如apache
等,我都锁定并加固了,fail2ban
并且我会在需要时每天打补丁。
此时,我相信我很可能在关闭
iptables
并锁定后遭到了黑客攻击。这是一个LAMP
盒子。目前我没有证据,只是怀疑。我是唯一的用户,一切正常。
现在,当我运行nmap
服务器时,我已经按我想要的方式锁定了所有内容,但我看到以下内容打开,尽管iptables
应该通过 DROP 阻止 8080:
sudo nmap -sS -O -p8080 x.x.x.x
Starting Nmap 7.94 ( https://nmap.org ) at 2023-06-09 19:52 MST
Nmap scan report for mydomain.com (x.x.x.x)
Host is up (0.018s latency).
PORT STATE SERVICE
8080/tcp open http-proxy
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Aggressive OS guesses: Linux 2.6.32 (94%), Linux 2.6.32 or 3.10 (94%), Linux 2.6.35 (94%), Linux 3.5 (94%), Linux 4.2 (94%), Tandberg VCS video conferencing system (94%), Synology DiskStation Manager 5.1 (94%), Linux 2.6.39 (92%), Linux 3.10 (92%), Linux 3.10 - 3.12 (92%)
No exact OS matches for host (test conditions non-ideal).
正在运行lsof
并且没有在端口 8080 上显示任何内容,但是我确实看到rpcbind
列出了一些内容,并且不确定其中是否有相关内容?
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rpcbind 451 rpc 6u IPv4 25873 0t0 UDP *:sunrpc
rpcbind 451 rpc 7u IPv4 25922 0t0 UDP *:compaq-evm
rpcbind 451 rpc 8u IPv4 25923 0t0 TCP *:sunrpc (LISTEN)
rpcbind 451 rpc 9u IPv6 25924 0t0 UDP *:sunrpc
rpcbind 451 rpc 10u IPv6 25925 0t0 UDP *:compaq-evm
rpcbind 451 rpc 11u IPv6 25926 0t0 TCP *:sunrpc (LISTEN)
从外部我可以telnet x.x.x.x 8080
并且它会响应,但是尝试使用常用GET HTTP/1.1
命令根本没有回复并且它会在一分钟左右后超时。
当我telnet
进入端口 8080 时,运行lsof | grep http
并看到以下内容:
lsof | grep http
NetworkMa 514 root mem REG 8,0 162144 5038 /usr/lib64/libnghttp2.so.14.17.0
gmain 514 517 root mem REG 8,0 162144 5038 /usr/lib64/libnghttp2.so.14.17.0
gdbus 514 519 root mem REG 8,0 162144 5038 /usr/lib64/libnghttp2.so.14.17.0
我没有运行nghttp2
,所以我猜测它是Linode
他们预先安装的管理包的一部分?
关于如何找到并终止此进程,您有什么想法吗?了解它是什么也是一大福利,但只要能摆脱它,我就很高兴了。
谢谢您的任何建议或指点。
答案1
似乎lsof
没有显示创建该 8080 绑定的用户所拥有的套接字。
从此输出来看,它显示 NetworkMa[nager?] 的 pid=514(如果我没有标头就正确获取了它)
lsof | grep http
NetworkMa 514 ...
此服务是否会自动重启?pstree
可以显示该过程的链(可能可以澄清一点)
ps 无法将其放在评论中,因此只能在答案中添加