最近安装了新服务器,这是我的第一台服务器,几乎立即开始收到以下日志,似乎有人正在尝试访问我的服务器。找不到有关这些日志的详细描述:
如果有人能帮助理解每一行的含义:
sshd: Invalid user admin from 141.98.81.38 port 43680
sshd: Disconnected from invalid user admin 141.98.81.38 port 43680 [preauth]
sshd: Invalid user ubnt from 141.98.81.37 port 17284
sshd: Disconnected from authenticating user root 222.186.30.187 port 10607 [preauth]
sshd: error: Received disconnect from 141.98.81.37 port 17284:14: Unable to connect using the available authentication methods [preauth]
kernel: [19614.450491] [UFW BLOCK] IN=eth0 OUT= MAC=4a:04:c8:bf:78:72:cc:e1:7f:a8:1b:f0:08:00 SRC=193.32.163.9 DST=167.1XX.XXX.XXX LEN=40 TOS=0x00 PREC=0x00 TTL=245 ID=51394 PROTO=TCP SPT=51676 DPT=33399 WINDOW=1024 RES=0x00 SYN URGP=0
答案1
我觉得这很正常。我在许多机器上都收到过这些尝试。他们通常会尝试一些非常常见的用户名,例如:“pi”、“admin”、“ubuntu”或“teamspeak”。我猜他们只是在扫描 22 上的开放端口,以便通过 ssh 进行暴力破解。他们的目标是使用不安全密码的用户。
有一些简单的步骤可以避免成为受害者:
安装 fail2ban 并将其配置为在 3 次尝试失败后禁止 IP,持续 24 小时。小心不要将自己锁定。
配置 SSH 以仅接受公钥认证。
不允许通过 SSH 以 root 身份登录。
将 SSH 放在其他端口上。
答案2
SSH 暴力攻击并不罕见,但如果配置文件设置为默认值,通常会失败。我通过 VPN 连接到互联网,这几乎消除了许多漏洞利用方案。如果您的服务器的 IP 地址必须在互联网上可见,则此方法可能不适用于您的应用程序。将您的服务器放在路由器的 DMZ 上并仅允许访问少数端口(例如 HTTPS、SSH)将大有帮助。禁用任何不必要的服务也是关键。
此站点上有许多答案解释了如何强化 sshd 服务器。您遭遇的攻击微不足道,而且非常低级。除非您删除了任何默认保护措施,否则注定会失败。这里没有什么特别需要担心的。但是,在互联网上可见确实会让您面临风险,因此您应该从更大角度考虑。还有很多其他漏洞,因此您需要尽一切可能让自己尽可能地不被坏人发现。
这里有一些基本的最佳做法可以真正帮助您,包括通过防火墙阻止对除少数关键端口之外的所有端口的访问。禁用 telnet 和 ftp。最大登录尝试次数默认为 6,这是一个合理的设置。请参阅man sshd_config
获取完整的设置列表。
按照如下方式收紧 sshd:
sudo vi /etc/ssh/sshd_config
LoginGraceTime 30
port 2222
StrictModes yes
IgnoreRhosts yes
PermitRootLogin no
AllowUsers yourself
DenyUsers admin
重新启动 sshd:
systemctl restart sshd.service