在Debian系統中,使用OpenSSH服務器進行SFTP連接。為了防止暴力破解攻擊,可以采取以下措施:
禁用root登錄:
編輯/etc/ssh/sshd_config
文件,找到PermitRootLogin
這一行,將其值改為no
。這樣可以防止攻擊者通過SFTP嘗試登錄root賬戶。
PermitRootLogin no
使用公鑰認證:
在客戶端生成SSH密鑰對(如果尚未生成),然后將公鑰添加到服務器的~/.ssh/authorized_keys
文件中。這樣,用戶只能使用私鑰進行身份驗證,而不是嘗試使用密碼。
限制用戶登錄嘗試次數:
編輯/etc/ssh/sshd_config
文件,找到或添加以下設置:
MaxAuthTries 3
這將限制每個用戶嘗試登錄的次數。在這個例子中,允許最多嘗試3次。超過這個次數后,用戶的賬戶將被暫時鎖定。
賬戶鎖定策略:
編輯/etc/pam.d/sshd
文件,確保以下模塊已啟用:
auth required pam_tally2.so onerr=fail deny=3 unlock_time=600
這將在連續失敗嘗試達到3次后鎖定賬戶,并在600秒(10分鐘)后解鎖。
更改SSH默認端口:
編輯/etc/ssh/sshd_config
文件,找到Port
這一行,將其值更改為一個非標準端口。這樣可以降低攻擊者發現并嘗試攻擊的可能性。
Port 2222
使用防火墻限制訪問: 如果您有一個防火墻(如ufw),可以限制允許訪問SSH/SFTP服務的IP地址。例如,只允許特定IP地址訪問SSH端口:
sudo ufw allow from 192.168.1.100 to any port 2222
定期檢查日志文件:
定期查看/var/log/auth.log
文件,以便發現任何可疑活動。
完成上述更改后,重啟SSH服務以使更改生效:
sudo systemctl restart ssh
通過這些措施,您可以大大降低Debian系統中SFTP服務受到暴力破解攻擊的風險。