Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

4.12. USBGuardの使用

USBGuard ソフトウェアフレームワークは、デバイス属性に基づく基本的なホワイトリストおよびブラックリスト機能を実装することで、侵入型 USB デバイスに対してシステムを保護します。ユーザー定義のポリシーを適用するために、USBGuard は Linux カーネルの USB デバイス認証機能を使用します。USBGuard フレームワークは、以下のコンポーネントを提供します。
  • 動的対話およびポリシー適用用のプロセス間通信(IPC)インターフェースを備えたデーモンコンポーネント。
  • 実行中の USBGuard インスタンスと対話するコマンドラインインターフェース。
  • USB デバイス認証ポリシーを記述するルール言語。
  • 共有ライブラリーに実装されたデーモンコンポーネントと対話する C++ API

4.12.1. USBGuardのインストール

usbguard パッケージをインストールするには、root で以下のコマンドを入力します。
~]# yum install usbguard
初期ルールセットを作成するには、root で以下のコマンドを入力します。
~]# usbguard generate-policy > /etc/usbguard/rules.conf
注記
USBGuard ルールセットをカスタマイズするには、/etc/usbguard/rules.conf ファイルを編集します。詳細は、man ページの usbguard-rules.conf(5) を参照してください。また、例については、「ルール言語を使用した独自のポリシーの作成」 を参照してください。
USBGuard デーモンを起動するには、root で以下のコマンドを入力します。
~]# systemctl start usbguard.service
~]# systemctl status usbguard
● usbguard.service - USBGuard daemon
   Loaded: loaded (/usr/lib/systemd/system/usbguard.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2017-06-06 13:29:31 CEST; 9s ago
     Docs: man:usbguard-daemon(8)
 Main PID: 4984 (usbguard-daemon)
   CGroup: /system.slice/usbguard.service
           └─4984 /usr/sbin/usbguard-daemon -k -c /etc/usbguard/usbguard-daem...
システムの起動時に USBGuard を自動的に起動するように設定するには、root で次のコマンドを実行します。
~]# systemctl enable usbguard.service
Created symlink from /etc/systemd/system/basic.target.wants/usbguard.service to /usr/lib/systemd/system/usbguard.service.
USBGuard が認識するすべての USB デバイスを一覧表示するには、root で次のコマンドを実行します。
~]# usbguard list-devices
1: allow id 1d6b:0002 serial "0000:00:06.7" name "EHCI Host Controller" hash "JDOb0BiktYs2ct3mSQKopnOOV2h9MGYADwhT+oUtF2s=" parent-hash "4PHGcaDKWtPjKDwYpIRG722cB9SlGz9l9Iea93+Gt9c=" via-port "usb1" with-interface 09:00:00
...
6: block id 1b1c:1ab1 serial "000024937962" name "Voyager" hash "CrXgiaWIf2bZAU+5WkzOE7y0rdSO82XMzubn7HDb95Q=" parent-hash "JDOb0BiktYs2ct3mSQKopnOOV2h9MGYADwhT+oUtF2s=" via-port "1-3" with-interface 08:06:50
デバイスによるシステムとの対話を承認するには、allow-device オプションを使用します。
~]# usbguard allow-device 6
デバイスの暗号化を解除し、システムからデバイスを削除するには、reject-device オプションを使用します。デバイスを認証できるようにするには、usbguard コマンドに block-device オプションを指定して実行します。
~]# usbguard block-device 6
USBGuard では、block および reject は以下の意味で使用されます。
  • block - 今はこのデバイスと対話しません。
  • reject - このデバイスを、存在しないかのように無視する
usbguard コマンドのすべてのオプションを表示するには、--help ディレクティブを付けて実行します。
~]$ usbguard --help