温馨提示×

怎样固linux ftpserver安全

小樊
33
2026-10-02 07:15:45
栏目: 智能运维

保障 Linux FTP 服务器的安全,核心原则是:尽量不用明文 FTP,做好隔离、权限控制和审计。下面按“推荐程度”给你一套实用方案。


一、最推荐:直接用 SFTP,而不是 FTP

SFTP(SSH File Transfer Protocol)

  • 加密传输(SSH)
  • 不需要额外开 21 端口
  • Linux 原生支持

基本做法

# 创建专用用户
useradd -m ftpuser
passwd ftpuser

# 限制只能 SFTP,不能登录 shell
vim /etc/ssh/sshd_config

添加:

Match User ftpuser
    ChrootDirectory /home/ftpuser
    ForceCommand internal-sftp
    AllowTcpForwarding no

重启:

systemctl restart sshd

✅ 安全性高,维护简单,强烈推荐


二、如果必须用 FTP(如业务要求)

1. 使用 vsftpd(最安全常见的 FTP 服务)

apt install vsftpd   # Debian/Ubuntu
yum install vsftpd   # CentOS

2. 关闭匿名访问

vim /etc/vsftpd.conf

确保:

anonymous_enable=NO
local_enable=YES
write_enable=YES

3. 使用 FTPS(FTP over SSL)

生成证书:

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

配置:

ssl_enable=YES
rsa_cert_file=/etc/vsftpd/vsftpd.crt
rsa_private_key_file=/etc/vsftpd/vsftpd.key
force_local_logins_ssl=YES
force_local_data_ssl=YES

三、权限与隔离(非常重要)

1. 限制用户目录(chroot)

chroot_local_user=YES
allow_writeable_chroot=YES

2. 专用 FTP 用户组

groupadd ftpusers
usermod -aG ftpusers ftpuser

3. 目录权限示例

chown ftpuser:ftpusers /home/ftpuser
chmod 750 /home/ftpuser

四、防火墙与端口安全

1. 只开放必要端口

ufw allow 22
ufw allow 21

2. 限制 IP(可选)

ufw allow from 10.0.0.0/8 to any port 21

五、防暴力破解

1. 安装 fail2ban

apt install fail2ban

示例配置:

[vsftpd]
enabled = true
port = 21
filter = vsftpd
logpath = /var/log/vsftpd.log
maxretry = 5

2. 改默认端口(可选)

listen_port=2121

六、日志与审计

tail -f /var/log/vsftpd.log

或 SFTP:

tail -f /var/log/auth.log

七、安全 checklist(总结)

✅ 优先用 SFTP
✅ 禁用匿名 FTP
✅ 使用 FTPS / SSL
✅ chroot 限制目录
✅ 专用低权限用户
✅ fail2ban 防爆破
✅ 定期更新系统


如果你告诉我:

  • 用的 Linux 发行版
  • 是 vsftpd / proftpd / pure-ftpd
  • 是否 必须对外网开放

我可以给你一套可直接用的配置文件。

0 踩