温馨提示×

怎样加固debian ftp安全

小樊
45
2026-10-12 15:13:32
栏目: 智能运维

在 Debian 上加固 FTP 服务安全,通常建议优先使用 SFTP(基于 SSH)而不是传统 FTP,但如果确实需要使用 FTP(如 vsftpd / proftpd),可以从以下几个方面进行加固。


一、优先建议:用 SFTP 替代 FTP

SFTP 是 SSH 的一部分,天然加密,不需要额外开 21 端口。

# Debian 默认已支持 SFTP
sftp user@server_ip

如非必要,不建议再使用明文 FTP。


二、使用 vsftpd 的安全配置(常见 FTP 服务)

1. 安装 vsftpd

sudo apt update
sudo apt install vsftpd

2. 基础安全配置 /etc/vsftpd.conf

# 禁止匿名登录
anonymous_enable=NO

# 允许本地用户
local_enable=YES

# 禁止写权限(按需开启)
write_enable=YES

# 仅允许用户访问自己家目录
chroot_local_user=YES
allow_writeable_chroot=YES

# 禁用危险命令
ls_recurse_enable=NO

# 限制被动端口范围(配合防火墙)
pasv_min_port=30000
pasv_max_port=31000

重启服务:

sudo systemctl restart vsftpd

三、使用 TLS 加密 FTP(FTPS)

1. 生成证书

sudo openssl req -x509 -nodes -newkey rsa:2048 \
-keyout /etc/ssl/private/vsftpd.key \
-out /etc/ssl/certs/vsftpd.crt -days 365

2. 启用 TLS

在 /etc/vsftpd.conf 添加:

ssl_enable=YES
rsa_cert_file=/etc/ssl/certs/vsftpd.crt
rsa_private_key_file=/etc/ssl/private/vsftpd.key
force_local_logins_ssl=YES
force_local_data_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

重启:

sudo systemctl restart vsftpd

四、用户与权限控制

1. 限制可登录用户

userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
echo ftpuser | sudo tee -a /etc/vsftpd.userlist

2. 使用虚拟用户(推荐)

避免直接使用系统账号,降低风险。


五、防火墙与网络加固

1. 仅开放必要端口

sudo ufw allow 21
sudo ufw allow 30000:31000/tcp

2. 限制来源 IP(如仅内网)

sudo ufw allow from 192.168.1.0/24 to any port 21

六、日志与监控

1. 开启日志

xferlog_enable=YES
log_ftp_protocol=YES

2. 定期检查

sudo tail -f /var/log/vsftpd.log

七、其他安全建议

  • 定期更新系统:sudo apt upgrade
  • 修改默认端口(可选)
  • 使用 Fail2Ban 防止暴力破解
sudo apt install fail2ban

如果你能告诉我:

  • 使用的是 vsftpd / proftpd / pure-ftpd
  • 是 公网还是内网
  • 是否需要 匿名 / 上传

我可以给你一套更精确的配置方案。

0 踩