如何防止SSH被攻击香港服务器
2025-11-25 02:55:32 丨 来源:紫云
香港服务器SSH防攻击实用方案
一 基础加固
- 禁用root远程登录,创建具备sudo权限的普通用户进行日常管理。
- 启用SSH密钥认证,并关闭密码登录(PasswordAuthentication no),密钥长度建议≥4096位。
- 更改默认端口22为1024–65535之间的非标准端口,降低被自动化扫描命中概率。
- 仅开放必要端口(如80/443与修改后的SSH端口),其余一律关闭;业务未使用时关闭数据库端口(如3306)与管理端口(如3389)。
- 保持系统与软件及时更新/打补丁,修复已知漏洞。
二 访问控制与入侵阻断
- 配置防火墙(Linux 使用iptables/firewalld/UFW):对SSH端口设置来源IP白名单;限制单IP/单端口的并发连接数与速率,超过阈值自动丢弃/封禁。
- 部署Fail2ban:针对sshd启用监狱(jail),设置失败重试上限(如maxretry=5)、封禁时长与日志路径(如/var/log/auth.log),自动拉黑暴力破解来源。
- 可选方案:使用DenyHosts作为补充,进一步阻断反复尝试的恶意主机。
- 架构层面建议分层防护:外层云防火墙/CDN抗DDoS与过滤,中层机房/边界防火墙,内层系统规则,形成纵深防御。
三 监控告警与应急
- 开启登录审计与告警:记录并监控/var/log/auth.log,对成功/失败登录发送邮件或企业IM通知,便于第一时间发现异常。
- 部署主机监控/告警(如Monit/Nagios),对CPU、内存、连接数、关键进程异常进行阈值告警与自动恢复。
- 制定并演练应急响应预案:发生入侵时立即下线对外服务、阻断可疑来源、保留现场日志、重置凭据、修补漏洞并恢复业务;事后复盘根因与改进措施。
四 备份与恢复
- 建立定期与离线/异地备份策略(如每日增量、每周全量),并将备份存储在服务器之外(独立磁盘/对象存储/其他主机),确保可验证与可快速回滚。
- 定期恢复演练,验证备份可用性与恢复时间目标(RTO)/恢复点目标(RPO)。
五 快速配置清单
- 修改端口并禁用root:编辑/etc/ssh/sshd_config,设置Port 2222(示例)、PermitRootLogin no,重启sshd。
- 仅用密钥登录:本地生成ssh-keygen -t rsa -b 4096,使用ssh-copy-id上传公钥,设置PasswordAuthentication no并重启sshd。
- 防火墙放行新端口:如ufw allow 2222或配置iptables ACCEPT规则。
- 启动Fail2ban:安装后在/etc/fail2ban/jail.local启用sshd监狱,配置maxretry=5、封禁时长与logpath=/var/log/auth.log,启动并设为开机自启。