CentOS FTPServer安全设置

757
2025/2/13 15:31:19
栏目: 智能运维
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在CentOS上设置FTPS服务器(使用vsftpd)时,确保服务器安全是非常重要的。以下是一些关键的安全设置步骤和建议:

安装vsftpd

首先,安装vsftpd服务器软件:

sudo yum install vsftpd

启动和启用vsftpd服务

启动vsftpd服务并设置开机自启:

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

配置vsftpd

编辑vsftpd的配置文件 /etc/vsftpd/vsftpd.conf

sudo nano /etc/vsftpd/vsftpd.conf

关键配置项:

  • anonymous_enable=NO:禁止匿名访问。
  • local_enable=YES:允许本地用户访问。
  • write_enable=YES:允许用户写入文件(如果需要)。
  • chroot_local_user=YES:将本地用户锁定在他们的主目录中。
  • allow_writeable_chroot=NO:禁止chroot目录可写(这是不安全的,通常不建议启用)。
  • listen_ipv6=YES:启用IPv6监听。
  • pam_service_name=vsftpd:使用PAM进行用户认证。

创建FTP用户和目录

创建一个FTP用户和他们的主目录:

sudo useradd -m ftpuser
sudo passwd ftpuser

设置用户的密码。

设置目录权限

确保FTP用户的主目录和上传目录的权限设置正确:

sudo chown ftpuser:ftpuser /home/ftpuser
sudo chmod 755 /home/ftpuser

sudo mkdir /home/ftpuser/upload
sudo chown ftpuser:ftpuser /home/ftpuser/upload
sudo chmod 775 /home/ftpuser/upload

配置SELinux(如果启用)

如果你的系统启用了SELinux,可能需要额外的配置:

sudo setsebool -P ftp_home_dir on
sudo setsebool -P allow_ftpd_full_access on

配置防火墙

允许FTP服务的端口(默认为21):

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

启用TLS/SSL加密

为了增强数据传输的安全性,可以启用TLS/SSL加密:

sudo yum install openssl

然后编辑vsftpd配置文件以启用SSL:

sudo nano /etc/vsftpd/vsftpd.conf

添加以下行:

ssl_enable=YES
rsa_cert_file=/etc/pki/tls/certs/ca-bundle.crt
rsa_private_key_file=/etc/pki/tls/private/ca-bundle.key

测试FTP连接

使用FTP客户端(如FileZilla)连接到你的服务器,确保一切配置正确。

监控和日志记录

定期检查FTP服务器的日志文件,以便及时发现和处理任何异常活动或错误信息。

其他安全措施

  • 修改SSH端口号:更换SSH端口号以减少自动化工具的扫描频率。
  • 限制登录IP地址:只允许特定的IP地址或IP段访问FTP服务器。
  • 使用强密码策略:确保所有用户账户都设置了强密码,并定期更换密码。
  • 启用多因素身份验证(MFA):为FTP用户启用多因素身份验证。
  • 定期更新和维护:保持vsftpd软件的最新状态,及时修补已知的安全漏洞。

通过以上步骤,你可以显著提高CentOS上vsftpd服务器的安全性。确保在配置过程中仔细检查每个选项,并根据需要进行调整。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: centos如何查看目录下的文件