如何防止Linux云服务器被暴力破解?

常见问题

如何防止Linux云服务器被暴力破解?

2025-04-11 23:23


Linux云服务器

                                            

Linux云服务器安全加固指南:5招有效防范暴力破解攻击

在数字化时代,云服务器安全已成为企业运维的核心课题。据统计,未采取防护措施的Linux服务器平均每天会遭遇3000+次暴力破解尝试。本文将揭示黑客常用手段,并分享一套经过实战检验的防御方案。

一、暴力破解的典型特征

  • 异常登录尝试:同一IP在短时间内发起数十次SSH连接
  • 日志暴增:/var/log/secure文件体积异常增大
  • 系统负载:出现大量sshd进程消耗CPU资源

真实案例:某电商平台入侵事件

攻击者使用包含10万组凭证的字典,通过分布式节点进行撞库攻击,最终因服务器使用默认端口且未设置失败锁定策略导致数据泄露。

二、五维防御体系构建

1. 端口隐身术

修改默认SSH端口(22)为高端口(建议10000-65535范围):

# /etc/ssh/sshd_config
Port 28495
AddressFamily inet

配合防火墙规则限制访问源:

iptables -A INPUT -p tcp --dport 28495 -s 192.168.1.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 28495 -j DROP

2. 密钥认证体系

禁用密码登录,强制使用ED25519密钥:

ssh-keygen -t ed25519 -a 100
# /etc/ssh/sshd_config
PasswordAuthentication no
PubkeyAuthentication yes

密钥应设置强密码短语(passphrase),建议使用密码管理器生成

3. 动态防御机制

安装fail2ban自动封禁恶意IP:

apt install fail2ban
# /etc/fail2ban/jail.local
[sshd]
enabled = true
maxretry = 3
bantime = 1d

可结合威胁情报源实现智能封禁:

iptables -A INPUT -m set --match-set evil_ips src -j DROP

4. 访问控制策略

使用TCP Wrapper双重防护:

# /etc/hosts.allow
sshd: 192.168.1., .example.com

# /etc/hosts.deny
sshd: ALL

配置SSH监听内网地址:

ListenAddress 10.0.0.1

5. 监控响应系统

配置实时告警脚本:

#!/bin/bash
tail -fn0 /var/log/auth.log | grep --line-buffered "Failed password" |
while read line ; do
    echo "$line" | mail -s "SSH警报" admin@example.com
done

建议集成SIEM系统实现可视化监控

三、高阶防护方案

▶ 双因子认证

安装Google Authenticator模块:

apt install libpam-google-authenticator
# /etc/pam.d/sshd
auth required pam_google_authenticator.so

▶ 端口敲门技术

使用knockd实现动态端口开放:

# /etc/knockd.conf
[options]
    UseSyslog

[openSSH]
    sequence = 7000,8000,9000
    seq_timeout = 10
    command = /sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT

安全运维建议

  1. 每月进行漏洞扫描和配置审计
  2. 保持系统及时更新:yum update -y
  3. 定期备份关键配置文件
  4. 禁用root直接登录
  5. 使用VPN建立访问隧道

注:所有配置修改后需执行systemctl restart sshd生效,建议先在测试环境验证。


label :
  • Linux安全
  • SSH防护
  • 暴力破解防御
  • 莱卡云