我正在为一个客户设计一个安全敏感的设置。情况如下:
敏感信息必须存储在可能被未经授权的人员访问的服务器上。没有办法以100%安全的方式保护硬件。
在这里,我的方法:
我用密码设置/luks加密根计算机,然后用cryptsetup/luks加密映像,并将其挂载为虚拟机的硬盘。虚拟机再次具有加密的根FS。
现在我想阻止任何人在机器运行时访问硬件。我想检测插入它的未知设备,如USB-拇指驱动器或火线设备等。
在udev中是否有一种检测未知设备的方法?到目前为止,我只找到了为我所知道的设备定义操作的方法。但我想为未知设备的连接定义一个动作。
谢谢你的意见。
发布于 2013-09-12 13:58:24
如果你想要这样的东西,你需要把所有的设备当作可疑的东西,在任何时候,任何设备都被插入,只要求设备的所有者知道什么。由于插入该设备的用户不必是同一个人,因此您不能跳过此操作,因为您认为该设备之前已被批准。
在udev中是否有一种检测未知设备的方法?
udev不理解“未知设备”:由于/dev/中有一个条目,所以它要么理解所有的USB/消防线设备,要么不理解。udev不知道意味着该设备在该系统中无法工作。ID_VENDOR_ID和ID_MODEL_ID不允许您看到相同制造和型号的两个设备之间的差异。
一种可能的方法:
有关插入设备时执行的基本脚本,请参见https://wiki.archlinux.org/index.php/Execute_在……上面_USB_插入。这将迫使任何设备显示一个菜单,用户需要在其中验证它是否可以访问。
链接中的规则..。
ACTION=="add", RUN+="/usr/bin/exdongle run /media/%k-%E{dir_name}"将在任何试图装入/media/并启动脚本"exdongle“的设备上工作(脚本可能需要一些调整,因为它有一个免责声明)。
您认为“未知”的是Linux称为USB的特定设备。因此,如果存在USB支持,所有USB设备将被平等对待。设备有一个供应商和产品id,但它们在每个make/型号中是唯一的,而不是每个USB设备。
唯一具有唯一ID的USB设备是dongle ( http://en.wikipedia.org/wiki/Software_保护_东乐 )。这些程序通常带有用于验证的软件(也不是用于无头系统),但您可能可以将标识保存到文件中,并编写类似于上面这样的脚本,以便对已知的id集进行测试。
https://askubuntu.com/questions/344657
复制相似问题