Google Cloud Rocky Linux实例防范SSHD未知IP暴力登录的方案咨询
Google Cloud Rocky Linux实例防范SSHD未知IP暴力登录的方案咨询
你好!从你贴出的sshd日志来看,确实是典型的暴力破解尝试——攻击者在短时间内用root、admin、guest这类常见用户名试探你的SSH服务,这种情况在公网暴露的云实例上太常见了,但咱们完全可以通过几个层级的配置,把这类攻击彻底拦在门外,同时不影响你正常使用SFTP。
先给你列几个最实用的解决方案,按优先级排序:
一、用Fail2Ban自动拦截频繁攻击的IP
这是应对暴力登录最省心的工具,它会实时监控sshd日志,一旦发现某个IP在短时间内多次登录失败,就自动把这个IP加入系统防火墙的黑名单,封禁时长你可以自己定。
先安装Fail2Ban:
sudo dnf install fail2ban -y复制默认配置文件(避免系统更新覆盖自定义设置):
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local编辑自定义配置文件
/etc/fail2ban/jail.local,重点调整这几个关键参数:bantime:IP被封禁的时长,建议设为86400(也就是24小时)findtime:统计失败尝试的时间窗口,比如600(10分钟内)maxretry:允许的失败登录次数,超过就封禁,建议设为3
确保文件里的sshd模块是启用状态(默认enabled=true),不用额外改其他的,它会自动适配sshd的日志格式。
启动服务并设置开机自启:
sudo systemctl start fail2ban sudo systemctl enable fail2ban之后它就会默默帮你监控和拦截,完全不用手动干预。
二、强化SSHD本身的安全配置
从源头降低被攻击的风险,同时也能让暴力破解的难度指数级上升:
- 禁用root直接登录:编辑
/etc/ssh/sshd_config,找到PermitRootLogin这一行,改成PermitRootLogin no——攻击者最喜欢试探root账号,直接禁用就断了他们的念想 - 改用SSH密钥登录,禁用密码登录:找到
PasswordAuthentication,改成PasswordAuthentication no。密钥登录比密码安全太多,而且完全不会被暴力破解(前提是你保管好自己的私钥),SFTP也完全支持密钥登录,不会影响你的正常使用 - (可选)修改SSH默认端口:把默认的
Port 22改成一个非标准端口(比如2222),能大幅减少来自机器人的自动扫描流量,但记得同步更新Google Cloud的防火墙规则,还有你本地SFTP客户端的连接端口
修改完配置后,重启sshd服务生效:
sudo systemctl restart sshd
三、利用Google Cloud防火墙做第一层防护
在云平台层面再加一道防线,比系统防火墙更靠前:
- 如果你的SFTP只有固定的几个可信IP需要访问,直接在Google Cloud控制台的防火墙规则里,把SSH(或你修改后的端口)的来源IP限制为这些可信地址,彻底阻断所有未知IP的访问,这是最安全的方式
- 如果必须开放公网访问,也可以在防火墙规则里设置速率限制,或者结合Fail2Ban的封禁列表,把恶意IP在云层面也拦住
四、手动封禁已知的恶意IP
针对你日志里的64.227.164.1,可以先手动把它加入系统防火墙黑名单,立刻停止它的攻击:
sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="64.227.164.1" reject' --permanent sudo firewall-cmd --reload
这些措施组合起来,基本能把绝大多数暴力登录攻击挡在外面。另外记得定期检查sshd日志(/var/log/secure)和Fail2Ban的封禁列表(sudo fail2ban-client status sshd),确保没有漏网之鱼,同时保持系统和软件的定期更新,避免因为漏洞被攻击者利用。
备注:内容来源于stack exchange,提问作者THEoneANDonly
相关产品推荐
相关产品推荐

