加固 Debian 上的 FTPServer(通常指 vsftpd + TLS) 需要从 协议、认证、权限、防火墙、日志、系统层 等多方面入手。下面给你一套 生产环境常用加固方案,适合 Debian 10/11/12。
Debian 常见 FTP 服务:
以下以 vsftpd + TLS(FTPS) 为例。
sudo apt update
sudo apt install vsftpd openssl
自签(测试用)
sudo openssl req -x509 -nodes -days 365 \
-newkey rsa:2048 \
-keyout /etc/ssl/private/vsftpd.key \
-out /etc/ssl/certs/vsftpd.crt
⚠️ 生产环境建议使用:
编辑:
sudo nano /etc/vsftpd.conf
✅ 推荐安全配置
# 基础
listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
# 禁止危险操作
chroot_local_user=YES
allow_writeable_chroot=NO
# TLS(FTPS)
ssl_enable=YES
rsa_cert_file=/etc/ssl/certs/vsftpd.crt
rsa_private_key_file=/etc/ssl/private/vsftpd.key
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
# 强制加密
force_local_data_ssl=YES
force_local_logins_ssl=YES
# 禁止明文
debug_ssl=NO
# 用户限制
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
# 日志
xferlog_enable=YES
log_ftp_protocol=NO
sudo nano /etc/vsftpd.userlist
加入允许的用户:
ftpuser
sudo useradd -m -s /usr/sbin/nologin ftpuser
sudo passwd ftpuser
sudo nano /etc/ftpusers
确保包含:
root
sudo chown root:root /home/ftpuser
sudo chmod 755 /home/ftpuser
如需上传目录:
sudo mkdir /home/ftpuser/upload
sudo chown ftpuser:ftpuser /home/ftpuser/upload
pasv_min_port=30000
pasv_max_port=31000
sudo ufw allow 21/tcp
sudo ufw allow 30000:31000/tcp
sudo apt install fail2ban
创建配置:
sudo nano /etc/fail2ban/jail.local
[vsftpd]
enabled = true
port = ftp
filter = vsftpd
logpath = /var/log/vsftpd.log
maxretry = 5
bantime = 3600
sudo tail -f /var/log/vsftpd.log
xferlog_std_format=YES
log_ftp_protocol=NO # 调试时再开
如果可以: ✅ 优先使用 SFTP(SSH)
sftp user@server
FTP 本身已逐渐被淘汰。
sudo apt install unattended-upgrades
sudo dpkg-reconfigure unattended-upgrades
✅ 是否禁用匿名登录
✅ 是否强制 TLS
✅ 是否限制用户目录
✅ 是否限制登录用户
✅ 是否配置被动端口
✅ 是否启用 Fail2ban
✅ 是否禁止 root 登录
Debian FTPServer 加固 = TLS 强制加密 + chroot 隔离 + 最小权限 + Fail2ban + 防火墙
如果你愿意,我可以:
只要把你的 Debian 版本和需求告诉我即可。