温馨提示×

ubuntu ssh如何防止攻击

小樊
72
2025-03-08 06:57:43
栏目: 网络安全

要防止Ubuntu SSH服务受到攻击,可以采取以下几种措施:

修改SSH端口号

  • 修改配置文件:编辑 /etc/ssh/sshd_config 文件,添加或修改以下行:

    Port 22 Port 3333 

    这里22端口暂时没删除是自己留后路,万一等下新端口不能连接但默认端口又关闭了就麻烦了。

  • 重启SSH服务

    sudo service ssh restart 
  • 测试新端口:尝试连接新端口,确保防火墙配置正确。

使用Fail2Ban阻止暴力攻击

  • 安装Fail2Ban

    sudo apt update && sudo apt upgrade -y sudo apt install fail2ban 
  • 配置Fail2Ban

    • 编辑 /etc/fail2ban/jail.local 文件,配置规则以阻止暴力破解攻击。

禁用root用户登录

  • 编辑 /etc/ssh/sshd_config 文件,添加或修改以下行:

    PermitRootLogin no 
  • 重启SSH服务:

    sudo systemctl restart ssh 

限制SSH访问

  • 基于IP地址的限制:编辑 /etc/ssh/sshd_config 文件,添加或修改以下内容:

    AllowUsers user1@192.168.1.1 user2@192.168.1.2 

    或者使用 DenyUsers 来拒绝特定IP地址的访问。

  • 基于用户的限制:在 /etc/ssh/sshd_config 文件中:

    AllowUsers user1 user2 

    或者使用 DenyUsers 来拒绝特定用户的访问。

  • 基于时间的限制:使用 pam_time 模块来实现基于时间的访问控制。

使用SSH密钥认证

  • 生成SSH密钥对

    ssh-keygen -t rsa -b 4096 -C "your_email@example.com" 
  • 复制公钥到远程服务器

    ssh-copy-id user@remote_host 
  • 启用公钥认证:编辑 /etc/ssh/sshd_config 文件,确保以下行没有被注释掉:

    PubkeyAuthentication yes 
  • 重启SSH服务

    sudo systemctl restart ssh 

配置防火墙

  • 安装UFW

    sudo apt update sudo apt install ufw 
  • 启用UFW

    sudo ufw enable 
  • 添加规则:允许SSH端口通过防火墙:

    sudo ufw allow 22/tcp 

通过以上措施,可以显著提高Ubuntu SSH服务的安全性,减少被攻击的风险。

0