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