Debian服务器异常登录尝试与带宽激增问题求助
问题分析与解决方案
兄弟,这绝对不是误登,妥妥的自动化暴力破解攻击——现在互联网上到处都是扫描器,盯着开放SSH端口的服务器薅,用常见用户名/密码组合批量尝试登录,你的服务器刚好被盯上了。
为啥这么笃定?
- 流量暴涨10倍:暴力破解会有成百上千个不同IP同时发起登录请求,直接把入站流量拉满,这和误登(顶多1-2个IP的几次操作)完全不是一个量级。
- 服务器罢工:大量的SSH连接请求会吃光CPU、内存和带宽,你的气象数据抓取任务自然抢不到资源,只能断断续续甚至完全停摆。
- 持续骚扰:这类攻击是自动化的,你重启服务器只是暂时清空了当前的连接,但扫描器很快会再次扫到你的服务器,继续发起攻击。
紧急修复+长期防护,一步到位
1. 先把SSH的“大门”焊死
- 彻底禁用密码登录,改用SSH密钥:
编辑SSH配置文件:sudo nano /etc/ssh/sshd_config
找到并修改这两行:
重启SSH服务生效:PasswordAuthentication no PubkeyAuthentication yessudo systemctl restart sshd - 只允许你自己的账号登录:
在sshd_config里加一行:AllowUsers 你的用户名,这样陌生账号连尝试的机会都没有。 - (可选但有用)改SSH默认端口:把
Port 22换成比如2222,能过滤掉90%以上的自动扫描,记得同步更新防火墙规则。
2. 用防火墙把恶意IP挡在门外
Debian默认的ufw防火墙配置起来很简单:
- 只允许你本地IP访问SSH:
sudo ufw allow from 你的本地IP to any port 22(改了端口就换成对应数字) - 开放你气象数据抓取需要的端口(比如出站的API端口)
- 启用防火墙:
sudo ufw enable
3. 自动封禁恶意IP:fail2ban安排上
这工具能自动监控auth.log,把多次登录失败的IP拉黑,省心又高效:
- 安装:
sudo apt install fail2ban - 默认配置就够用,它会自动启动并生效,要是想自定义封禁规则,去
/etc/fail2ban/jail.local里改就行。
4. 把日志保存时间拉长,方便后续排查
现在auth.log只存3天,出事了查不到太多信息,改一下日志轮转配置:
- 编辑:
sudo nano /etc/logrotate.d/rsyslog - 找到
/var/log/auth.log的段落,把rotate 3改成rotate 30(存30天),daily可以改成weekly,根据你的需求调整。
5. 检查服务器有没有被攻破
别光顾着防护,先确认服务器是不是已经被入侵了:
- 查最近的登录记录:
last,看看有没有陌生用户登录过。 - 看异常进程:
htop(没有就先装sudo apt install htop),找那些占用CPU/内存很高的未知进程。 - 查计划任务:
crontab -l(每个用户都要查)和/etc/crontab,有没有莫名其妙的定时任务。
最后说一句
重启服务器只是临时缓兵之计,必须尽快把上面的防护措施配好,尤其是SSH密钥认证和fail2ban,才能彻底摆脱这类暴力破解的骚扰。
内容的提问来源于stack exchange,提问作者Julpi
相关产品推荐
相关产品推荐

