“Magic SysRq 键” 是一个按键序列,允许将一些基本命令直接传递给内核。内核软件开发人员使用此接口来调试他们的软件。在大多数情况下,它也可以用于非正常地重启计算机,这在远程情况下很难或很昂贵。
对于不用于内核软件开发的计算机,Magic SysRq 键成为理想的拒绝服务设备。只需几次未经身份验证的击键,计算机就会彻底瘫痪。控制台,无论是串行的还是其他的,都必须位于仅限受信任人员访问的区域。
串行控制台使用 RS-232 中断功能作为 “Magic SysRq 键”。“中断”是指串行线路上的一段时间内没有传输,在传统终端上,它是通过按下标有 Break 键的按键来激活的。
任何人都可以拨号连接到调制解调器并发送中断,因此如果串行控制台连接到调制解调器,我们需要禁用 Magic SysRq 键。如果串行控制台连接到需要身份验证的终端服务器,或者使用零调制解调器电缆直接连接到另一个终端,那么您可以决定启用 Magic SysRq 键。
可以通过设置内核变量或不编译对该键的支持来禁用 Magic SysRq 键。
写入0到/proc/sys/kernel/sysrq将禁用 Magic SysRq 键。命令 sysctl 也可以使用
您的 Linux 发行版可能有一个文件/etc/sysctl.conf用于在机器启动期间运行 sysctl。添加以下行
即使在关闭 Magic SysRq 键的情况下/etc/sysctl.conf在内核启动后但在应用文件内容之前,仍然存在一段脆弱期。
最好编译您自己的内核并设置以下配置参数
这应该将以下配置参数放在/usr/src/linux/.config.