如何防止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
安全运维建议
- 每月进行漏洞扫描和配置审计
- 保持系统及时更新:
yum update -y
- 定期备份关键配置文件
- 禁用root直接登录
- 使用VPN建立访问隧道
注:所有配置修改后需执行systemctl restart sshd生效,建议先在测试环境验证。
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
安全运维建议
- 每月进行漏洞扫描和配置审计
- 保持系统及时更新:
yum update -y
- 定期备份关键配置文件
- 禁用root直接登录
- 使用VPN建立访问隧道
注:所有配置修改后需执行systemctl restart sshd生效,建议先在测试环境验证。
label :
- Linux安全
- SSH防护
- 暴力破解防御
- 莱卡云
