用LUKS为云盘敏感数据上锁

2023-10-29 00:40

本文主要是介绍用LUKS为云盘敏感数据上锁,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景

通过之前的教程,我们了解如何在Linux和Windows云服务器下挂载和扩容云硬盘,解决了业务存储的性能扩展问题。那么,如何妥善地解决块存储的安全问题呢?这篇我们将一起探索在腾讯云上,为云硬盘做基于dm-crypto/LUKS的块设备加密的方法实践。

静止数据(data-at-rest)加密分层

静止数据安全 VS. 在途数据安全

静止数据(data-at-rest)加密确保文件始终以加密形式存储在磁盘上。只有在系统运行和受信任的用户解锁时,文件才会以可读的形式对操作系统和应用程序开放,此时转变为在途数据(data-in-use或data-in-transit)。而未经授权直接查看磁盘内容,只能得到无意义的随机数据,而不是实际的文件。

静止数据加密可以在以下场景保护数据不泄露:如非受信任的人可能进入机房、硬盘丢失或被盗,如笔记本电脑、上网本或外部存储设备、在修理厂修理、以及硬盘弃用后。简单点,硬盘丢了也不担心泄密。

当然,静止数据加密也不是万能的,它无法在以下场景下保证数据安全:运行时网络侵入,攻击者可以通过互联网在系统运行时并已经解锁了磁盘的加密部分后侵入系统;运行时物理侵入,在机器开机时,对机器进行获得物理访问权;被胁迫交出密码等。所以,完整的数据安全策略应该包括静止和在途的数据的加密。而对于途数据的安全就讨论更多了,很多网络安全相关协议,如最典型的TLS等等。

静止数据加密的分层模型及场景对比

正如大家熟知的网络协议的TCP/IP四层模型,各层有不同的安全方案,如传输层有TLS,网络层有IPSec等。数据存储的也在各个层面上有各自的安全加密实现,操作系统的存储栈如下图:
在这里插入图片描述
最上层的应用层通常可以由具体软件商自己定制的库实现,一般来说,越上层开发越灵活,但是应用层的加密对开发者其实非常不友好:第一是因为特定加密算法的细节(密钥、摘要生成等)毕竟距离业务太远,第二是应用级别的加密无法利用系统级别的缓存,如页缓存等,想获得理想性能的实现难度非常大。所以更适合更底层的抽象,如用户态加密库OpenSSL、PGP等。最底层的硬件层加密是指基于硬件实现的全盘加密(Hardware-based FDE, Full Disk Encryption),如SED(Self-encrypting Drives)或Opal兼容设备等。本节不对其做重点分析,而主要分析中间两类OS层的数据加密实现:栈式文件系统加密(stacked filesystem encryption)和块设备加密(block device encryption)。

文件系统级加密使得数据加密对应用程序是透明的,因为文件系统本身就会对数据进行加/解密,然后再将数据传递给块子系统,所以无论应用程序是否有加密支持,文件都会被加密。其灵活性还体现在,可以配置成只对某一特定目录进行加密,或者对不同的文件有不同的密钥。然而,这种灵活性是以更复杂的配置为代价的。文件系统加密通常不如块设备加密安全,因为大部分的栈式文件系统只能加密文件的内容,还做不到加密相关的元数据,如文件大小、文件数量、目录树布局等,这些对潜在的攻击者来说仍是可见的。而栈式(stacked)是指这类加密工作是在已存在的文件系统(如Ext4/Btrfs)上再加一层,在已有文件系统的基础之上再进行其中数据的加密,如相对传统(有些缺陷的)的eCryptfs、EncFS和新近的gocryptfs及CryFS等,而且其中大部分是通过FUSE技术实现。 栈式加密文件系统是目前文件系统级加密的主流实现方法。

而相对更下层的块设备加密(也称磁盘卷加密或全盘加密)也使得数据加密对应用程序甚至整个文件系统都是透明的。与文件系统层加密不同的是,它对块设备上的所有数据进行加密,包括文件元数据、可用空间、硬盘分区表信息甚至作为loop device的文件都可以。块设备加密性能通常非常高,也更安全。不过,它的灵活性较前者受限,通常是对整个块设备进行加密,所以没有按目录、按文件或按用户的配置。

选择哪一层加密取决于实际情况,应用程序和文件系统级别的加密通常是客户端系统的首选,因为它具有灵活性。家用的多用户桌面上的每个用户可能希望用自己的密钥加密他们的主目录,而不对一些共享目录进行加密。相反,在服务器系统上,尤其是云服务场景下,则推荐用启用块设备加密。毕竟,我们所有的数据都必须得到保护,因为没有例外或覆盖,不太需要上层提供的选择性灵活性。

块设备加密原理:dm-crypt/LUKS

dm-crypt

这篇关于用LUKS为云盘敏感数据上锁的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/297063

相关文章

oliva-bruteforce-luks

