要防止Ubuntu SSH服务受到攻击,可以采取以下几种措施:
修改配置文件:编辑 /etc/ssh/sshd_config 文件,添加或修改以下行:
Port 22 Port 3333 这里22端口暂时没删除是自己留后路,万一等下新端口不能连接但默认端口又关闭了就麻烦了。
重启SSH服务:
sudo service ssh restart 测试新端口:尝试连接新端口,确保防火墙配置正确。
安装Fail2Ban:
sudo apt update && sudo apt upgrade -y sudo apt install fail2ban 配置Fail2Ban:
/etc/fail2ban/jail.local 文件,配置规则以阻止暴力破解攻击。编辑 /etc/ssh/sshd_config 文件,添加或修改以下行:
PermitRootLogin no 重启SSH服务:
sudo systemctl restart 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-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服务的安全性,减少被攻击的风险。