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服务器的性能和稳定性,可以采取以下措施:

    限制并发连接数

相关推荐
CYRUS_STUDIO2 天前
用 Frida 控制 Android 线程:kill 命令、挂起与恢复全解析
android·linux·逆向
熊猫李2 天前
rootfs-根文件系统详解
linux
LH_R2 天前
OneTerm开源堡垒机实战(三):功能扩展与效率提升
运维·后端·安全
dessler2 天前
Hadoop HDFS-高可用集群部署
linux·运维·hdfs
泽泽爱旅行2 天前
awk 语法解析-前端学习
linux·前端
你的人类朋友2 天前
什么是API签名?
前端·后端·安全
深盾安全2 天前
ProGuard混淆在Android程序中的应用
安全
CYRUS_STUDIO2 天前
利用 Linux 信号机制(SIGTRAP)实现 Android 下的反调试
android·安全·逆向
轻松Ai享生活3 天前
5 节课深入学习Linux Cgroups
linux
白帽黑客沐瑶3 天前
【网络安全就业】信息安全专业的就业前景(非常详细)零基础入门到精通,收藏这篇就够了
网络·安全·web安全·计算机·程序员·编程·网络安全就业