要防止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服務的安全性,減少被攻擊的風險。