VPS如何有效阻止暴力破解攻击?_五种实用方法保护服务器安全

VPS如何有效阻止暴力破解尝试?

防护方法 实现工具 主要功能 适用场景
修改SSH端口 sshdconfig 避免默认端口扫描 所有VPS用户
禁用root登录 sshdconfig 防止最高权限被攻击 生产环境服务器
密钥认证 ssh-keygen 替代密码验证 安全性要求高的场景
防火墙配置 iptables/UFW 限制端口访问 需要精细控制流量的用户
自动防护工具 fail2ban/DenyHosts 实时监控并封禁恶意IP 频繁遭受攻击的服务器

VPS如何有效阻止暴力破解攻击?五种实用方法保护服务器安全

暴力破解攻击是VPS面临的主要安全威胁之一,攻击者通过不断尝试用户名和密码组合来获取服务器访问权限。为了保护您的服务器数据安全,下面介绍五种有效的防护方法。

主要防护方法清单

序号 方法名称 防护效果 实施难度
1 修改SSH默认端口 避免自动化扫描 简单
2 禁用root用户远程登录 防止最高权限泄露 简单
3 使用SSH密钥认证 彻底杜绝密码破解 中等
4 配置防火墙规则 精细化控制访问 中等
5 部署自动防护工具 实时主动防御 较复杂

分步骤详细操作流程

步骤一:修改SSH默认端口

操作说明:将默认的22端口改为非标准端口,有效避免自动化扫描工具的探测。 使用工具提示:使用vim或nano编辑器修改sshd
config文件
# 编辑SSH配置文件
vim /etc/ssh/sshdconfig

找到并修改端口配置

原内容:

Port 22

修改为:

Port 2222 Port 22 # 临时保留,测试成功后删除

重启SSH服务

systemctl restart sshd.service

验证新端口连接

ssh -p 2222 username@server
ip

步骤二:禁用root用户远程登录

操作说明:防止攻击者直接针对拥有最高权限的root账户进行破解。 使用工具提示:修改sshdconfig文件中的认证配置
# 编辑配置文件
vim /etc/ssh/sshdconfig

修改以下配置项

PermitRootLogin no

创建普通用户并授权

useradd -m -s /bin/bash myuser passwd myuser usermod -aG sudo myuser

重启SSH服务

systemctl restart sshd

步骤三:配置SSH密钥认证

操作说明:使用密钥对替代密码认证,从根本上防止暴力破解。 使用工具提示:在本地生成密钥对,将公钥上传到服务器
# 本地生成密钥对
ssh-keygen -t rsa -b 4096 -C "youremail@example.com"

将公钥上传到服务器

ssh-copy-id -i ~/.ssh/id
rsa.pub -p 2222 myuser@serverip

修改sshdconfig禁用密码登录

PasswordAuthentication no

步骤四:配置防火墙规则

操作说明:使用防火墙限制对SSH端口的访问,可设置IP白名单或连接频率限制。 使用工具提示:使用UFW或iptables配置防火墙
# 使用UFW配置(Ubuntu/Debian)
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 2222/tcp

启用UFW

sudo ufw enable

或者使用iptables配置连接频率限制

iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP

步骤五:部署自动防护工具

操作说明:安装fail2ban或DenyHosts,自动监控日志并封禁恶意IP。 使用工具提示:使用包管理器安装防护工具
# 安装fail2ban(Ubuntu/Debian)
apt update
apt install fail2ban -y

创建自定义配置

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

编辑fail2ban配置

vim /etc/fail2ban/jail.local

配置示例

[DEFAULT] bantime = 3600 findtime = 600 maxretry = 5 [sshd] enabled = true port = 2222 logpath = /var/log/auth.log

常见问题及解决方案

问题 原因 解决方案
修改端口后无法连接SSH 防火墙未开放新端口或配置错误 检查防火墙规则,确保新端口已开放;临时保留22端口作为备用
fail2ban无法正常启动 配置文件语法错误或依赖缺失 检查jail.local文件语法,查看系统日志定位具体错误
密钥登录失败 文件权限设置不正确或公钥未正确安装 设置.ssh目录权限为700,authorized_keys文件权限为600
日志中出现大量认证失败记录 服务器正在遭受暴力破解攻击 立即启用fail2ban,检查并加强密码策略
防护工具误封正常IP 配置过于严格或IP被共享使用 调整maxretry参数,添加可信IP到白名单

通过以上方法的组合使用,您可以显著提升VPS的安全性,有效抵御暴力破解攻击。建议根据实际需求选择适合的防护方案,并定期检查服务器安全状态。

发表评论

评论列表