我的 linux 机器每分钟都会在 /var/log/secure 中收到此错误消息
Jun 14 04:24:28 mybox sshd[19741]: Connection closed by 127.0.0.1
Jun 14 04:25:28 mybox sshd[19764]: Connection closed by 127.0.0.1
Jun 14 04:26:28 mybox sshd[19770]: Connection closed by 127.0.0.1
Jun 14 04:27:28 mybox sshd[19776]: Connection closed by 127.0.0.1
Jun 14 04:28:28 mybox sshd[19782]: Connection closed by 127.0.0.1
Jun 14 04:29:28 mybox sshd[19789]: Connection closed by 127.0.0.1
它是带有 OpenSSH_4.3p2 的 centos 5.2 x86_64,sshd 端口未设置为默认端口,我使用了不同的端口,我认为这是一些糟糕的程序从内部(lo)做了一些蛮力 ssh 攻击。我曾尝试将 sshd: 127.0.0.1 放入 /etc/hosts.deny,然后消息现在改变了,
Jun 14 12:45:54 mybox sshd[25736]: refused connect from ::ffff:127.0.0.1 (::ffff:127.0.0.1)
Jun 14 12:45:59 mybox sshd[25701]: Received signal 15; terminating.
Jun 14 12:46:00 mybox sshd[25761]: Server listening on :: port 5522.
Jun 14 12:46:00 mybox sshd[25761]: error: Bind to port 5522 on 0.0.0.0 failed: Address already in use.
Jun 14 12:47:01 mybox sshd[25767]: refused connect from ::ffff:127.0.0.1 (::ffff:127.0.0.1)
Jun 14 12:47:06 mybox sshd[25761]: Received signal 15; terminating.
Jun 14 12:47:07 mybox sshd[25792]: Server listening on :: port 5522.
Jun 14 12:47:07 mybox sshd[25792]: error: Bind to port 5522 on 0.0.0.0 failed: Address already in use.
Jun 14 12:54:19 mybox sshd[25881]: error: Bind to port 5522 on 0.0.0.0 failed: Address already in use.
Jun 14 12:54:19 mybox sshd[25881]: fatal: Cannot bind any address.
以前有人遇到过这个问题吗?我该如何分析这些东西..
您是否有某种系统监控工具(monit/collectd)可以检查您的 ssh 服务器是否处于活动状态并接受连接?
我认为启动您的任何脚本都
sshd
无法检测到它正在运行并重复重新启动它的进程。这里的关键是“地址已在使用中”。另一个进程已经绑定到该端口。您是否尝试运行该服务的两个实例?有时,控制脚本会失去理智(不是真的,发生的情况是 pid 文件被删除而不是进程被删除)并且他们会在服务已经运行时尝试启动服务。首先,停止服务一次,看看是否出现消息。
然后检查一下周围是否已经有一个sshd ...
如果您在服务停止后看到一个,那就是问题的原因。杀死它,然后重新启动服务
PS 是的,我知道我的 shell 脚本很烂,但有时清晰比简洁要快。
连接显然来自本地机器 (127.0.0.1) - 所以你不必看得很远。
并且日志消息是由 sshd 生成的(所以 sshd 正在检测尝试的连接)——所以你知道无论是什么进程导致了这些,要么它知道非标准端口,要么你有第二个 sshd 实例在运行标准端口(使用 netstat 检查)。
您可以暂时删除 hosts.deny 条目,然后使用 lsof 确定哪个进程正在尝试访问您的非标准 sshd 端口(lsof -i : port)?
如果什么都没有出现,我会使用 chkrootkit 或 rkhunter 来确保您的系统没有受到威胁。