在 Debian 系统中,防止 FTP 攻击可以通过多种安全措施来实现。以下是一些关键的步骤和建议:
通过配置 vsftpd 使用 SSL/TLS 加密连接,可以确保数据传输的安全性。具体步骤如下:
生成 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 使用 SSL/TLS:
编辑 /etc/vsftpd/vsftpd.conf
文件,添加或修改以下行:
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
重启 vsftpd 服务:
sudo systemctl restart vsftpd
使用 ufw
(Uncomplicated Firewall)来限制和管理防火墙规则,保护 FTP 服务器免受未授权访问。
安装 ufw:
sudo apt update
sudo apt install ufw
启用 ufw:
sudo ufw enable
允许必要的端口:
sudo ufw allow 21/tcp # 允许 FTP 控制连接
sudo ufw allow 20/tcp # 允许 FTP 数据连接
sudo ufw allow 990/tcp # 允许 FTPS(FTP over TLS)
sudo ufw allow 40000:50000/tcp # 允许 FTPS 被动模式端口范围
拒绝所有其他入站连接:
sudo ufw default deny incoming
定期更新系统和软件包,修补已知的安全漏洞:
sudo apt update && sudo apt upgrade
禁用密码登录,使用 SSH 密钥对进行认证,以提高登录安全性:
生成 SSH 密钥对:
ssh-keygen
将公钥添加到服务器:
ssh-copy-id username@remote_host
使用密钥登录服务器:
ssh username@remote_host
启用详细的日志记录,以便及时发现和响应潜在的安全威胁:
sudo tail -f /var/log/auth.log
通过上述措施,可以显著提高 Debian FTP 服务器的安全性,有效防止多种常见攻击。务必定期检查和更新安全配置,以应对不断变化的安全威胁。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: Debian PHP如何监控调优