在CentOS系统中,敏感数据的传输和存储安全需要从网络传输加密、存储加密、权限管控等多个维度进行配置,通过系统原生工具即可实现高等级的安全防护,无需依赖第三方付费软件。

一、传输环节的安全配置
1. 优化SSH配置保障远程传输安全
SSH是CentOS远程管理最常用的协议,默认配置存在部分安全隐患,需要调整参数提升传输安全性。首先修改SSH服务端配置文件/etc/ssh/sshd_config:
# 禁止root用户直接登录 PermitRootLogin no # 仅允许密钥登录,禁用密码登录 PasswordAuthentication no # 使用更安全的SSH协议版本 Protocol 2 # 设置空闲超时时间,避免会话被劫持 ClientAliveInterval 300 ClientAliveCountMax 2 # 禁用不安全的加密算法 Ciphers aes128-ctr,aes192-ctr,aes256-ctr MACs hmac-sha2-256,hmac-sha2-512
修改完成后重启SSH服务使配置生效:
systemctl restart sshd
2. 配置TLS加密应用层传输
如果系统运行Web服务或API服务,需要配置TLS证书加密传输内容。以Nginx为例,先申请合法的TLS证书,再修改Nginx配置文件:
server {
listen 443 ssl;
server_name example.ipipp.com;
# 证书路径配置
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
# 启用安全的TLS版本和加密套件
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
# 开启HSTS防止降级攻击
add_header Strict-Transport-Security "max-age=31536000" always;
}
二、存储环节的安全配置
1. 使用LUKS加密磁盘分区
LUKS是Linux系统标准的磁盘加密方案,可对整块磁盘或分区进行加密,即使磁盘被物理窃取也无法读取数据。首先查看当前磁盘分区情况:
lsblk
假设要对/dev/sdb1分区进行加密,执行以下命令初始化加密:
# 格式化分区为LUKS格式,会提示设置加密密码 cryptsetup luksFormat /dev/sdb1 # 打开加密分区,映射为mydata设备 cryptsetup luksOpen /dev/sdb1 mydata # 格式化映射后的设备 mkfs.ext4 /dev/mapper/mydata # 创建挂载目录并挂载 mkdir /data mount /dev/mapper/mydata /data
如果需要开机自动挂载,需要配置/etc/crypttab和/etc/fstab文件:
# /etc/crypttab 内容,使用密钥文件自动解锁 mydata /dev/sdb1 /root/luks_key luks # /etc/fstab 添加挂载配置 /dev/mapper/mydata /data ext4 defaults 0 0
2. 敏感文件单独加密存储
对于单个敏感文件,可使用GPG工具进行加密,无需加密整个分区。加密命令如下:
# 加密文件,会生成原文件名加.gpg的后缀文件 gpg -c sensitive_data.txt # 解密文件 gpg sensitive_data.txt.gpg
三、辅助安全配置
1. 启用SELinux强化权限管控
SELinux可以限制进程对文件的访问权限,避免权限滥用导致敏感数据泄露。首先检查SELinux状态:
getenforce
如果是disabled状态,修改/etc/selinux/config文件,设置SELINUX=enforcing,重启系统生效。之后可以为敏感数据目录设置单独的SELinux上下文:
# 设置/data目录的SELinux类型 semanage fcontext -a -t confidential_data_t "/data(/.*)?" # 应用上下文配置 restorecon -Rv /data
2. 配置文件权限最小化
敏感数据的文件权限应遵循最小化原则,仅允许必要用户访问。例如设置敏感文件权限为600,目录权限为700:
# 设置文件权限,仅所有者可读可写 chmod 600 /data/db_password.txt # 设置目录权限,仅所有者可进入访问 chmod 700 /data # 修改文件所有者为专用服务用户 chown appuser:appuser /data/db_password.txt
四、配置验证与日常维护
完成配置后需要验证效果,可使用网络抓包工具测试传输加密是否生效,尝试挂载加密分区验证存储加密是否正常。日常维护中需要定期更新系统补丁,轮换SSH密钥和LUKS加密密码,定期检查敏感目录的权限配置,确保安全防护持续有效。