CentOS Swapper安全设置指南
Swap文件/分区包含系统进程的敏感数据(如内存中的用户信息、应用程序缓存),必须严格限制访问权限。创建或修改Swap文件后,应立即执行chmod 600 /swapfile(或对应Swap分区路径),确保仅root用户可读写。此操作可防止普通用户通过读取Swap文件提取敏感信息,或恶意填充Swap空间导致资源耗尽。
Swap大小需根据系统内存容量调整,避免过大或过小引发安全问题:
若系统内存充足(如物理内存≥16GB且无内存密集型应用),建议完全禁用Swap以消除相关安全隐患:
sudo swapoff -v /swapfile(或对应Swap分区路径,如/dev/sdaX);/etc/fstab文件:用文本编辑器(如vim)打开/etc/fstab,注释或删除Swap挂载行(如/swapfile none swap sw 0 0);sudo reboot,确认Swap未自动启用(通过free -h或swapon --show命令检查)。swappiness参数(范围0-100)决定系统使用Swap的积极性,默认值为60(较高)。降低该值可减少系统向Swap写入数据的频率,提升性能并降低敏感数据泄露风险:
cat /proc/sys/vm/swappiness;sudo sysctl vm.swappiness=10(推荐值:内存密集型应用设为10-20,一般后端服务设为30);/etc/sysctl.conf文件,添加vm.swappiness=10,执行sudo sysctl -p使设置生效。通过定期监控Swap使用情况,可快速识别潜在安全问题(如进程异常占用Swap导致资源耗尽):
free -h(显示总Swap大小、已用/可用空间);sudo smem -s swap -k -r | head -10(按Swap使用量排序,显示前10个进程);watch -n 1 'free -h'(每秒刷新一次Swap使用状态)。对于处理敏感信息(如用户隐私数据、金融交易记录)的系统,可对Swap分区进行加密,防止攻击者通过物理访问磁盘或系统漏洞提取Swap中的敏感数据。常用加密工具为cryptsetup,操作步骤如下:
sudo swapoff /swapfile;sudo cryptsetup luksFormat /swapfile(按提示设置密码);sudo cryptsetup open /swapfile swap_crypto;sudo mkswap /dev/mapper/swap_crypto;sudo swapon /dev/mapper/swap_crypto;/etc/fstab:将原Swap行替换为/dev/mapper/swap_crypto none swap sw 0 0(需添加/etc/crypttab配置以实现开机自动解密)。