如何通过grub2安全进入任何Linux机器?
获得对您的计算机的物理访问权限的人如何以任何方式安全地获取这些步骤的能力?
- 当grub2菜单打开时,按e编辑Linux启动选项
-
更改:
"linux /vmlinuz-2.6.35-23-generic root=UUID=e7f1e48d-0015-485f-be7d-836217a31312 ro quiet splash"
至:
"linux /vmlinuz-2.6.35-23-generic root=UUID=e7f1e48d-0015-485f-be7d-836217a31312 ro init=/bin/bash"
-
现在你有root访问权限:
mount -o remount,rw / passwd user mount -o remount,ro / sync
-
重新启动计算机,你赢了。
我的问题是,如何通过grub2安全进入任何Linux机器? 我不明白Linux的这个事实,谢谢你的回答。
获得对您的计算机的物理访问权限的人以任何方式获得root [使用Grub / Bash]的能力如何安全?
因为如果Linux决定开始这样做,黑客就会利用其他安全漏洞。 第一个安全规则是, 如果我有物理访问你的系统,它就是游戏结束。 我赢了。
另外,想象一下你的X服务器坏了,你再也没有GUI了。 您需要启动到恢复控制台来修复问题,但您不能,因为这是不安全的。 在这种情况下,你会留下一个完全破碎的系统,但是嘿,至少它是“安全的”!
但Kaz,这怎么可能? 我在Grub上设置了一个密码,这样你就无法将我的
init
更改为Bash!
哦,你做到了,是吗? 有趣,因为这看起来像你的相册。 GRUB根本没有任何固有的安全因素。 它只是一个引导程序 ,而不是某些安全引导和身份validation链中的一个步骤。 事实上,你设置的“密码”很容易绕过。
那个,以及什么系统管理员在紧急情况下没有携带启动驱动器?
但是怎么样?! 你不知道我的密码(完全不是
P@ssw0rd
btw)
是的,但这并不能阻止我打开你的电脑并拿出你的硬盘。 从那里开始,只需几个简单的步骤即可将驱动器安装到我的计算机上,让我可以访问您的所有系统。 这也有绕过BIOS密码的好处。 那,或者我可以重置你的CMOS。 两者任一。
那么……我怎么不让你访问我的数据?
简单。 让你的电脑远离我。 如果我可以触摸它,访问键盘,插入我自己的闪存驱动器,或拆开它,我可以赢。
那么,我可以将计算机放在数据中心或其他什么地方吗? 那些非常安全,对吗?
是的,他们是。 但是,你忘记了人类也是可以破解的,并且给予足够的时间和准备,我可能会进入该数据中心并从你的计算机中吸取所有这些甜蜜,甜蜜的数据。 但我离题了。 我们在这里处理真正的解决方案。
好的,所以你叫我虚张声势。 我不能把它放在数据中心。 我可以加密我的主文件夹或其他东西吗?
你当然可以! 这是你的电脑! 它会帮助阻止我吗? 没有丝毫。 我可以用我自己的恶意程序替换重要的东西,比如/usr/bin/firefox
。 下次打开Firefox时,所有秘密数据都会被秘密地传输到某个秘密服务器。 而你甚至都不知道。 或者,如果我经常访问您的计算机,我可以将您的主文件夹设置为复制到/usr/share/nonsecrets/home/
或任何类似(非加密)位置。
好的,全盘加密怎么样?
那……真的很不错。 但是,它还不完美! 我总是可以用可靠的压缩空气来执行冷启动攻击 。 或者,我可以将硬件键盘记录器插入您的计算机。 一个人显然比另一个人容易,但方式并不重要。
在绝大多数情况下,这是一个很好的停留地点。 也许将它与TPM配对(下面讨论),你就是金色的。 除非你激怒了一个三字母代理机构或一个非常有动力的黑客,否则没有人会经历过这个阶段所需的努力。
当然,我仍然可以通过为您提供PPA或类似软件来安装一些恶意软件/后门程序,但这会进入用户信任非常模糊的区域。
那么…… iPhone如何安全? 即使有物理访问,你也无能为力。
嗯,是的,不。 我的意思是,如果我有足够的动力,我可以阅读闪存芯片并获得我需要的一切。 但是,iPhone基本上是不同的,因为它们是一个完全锁定的平台。 但是,与此同时,你真的牺牲了可用性和从灾难性故障中恢复的能力。 GRUB(非常特别设计时除外) 并不意味着是安全系统中的链。 事实上,大多数Linux系统的安全链都是在启动后启动的,所以在GRUB完成它的事情之后。
此外,iPhone还具有加密签名执行function(也在下面讨论过),这使得恶意软件很难通过合法路径潜入您的手机。
但是TPM / SmartCards / [在这里插入加密技术]怎么样?
那么,现在你将物理安全性与方程式结合起来,它仍然变得更加复杂。 但是,这不是一个真正的解决方案,因为TPM相对较弱,并且所有加密都不会发生在片上。 如果你的TPM(以某种方式)足够强大,它在芯片本身进行加密(一些非常奇特的硬盘驱动器有这样的东西),密钥将永远不会泄露,冷启动攻击等事情是不可能的。 但是,密钥(或原始数据)可能仍然存在于系统总线中,这意味着它们可能被截获。
即便如此,我的硬件键盘记录程序仍然可以获取您的密码,并且我可以轻松地将一些恶意软件加载到您的计算机上,这是我之前提到的Firefox漏洞。 我需要的只是让你离开你的房子/电脑大概一个小时。
现在,如果您随身携带TPM /智能卡/其他任何内容,并且所有加密实际上都在芯片上完成(意味着您的密钥根本没有存储在RAM中),那么我几乎不可能进入除非你(用户)滑倒并忘记了某些事情。 也就是说,除非我找到某种方法从系统总线读取(未加密的)密钥。
但是,如果我在所有程序中都采用某种forms的加密/数字签名来确保它们是合法的呢?
正如各种智能手机公司所certificate的那样,这是处理安全问题的一种非常好的方法。 你现在已经无效了我在你的机器上注入一些代码来做恶事的能力,这是一个加分。 实际上,您已经无法远程保留对计算机的持久访问权限,这是一个巨大的优势。
但是,这仍然不是一个完美的方法! 数字签名执行不会阻止硬件键盘记录器。 它还需要完全无错误,这意味着我无法找到允许我将自己的证书加载到您的计算机证书存储区中的漏洞利用程序。 此外,这意味着系统上的每个可执行文件都需要签名 。 除非您想手动完成并完成所有这些工作,否则很难找到在所有内容上都有数字签名的Apt软件包等。 类似地,这阻止了对未签名可执行文件的合法使用,即恢复。 如果你破坏重要的东西,并且你没有(签名的)可执行文件来修复它会怎么样? 好吧,那就是你的系统。
无论哪种方式,在Linux上做这项工作的努力基本上已经全部放弃,不再适用于新内核,因此您需要创建自己的内核。
那么,你不可能让你离开我的电脑?
实际上,是的,抱歉。 如果我有物理访问权和足够的动力,那么总是可以进入系统。 没有例外。
但实际上,大多数邪恶的人都不会为了一些猫的照片而试图走这么远。 通常情况下,只需全盘加密(甚至只是运行Linux!)就足以阻止大多数脚本小孩获得两秒钟的成名。
TL; DR:只是不要让你不信任的人靠近你的电脑。 这通常足够好。
如果你想要它被束缚使用密码 。 从链接:
GRUB 2密码保护说明
Grub 2可以在以下方面建立密码要求:
- 所有菜单
- 具体菜单
- 对于特定用户:例如,用户“Jane”可以访问Ubuntu但不能访问Windows恢复模式,只能由超级用户“John”访问。
-
管理员必须通过编辑GRUB 2系统文件手动启用密码保护。
-
应在
/etc/grub.d/00_header
或其他GRUB 2脚本文件中标识用户和密码。 -
除非需要对所有菜单条目进行全面保护,否则必须标识特定条目:
- 手动编辑Grub 2
/etc/grub.d/
脚本,例如10_linux
和30_os-prober
-
通过编辑用户创建的自定义配置文件手动进行。
-
上述任一方法都可以使GRUB 2在执行update-grub时自动将密码要求添加到配置文件(grub.cfg)中。
-
手动编辑
/boot/grub/grub.cfg
。 运行update-grub
时将删除对此文件的编辑,并且密码保护将丢失。
- 手动编辑Grub 2
-
如果启用了任何forms的GRUB 2密码保护,则需要超级用户的名称和密码才能访问GRUB 2命令行和菜单编辑模式。
- 用户名和/或密码不必与Ubuntu登录名/密码相同。
- 除非使用GRUB 2的密码加密function,否则密码将以纯文本forms存储在可读文件中。 有关使用此function的指导,请参阅“密码加密”部分。
默认情况下(!)在这种情况下,可用性胜过安全性。 如果您不能相信周围的人,请始终随身携带机器。 需要更多安全性的人倾向于加密他们的整个系统,因此需要密码。
你的故意黑客从这开始:
- 当grub2菜单打开时,按“e”编辑linux启动选项
但您可以使用密码保护e
选项,如下所述: 如何将GRUB密码保护添加到操作系统加载进程,而不是编辑引导选项时
您可以采取加密grub密码的额外步骤,如链接中所述。 事实上,大概有3%的人口(疯狂猜测)在家中使用Linux / Ubuntu,系统管理员在工作中防止生产系统上的e
function是一个好主意。 我想如果Ubuntu在工作中使用,那么30%到40%的人也会在家里使用它,也许有10%的人会学习如何在他们的家庭系统上使用它。
感谢您的问题,他们刚刚学到了更多。 通过上面的链接,系统管理员在其待办事项列表上有另一项任务来保护生产环境。
为了使grub安全,您需要保护对它的访问。 这可以通过硬盘密码完成,我在这里谈论磁盘安全性,它存储在磁盘本身的固件中。 无法读取或写入磁盘。 因此,如果没有密码,grub不仅无法访问,您的数据也是如此。
由于密码存储在磁盘本身,将其移动到另一个系统将无助于黑客。
有些软件可以从某些制造商的磁盘中删除密码,但它也可以有效地擦除磁盘。 所以你的数据仍然是安全的。