olivaeasyLUKS v2破解、bruteforce-luks工具使用、cryptsetup使用、cap_dac_read_search=eip、mysql使用 主机发现 ┌──(kali㉿kali)-[~/桌面/OSCP]└─$ sudo netdiscover -i eth0 -r 192.168.44.148/24 服务扫描 ┌──(kali㉿kali)-[~/桌面/OSC

开发者离职,怎么保障数据库密码等敏感数据的管理呢?

在公司代码管理和后端开发中,如果开发者离职,需要更改数据库密码以保证安全性,这确实是一个很常见但也很麻烦的问题。不过,可以采取一些策略和工具来简化和管理这些安全方面的任务: ### 使用配置管理工具 1. **环境变量**:    将敏感信息(如数据库密码)存储在环境变量中,而不是代码中。这可以避免在每次密码更改时更新代码库。    - **优点**:无需更改代码即可更改密码。    -

colab挂载googledrive云盘

参考: Google Colab简易\入门\常规\常用操作和命令_colab快捷键-CSDN博客 首先新建一个或者打开一个笔记本。 等待连接成功。 点击这个图标,变为如下这样: 挂载成功。 这里我是用现有的ipynb文件挂载: 他让我运行代码: 他会提示这个运行这段代码,然后就挂载成功。

【个人云盘连接助手】解决多个用户账号无法同时映射到本地磁盘问题

问题 家里买了个联想个人云盘,但是使用SAMBA映射到windows本地磁盘时,每次只能连接到一个账户上,于是想着写个小工具,方便切换多个用户账户,自动映射到本地磁盘 开发简介 开发语言:python 主要实现功能: 通过配置文件配置要连接的账户信息选择不同账户时能够自动连接上并映射到本地磁盘 相关界面 主界面: 配置文件: 主要源码 net_store_switch.py

iCloud200g教育版云盘热点问题被锁根本原因经验博文

内幕现象 关于iCloud账号购买,笔者以为从某多闲鱼某宝都是不靠谱的,因为这些地方都是搞无货源模式,商家不是管理员只是倒卖的中介,而且这些平台是禁止交易虚拟网络账号的,所以很多这些平台商家都是以极低的价格出售快速走销量,因为被封店的概率很大,所以需要赚一波走人,网上出现的比如当自己误操作iCloud账号被锁、找不到商家,店铺消失,都是说的这类情况,一但账号出现问题,或者是需要管理员协助查看

教你迅速删掉烦人的【迅雷下载,百度网盘,wps云盘,OneDrive】在此电脑中的快捷方式图标

先打开注册表win + R 输入regedit 搜索下面的路径,进入后直接邮件删除 删除此电脑中的 迅雷下载,百度网盘的路径是: 计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace 删除此电脑左上角的 wps云盘,OneDrive的路径是: 计

私人云盘(自动云同步)

一、项目简介         模仿小米的云服务,实现一个通过TCP实现的私人云盘,因为能力有限,所以只实现自动云同步这一个功能,具体可以分为三个小功能,即保持云端和终端数据一致、实现文件的上传与下载以及手动同步 二、涉及到的知识点         主要有文件的打开与关闭,文件的发送与接收,文件的写入及socket通信,为了项目整体的间接性,还使用到的枚举类型的结构体以及链表 三、TCP通信

也许你也用得上,teamOS一键部署可视化私有云盘的方式

在当今信息爆炸的时代,数据存储和管理变得越来越重要。对于许多个人和企业来说,拥有一个安全、便捷的私有网盘是至关重要的。 然而,搭建网盘这活还真不是很好干。看看网上的那些教程,如何配置服务器、如何设置网络、如何管理数据……看着就头大。 不过现在不用愁了,可道云teamOS,只需花费大约10分钟的时间,就能轻松搞定一个可视化私有网盘。 一键安装,轻松部署 teamOS基于openEuler

推荐云盘哪个好,各有各的优势

选择合适的云盘服务是确保数据安全、便捷分享和高效协作的关键。下面将从多个维度对目前主流的云盘服务进行详细的对比和分析: 速度性能 百度网盘青春版:根据测试,其上传和下载确实不限速,但主要定位是办公人群,适用于非协作式办公。阿里云盘:其特点为不限制速度,尤其在上传下载和大文件快传方面具有优势,适合需要高速数据传输的用户。腾讯微云:不限制速度,但目前速度比阿里云盘和百度网盘青春版稍差。OneD

阿里云盘手机批量修改文件名

背景 目前刷剧都会使用阿里云盘配合infuse,但是从网上找到的资源经常命名不符合Infuse的刮削规范,导致无法正确建立元数据,虽然PC端可以使用油猴脚本批量修改电视剧名称, 但是经常出现身边并没有电脑(或者电脑上没有油猴脚本)的情况,这时候用手机就很难批量修改文件名,虽然iphone上有软件可以让safari执行油猴脚本,但是使用起来效果不是很理想 所以这里做了一个小工具,可以通过手机端批量