如何在 Linux 服务器中阻止 USB 存储设备
为了保护能够物理访问计算机的用户从服务器提取敏感数据,最佳实践是禁用 Linux 内核中的所有 USB 存储支持。
为了禁用USB存储支持,我们首先需要确定存储驱动程序是否加载到Linux内核中以及负责存储驱动程序的驱动程序(模块)的名称。
运行lsmod命令列出所有加载的内核驱动程序,并通过grep命令使用搜索字符串“usb_storage”过滤输出。
lsmod | grep usb_storage
从lsmod命令中,我们可以看到sub_storage模块正在被UAS模块使用。接下来,从内核卸载两个 USB 存储模块,并通过发出以下命令验证删除是否已成功完成。
modprobe -r usb_storage
modprobe -r uas
lsmod | grep usb
接下来,通过发出以下命令列出当前运行时内核 USB 存储模块目录的内容并识别 usb-storage 驱动程序名称。通常该模块应命名为usb-storage.ko.xz或usb-storage.ko。
ls /lib/modules/`uname -r`/kernel/drivers/usb/storage/
为了阻止USB存储模块加载到内核中,请将目录更改为内核USB存储模块路径并将usb-storage.ko.xz模块重命名为usb-storage.ko.xz。黑名单,通过发出以下命令。
cd /lib/modules/`uname -r`/kernel/drivers/usb/storage/
ls
mv usb-storage.ko.xz usb-storage.ko.xz.blacklist
在基于 Debian 的 Linux 发行版中,发出以下命令来阻止 usb-storage 模块加载到 Linux 内核中。
cd /lib/modules/`uname -r`/kernel/drivers/usb/storage/
ls
mv usb-storage.ko usb-storage.ko.blacklist
现在,每当您插入 USB 存储设备时,内核将无法加载存储设备驱动程序引入内核。要恢复更改,只需将列入黑名单的 USB 模块重命名回其旧名称即可。
cd /lib/modules/`uname -r`/kernel/drivers/usb/storage/
mv usb-storage.ko.xz.blacklist usb-storage.ko.xz
但是,此方法仅适用于运行时内核模块。如果您想将系统中所有可用内核的 USB 存储模块列入黑名单,请输入每个内核模块目录版本路径并将 usb-storage.ko.xz 重命名为 usb-storage.ko .xz.黑名单。