防止CentOS SSH被暴力破解可以采取以下几种措施:
-
禁用 root 用户登录:
- 创建一个新用户并禁止 root 用户通过 SSH 登录。
- 编辑
/etc/ssh/sshd_config
文件,将PermitRootLogin
设置为no
:PermitRootLogin no
- 重启 SSH 服务:
sudo systemctl restart sshd
-
更改默认端口:
- 将 SSH 默认端口从 22 改为其他非标准端口(如 22099),以减少被自动化工具扫描到的机会:
Port 22099
- 重启 SSH 服务:
sudo systemctl restart sshd
- 将 SSH 默认端口从 22 改为其他非标准端口(如 22099),以减少被自动化工具扫描到的机会:
-
使用 SSH 密钥认证:
- 生成 SSH 密钥对并在客户端使用私钥连接。
- 在服务器端配置
sshd_config
文件以禁用密码认证:PasswordAuthentication no
- 重启 SSH 服务:
sudo systemctl restart sshd
-
使用 Fail2Ban:
- 安装并配置 Fail2Ban,这是一个入侵防御软件框架,可以监控 SSH 登录日志并自动屏蔽恶意 IP 地址:
sudo yum install fail2ban -y sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local sudo systemctl start fail2ban sudo systemctl enable fail2ban
- 安装并配置 Fail2Ban,这是一个入侵防御软件框架,可以监控 SSH 登录日志并自动屏蔽恶意 IP 地址:
-
定期更新系统和软件:
- 保持操作系统和所有相关应用程序的最新状态,以修补已知的安全漏洞。
-
使用防火墙限制访问:
- 配置防火墙(如 iptables 或 ufw)仅允许特定 IP 地址或 IP 段访问 SSH 端口:
sudo ufw allow from 192.168.1.0/24 to any port 2222 sudo ufw enable
- 配置防火墙(如 iptables 或 ufw)仅允许特定 IP 地址或 IP 段访问 SSH 端口:
通过这些措施,可以显著提高 CentOS 服务器对 SSH 暴力破解攻击的防御能力。