ubuntu ssh如何防止攻击

362
2025/3/8 9:31:42
栏目: 网络安全
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

要防止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服务的安全性,减少被攻击的风险。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: ubuntu如何重新安装chrome