网站搜索

如何在 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.xzusb-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.黑名单