Linux 系统下SWAP区的安全隐患

一、 Linux的交换分区Linux内核为了提高读写效率与速度,会将文件在内存中进行缓存,这部分内存就是Cache Memory(缓存内存)。即使你的程序运行结束后,Cache Memory也不会自动释放。这就会导致你在Linux系统中程序频繁读写文件后,你会发现可用物理内存变少。当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。
二、SWAP分区中的安全问题
交换分区中存在十分敏感的信息内容,其中包括了密码,证书,email等重要信息,特别为对后渗透阶段提供了帮助,因此潜在的风险巨大,风险点如下:
Linux的帐户和明文密码
Web登录/密码
Email地址
Wifi的SSID和密钥
GPG私钥
Keepass主密钥
Samba证书
三、swap的常用命令
3.1 查看swap的设备位置
[root@bogon ~]# swapon -s
Filename Type Size Used Priority
/dev/sda3 partition 2031608 0 -1

[root@bogon ~]# cat /proc/swaps
Filename Type Size Used Priority
/dev/sda3 partition 2031608 0 -1
[root@bogon ~]#

3.2 查看swap的分区大小
[root@bogon ~]# free -m
total used free shared buffers cached
Mem: 980 577 403 0 26 211
-/+ buffers/cache: 338 642
Swap: 1983 0 1983
3.3 swap 分区大小设置
系统的Swap分区大小设置多大才是最优呢?这是没有标准答案,ORACLE的官方文档就推荐如下设置
4G以内的物理内存,SWAP 设置为内存的2倍。
4-8G的物理内存,SWAP 等于内存大小。
8-64G 的物理内存,SWAP 设置为8G。
64-256G物理内存,SWAP 设置为16G。
四、查找分区内的敏感信息
4.1 查看email 相关信息
因为是虚拟机,没有真实使用记录,随意没有有价值的信息,操作命令如下:
[root@bogon ~]# strings /dev/sda3 | grep -i 'email'
for root, dirs, files in os.walk('python/Lib/email'):
email.utils
pkcs9_email_address
ext_key_usage_email_protect
SEC_OID_EXT_KEY_USAGE_EMAIL_PROTECT
sec_oid_ext_key_usage_email_protect
SEC_OID_PKCS9_EMAIL_ADDRESS
sec_oid_pkcs9_email_address
Needed for Python 1.5.2 (no email package available)
Determine the subject for the email.
SEC_ERROR_NO_EMAIL_CERT
email_trust_str
email_address
certificateUsageEmailSigner
certificateUsageEmailRecipient
email
SEC_ERROR_NO_EMAIL_CERT: Not encrypted or signed: you do not yet have an email certificate.
email and object signing it's trusted to create server
4.2 自动化脚本
脚本的github为:https://github.com/sevagas/swap_digger,大家可以自行下载,进行尝试

swap_digger.png


swap_digger_extended.png

 
五、加固方法
5.1 禁止使用swap
[root@bogon swap_digger-master]# swapon -s
Filename Type Size Used Priority
/dev/sda3 partition 2031608 8 -1
[root@bogon swap_digger-master]# swapoff /dev/sda3
[root@bogon swap_digger-master]# swapon -s
Filename Type Size Used Priority
[root@bogon swap_digger-master]# swapon /dev/sda3
[root@bogon swap_digger-master]# swapon -s
Filename Type Size Used Priority
/dev/sda3 partition 2031608 0 -1
[root@bogon swap_digger-master]#
5.2 对swap进行加密

0 个评论

要回复文章请先登录注册