我知道在哪里可以找到日志,但我并不总是确定它们是什么意思是。我找不到关于 sshd 日志的综合指南来解释它们的含义。
我特别关心这组日志尝试:
Feb 03 01:08:47 malan-server sshd[8110]: Invalid user centos from 193.106.58.90 port 34574
Feb 03 01:08:47 malan-server sshd[8110]: pam_tally(sshd:auth): pam_get_uid; no such user
Feb 03 01:08:47 malan-server sshd[8110]: pam_unix(sshd:auth): check pass; user unknown
Feb 03 01:08:47 malan-server sshd[8110]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=193.106.58.90
Feb 03 01:08:48 malan-server sshd[8110]: Failed password for invalid user centos from 193.106.58.90 port 34574 ssh2
Feb 03 01:08:49 malan-server sshd[8110]: Connection closed by invalid user centos 193.106.58.90 port 34574 [preauth]
Feb 03 01:14:30 malan-server sshd[8114]: Invalid user centos from 193.106.58.90 port 39249
Feb 03 01:14:30 malan-server sshd[8114]: pam_tally(sshd:auth): pam_get_uid; no such user
Feb 03 01:14:30 malan-server sshd[8114]: pam_unix(sshd:auth): check pass; user unknown
Feb 03 01:14:30 malan-server sshd[8114]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=193.106.58.90
Feb 03 01:14:32 malan-server sshd[8114]: Failed password for invalid user centos from 193.106.58.90 port 39249 ssh2
Feb 03 01:14:34 malan-server sshd[8114]: Connection closed by invalid user centos 193.106.58.90 port 39249 [preauth]
Feb 03 01:20:18 malan-server sshd[8118]: Invalid user centos from 193.106.58.90 port 43934
Feb 03 01:20:18 malan-server sshd[8118]: pam_tally(sshd:auth): pam_get_uid; no such user
Feb 03 01:20:18 malan-server sshd[8118]: pam_unix(sshd:auth): check pass; user unknown
Feb 03 01:20:18 malan-server sshd[8118]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=193.106.58.90
Feb 03 01:20:20 malan-server sshd[8118]: Failed password for invalid user centos from 193.106.58.90 port 43934 ssh2
Feb 03 01:20:22 malan-server sshd[8118]: Connection closed by invalid user centos 193.106.58.90 port 43934 [preauth]
Feb 03 01:26:06 malan-server sshd[8121]: Invalid user centos from 193.106.58.90 port 48611
Feb 03 01:26:06 malan-server sshd[8121]: pam_tally(sshd:auth): pam_get_uid; no such user
Feb 03 01:26:06 malan-server sshd[8121]: pam_unix(sshd:auth): check pass; user unknown
Feb 03 01:26:06 malan-server sshd[8121]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=193.106.58.90
Feb 03 01:26:08 malan-server sshd[8121]: Failed password for invalid user centos from 193.106.58.90 port 48611 ssh2
Feb 03 01:26:08 malan-server sshd[8121]: Connection closed by invalid user centos 193.106.58.90 port 48611 [preauth]
那天有很多来自同一个 IP 地址,193.106.58.90
位于乌克兰基辅。
另一组看起来很可怕的日志是:
Feb 04 19:58:29 malan-server sshd[9725]: Bad protocol version identification 'RFB 003.003' from 142.44.253.51 port 36772
Feb 04 23:47:52 malan-server sshd[9762]: Bad protocol version identification 'REMOTE HI_SRDK_DEV_GetHddInfo MCTP/1.0' from 162.207.145.58 port 48248
Feb 05 06:40:36 malan-server sshd[9836]: Bad protocol version identification 'REMOTE HI_SRDK_DEV_GetHddInfo MCTP/1.0' from 186.4.174.94 port 34515
Feb 05 07:59:13 malan-server sshd[9850]: Bad protocol version identification 'GET / HTTP/1.1' from 209.17.97.34 port 43944
Feb 05 09:09:48 malan-server sshd[9863]: Bad protocol version identification 'REMOTE HI_SRDK_DEV_GetHddInfo MCTP/1.0' from 98.150.93.187 port 60182
Feb 05 14:09:45 malan-server sshd[9911]: Did not receive identification string from 191.232.54.97 port 63982
Feb 05 14:09:45 malan-server sshd[9912]: Bad protocol version identification '\003' from 191.232.54.97 port 64044
Feb 05 14:09:45 malan-server sshd[9913]: Bad protocol version identification '\003' from 191.232.54.97 port 64136
Feb 05 14:33:37 malan-server sshd[9919]: Bad protocol version identification '' from 198.108.67.48 port 56086
这些是什么意思?
我知道互联网是一个非常糟糕、可怕的地方,面向公众的 IP 地址不断受到机器人攻击的轰炸。但我的路由器配置为将端口 9000 上的连接转发到服务器的端口 22,因此我不完全确定如何仍然存在机器人攻击。在我看来,他们不太可能扫描所有 65,535 个可能的端口。
我会写一个问题清单:
- 我是否只是选择了一个太容易猜到的端口?更好的端口号是什么?
- 这些 sshd 日志中的端口号到底意味着什么?如果我的路由器仅配置为将端口 9000 转发到端口 22,他们如何访问端口 44493?对我来说,显然列出的端口号与向外的计算机端口不同,因为我只通过端口 9000 访问,但为我自己的外部登录列出的端口号是不是9000。
- 这是什么
[preauth]
意思? - 这是什么
Bad protocol version identification 'REMOTE HI_SRDK_DEV_GetHddInfo MCTP/1.0' from 162.207.145.58 port 48248
意思?
答案1
没有好的端口可以用,只有好的SSH配置。如果您禁用基于密码的登录并仅允许基于密钥的身份验证,则此类暴力尝试不会带来太大风险。您可以添加端口敲门,但这就是默默无闻的安全性。
日志右侧列出的端口号为源端口;它们是动态分配的,位于源系统上,而不是目标系统上。
[preauth]
意味着记录的事件发生在连接经过身份验证之前 -IE在这种情况下,连接在经过身份验证之前关闭。第二组日志中的所有日志都对应于发送到守护程序的非 SSH 流量。您会经常看到这种情况发生,特别是当您在非标准端口上侦听时 - 各种扫描仪会在不知道另一端正在侦听的情况下发送请求。
如果您有连接良好的系统可供扫描,或者僵尸网络中有大量受感染的主机,那么在各种端口上扫描互联网的大部分内容并不需要很长时间。看massscan
获取大规模扫描工具的示例。还有一些已知的开放 IP 地址和端口的列表正在流通;因此,只需进行一次扫描即可找到您开放的端口 9000。
答案2
缺少 sshd 日志的全面指南,但解决了您的观点:
我是否只是选择了一个太容易猜到的端口?更好的端口号是什么?
“只有”65,535 个端口,而扫描仪很擅长找到它们,因此一旦您超越端口 22 以避免最简单的扫描,那么选择一个任意端口而不是另一个端口并没有多大好处。
这些 sshd 日志中的端口号到底意味着什么?如果我的路由器仅配置为将端口 9000 转发到端口 22,他们如何访问端口 (43944)?我
IP 后面的端口号,例如209.17.97.34 port 43944
表示源端的端口可能是由该侧的内核任意选择的。这对你来说几乎没有任何意义。
[预授权] 是什么意思?
它是“身份验证前”的缩写; ssh 分阶段执行,这就是其中之一。还有其他的,U&L 也有类似的问题。
来自 162.207.145.58 端口 48248 的错误协议版本标识“REMOTE HI_SRDK_DEV_GetHddInfo MCTP/1.0”是什么意思?
快速谷歌搜索发现了这个 服务器日志中的奇怪查询 REMOTE HI_SRDK_DEV_GetHddInfo 在 Stack Overflow 中——强化了这是一个寻找“机会”的扫描仪的想法。
答案3
好吧,你的坏协议正在扫描容易受到 CVE-2015-4464 影响的 Kguard 数字录像机。他们只是碰巧默认使用端口 9000..
https://dl.packetstormsecurity.net/1506-exploits/kdvr-authorization.txt