TOP云提供高性价比云服务器租用,有中国内地/港澳台、海外等全球各地节点,TOP云国内云服务器只要有域名备案号就能直接用,无须重复备案;港澳台及海外云服务器不用备案,购买之后直接使用,省时省力省心。价格实惠,续费同价,2核2G5M仅需27元每月,8核8G50M仅需66元每月,更多配置套餐请进入下面网址了解:

TOP云总站云服务器:https://topyun.vip/server/buy.html

TOP云C站云服务器:https://c.topyun.vip/cart

在云服务器上防止暴力破解密码是保障系统安全的核心措施,尤其针对SSH、数据库、Web管理等关键服务。以下是系统化的解决方案,涵盖技术配置、监控策略和运维实践:


一、技术层面防御措施

1. 禁用密码认证(优先方案)

SSH 服务

# 编辑SSH配置文件
sudo nano /etc/ssh/sshd_config

修改以下参数:

PasswordAuthentication no      # 禁用密码登录
PubkeyAuthentication yes       # 启用密钥认证
ChallengeResponseAuthentication no  # 禁用交互式认证

重启SSH服务:

sudo systemctl restart sshd

✅ 优势:彻底阻断密码爆破攻击,仅允许密钥登录(需提前配置SSH密钥)。

数据库服务(如MySQL/MariaDB)

-- 创建仅允许本地连接的用户(禁用远程密码登录)
CREATE USER 'admin'@'localhost' IDENTIFIED BY 'strong_password';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost';

⚠️ 注意:若需远程访问,应通过VPN或跳板机中转,而非直接开放数据库端口。


2. 强制使用复杂密码

Linux系统密码策略

# 安装并配置密码策略工具(如libpam-pwquality)
sudo apt install libpam-pwquality -y  # Debian/Ubuntu
sudo yum install libpwquality -y      # CentOS/RHEL

# 编辑PAM配置
sudo nano /etc/security/pwquality.conf

设置严格规则:

minlen = 12          # 最小长度12位
dcredit = -1         # 至少1个数字
ucredit = -1         # 至少1个大写字母
lcredit = -1         # 至少1个小写字母
ocredit = -1         # 至少1个特殊字符

数据库密码策略

  • MySQL 8.0+:使用VALIDATE_PASSWORD插件:

    INSTALL PLUGIN validate_password SONAME 'validate_password.so';
    SET GLOBAL validate_password.policy = 'STRONG';
    SET GLOBAL validate_password.length = 12;

3. 部署Fail2Ban自动封禁

安装与配置

sudo apt install fail2ban -y  # Debian/Ubuntu
sudo yum install fail2ban -y  # CentOS/RHEL

针对SSH的防护规则

编辑配置文件:

sudo nano /etc/fail2ban/jail.local

添加以下内容:

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log    # Ubuntu/Debian
# logpath = /var/log/secure    # CentOS/RHEL
maxretry = 3                   # 允许最大失败次数
bantime = 1h                   # 封禁时长
findtime = 5m                  # 检测时间窗口

重启Fail2Ban:

sudo systemctl restart fail2ban

✅ 效果:自动封禁多次失败登录的IP(可结合iptables或firewalld)。


4. 限制访问IP(最小权限原则)

SSH限制

编辑/etc/ssh/sshd_config:

AllowUsers your_username@your_trusted_ip  # 仅允许特定IP登录
# 或
AllowGroups ssh-users                     # 仅允许特定用户组

数据库限制

  • MySQL:通过GRANT语句限制IP:

    GRANT ALL PRIVILEGES ON *.* TO 'user'@'192.168.1.100' IDENTIFIED BY 'password';
  • PostgreSQL:修改pg_hba.conf:

    host    all             all             192.168.1.100/32       md5

二、网络层面防御措施

1. 更改默认端口

SSH端口修改

# 编辑SSH配置 sudo nano /etc/ssh/sshd_config

修改端口:

Port 2222 # 改为非标准端口(如2222)

重启SSH并更新防火墙:

sudo systemctl restart sshd
sudo ufw allow 2222/tcp  # Ubuntu
sudo firewall-cmd --add-port=2222/tcp --permanent  # firewalld

⚠️ 注意:需确保新端口可访问,且客户端连接时指定端口(ssh -p 2222 user@server)。

数据库端口修改

  • MySQL:默认3306 → 改为3307(需更新应用连接配置)。

  • PostgreSQL:默认5432 → 改为5433。


2. 使用VPN或跳板机隔离

  • 方案:所有管理员通过VPN接入内网,再通过内网IP访问服务器。

  • 工具推荐:

    • OpenVPN:开源VPN解决方案。

    • WireGuard:高性能VPN(配置简单)。

    • Jump Server:如Ansible Tower或自定义跳板机。


3. 启用云平台安全组

在云服务商控制台(如AWS/Azure/阿里云)配置安全组规则:

  • 仅允许特定IP访问SSH/数据库端口。

  • 禁止所有入站流量,仅放行必要端口(如HTTP/HTTPS、VPN端口)。


三、监控与应急响应

1. 实时监控登录行为

查看SSH登录日志

sudo tail -f /var/log/auth.log  # Ubuntu/Debian
sudo tail -f /var/log/secure    # CentOS/RHEL

使用工具集中监控

  • GoAccess:分析日志文件。

  • ELK Stack(Elasticsearch+Logstash+Kibana):可视化日志分析。


2. 设置告警机制

邮件告警(Fail2Ban集成)

编辑/etc/fail2ban/jail.local:

[sshd]
enabled = true
...
action = %(action_mwl)s  # 发送邮件告警

配置邮件服务(如postfix或sendmail)。

短信/钉钉告警

  • 使用云服务商的API(如阿里云云监控、腾讯云短信服务)。


3. 定期审计与漏洞扫描

  • 检查弱密码:

    # 检查系统中是否存在简单密码用户
    awk -F: 'length($2) < 12 {print $1}' /etc/shadow
  • 扫描暴力破解痕迹:

    grep "Failed password" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr

四、高级防护方案

1. 双因素认证(2FA)

  • 工具:Google Authenticator、Duo Security。

  • 配置SSH 2FA:

    sudo apt install libpam-google-authenticator -y
    google-authenticator # 生成二维码并配置

    编辑/etc/ssh/sshd_config:

    AuthenticationMethods publickey,keyboard-interactive:pam

2. 零信任架构

  • 工具:BeyondCorp、Tailscale。

  • 原则:默认不信任任何网络,所有访问需动态验证。


五、总结与最佳实践

防御层级措施优先级
服务配置禁用密码认证、启用密钥登录、限制访问IP⭐⭐⭐⭐⭐
网络隔离更改默认端口、使用VPN/跳板机、云安全组⭐⭐⭐⭐
自动化防护Fail2Ban、密码策略、IP封禁⭐⭐⭐⭐
监控告警日志分析、邮件/短信告警⭐⭐⭐
高级方案双因素认证、零信任架构⭐⭐

执行步骤:

  1. 立即行动:禁用密码登录 + 启用Fail2Ban。

  2. 中期优化:配置VPN + 更改默认端口。

  3. 长期建设:部署双因素认证 + 零信任架构。

通过以上措施,你的云服务器将具备 企业级防暴力破解能力! 🔒
(如需自动化部署脚本或定制化方案,可进一步沟通。)


不容错过
Powered By TOPYUN 云产品资讯