潜在的 SSH 安全问题?

潜在的 SSH 安全问题?

我刚刚在 FreeBSD 机器上执行了“netstat -a”。我发现了以下内容:

Active Internet connections (including servers)
Proto Recv-Q Send-Q Local Address Foreign Address (state)
tcp4 0 40 turban.ssh host90.embarqser.60230 ESTABLISHED
tcp4 0 0 turban.ssh host90.embarqser.59985 LAST_ACK
tcp4 0 0 turban.ssh host90.embarqser.47224 TIME_WAIT
tcp4 0 0 turban.ssh host90.embarqser.9304 LAST_ACK

有人入侵我的机器了吗?如您所见,我的主机名为“turban”。我对系统安全还很“陌生”。有人能告诉我吗?

从 开始/var/log/auth.log,出现很多错误,例如:

5 月 4 日 20:07:10 turban sshd[47801]: 来自 76.7.43.90 端口 11831 ssh2 的无效用户备份导致 keyboard-interactive/pam 失败

5 月 4 日 20:07:13 turban sshd[47804]: 错误:PAM:来自 76.7.43.90 的 bin 的身份验证错误...

答案1

查看 /var/auth.log 以获取更多信息。

如果有人试图访问您的机器,则会记录在此文件中。

来自我的 auth.log 的示例:

4 月 24 日 13:53:16 my-server sshd[8107]: 来自 123.123.123.123 端口 59167 ssh2 的无效用户 db2 的密码失败

要查看已连接(SSH 连接)用户的 IP,请输入以下命令:

netstat -atn | egrep '(:22)' | egrep -v '(:::|0.0.0.0)' | awk '{print substr($5,0,length($5)-5)}' | sort | uniq -c

这将显示 IP 和连接/IP 的数量

答案2

简短的回答是,有人正试图闯入您的系统,最有可能是通过典型字典攻击的变体(即尝试常见的用户名/密码组合,而不是随机猜测)。

除了@Henk 的出色建议(sshusers例如,我通常会创建一个特定的组,并且只允许该组中的用户登录)之外,我建议安装Fail2ban在您的系统上设置 SSH jail。这将提高对您的服务器进行暴力攻击的难度,几乎不可能,因为攻击者在尝试时会发现自己突然关闭了一段时间;结合题为Fail2ban 监控 Fail2ban对攻击做出更高级别的响应(我最初设置的是默认的 10 分钟禁令,如果攻击持续的话,则会禁止整整一周),然后你就可以完全不用担心了(前提是你至少有足够强的密码;使用公钥,你几乎是无敌的!)。

答案3

我不会太担心这个特定的发现。也许有人确实尝试过“港口敲门在您的 SSH 端口上执行“端口扫描”(例如使用字典扫描器),但没有成功,因为您希望只有一个正确的密码或身份验证密钥。

为了丰富您的知识,请阅读此博客文章提高 SSH 远程访问安全性看看你还能做什么,尤其是“仅允许特定用户通过 SSH 登录”部分。还有不允许root 通过 SSH 登录!

答案4

我的日志里全是俄罗斯人和美国人试图在我的 22 号端口上使用英文名称。对他们来说太糟糕了,我将 SSH 端口移到了 307,并在端口 54321 上使用端口敲击来打开 SSH 端口。

相关内容