Ubuntu上的FTPS(FTP over SSL/TLS)服務器可以通過一系列步驟進行安全加固,以保護數據傳輸的安全性和防止未經授權的訪問。以下是一些關鍵的安全加固措施:
首先,確保你已經安裝了一個FTP服務器軟件,如vsftpd。以下是使用vsftpd作為示例的安裝步驟:
sudo apt update
sudo apt install vsftpd
啟用本地用戶訪問:編輯vsftpd配置文件(通常位于/etc/vsftpd.conf
),確保以下配置項設置正確:
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
禁用匿名訪問:默認情況下,vsftpd允許匿名訪問,但出于安全考慮,建議禁用匿名訪問:
anonymous_enable=NO
配置FTP端口范圍:編輯vsftpd配置文件以定義FTP數據傳輸的端口范圍:
pasv_min_port=30000
pasv_max_port=31000
啟用日志記錄:編輯vsftpd配置文件以啟用日志記錄:
xferlog_enable=YES
xferlog_std_format=YES
為了進一步增強FTP服務器的安全性,可以配置FTP服務器以使用TLS/SSL加密傳輸數據。以下是配置步驟:
在/etc/ssl
目錄下創建一個子目錄來存儲SSL/TLS證書和密鑰文件:
sudo mkdir /etc/ssl/private
生成證書和密鑰:
sudo openssl req -x509 -nodes -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem -days 365 -newkey rsa:2048
編輯vsftpd配置文件(通常位于/etc/vsftpd/vsftpd.conf
),添加或找到選項以啟用SSL:
ssl_enable=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
阻止匿名用戶使用SSL登錄,并迫使所有的非匿名登錄使用安全的SSL鏈接來傳輸數據:
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
使用ufw(Uncomplicated Firewall)配置防火墻規則以允許FTP流量通過:
sudo apt install ufw
sudo ufw enable
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 30000:31000/tcp
sudo ufw reload
創建FTP用戶并設置其主目錄:
sudo adduser ftpuser
sudo usermod -d /var/ftp ftpuser
確保用戶的主目錄具有正確的權限:
sudo chown ftpuser:ftpuser /var/ftp
sudo chmod 755 /var/ftp
使用unattended-upgrades包實現系統的自動更新,定期手動運行:
sudo apt update && sudo apt upgrade
systemctl
命令禁用不必要的服務,減少潛在的安全隱患。通過上述步驟,你可以顯著提高Ubuntu FTPS服務器的安全性,保護你的數據和系統免受未經授權的訪問。