在CentOS系統中,使用SFTP(SSH File Transfer Protocol)時,防止暴力破解攻擊是非常重要的。以下是一些配置步驟和建議,可以幫助你增強SFTP的安全性:
確保所有用戶的密碼都是強密碼。你可以使用passwd
命令來設置和更改用戶密碼,并使用chage
命令來設置密碼過期策略。
sudo passwd username
sudo chage -M 90 username # 設置密碼90天后過期
你可以使用fail2ban
來限制失敗的登錄嘗試次數。首先,安裝fail2ban
:
sudo yum install fail2ban -y
然后,配置fail2ban
來監控SFTP登錄失敗日志并封禁IP地址。編輯/etc/fail2ban/jail.local
文件,添加以下內容:
[DEFAULT]
bantime = 600 # 封禁時間(秒)
maxretry = 3 # 最大失敗嘗試次數
[sshd]
enabled = true
port = sshd
filter = sshd
logpath = /var/log/secure
最后,重啟fail2ban
服務:
sudo systemctl restart fail2ban
禁用密碼認證,強制使用SSH密鑰認證。編輯/etc/ssh/sshd_config
文件,找到以下行并進行修改:
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no
然后,重啟SSH服務:
sudo systemctl restart sshd
使用防火墻限制SSH(包括SFTP)的訪問。例如,使用firewalld
:
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
確保你的系統日志記錄了所有SFTP登錄嘗試。你可以使用grep
命令來監控日志文件:
sudo tail -f /var/log/secure | grep 'sshd'
如果你的系統啟用了SELinux,可以進一步限制SFTP的訪問。編輯/etc/selinux/config
文件,將SELINUX
設置為enforcing
:
SELINUX=enforcing
然后,重啟系統以應用更改。
確保你的系統和所有軟件包都是最新的,以防止已知的安全漏洞被利用。
sudo yum update -y
通過以上步驟,你可以大大提高CentOS系統中SFTP的安全性,防止暴力破解攻擊。