USB 存储是物理通道
机房与办公区的物理访问往往不可控,USB 存储既能被用来拷走数据,也是引入恶意程序的经典路径。不需要读取外部存储的服务器应当禁用 usb-storage 内核模块:黑名单防止后续加载,卸载已加载模块让限制立即生效。
基本信息
| 适用平台 | Linux(物理服务器与边缘设备) |
|---|---|
| 实现方式 | /etc/modprobe.d 中写 install usb-storage /bin/true,并 rmmod 已加载模块 |
| 不受影响 | USB 键鼠走 usbhid,禁 usb-storage 不影响它们 |
| 风险等级 | 中:物理访问与数据外带的常见入口 |
典型使用场景
- 托管机房的服务器:进出人员不可控,减少可插拔介质最直接
- 数据敏感业务机:降低内部人员拷走的可能性
- 合规要求:可移动介质控制条款常被映射到这一项
- 临时放开后的恢复:确需 U 盘升级时按流程临时加载,事后立即恢复黑名单
- 工控与边缘设备:现场人员流动性大,物理接口收敛比流程约束更可靠
加固与核查
加固与核查
# 黑名单写法让内核加载请求直接失败
printf 'install usb-storage /bin/true\n' > /etc/modprobe.d/blacklist-usb-storage.conf
# 卸载已加载模块,让限制对当前运行的系统生效
rmmod usb-storage 2>/dev/null || true
lsmod | grep usb_storage || echo 'usb-storage 未加载'
# 复核:插入 U 盘后不应出现新的块设备
lsblk | tail -5相关模块对照
| 模块 | 负责的硬件 | 处置建议 |
|---|---|---|
| usb-storage | U 盘、移动硬盘、读卡器等存储设备 | 无外设需求的服务器禁用 |
| uas | USB Attached SCSI,部分高速移动硬盘 | 常与 usb-storage 一起禁,按机型实测 |
| usbhid | USB 键鼠与部分 KVM | 保留,禁用会导致无法本地操作 |
禁用后依赖 U 盘启动盘、U 盘密钥或离线升级包的流程会失败:先确认运维应急方案与带外管理可用,再推生产。
云主机没有物理 USB 场景,这一项主要面向托管机房、边缘设备与工控机;在云环境把它标为「不适用」并写明理由,比笼统写达标更可信。
核查是否真的生效,看 lsmod 与 /proc/modules 两个地方:有些发行版会用别名加载,只看黑名单文件名容易误判为已加固。