密码爆破记:绝境中的反击
2023-09-23 20:32:07
当那条刺眼的警告浮现在眼前时,我意识到我的云服务器可能正在遭受密码爆破的荼毒。这是去年10月的一个夜晚,我登录服务器时,控制台赫然显示着:
检测到异常登录行为,建议立即修改密码!
意识到问题的严重性,我迅速通过 lastb
指令查询了登录失败的记录,输出结果让我大为震惊。刷新了五六秒?不,可能更多,登录记录显示已经持续了一个月之久。
我的心猛地一沉。如此长的时间内,黑客一直在尝试破解我的密码,而我却浑然不觉。这种被盯上的感觉,让我不禁背后一凉。
我没有时间惊慌,必须立即采取行动。按照预先制定好的应急预案,我开始了一系列的操作:
1. 关闭 SSH 端口
为了防止黑客继续尝试爆破,我首先关闭了默认的 SSH 22 端口。通过修改 /etc/ssh/sshd_config
文件并重启 SSH 服务,我成功地让黑客失去了突破口。
sudo nano /etc/ssh/sshd_config
Port 2222
sudo systemctl restart sshd
2. 修改密码
紧接着,我修改了服务器密码,设置了更复杂、更难以破解的新密码。这次,我使用了大写字母、小写字母、数字和符号的组合,并确保密码长度超过 12 位。
sudo passwd
3. 查看登录日志
为了找出黑客的攻击源头,我检查了 /var/log/auth.log
文件。登录日志记录了所有登录尝试,包括成功的和失败的。经过一番仔细排查,我发现攻击源自多个不同的 IP 地址,这表明是一个分布式爆破攻击。
sudo tail -f /var/log/auth.log
4. 启用 SSH 密钥验证
为了进一步提升安全性,我禁用了 SSH 密码验证,转而启用 SSH 密钥验证。这样,即使黑客知道了密码,他们也无法登录服务器,因为还需要提供相应的私钥。
sudo nano /etc/ssh/sshd_config
PasswordAuthentication no
5. 限制登录尝试次数
为了防止黑客反复尝试爆破密码,我设置了登录尝试次数限制。通过修改 /etc/fail2ban/jail.conf
文件并重启 Fail2Ban 服务,我可以限制每个 IP 地址在一定时间内的登录尝试次数。
sudo nano /etc/fail2ban/jail.conf
maxretry = 3
经历了这番折腾,我的云服务器终于恢复了平静。黑客的爆破攻击被成功阻挡,服务器的安全得到了保障。
这次事件让我深刻认识到云服务器安全的重要性。定期修改密码、启用 SSH 密钥验证、限制登录尝试次数等措施,都可以有效地防止密码爆破攻击。此外,养成良好的安全习惯,如及时更新软件补丁、避免使用弱密码等,也是保障服务器安全的关键。