CentOS Swap如何进行安全设置与防护
导读:CentOS Swap安全设置与防护指南 一、禁用不必要的Swap分区/文件 Swap分区/文件是攻击者潜在的目标(如通过填充Swap耗尽系统资源),若系统物理内存充足(如≥16GB且无内存密集型应用),建议完全禁用以消除风险。 临时禁用...
CentOS Swap安全设置与防护指南
一、禁用不必要的Swap分区/文件
Swap分区/文件是攻击者潜在的目标(如通过填充Swap耗尽系统资源),若系统物理内存充足(如≥16GB且无内存密集型应用),建议完全禁用以消除风险。
- 临时禁用:使用
swapoff
命令立即关闭所有Swap分区/文件,例如sudo swapoff -a
,可通过swapon --show
或free -h
验证是否关闭。 - 永久禁用:编辑
/etc/fstab
文件(系统启动时自动挂载Swap的配置文件),找到Swap相关行(如/dev/mapper/centos-swap swap swap defaults 0 0
或/swapfile none swap sw 0 0
),在行首添加#
注释或直接删除,保存后执行sudo swapoff -a
关闭当前Swap,重启系统确认生效。
二、加密Swap数据
即使禁用了Swap,若系统曾使用过Swap,旧数据可能残留,加密可彻底防止敏感信息泄露。推荐使用LUKS(Linux Unified Key Setup)加密:
- 步骤1:安装cryptsetup工具:
sudo yum install cryptsetup -y
(CentOS 7/8均适用)。 - 步骤2:生成加密密钥:使用
dd
命令生成随机密钥文件(如4096字节),例如sudo dd if=/dev/urandom of=/root/swap.key bs=1 count=4096
,设置密钥文件权限为仅root可读:sudo chmod 600 /root/swap.key
。 - 步骤3:加密Swap分区/文件:若为Swap分区(如
/dev/sda2
),执行sudo cryptsetup luksFormat /dev/sda2 /root/swap.key
(确认覆盖数据);若为Swap文件(如/swapfile
),先删除旧文件,再创建新文件并加密:sudo rm -f /swapfile & & sudo dd if=/dev/zero of=/swapfile bs=1M count=4096 & & sudo cryptsetup luksFormat /swapfile /root/swap.key
。 - 步骤4:配置系统自动挂载加密Swap:编辑
/etc/crypttab
文件,添加加密Swap条目(如swap /dev/sda2 /root/swap.key swap,cipher=aes-xts-plain64
),编辑/etc/fstab
文件,将Swap挂载行改为映射设备(如/dev/mapper/swap none swap defaults 0 0
),保存后重启系统,Swap将自动加密挂载。
三、调整swappiness参数
swappiness
参数(范围0-100)决定系统使用Swap的倾向,值越高越易使用Swap(默认值为60)。降低该值可减少Swap使用,降低敏感数据写入Swap的风险:
- 查看当前值:
cat /proc/sys/vm/swappiness
。 - 临时修改:
echo 10 > /proc/sys/vm/swappiness
(将值设为10,仅当前生效)。 - 永久修改:编辑
/etc/sysctl.conf
文件,添加vm.swappiness=10
,执行sudo sysctl -p
使配置生效。
四、设置Swap文件/分区权限
确保Swap文件/分区仅root用户可访问,防止普通用户读取或篡改:
- Swap文件权限:若使用Swap文件(如
/swapfile
),创建后立即设置权限:sudo chmod 600 /swapfile
。 - Swap分区权限:若使用Swap分区(如
/dev/sda2
),可通过lsblk -f
查看分区UUID,编辑/etc/fstab
文件,确保挂载选项为defaults
(默认已限制root访问)。
五、定期监控Swap使用情况
及时发现异常Swap使用(如Swap使用率突然升高),可能是内存泄漏或攻击的迹象:
- 查看Swap使用状态:
swapon --show
(显示当前启用的Swap分区/文件及大小)、free -h
(以易读格式显示内存和Swap使用情况)。 - 实时监控Swap变化:
watch -n 1 "free -h"
(每秒刷新一次内存和Swap使用情况)。 - 查看Swap历史记录:安装
sysstat
工具(sudo yum install sysstat -y
),使用sar -S
命令查看Swap历史使用趋势(如每小时Swap使用量)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS Swap如何进行安全设置与防护
本文地址: https://pptw.com/jishu/718472.html