Linux中FTP服务器搭建与安全配置

复制代码
#### 配置FTP用户的访问权限


编辑vsftpd配置文件以允许FTP用户访问:

编辑vsftpd配置文件

sudo nano /etc/vsftpd.conf

复制代码
在文件中添加以下行以启用本地用户访问:

启用本地用户访问

local_enable=YES

write_enable=YES

复制代码
#### 重启vsftpd服务

重启vsftpd服务以应用更改

sudo systemctl restart vsftpd

复制代码
### 步骤4:配置FTP安全性


#### 配置FTP用户的登录


编辑vsftpd配置文件以限制FTP用户登录:

编辑vsftpd配置文件

sudo nano /etc/vsftpd.conf

复制代码
添加以下行以禁止FTP用户登录SSH:

禁止FTP用户登录SSH

chroot_local_user=YES

allow_writeable_chroot=YES

复制代码
#### 启用FTP用户上传和下载

启用FTP用户上传和下载

sudo setsebool -P ftp_home_dir 1

复制代码
### 步骤5:配置FTP端口


#### 配置FTP端口范围


编辑vsftpd配置文件以定义FTP数据传输的端口范围:

编辑vsftpd配置文件

sudo nano /etc/vsftpd.conf

复制代码
添加以下行以定义端口范围:

定义端口范围

pasv_min_port=30000

pasv_max_port=31000

复制代码
### 步骤6:防火墙配置


如果系统启用了防火墙,需要配置防火墙规则以允许FTP流量通过。


#### 针对Ubuntu/Debian

允许FTP流量通过防火墙

sudo ufw allow 20/tcp

sudo ufw allow 21/tcp

sudo ufw allow 30000:31000/tcp

复制代码
#### 针对CentOS/RHEL

允许FTP流量通过防火墙

sudo firewall-cmd --permanent --add-port=20/tcp

sudo firewall-cmd --permanent --add-port=21/tcp

sudo firewall-cmd --permanent --add-port=30000-31000/tcp

sudo firewall-cmd --reload

复制代码
### 步骤7:测试FTP服务器


使用FTP客户端软件(如FileZilla)连接到FTP服务器,使用FTP用户名和密码进行身份验证。确保可以成功上传和下载文件。


### 步骤8:配置FTP服务器的日志记录


为了跟踪FTP服务器活动和安全性,可以配置FTP服务器的日志记录。


编辑vsftpd配置文件以启用日志记录:

编辑vsftpd配置文件

sudo nano /etc/vsftpd.conf

复制代码
添加以下行以启用日志记录:

启用日志记录

xferlog_enable=YES

xferlog_std_format=YES

复制代码
### 步骤9:FTP服务器安全性进一步优化


为了进一步增强FTP服务器的安全性,可以采取以下措施:


#### 使用TLS/SSL加密


配置FTP服务器以使用TLS/SSL加密传输数据,以保护敏感信息的传输。这需要安装SSL证书,以确保数据在传输过程中得到加密和保护。对于vsftpd服务器,可以使用以下命令为FTP服务器启用TLS/SSL:

安装SSL证书工具

sudo apt-get install openssl # 对于Ubuntu/Debian

sudo yum install openssl # 对于CentOS/RHEL

生成自签名SSL证书

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

编辑vsftpd配置文件以启用TLS/SSL

sudo nano /etc/vsftpd.conf

复制代码
在vsftpd配置文件中添加以下行:

启用TLS/SSL

ssl_enable=YES

allow_anon_ssl=NO

force_local_data_ssl=YES

force_local_logins_ssl=YES

ssl_tlsv1=YES

ssl_sslv2=NO

ssl_sslv3=NO

ssl_ciphers=HIGH

require_ssl_reuse=NO

ssl_cert_file=/etc/ssl/private/vsftpd.pem

复制代码
重启vsftpd服务以应用更改:

sudo systemctl restart vsftpd

复制代码
#### 限制FTP用户访问


如果需要限制FTP用户的访问,可以在vsftpd配置文件中添加用户白名单或黑名单。编辑vsftpd配置文件并添加以下行来限制FTP用户的访问:

编辑vsftpd配置文件

sudo nano /etc/vsftpd.conf

复制代码
使用`userlist_file`和`userlist_deny`选项来创建用户白名单或黑名单文件,然后指定文件的路径:

创建用户白名单文件

sudo touch /etc/vsftpd.allowed_users

编辑用户白名单文件以添加允许的用户

sudo nano /etc/vsftpd.allowed_users

复制代码
将允许访问的用户添加到用户白名单文件中,并在vsftpd配置文件中启用白名单:

启用用户白名单

userlist_enable=YES

指定用户白名单文件的路径

userlist_file=/etc/vsftpd.allowed_users

禁止其他用户访问

userlist_deny=YES

复制代码
#### 配置FTP用户的主目录


还可以根据需要配置FTP用户的主目录,以限制他们的访问范围。编辑vsftpd配置文件并添加以下行:

编辑vsftpd配置文件

sudo nano /etc/vsftpd.conf

复制代码
通过使用`local_root`选项,可以将FTP用户的主目录设置为特定目录:

将FTP用户的主目录设置为特定目录

local_root=/var/ftp

复制代码
#### 启用登录失败重试限制


为了提高安全性,可以启用登录失败重试限制。编辑PAM配置文件以添加限制:

编辑PAM配置文件

sudo nano /etc/security/limits.conf

复制代码
在文件的底部添加以下行来启用登录失败重试限制:

启用登录失败重试限制

  • hard maxlogins 3

    步骤10:FTP服务器性能调优

    为了确保FTP服务器的性能和稳定性,可以采取以下措施:

    限制并发连接数

相关推荐
林政硕(Cohen0415)43 分钟前
Linux驱动开发进阶(四)- 内存管理
linux·驱动开发·内存管理
sqmeeting44 分钟前
Linux NUC小主机化身视频会议服务器: 技术优势与部署实战
linux·服务器·windows·音视频·实时音视频
xxc_my2 小时前
LVS高可用负载均衡
服务器·负载均衡·lvs·高可用
Naomi5212 小时前
自定义汇编语言(Custom Assembly Language) 和 Unix & Git
服务器·开发语言·git·unix
H1346948903 小时前
企业服务器备份软件,企业服务器备份的方法有哪些?
运维·服务器·负载均衡
skywalk81633 小时前
OpenRouter开源的AI大模型路由工具,统一API调用
服务器·前端·人工智能·openrouter
上线之叁3 小时前
小迪安全110-tp框架,版本缺陷,不安全写法,路由访问,利用链
安全
愚润求学3 小时前
Linux开发工具——apt
linux·服务器·开发语言
计算机毕设定制辅导-无忧学长4 小时前
TDengine 权限管理与安全配置实战(二)
大数据·安全·tdengine
杰克逊的日记4 小时前
CentOs系统部署DNS服务
linux·python·centos·dns