我想通过传递内核参数来禁用在 grub 级别执行的单用户模式攻击。
我知道一个解决方案,那就是输入 grub 密码和 bios 密码。但我想知道如果不输入密码我们是否能禁用单用户模式攻击。
答案1
如果攻击者可以物理访问系统并需要更改内核参数,那么在没有加密的情况下就毫无意义了。
但是,我猜测init=/arbitrary/command
您可以通过注释掉以下行来限制该特定方法(内核源代码,并编译自己的内核:
if (execute_command) {
ret = run_init_process(execute_command);
if (!ret)
return 0;
panic("Requested init %s failed (error %d).",
execute_command, ret);
}
我还没有测试过,所以不能保证。
有关的:
答案2
除了完全加密你的根分区(显然使用一个单独的启动分区)之外,你几乎无法阻止那些可以物理访问你的系统的人的攻击。
物理访问==根访问。