SSH暴力破解排查与防御思路

SSH暴力破解排查与防御的思路:

copy
# SSH暴力破解排查与防御 ## 排查思路 ### 1. 检查系统日志 - 查看最近的SSH登录尝试日志: ```sh grep "Failed password" /var/log/auth.log
  • 识别大量失败登录尝试的IP地址。

2. 监控异常流量

  • 使用网络监控工具(如Wireshark、tcpdump)捕捉和分析网络流量。
  • 配置IDS/IPS(如Snort)检测异常SSH连接尝试。

3. 用户账户检查

  • 确保系统用户账户没有使用弱密码。
  • 检查是否有异常用户账户被创建或使用。

防御思路

1. 使用强密码和密钥认证

  • 强制使用强密码策略,禁止简单和常见密码。
  • 配置SSH仅允许密钥认证,禁用密码认证:
    copy
    PasswordAuthentication no PubkeyAuthentication yes

2. 更改默认SSH端口

  • 将SSH服务的默认端口22更改为其他不常用端口:
    copy
    Port 2222
  • 修改后在/etc/ssh/sshd_config中配置。

3. 使用防火墙规则

  • 配置防火墙(如iptables或ufw)仅允许可信IP地址访问SSH端口:
    copy
    ufw allow from <trusted_ip> to any port 22

4. 启用Fail2ban

  • 使用Fail2ban自动检测和禁止IP地址的暴力破解尝试。
  • 安装和配置Fail2ban:
    copy
    sudo apt-get install fail2ban
  • 配置文件在/etc/fail2ban/jail.local中设置SSH监控和封禁策略。

5. 限制SSH访问

  • 限制只有特定用户可以通过SSH登录:
    copy
    AllowUsers username
  • 禁用root用户的SSH登录:
    copy
    PermitRootLogin no

6. 使用二步验证

  • 配置Google Authenticator或其他二步验证方法增加安全性。
  • 安装并配置Google Authenticator:
    copy
    sudo apt-get install libpam-google-authenticator

7. 定期更新和补丁

  • 定期更新系统和SSH软件包,确保所有安全补丁已应用。

实施示例

1. 编辑SSH配置文件 /etc/ssh/sshd_config

copy
Port 2222 PermitRootLogin no PasswordAuthentication no PubkeyAuthentication yes AllowUsers myuser

2. 配置Fail2ban

  • 创建或编辑/etc/fail2ban/jail.local
    copy
    [sshd] enabled = true port = 2222 filter = sshd logpath = /var/log/auth.log maxretry = 5 bantime = 3600

3. 启动和启用Fail2ban服务

copy
sudo systemctl start fail2ban sudo systemctl enable fail2ban

4. 配置防火墙(以ufw为例)

copy
sudo ufw allow 2222/tcp sudo ufw enable
posted @   夷某蓁  阅读(559)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起