V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xingyue
V2EX  ›  信息安全

LUKS 加密磁盘后的 vps 是不是就彻底安全了,求指教

  •  2
     
  •   xingyue · 1 天前 · 1647 次点击

    环境

    1. 出于性价比考虑,购买了国内某家小型 IDC 的 VPS ,通过支付宝完成了实名认证流程。VPS 有 100G 的系统盘和 2T 的数据盘,宿主机采用 KVM 虚拟化。
    2. 家里的宽带有公网 IP ,路由器将一个端口转发到家里的 NAS 设备,供 WireGuard 连接使用。
    3. 本人从事前端开发,对后端知识了解有限。

    需求

    1. 由于 IDC 运营方禁止机器与墙外互联,因此 VPS 通过 WireGuard 连接到家里,再使用 NAS 上的 Clash 局域网共享代理,从而可以访问 GitHub 等墙外开发资源。
    2. VPS 用于正常业务,作为个人练手学习 Golang 的环境,会有部分用户的音视频数据临时存储在数据盘上。

    安全处理

    • VPS 通过 GRUB+VNC 重装了系统,使用官方 Debian 12 镜像,在图形化安装界面中选择了加密系统盘,密码为 14 位的强密码。
    • 安装完成后,又使用 LUKS 对数据盘进行加密,数据盘配置为自动解密挂载,密钥存放在 /root/luks.key 中。
    • SSH 关闭了密码登录,仅允许密钥方式登录。

    安全疑虑

    由于机器是通过 “小作坊” 购买的,而且我的 WireGuard 配置文件可直接用于连接家里的设备,一旦数据被拷贝,后果不堪设想。因此我对安全性存有担忧。按照各家 AI 的说法,我现在的安全措施已经足够(除非 IDC 直接拷贝我的内存数据),但仍不敢完全相信 AI 的评估,故发帖求教。

    附件

    磁盘截图

    第 1 条附言  ·  1 天前
    我错误的以为虚拟机也有内存加密,所以目前看来就是掩耳盗铃了。

    算了,既然折腾了,就折腾到底,按照楼下大佬提示装好了 dropbear ,这样就不用进 vnc 输入磁盘解锁开机了,本地 ssh 再加个解锁配置就 OK 了,参考博文: https://www.cyberciti.biz/security/how-to-unlock-luks-using-dropbear-ssh-keys-remotely-in-linux/
    31 条回复    2025-02-07 11:55:42 +08:00
    Donaldo
        1
    Donaldo  
       1 天前   ❤️ 1
    LUKS 密钥在运行时是驻留在内存里的,想破解的话只要 dump 内存就行了,这么高的安全需求还是别用 VPS 了。。
    Donaldo
        2
    Donaldo  
       1 天前   ❤️ 1
    哦,没看完帖子,你要是不担心 dump 内存那应该问题不大。
    baobao1270
        3
    baobao1270  
       1 天前   ❤️ 1
    「 WireGuard 配置文件可直接用于连接家里的设备」
    出了问题换掉密钥就行

    「 LUKS 加密磁盘后的 vps 是不是就彻底安全了」
    不是,IDC 可以 DUMP 内存,如果你的 LUKS 需要进 VNC 输入密码,IDC 也有能力捕获

    「 IDC 运营方禁止机器……互联」
    大概率是避免风险,小规模的下载依赖等大概率不会有问题,此外这种不靠谱 IDC 建议月付,重要业务建议上阿里、腾讯
    tool2dx
        4
    tool2dx  
       1 天前
    "因此 VPS 通过 WireGuard 连接到家里,再使用 NAS 上的 Clash 局域网共享代理,从而可以访问 GitHub 等墙外开发资源。"

    你家里有公网 IP ,弄个小主机 24 小时开机就是了。何必那么麻烦。
    blackmirror
        5
    blackmirror  
       1 天前   ❤️ 1
    不安全的一直是人
    xingyue
        6
    xingyue  
    OP
       1 天前
    @baobao1270
    @Donaldo #2
    感谢回复,不担心 dump 内存,安全需求还没有那么高,个人理解里认为 dump 内存的成本是很高的。
    idc 禁止外网互联是直接在网关做了限制,无法建立海外 IP 的连接,所以才绕了很大个弯.....
    开机确实需要 vnc 输入密码才能进入系统,除非魔改 vnc ,不然 vnc 输入可以认为是安全的,不知道我理解得对不对。
    xingyue
        7
    xingyue  
    OP
       1 天前
    @tool2dx 家里有小主机,购买 vps 主要是出于带宽考虑,家用的带宽上传想要达到 200Mbps 实在是成本太高了。现在做一些小项目,需要用到比较大的上传带宽。
    leonshaw
        8
    leonshaw  
       1 天前   ❤️ 1
    @xingyue
    “dump 内存的成本是很高的” —— 打个在线快照就行了
    guo4224
        9
    guo4224  
       1 天前
    请问是哪家,我也想搞个当测试机。
    xingyue
        10
    xingyue  
    OP
       1 天前 via Android
    @leonshaw 因为 ai 告诉我说内存有硬件加密机制,提速信息的成本很高。如果这个是错误的话,那我确实掩耳盗铃了(🤦‍♂️🤦‍♂️🤦‍♂️
    MoeMoesakura
        11
    MoeMoesakura  
       1 天前 via Android   ❤️ 1
    @xingyue vm 不是独服 都是虚拟出来的 那他开硬件加密不乱消耗内存么
    MoeMoesakura
        12
    MoeMoesakura  
       1 天前 via Android
    (内存 cpu 等资源)
    Donaldo
        13
    Donaldo  
       1 天前
    @xingyue #6 dump 没成本,虚拟化环境一个命令就出来了。
    vvhhaaattt
        14
    vvhhaaattt  
       1 天前 via Android
    我印象中,kvm 环境下即使是官方 iso 镜像,安装过程中可能也是安装了 libvirt guest 类似的软件,可以从宿主机管理虚拟机。
    当然也可能是我记错了或者学艺不精。
    vvhhaaattt
        15
    vvhhaaattt  
       1 天前 via Android
    问了下 ai ,应该是记错了……
    Remember
        16
    Remember  
       1 天前   ❤️ 1
    @vvhhaaattt 管不了那么仔细,关机重启这些肯定可以,但是不能像服务商加装官方木马那样啥都能管了。
    xingyue
        17
    xingyue  
    OP
       1 天前 via Android
    @MoeMoesakura 啊啊啊,那寄咯😭😭😭一个折腾装系统搞加密到凌晨五点的切图仔轻轻的碎了
    Remember
        18
    Remember  
       1 天前   ❤️ 1
    对你这种需求来说,你这程度已经足够安全了。

    如果说你的数据真的非常 classify ,不能冒任何泄露的风险,那你就不该买任何云服务器,甚至你买了 bare metal 都不能托管到 isp 的机房,毕竟东西不在自己眼睛可视范围内,都不是 100%安全。
    hanguofu
        19
    hanguofu  
       1 天前
    从 boot 区 加载 sda5_crypt 是需要每次都 进 VNC 输入密码 吗 ?如果是的话 , 应该是安全的。
    xingyue
        20
    xingyue  
    OP
       1 天前 via Android
    @hanguofu 嗯嗯是的,得输密码才能进系统
    busier
        21
    busier  
       1 天前   ❤️ 3
    @xingyue 从控制台,例如 VNC 输入密码不够安全。

    可以研究下 dropbear-initramfs 可以在引导阶段通过 ssh 输入密码解锁 luks root
    alex8
        22
    alex8  
       1 天前
    感觉现在所有的云主机都会附加安装一些自己开发的驱动或服务,即使你上传的镜像也不例外,只要挂载上,它就能访问的到。
    drymonfidelia
        23
    drymonfidelia  
       1 天前   ❤️ 1
    dump 内存成本有多低
    你用过虚拟机吗?几乎所有虚拟化软件都有个挂起功能,只要点一下就把内存 dump 到一个文件里了,你的密钥就在里面,宿主机怎么重启再恢复都不用密码
    LnTrx
        24
    LnTrx  
       1 天前
    如果只是为了远程转发一个端口,不一定需要组虚拟局域网。
    另外既然楼主担心外人进到内网,说明内网可能有些不设防的服务。如果真的重视安全,就不能假设内网一定干净,建议考虑加固。
    mayli
        25
    mayli  
       1 天前
    感觉自己用的话,不算彻底安全,但是应该也没啥大问题。
    zingl
        26
    zingl  
       1 天前   ❤️ 1
    避免 vnc 输入 luks 密码,可以使用 mandos 通过网络传输密钥

    如上面几楼说的,从防范服务商的角度,这些操作对于虚拟机没有意义,主要是方便自己
    Betterr
        27
    Betterr  
       21 小时 16 分钟前 via iPhone
    用就别怕,怕就别用。

    技术层面讲,你的 vps 就是母鸡上的虚拟机,运行时快照一打内存啥的不都能看吗?

    从商家角度讲,谁闲的没事干监控虚拟机里你干啥了?而且还有可能被你发现挂出去的风险,影响商家做生意的风险他干嘛做呢?
    charles0
        28
    charles0  
       20 小时 52 分钟前 via iPhone
    如果要安全性,能不能实现这样的系统:即使所有文件包括 WireGuard 配置文件都泄露了,攻击者也只能通过它连接外网,做不了其它事情,与其它部分隔离。我不太熟悉 WireGuard ,但感觉这是可行的。这才安全吧。
    catsnl
        29
    catsnl  
       13 小时 49 分钟前 via iPhone   ❤️ 1
    可以通过链式代理访问到你家的 vpn ,需要再次认证,这样即使被 vps 被攻破还有也不至于家里内网全部暴露。我是 ss ( vps ) →wireguard (家里的路由器)→ss (内网)
    louisxxx
        30
    louisxxx  
       8 小时 40 分钟前 via iPhone
    你是不是傻? 虚拟机快照一下就能拿到你数据,还包括内存快照
    xingyue
        31
    xingyue  
    OP
       3 小时 47 分钟前
    @charles0 WireGuard 可以通过 AllowedIPs 去限制节点可访问网段,但是因为我需要通过虚拟局域网去共享代理,所以 VPS 实际可以通过代理网络去访问我的整个内网,VPS--WireGuard-->NAS>--http-proxy-->内网其他设备。可以参考楼下的建议,使用链式代理。

    @catsnl 非常感谢,这样配置成本极低,也避免了局域网代理共享引起的问题,再次感谢!!!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5483 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 07:42 · PVG 15:42 · LAX 23:42 · JFK 02:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.