如何查明是什么在夜间从我的 Linux 启动端口扫描?

如何查明是什么在夜间从我的 Linux 启动端口扫描?

我有几个在 Proxmox 平台上运行的 Linux(主要是 Debian)服务器。全部通过ADSL线路连接Internet,只有一个公网IP。

其中一个从一年多前开始就运行OMD(开放监控发行版)来监控外部服务器(其他网络,通过连接到互联网的ADSL进行监控。

现在我收到了来自远程服务器所有者的消息,说他们检测到我的 ADSL 公共 IP 在夜间运行端口扫描,扫描其开放端口。

这是我在 Debian 系统上第二次发生这种情况:(

我需要检测运行该扫描的进程

  • 我怎样才能找出哪个进程正在从有问题的linux机器上启动portscan?这里的困难是我需要运行 - 不管 - 来了解扫描发生时的过程 - 这可能发生在晚上的某个时刻 - 。
  • 有没有办法获取以某种方式启动然后在两次之间完成的进程列表(即新进程从 23:00 到 03:00 启动)

提前致谢

答案1

跟踪此类不良行为的最佳方法是不时收集计算机活动日志。

每 15 分钟运行一个脚本来cron查看开放的网络连接可能是最好的方法。

我建议您使用该lsof命令并收集有关您的计算机所建立的网络连接的信息。就像是:

lsof [email protected] >> /tmp/my-connexions.log

或者,如果您的计算机随机扫描并更改每次扫描的 IP(仅限 TCP 连接):

lsof  -iTCP >> /tmp/my-connexions.log

一条命令的结果lsof如下:

iceweasel 31562 user 50u IPv4 13500060   0t0  TCP bill:47039->stackoverflow.com:https (ESTABLISHED)
iceweasel 31562 user 60u IPv4 13549538   0t0  TCP bill:60564->104.16.15.128:http (ESTABLISHED)
iceweasel 31562 user 61u IPv4 13578815   0t0  TCP bill:46285->185.45.5.43:https (ESTABLISHED)
iceweasel 31562 user 67u IPv4 13496262   0t0  TCP bill:47020->stackoverflow.com:https (ESTABLISHED)

在每行的最左边,您可以看到运行连接的程序的名称(这是您的案例中有趣的部分)。该行的其余部分描述了连接和使用的协议。

您还可以查看auditctl(随auditd软件包一起提供)它将程序的任何系统调用记录到内核(这比lsof不时运行更精确)。您可以运行类似的命令(一如既往地先阅读文档!):

auditctl -A exit,always -S connect

相关内容