被爆当肉鸡 !运维教你堵死SSH

被爆当肉鸡 !运维教你堵死SSH

随着Linux服务器的广泛使用,SSH暴力破解攻击成为了运维团队需要面对的常见威胁。攻击者通过暴力尝试用户名和密码的组合,试图非法访问服务器。一旦成功,服务器的所有数据和功能将面临严重威胁。本文将从技术角度出发,探讨应对SSH暴力破解的高效解决方案。

图片

修改默认SSH端口

默认情况下,SSH服务运行在22端口。攻击者通常会针对这一默认端口发起攻击。通过修改SSH的默认端口,可以有效降低被扫描和攻击的概率。运行以下命令修改端口:

# 编辑SSH配置文件
vim /etc/ssh/sshd_config
# 修改Port配置为任意高位端口,例如
Port 2222

注意: 修改后需通过防火墙开放新端口,并重启SSH服务:

# 重启SSH服务
systemctl restart sshd

禁用Root用户登录

禁止使用Root账户直接通过SSH登录能够大幅提升安全性,因为Root账户被破解后,攻击者可以立即获得系统最高权限。编辑/etc/ssh/sshd_config文件:

# 禁用Root登录
PermitRootLogin no

之后,创建普通用户并通过该用户登录:

# 创建新用户
adduser username
passwd username

并赋予必要的sudo权限。


图片

实施基于密钥的登录

较弱的密码是暴力破解的突破口,因此建议完全禁用密码登录,改用SSH密钥认证。这不仅能杜绝密码攻击,还能提升登录效率。生成SSH密钥对指令如下:

ssh-keygen -t rsa -b 4096

复制公钥到远程服务器:

ssh-copy-id user@server_ip

然后编辑SSH配置文件禁用密码登录:

PasswordAuthentication no

部署自动拦截工具

DenyHostsFail2Ban是两款常用的防爆破软件。它们通过监控SSH日志,自动屏蔽频繁尝试密码的IP地址。例如,在CentOS中安装和配置DenyHosts:

# 安装DenyHosts
yum install -y denyhosts

编辑其配置文件/etc/denyhosts.conf,修改关键参数:

SECURE_LOG = /var/log/secure
DENY_THRESHOLD_INVALID = 5
HOSTS_DENY = /etc/hosts.deny

启动服务即可:

systemctl start denyhosts
systemctl enable denyhosts

设置IP访问白名单


限制SSH访问仅允许特定的IP,可以从根源上杜绝大多数攻击。配置防火墙规则,例如通过iptables设置白名单:

iptables -A INPUT -p tcp -s trusted_ip --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP

定期分析日志

定期查看SSH日志能够帮助发现潜在威胁。通过命令查看失败的登录尝试:

grep "Failed password" /var/log/secure

发现异常IP时可以手动将其加入黑名单,或进一步优化防护策略。

SSH暴力破解并不可怕,但不加防范则会产生灾难性的后果。通过修改端口、禁用Root登录、使用密钥认证、部署拦截工具以及设置白名单,可以显著提升服务器防护能力。运维人员还需保持对服务器访问的关注,通过日志分析及时响应异常情况,确保系统安全性。


本站所有资源都是由网友投搞发布,或转载各大下载站,请自行检测软件的完整性!本站所有资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己承担!如有侵权请联系我们删除下架,联系方式:273171821@qq.com
0
分享到: