插件窝 干货文章 如何配置CentOS系统保护敏感数据的传输和存储

如何配置CentOS系统保护敏感数据的传输和存储

sudo 配置 sensitive 加密 411    来源:    2025-04-15

CentOS系统敏感数据保护配置指南

一、数据传输保护配置

1. 配置SSH安全传输

# 编辑SSH配置文件
sudo vi /etc/ssh/sshd_config

# 修改以下参数
Protocol 2
PermitRootLogin no
MaxAuthTries 3
LoginGraceTime 60
ClientAliveInterval 300
ClientAliveCountMax 0
Ciphers aes256-ctr,aes192-ctr,aes128-ctr
MACs hmac-sha2-512,hmac-sha2-256
KexAlgorithms ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha256

# 重启SSH服务
sudo systemctl restart sshd

2. 配置TLS/SSL加密

# 安装OpenSSL
sudo yum install openssl -y

# 生成自签名证书(生产环境建议使用CA签发证书)
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt

二、数据存储保护配置

1. 磁盘加密(LUKS)

# 安装加密工具
sudo yum install cryptsetup -y

# 加密分区(请替换/dev/sdX为实际设备)
sudo cryptsetup luksFormat /dev/sdX
sudo cryptsetup luksOpen /dev/sdX encrypted_drive
sudo mkfs.ext4 /dev/mapper/encrypted_drive

# 设置自动挂载
echo "encrypted_drive /dev/sdX none luks" | sudo tee -a /etc/crypttab
echo "/dev/mapper/encrypted_drive /mnt/encrypted ext4 defaults 0 2" | sudo tee -a /etc/fstab

2. 文件系统权限设置

# 设置敏感目录权限
sudo chmod 700 /path/to/sensitive/directory
sudo chown root:root /path/to/sensitive/directory

# 设置敏感文件权限
sudo chmod 600 /path/to/sensitive/file
sudo chown root:root /path/to/sensitive/file

三、数据库安全配置

1. MySQL/MariaDB加密

-- 启用表空间加密
INSTALL PLUGIN file_key_management SONAME 'file_key_management.so';
SET GLOBAL innodb_file_per_table=ON;
SET GLOBAL innodb_encrypt_tables=ON;
SET GLOBAL innodb_encryption_threads=4;

-- 创建加密表
CREATE TABLE sensitive_data (
    id INT PRIMARY KEY,
    data VARBINARY(255)
) ENGINE=InnoDB ENCRYPTED=YES ENCRYPTION_KEY_ID=1;

2. PostgreSQL加密

-- 安装pgcrypto扩展
CREATE EXTENSION pgcrypto;

-- 加密数据示例
INSERT INTO users (username, password) 
VALUES ('admin', pgp_sym_encrypt('mypassword', 'AES_KEY'));

四、应用层保护

1. 配置SELinux

# 检查SELinux状态
sestatus

# 如未启用,修改配置文件
sudo vi /etc/selinux/config
SELINUX=enforcing

# 为敏感数据设置安全上下文
sudo semanage fcontext -a -t etc_t "/path/to/sensitive/data(/.*)?"
sudo restorecon -Rv /path/to/sensitive/data

2. 配置防火墙

# 仅允许必要端口
sudo firewall-cmd --permanent --remove-service=ssh
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" service name="ssh" accept'
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

五、审计与监控

1. 配置审计日志

# 安装auditd
sudo yum install audit -y

# 监控敏感文件访问
sudo auditctl -w /path/to/sensitive/file -p war -k sensitive_data_access

# 使配置永久生效
sudo vi /etc/audit/rules.d/audit.rules
-w /path/to/sensitive/file -p war -k sensitive_data_access

2. 配置日志轮转

# 编辑日志轮转配置
sudo vi /etc/logrotate.d/sensitive_logs

# 添加以下内容
/path/to/sensitive/logs/*.log {
    daily
    missingok
    rotate 30
    compress
    delaycompress
    notifempty
    create 640 root root
    sharedscripts
    postrotate
        /usr/bin/systemctl reload rsyslog >/dev/null 2>&1 || true
    endscript
}

六、定期维护

  1. 定期更新系统
sudo yum update -y
  1. 定期检查安全配置
# 检查未授权的SUID/SGID文件
sudo find / -perm /6000 -type f -exec ls -ld {} \; 2>/dev/null

# 检查未授权的世界可写文件
sudo find / -perm -2 -type f -exec ls -ld {} \; 2>/dev/null
  1. 定期备份加密密钥
# 备份LUKS头信息
sudo cryptsetup luksHeaderBackup /dev/sdX --header-backup-file /secure/location/luks-header-backup.img

以上配置可根据实际环境需求进行调整,建议在实施前在测试环境中验证配置效果。