Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
USBGuardのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
USBGuard
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:ハードウェア検出とトラブルシューティング]] [[en:Usbguard]] USBGuard は USB デバイスに対してホワイトリスト・ブラックリストを設定できるソフトウェアです。BadUSB などの exploit に対抗するために作られました。Linux カーネルに含まれているデバイスブロック機構を利用しており、デーモンとフロントエンドが存在します。 == インストール == {{Aur|usbguard}} パッケージを[[インストール]]してください。開発版は {{Aur|usbguard-git}} でインストールできます。 == 設定 == メインの設定ファイルは {{ic|/etc/usbguard/usbguard-daemon.conf}} です。編集するには root 権限が必要です。 IPC 経由でデーモンを制御したい場合、使用しているユーザー名を {{ic|IPCAllowedUsers}} に、ユーザーのグループを {{ic|IPCAllowedGroups}} に追加してルールを永続化させてください。大抵の場合、この設定が必要になります。 デフォルトでは usbguard は新しく接続されたデバイスを全てブロックします。デーモンが起動する前に接続されたデバイスはそのまま使うことができます。{{ic|PresentDevicePolicy}} オプションを使うことでこの設定を変更できます。{{ic|apply-policy}} に設定するとデーモンが再起動したときでもセキュリティが保証されます。 {{ic|ImplicitPolicyTarget}} オプションではルールにマッチしないデバイスの扱い方を設定できます。一番セキュアな設定は {{ic|block}} です。 設定に関する詳細は設定ファイル内の豊富なコメントを見てください。 == 使用方法 == USBGuard にはコアデーモンと CLI、Qt GUI、D-Bus インターフェイスと libusbguard で使える API が備わっています。Qt GUI を使ったり他のプログラムから D-Bus で通信したい場合、{{ic|usbguard-dbus.service}} を起動・有効化してください。API を使って通信したい場合 (CLI ツールや libusbguard を使用するソフトウェアを使う場合)、{{ic|usbguard.service}} を起動・有効化してください。 CLI は {{ic|usbguard}} コマンドで起動できます。 詳しくはそれぞれの man ページを見てください。 Qt アプレットは {{ic|usbguard-applet-qt}} で起動でき、インタラクティブなグラフィカルインターフェイスが表示されます。 === ルール === {{ic|/etc/usbguard/rules.conf}} を編集することで、必要に応じて usbguard を設定できます。ただしルールを手動で編集する必要は通常ありません。 ルールの構文については [https://github.com/dkopecek/usbguard#rule-language こちら] で詳しく解説されています。USB 接続の HP 製プリンターのルールは以下のようになります: allow id 03f0:0c17 serial "00CNFD234631" name "hp LaserJet 2020" hash "a0ef07fceb6fb77698f79a44a450121m" parent-hash "69d19c1a5733a31e7e6d9530e6k434a6" with-interface { 07:01:03 07:01:02 07:01:01 } ルールにはまずポリシーを指定します。{{ic|allow}} はデバイスをホワイトリストに追加し、{{ic|block}} はデバイスの使用を停止し、{{ic|reject}} はデバイスをシステムから排除します。ポリシーの後には以下の属性とオプションを記述します: {| class="wikitable" ! 属性 || 説明 |- | id usb-device-id || USB のデバイス ID が一致。 |- | id [operator] { usb-device-id ... } || USB デバイス ID がどれかに一致。 |- | hash "value" || デバイスの属性値や USB 記述子のデータから計算されるハッシュが一致。USBGuard は全てのデバイスのハッシュを計算します。 |- | hash [operator] { "value" ... } || デバイスのハッシュがどれかに一致。 |- | parent-hash "value" || 親デバイスのハッシュが一致。 |- | parent-hash [operator] { "value" ... } || 親デバイスのハッシュがどれかに一致。 |- | name "device-name" || USB のデバイス名が一致。 |- | name [operator] { "device-name" ... } || USB のデバイス名がどれかに一致。 |- | serial "serial-number" || USB の iSerial デバイス属性が一致。 |- | serial [operator] { "serial-number" ... } || USB の iSerial デバイス属性がどれかに一致。 |- | via-port "port-id" || デバイスを接続するのに使用した USB 端子が一致。環境によってはシステムを再起動したりカーネルモジュールがリロードされたときに端子の番号が変わってしまうことがあるので注意してください。特定の親デバイスで接続されたことを条件にしたい場合は親デバイスのハッシュ属性を使ってください。 |- | via-port [operator] { "port-id" ... } || USB 端子がどれかに一致。 |- | with-interface interface-type || USB デバイスのインターフェイスタイプが一致。 |- | with-interface [operator] { interface-type interface-type ... } || USB デバイスのインターフェイスタイプがどれかに一致。 |} == 参照 == * [https://github.com/dkopecek/usbguard/ USBGuard ウェブサイト] * [https://raw.githubusercontent.com/dkopecek/usbguard/master/doc/usbguard-component-diagram.png USBGuard 構成図] * [https://srlabs.de/bites/usb-peripherals-turn/ BadUSB 背景情報] * [https://www.kernel.org/doc/Documentation/usb/authorization.txt USB デバイス制御のカーネルインターフェイス]
このページで使用されているテンプレート:
テンプレート:AUR
(
ソースを閲覧
)
テンプレート:Aur
(
ソースを閲覧
)
テンプレート:Bc
(
ソースを閲覧
)
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
テンプレート:Warning
(
ソースを閲覧
)
USBGuard
に戻る。
検索
検索
USBGuardのソースを表示
話題を追加