如何封linux服务器usb

worktile 其他 118

回复

共3条回复 我来回复
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    封禁Linux服务器上的USB设备的方法取决于所使用的Linux发行版和版本。以下是一种常见的方法:

    1. 打开终端,在root权限下登录服务器。
    2. 使用以下命令安装所需的工具:
      • 对于Debian/Ubuntu发行版:apt-get install usbguard
      • 对于Red Hat/CentOS发行版:yum install usbguard
    3. 创建一个新的USB保护规则文件:
      nano /etc/usbguard/rules.conf
    4. 在规则文件中添加以下内容:
    # USBGuard rules.conf
    # 允许特定的设备
    allow 1a2b:3c4d serial "MyAllowedList"
    # 列出允许的所有设备
    allow with-interface all
    # 其他设备一律禁止
    reject with-interface all
    
    • 1a2b:3c4d是设备的厂商和产品ID。您可以通过运行lsusb命令获取这些信息。
    • MyAllowedList是您想要允许的设备的描述性名称。
    1. 保存并关闭文件。
    2. 启动USBGuard服务:
      • 对于systemd系统:systemctl start usbguard
      • 对于SysV Init系统:service usbguard start
    3. 配置USBGuard服务在系统启动时自动启动:
      • 对于systemd系统:systemctl enable usbguard
      • 对于SysV Init系统:chkconfig usbguard on
    4. 验证USBGuard的配置:
      • 运行usbguard generate-policy命令以生成当前连接设备的策略。
      • 运行usbguard list-devices命令以列出系统中的设备及其在规则文件中的状态。
      • 运行usbguard list-rules命令以列出规则文件中定义的策略。

    以上步骤会禁止所有未在规则文件中定义的USB设备。如果您想要允许特定设备访问服务器,您需要添加相应的规则到规则文件中。请记住,配置USBGuard可能会导致一些设备无法正常工作,因此在禁用USB设备之前,要确保你知道什么设备会被封禁。

    1年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    要封锁 Linux 服务器的 USB 端口,可采取以下方法:

    1. 禁用 USB 存储设备:通过修改 udev 规则,可禁用 USB 存储设备的自动加载。首先,找到并编辑 /etc/udev/rules.d/10-usb-storage.rules 文件,在文件中添加以下代码:
    SUBSYSTEM=="usb", ATTRS{product}=="USB Mass Storage*", ATTR{authorized}="0"
    

    保存并退出文件。重新启动 udev 服务,或者重新插拔 USB 存储设备,即可禁用 USB 存储设备的加载。

    1. 禁用 USB HID 设备:HID (Human Interface Device) 设备包括键盘和鼠标等输入设备。通过修改 udev 规则,可禁用 USB HID 设备的加载。找到并编辑 /etc/udev/rules.d/50-usb.rules 文件,在文件中添加以下代码:
    SUBSYSTEM=="usb", ATTRS{idVendor}=="<vendor_id>", ATTRS{idProduct}=="<product_id>", ATTR{authorized}="0"
    

    <vendor_id><product_id> 替换为相应的设备供应商 ID 和产品 ID。保存并退出文件。重新启动 udev 服务,或者重新插拔 USB HID 设备,即可禁用 USB HID 设备的加载。

    1. 配置 USBGuard:USBGuard 是一个用于限制 USB 设备访问的守护进程。通过配置 USBGuard,可对 USB 设备的访问进行细粒度的控制。安装 USBGuard 并编辑其配置文件 /etc/usbguard/usbguard.conf,设置适当的规则来限制或阻止特定 USB 设备的访问。

    2. 禁用 USB 核心驱动:禁用 USB 核心驱动将完全禁用服务器上所有的 USB 端口。这种方法需要小心使用,因为一旦禁用,将无法通过 USB 设备进行任何操作。要禁用 USB 核心驱动,执行以下命令:

    echo "blacklist usbcore" >> /etc/modprobe.d/blacklist.conf
    

    然后重新启动服务器即可。

    1. 物理安全措施:在服务器物理上采取安全措施,如封闭 USB 端口或使用特殊的物理设备来控制访问权限,以防止未经授权的人员插入 USB 设备。

    以上方法可根据需求和安全要求适用于不同的 Linux 发行版和版本。请在操作前备份服务器数据,并确保对所采取的安全措施有适当的访问控制和监控措施。

    1年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在Linux服务器上封锁USB设备可以通过udev规则和USB存储驱动模块来实现。下面是详细的操作步骤:

    1. 确定USB存储驱动模块:
      首先,我们需要确定服务器使用的USB存储驱动模块,可以通过以下命令来查看已加载的模块:

      lsmod | grep usb_storage
      

      如果输出有结果,则表明已加载了USB存储驱动模块。

    2. 创建udev规则:
      需要创建一个udev规则文件来限制USB设备的使用。以root用户身份,在终端中输入以下命令:

      sudo nano /etc/udev/rules.d/99-usb-lock.rules
      

      在打开的编辑器中,输入以下内容:

      SUBSYSTEM=="usb", ATTRS{idVendor}=="[usb_vendor_id]", ATTRS{idProduct}=="[usb_product_id]", ENV{UDISKS_IGNORE}="1"
      

      其中,[usb_vendor_id][usb_product_id]需要替换为要封锁的USB设备的厂商ID和产品ID。可以通过以下命令来获取设备的ID信息:

      lsusb
      

      每个USB设备的厂商ID和产品ID都会显示在输出结果中。

    3. 保存和退出文件:
      按下Ctrl + X,然后按下Y并按回车键来保存并退出文件。

    4. 重新加载udev规则:
      执行以下命令来重新加载udev规则:

      sudo udevadm control --reload-rules
      
    5. 重新加载USB存储驱动模块:
      执行以下命令来重新加载USB存储驱动模块:

      sudo modprobe -r usb_storage
      sudo modprobe usb_storage
      
    6. 测试封锁效果:
      插入被封锁的USB设备,查看是否被系统忽略。可以通过以下命令来查看已连接的USB设备信息:

      lsusb
      

      如果被封锁的USB设备没有显示在输出结果中,则表示封锁成功。

    注意事项:

    • 在操作之前,请务必备份重要文件,并确保您具有root权限。
    • 由于不同的Linux发行版可能存在差异,以上步骤可能会因系统版本而有所不同,请根据实际情况进行适当调整。
    • 如果需要解除对特定USB设备的封锁,只需删除相应的udev规则并重新加载udev规则和USB存储驱动模块即可。
    1年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部