在CentOS 6系统中配置CA证书和FTP服务是企业级应用中常见的需求,尤其是在需要安全数据传输的场景下,本文将详细介绍如何在CentOS 6环境下搭建CA证书颁发机构,并配置基于VSFTPD的FTP服务,同时确保数据传输的安全性。

CA证书的配置与管理
CA(Certificate Authority,证书颁发机构)是PKI体系的核心组件,用于验证数字证书的真实性,在CentOS 6中,可通过OpenSSL工具自建CA证书。
初始化CA环境
首先创建CA的目录结构并生成私钥和证书请求文件:
mkdir -p /etc/pki/CA/{certs,crl,newcerts}
touch /etc/pki/CA/index.txt
echo 01 > /etc/pki/CA/serial
使用以下命令生成CA私钥(需设置密码保护):
openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096
创建自签名证书
生成CA证书并签署:
openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3650
在提示信息中需填写国家代码、组织名称等字段,Common Name"建议填写CA域名或IP地址。
管理用户证书
为FTP服务器生成证书请求时,需先创建私钥:
openssl genrsa -out /etc/pki/tls/private/ftp.key 2048
生成证书请求文件(CSR):

openssl req -new -key /etc/pki/tls/private/ftp.key -out /etc/pki/tls/private/ftp.csr
使用CA签署证书:
openssl ca -in /etc/pki/tls/private/ftp.csr -out /etc/pki/tls/certs/ftp.crt -days 365
VSFTPD服务的安装与配置
VSFTPD(Very Secure FTP Daemon)是CentOS 6默认的FTP服务器软件,支持SSL/TLS加密传输。
安装与基础配置
通过yum安装VSFTPD:
yum install -y vsftpd
编辑主配置文件/etc/vsftpd/vsftpd.conf,启用以下关键选项:
anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES 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 require_ssl_reuse=NO ssl_ciphers=HIGH
配置SSL证书
在配置文件中添加证书路径:
rsa_cert_file=/etc/pki/tls/certs/ftp.crt rsa_private_key_file=/etc/pki/tls/private/ftp.key
创建FTP用户并设置权限
创建专用FTP用户(如ftpuser)并设置家目录:
useradd -d /home/ftpuser -s /sbin/nologin ftpuser passwd ftpuser
确保家目录权限正确:

chmod 750 /home/ftpuser chown ftpuser:ftpuser /home/ftpuser
防火墙与SELinux配置
开放FTP相关端口(21控制端口,22数据端口):
iptables -I INPUT -p tcp --dport 21 -j ACCEPT iptables -I INPUT -p tcp --dport 20 -j ACCEPT service iptables save
设置SELinux布尔值允许FTP:
setsebool -P ftpd_full_access on
客户端连接测试
使用FileZilla等FTP客户端连接时,需在"加密"选项中选择"使用显式FTP over TLS",客户端首次连接时会提示验证CA证书,需将服务端的/etc/pki/CA/cacert.pem导入客户端信任存储区。
常见问题与优化建议
- 证书信任问题:若客户端出现证书不受信任警告,需确保CA证书已正确导入客户端系统或浏览器。
- 性能优化:对于高并发场景,可调整
max_clients和max_per_ip参数限制连接数,同时启用pasv_min_port和pasv_max_port指定被动模式端口范围。
FAQs
Q1: 如何在CentOS 6中更新即将过期的CA证书?
A1: 首先使用openssl x509 -in /etc/pki/CA/cacert.pem -noout -dates检查证书有效期,若需更新,重新执行openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3650生成新证书,并重启依赖CA服务的应用。
Q2: 配置VSFTPD后无法上传文件,如何排查?
A2: 首先检查/var/log/secure和/var/log/vsftpd.log中的错误日志,常见原因包括:SELinux阻止(使用ausearch -c 'vsftpd' -ts recent查看审计日志)、文件系统权限不足(确保FTP用户对目标目录有写权限)、或防火墙规则拦截(使用iptables -L -n检查端口规则)。