1. 首页 > UU杂谈 > 正文

如何防止RAKsmart服务器被爆破登录?这几招最有效

服务器被爆破,几乎不会是因为「密码设得不够花哨」,而是因为某个入口暴露在公网、又没有失败次数限制。攻击者用的是字典和自动化脚本,一天能试几万次,你只要有一个弱口令就会中。

所以防爆破的正确的顺序不是「设个复杂密码」,而是:先缩小入口,再限制尝试次数,最后才谈密码强度。

服务器防爆破登录的四个入口与加固方法

一、先看清四个入口

入口 默认状态 风险
SSH(22 端口) 对公网开放、允许密码登录 最高,被扫最频繁
面板(如 8888) 对公网开放 高,面板一旦失守等于 root
WordPress 登录页 /wp-login.php 公开 中,可无限尝试
MySQL 3306 本应仅本机 高,若对外开放基本等于送数据

先做一件事:从外部扫一遍自己的机器,看哪些端口真的开着。

# 在本地执行,扫描服务器
nmap -Pn -p 22,80,443,3306,8888 你的服务器IP

二、SSH:密钥登录 + 关闭密码

改端口能减少日志噪音,但挡不住有目标的扫描——它只是降低「被顺手扫到」的概率,不是安全措施。真正有效的是禁用密码登录。

# 1. 本地生成密钥并上传
ssh-keygen -t ed25519 -C "你的备注"
ssh-copy-id -i ~/.ssh/id_ed25519.pub root@你的服务器IP

# 2. 确认能免密登录后,再改服务端配置
# /etc/ssh/sshd_config
PasswordAuthentication no
PermitRootLogin prohibit-password
MaxAuthTries 3

# 3. 校验配置再重载(顺序不能反)
sshd -t && systemctl reload sshd

一定要先验证密钥能登录,再关密码登录。顺序反了会把自己锁在门外,只能去控制台开 VNC 救回来。

三、fail2ban:把「试错」变成「封禁」

密钥登录之后,爆破基本无效了,但日志会持续被刷。fail2ban 的作用是自动封掉反复失败的 IP,减少带宽和日志噪音。

apt install fail2ban -y
# /etc/fail2ban/jail.local
[sshd]
enabled  = true
maxretry = 3
findtime = 10m
bantime  = 24h

systemctl enable --now fail2ban
fail2ban-client status sshd

注意 bantime 别设太长。设成永久封禁,一旦自己换了网络环境,就会把自己挡在外面。

四、面板:限定来源比改端口更重要

面板的安全设置里有三件必做:

  1. 改默认入口路径:默认路径是所有扫描器的第一目标。
  2. 开 IP 白名单:只允许自己常用 IP 访问,效果远好于改端口。
  3. 开二次验证:即使密码泄露,没有动态码也进不去。

如果面板必须对公网开放又没法固定 IP,至少加上 fail2ban 的面板规则,并把登录失败上限设低。

五、WordPress 侧:别让登录页成为缺口

WordPress 的登录页默认没有任何尝试次数限制,插件和主题的漏洞也常从这里被利用。三件事按优先级:

  • 限制尝试次数:登录失败 5 次锁定一段时间,用插件或服务器层规则都行。
  • 改登录地址:把 /wp-login.php 换成自定义路径,能挡掉大部分自动化脚本。
  • 强密码 + 二次验证:管理员账号尤其重要,别用和其他站相同的密码。

另外,定期删掉不用的管理员账号和旧插件。攻击面里最容易被忽略的,往往是三年前装的那个插件。

六、怎么验证加固有没有生效

加固完不要凭感觉,直接测:

# 1. 密码登录应该被拒绝
ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no root@你的IP

# 2. 看最近失败尝试最多的来源
grep "Failed password" /var/log/auth.log | awk '{print $(NF-3)}' | sort | uniq -c | sort -rn | head

# 3. 看 fail2ban 是否真的在封
fail2ban-client status sshd

第一条返回 Permission denied 才是对的;如果能登进去,说明配置没生效或改错了文件。

常见问题

改了 SSH 端口就安全了吗?

不能。改端口只能减少自动化扫描的噪音,针对性的扫描依然能找到。真正有效的是禁用密码登录、只允许密钥认证,再配合失败封禁。

禁用密码登录后忘记密钥怎么办?

通过云厂商控制台的 VNC 或救援模式进入系统,改回配置。所以改配置前一定要先确认密钥可用,并保留一个可用的会话不要断开。

fail2ban 会误封自己吗?

会,尤其是密码输错几次之后。可以用 fail2ban-client set sshd unbanip 你的IP 解封,并把常用 IP 加入白名单。

WordPress 装了安全插件还需要服务器层防护吗?

需要,两者管的层不同。插件管应用层(登录尝试、文件改动),服务器层管网络层(端口、封禁、防火墙)。只装插件,SSH 和面板依然是敞开的。

怎么知道服务器已经被入侵过?

常见迹象:出现不认识的进程或定时任务、SSH 里多了陌生公钥、站点文件被改、流量异常升高。发现后先断网保留现场,再排查,不要直接重启。

小结

防爆破的优先级是:关掉不必要的入口 > 禁用密码登录 > 限制尝试次数 > 加强密码。前两项做完,绝大多数自动化攻击就已经无效了。

相关阅读:适合 SEO 的网站服务器需要支持哪些功能、宝塔安装失败怎么排查、云计算评测合集。

Mark · 主笔 / 15 年 IDC 从业经验

长期跟进云服务器、VPS、高防与网络线路的实际表现,负责本站测评方案设计、数据核对与内容审校。文中结论以实测数据为准,厂商合作不影响评测结果。

关于作者与评测方法 →

本文由网上采集发布,不代表我们立场,转载联系作者并注明出处:https://www.uuccloud.com/11115.html

联系我们

在线咨询:点击这里给我发消息

微信号:13180206831

工作日:9:30-18:30,节假日休息