我的服务器不断受到攻击

我的服务器不断受到攻击

我对系统管理领域相当陌生。我最近一直在开发一个应用程序,当我检查应用程序服务器日志时,我不断收到各种 IP 地址,试图通过暴力方式 ssh 进入我的服务器。这是我的服务器日志的示例:

Feb 14 04:07:20 foodwiz3 sshd[1264]: error: Could not load host key: /etc/ssh/ssh_host_ed25519_key
Feb 14 04:07:21 foodwiz3 sshd[1264]: reverse mapping checking getaddrinfo for coenamor.columbiansabbatical.com [23.249.167.223] failed - POSSIBLE BREAK-IN ATTEMPT!
Feb 14 04:07:21 foodwiz3 sshd[1264]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=23.249.167.223  user=root
Feb 14 04:07:23 foodwiz3 sshd[1264]: Failed password for root from 23.249.167.223 port 32997 ssh2
Feb 14 04:07:23 foodwiz3 sshd[1264]: Received disconnect from 23.249.167.223: 11: Bye Bye [preauth]
Feb 14 04:13:04 foodwiz3 sshd[1289]: error: Could not load host key: /etc/ssh/ssh_host_ed25519_key
Feb 14 04:13:05 foodwiz3 sshd[1289]: reverse mapping checking getaddrinfo for coenamor.columbiansabbatical.com [23.249.167.223] failed - POSSIBLE BREAK-IN ATTEMPT!
Feb 14 04:13:05 foodwiz3 sshd[1289]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=23.249.167.223  user=root
Feb 14 04:13:07 foodwiz3 sshd[1289]: Failed password for root from 23.249.167.223 port 41562 ssh2

这是相当正常的事情,还是我应该担心/对此采取措施?

答案1

欢迎来到互联网的奇妙世界...您是否:

但真正的答案是:是的,这是正常的:BotNet Maffia 总是可以使用一些额外的受到严重保护的服务器......

答案2

进行足以形成洪水日志的登录尝试是相当正常的。

更改 SSH 端口更像是一种“隐蔽安全”类型的解决方案,但它有助于应对洪水。我强调它不是很优雅;存在事实上的服务端口是有原因的。

默认情况下它应该处于打开状态,但请确保您无法以 root 身份通过 SSH 访问服务器。这是服务器之间相当一致的用户名,因此是密码暴力登录尝试的主要目标。使用以下行强制执行设置sshd_config

PermitRootLogin no

还要检查fail2ban监视 sshd 日志是否有重复违规者。例如,某个 IP 在 3 分钟内登录失败 5 次,该 IP 将被封锁 10 分钟。我成功地将禁令时间延长至 24 小时,以进一步减少日志垃圾邮件。 :)

答案3

我建议你做几件事:

  1. 更改 ssh 正在侦听的端口(远高于 1024)并确保您不使用协议的版本 1:

/etc/ssh/sshd_config

# What ports, IPs and protocols we listen for
Port 50022
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
  1. 安装fail2ban- 它监视日志文件并通过更新现有防火墙规则临时或持续禁止容易出现故障的地址 ( iptables)。

  2. 确保将您的可信位置列入白名单。

答案4

您可以通过以下方式配置内核的内部防火墙iptables。这样只有少数机器可以 ssh 到您的服务器并让其他 IP 包丢失。请参阅man iptables获取更多信息。

例如,如果 192.168.1.67 是您进行 ssh 访问的主机,则在服务器上键入:

sudo iptables -A INPUT -p tcp --dport ssh -s 192.168.1.67 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport ssh -j DROP
sudo iptables-save

相关内容