CentOS FTP Server 安全加固是一个复杂的过程,涉及到多个方面的配置。以下是一些关键步骤和最佳实践:
1. 安装和配置 vsftpd
首先,确保你已经安装了 vsftpd 服务器。如果没有,可以使用以下命令进行安装:
sudo yum install vsftpd
安装完成后,启动并设置 vsftpd 服务在下次启动时自动启用:
sudo systemctl start vsftpd sudo systemctl enable vsftpd
2. 配置防火墙
使用 firewalld 或 iptables 配置防火墙规则,允许 FTP 服务的端口(20 和 21)通过:
sudo firewall-cmd --zone=public --add-port=20/tcp --permanent sudo firewall-cmd --zone=public --add-port=21/tcp --permanent sudo firewall-cmd --reload
3. 禁用匿名用户
编辑 vsftpd 配置文件 /etc/vsftpd/vsftpd.conf
,禁用匿名用户登录:
anonymous_enable=no
4. 配置 SELinux
启用并配置 SELinux 以增强系统安全性。使用以下命令查看 SELinux 是否开启:
getenforce
如果需要,可以将其设置为 enforcing
或 permissive
模式,并重启机器使修改生效:
sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config sudo reboot
5. 强化用户口令策略
编辑 /etc/pam.d/system-auth
文件,设置密码复杂度和最小长度:
password requisite pam_pwquality.so retry=5 minlen=8 dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1
6. 限制用户访问
基于用户列表文件 /etc/vsftpd.userlist
来配置允许/拒绝用户的访问。例如,允许用户列表中的用户登录:
userlist_enable=yes userlist_file=/etc/vsftpd.userlist userlist_deny=no
7. 审计和日志记录
配置详细的日志记录,以便于审计和监控 FTP 服务器的活动:
xferlog_enable=yes xferlog_std_format=yes
8. 定期更新系统和软件包
保持系统更新,定期运行以下命令来更新系统和软件包:
sudo yum update
9. 备份重要数据
定期备份关键数据,以防数据丢失或损坏。
参考文档
完全指南:如何在 CentOS 7 中安装、配置和安全加固 FTP 服务 打造坚不可摧的CentOS服务器:全面安全配置指南 CentOS系统安全加固有哪些最佳实践 centos安全加固怎么配置 CentOS 系统安全加固之个人经验
以上步骤和配置可以显著提高 CentOS FTP Server 的安全性。请根据具体需求和环境进行调整和优化。