在一个标准的安全扫描期间,我们发现有一些东西在听我们2030年未知的一个端口,我们在确定源头时遇到了麻烦。
# netstat -anp | grep LIST tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN - .... tcp 0 0 0.0.0.0:2030 0.0.0.0:* LISTEN -
两者都没有“过程”。 连接到它没有得到任何信息(input后断开连接,很可能是因为没有遵循预期的协议), lsof -i :2030也没有任何信息。 只是为了确保我复制了一个新的lsof二进制文件,但是我不确定它调用了多less额外的,可能已经妥协的库文件。 2049我知道,这是来自nfs-kernel-server,其行为方式相同(没有来自netstat或lsof的进程信息)。 瞧,在Debian框中重新启动nfs-kernel-server后,听2030的进程消失了….
所以,我的问题是:
lsof不能显示这个信息呢? 。
Linux 2.6.39-2-686-pae nfs-kernel-server 1:1.2.3-3 lsof 4.81.dfsg.1-1
你有自动安装的NFS主目录吗? 如果是的话,每个用户注销后,这些侦听端口会在几秒/分钟后消失。
端口2049肯定与in-kernel nfs服务有关。 在我的系统上,我有nfsd运行。
:; sudo netstat -anp | grep LIST tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN -
那么,让我们看看我是否正在运行kmod:
:; lsmod | grep nfs nfsd 287337 17 exportfs 38849 1 nfsd auth_rpcgss 81889 1 nfsd nfs 298541 1 lockd 101297 3 nfsd,nfs fscache 52385 1 nfs nfs_acl 36673 2 nfsd,nfs sunrpc 200073 19 nfsd,auth_rpcgss,nfs,lockd,nfs_acl
对! 现在我们将检查内核线程是否启动:
:; ps -aefd | grep nfs root 3648 171 0 2011 ? 11:46:48 [nfsiod] root 3882 171 0 2011 ? 00:00:00 [nfsd4] root 3883 1 0 2011 ? 00:00:00 [nfsd] root 3884 1 0 2011 ? 00:00:00 [nfsd] root 3885 1 0 2011 ? 00:00:00 [nfsd] root 3886 1 0 2011 ? 00:00:00 [nfsd] root 3887 1 0 2011 ? 00:00:00 [nfsd] root 3888 1 0 2011 ? 00:00:00 [nfsd] root 3889 1 0 2011 ? 00:00:00 [nfsd] root 3890 1 0 2011 ? 00:00:00 [nfsd]
对!
所以至less可以这样确认2049实际上是NFS。
我不知道2030是什么。