在CentOS上安全加固FTPS(FTP over SSL/TLS)服务器涉及多个步骤,包括配置防火墙、禁用不必要的服务、设置强密码策略、启用SSL/TLS加密等。以下是一个详细的指南:
1. 安装和配置vsftpd
首先,确保你已经安装了vsftpd。如果没有安装,可以使用以下命令进行安装:
sudo yum install vsftpd
安装完成后,编辑vsftpd的配置文件 /etc/vsftpd/vsftpd.conf
:
sudo vi /etc/vsftpd/vsftpd.conf
2. 禁用匿名访问
在配置文件中,禁用匿名访问:
anonymous_enable=NO
3. 允许本地用户登录
允许本地用户登录,并限制对文件系统的写权限:
local_enable=YES write_enable=YES local_umask=022
4. 配置SELinux
SELinux可以帮助你限制FTP用户对文件和目录的访问。你可以通过以下命令启用SELinux:
sudo setenforce 1
或者编辑 /etc/selinux/config
文件,将其设置为 permissive
模式:
SELINUX=permissive
然后重启系统使修改生效:
sudo reboot
5. 配置防火墙
使用 firewalld
配置防火墙,只允许必要的端口通过:
sudo firewall-cmd --zone=public --permanent --add-port=21/tcp sudo firewall-cmd --zone=public --permanent --add-service=ftp sudo firewall-cmd --reload
6. 启用SSL/TLS
为了加密数据传输,建议使用SSL/TLS。你可以通过以下命令启用FTPS:
sudo yum install mod_ssl
然后在vsftpd配置文件中添加以下行:
ssl_enable=YES rsa_cert_file=/etc/pki/tls/certs/ca-bundle.crt rsa_private_key_file=/etc/pki/tls/private/server-key.pem
7. 创建FTP用户
创建一个FTP用户并设置密码:
sudo useradd -m ftpuser sudo passwd ftpuser
8. 测试FTP服务器
使用FTP客户端连接到服务器,测试是否可以成功登录和进行文件传输。
9. 定期更新和维护
定期更新系统和软件包,以获取最新的安全修复和功能更新:
sudo yum update
10. 日志监控
定期检查FTP服务器的日志文件,如 /var/log/secure
,以识别和解决安全问题。