作为IT工程师,我将为您提供一套完整的CentOS系统敏感数据保护方案,涵盖存储加密和传输加密两个方面。
# 安装必要工具
sudo yum install cryptsetup -y
# 加密分区(以/dev/sdb1为例)
sudo cryptsetup luksFormat /dev/sdb1
# 打开加密分区并映射到设备
sudo cryptsetup luksOpen /dev/sdb1 encrypted_volume
# 创建文件系统
sudo mkfs.ext4 /dev/mapper/encrypted_volume
# 挂载使用
sudo mount /dev/mapper/encrypted_volume /mnt/secure_data
# 安装eCryptfs
sudo yum install ecryptfs-utils -y
# 挂载加密目录(以/home/user/secure为例)
sudo mount -t ecryptfs /home/user/secure /home/user/secure
使用GPG对单个文件加密:
# 安装GPG
sudo yum install gnupg2 -y
# 生成密钥对
gpg --gen-key
# 加密文件
gpg -c sensitive_file.txt
# 编辑SSH配置文件
sudo vi /etc/ssh/sshd_config
# 推荐配置项:
Protocol 2
PermitRootLogin no
PasswordAuthentication no
X11Forwarding no
UsePAM yes
AllowUsers your_username
ClientAliveInterval 300
ClientAliveCountMax 2
# 配置SFTP子系统
Subsystem sftp internal-sftp
# 限制用户只能使用SFTP
Match Group sftponly
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
# 安装Nginx和OpenSSL
sudo yum install nginx openssl -y
# 生成自签名证书
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/nginx/ssl/nginx.key \
-out /etc/nginx/ssl/nginx.crt
# 配置Nginx使用SSL
server {
listen 443 ssl;
server_name your_domain.com;
ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_certificate_key /etc/nginx/ssl/nginx.key;
# 其他配置...
}
- name: Ensure LUKS encryption is applied
crypttab:
name: encrypted_volume
device: /dev/sdb1
password: /etc/luks-keys/encrypted_volume.key
state: present
# 检查加密卷状态
sudo cryptsetup status encrypted_volume
# 检查SSH连接
sudo journalctl -u sshd --no-pager -n 50
sudo setenforce 1
sudo vi /etc/selinux/config
# 设置为: SELINUX=enforcing
sudo yum update --security -y
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
通过以上措施,您可以全面保护CentOS系统中的敏感数据,无论是在存储状态还是传输过程中。根据您的具体需求,可以选择适合的加密级别和方案组合。