Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
USBGuardのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
USBGuard
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:ハードウェア検出とトラブルシューティング]] [[Category:セキュリティ]] [[en:USBGuard]] USBGuard は USB デバイスに対してホワイトリスト・ブラックリストを設定できるソフトウェアです。BadUSB などの exploit に対抗するために作られました。Linux カーネルに含まれているデバイスブロック機構を利用しており、デーモンとフロントエンドが存在します。 == インストール == {{Pkg|usbguard}} パッケージを[[インストール]]してください。開発版は {{Aur|usbguard-git}} でインストールできます。 公式の Qt アプレットは [https://github.com/USBGuard/usbguard/releases/tag/usbguard-0.7.5 削除され]{{AUR|usbguard-notifier}} に [https://usbguard.github.io/blog/2019/usbguard-0.7.6 置き換え] られました。Qt アプレットの非公式の分岐バージョンは、{{AUR|usbguard-applet-qt}} として入手できます。 == 設定 == メインの設定ファイルは {{ic|/etc/usbguard/usbguard-daemon.conf}} です。編集するには root 権限が必要です。 IPC 経由でデーモンを制御したい場合、使用しているユーザー名を {{ic|IPCAllowedUsers}} に、ユーザーのグループを {{ic|IPCAllowedGroups}} に追加してルールを永続化させてください。大抵の場合、この設定が必要になります。 デフォルトでは usbguard は新しく接続されたデバイスを全てブロックします。デーモンが起動する前に接続されたデバイスはそのまま使うことができます。{{ic|PresentDevicePolicy}} オプションを使うことでこの設定を変更できます。{{ic|apply-policy}} に設定するとデーモンが再起動したときでもセキュリティが保証されます。 {{ic|ImplicitPolicyTarget}} オプションではルールにマッチしないデバイスの扱い方を設定できます。一番セキュアな設定は {{ic|block}} です。 設定に関する詳細は設定ファイル内の豊富なコメントを見てください。 == 使用方法 == USBGuard にはコアデーモンと CLI、GUI、D-Bus インターフェイスと libusbguard で使える API が備わっています。 {{Warning|デーモンを起動/有効化する前に必ず実際に設定してください、しない場合キーボードとマウスを含むすべての USB デバイスが直ちにブロックされます!}} Qt GUI や DBUS 経由で通信する他のプログラム (GNOME 統合も含む) を使用する場合は、{{ic|usbguard-dbus.service}} を [[有効化]] して [[起動]] して下さい。 API による通信のみを行う場合 (CLI ツールや libusbguard を利用した他のソフトウェアで行う場合) {{ic|usbguard.service}} を [[有効化]] して [[起動]] して下さい。 CLI は {{ic|usbguard}} コマンドで起動できます。 詳しくはそれぞれの man ページを見てください。 === ルール === 必要に応じて USBGuard を構成するには、{{ic|/etc/usbguard/rules.conf}} を編集します。ただし、通常、ルールを手動で編集する必要はありません。root として {{ic|usbguard generate-policy > /etc/usbguard/rules.conf}} を実行することにより、現在接続されている USB デバイスに基づいてルールセットを生成できます。 ルールの構文は、[https://github.com/USBGuard/usbguard/blob/master/doc/man/usbguard-rules.conf.5.adoc こちら] で正式に説明されています。 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 デバイスのインターフェイスタイプがどれかに一致。 |} === GNOME との統合 === [[GNOME]] には USBGuard のサポートが組み込まれています [https://www.phoronix.com/scan.php?page=news_item&px=GNOME-3.35.91-Released 3.36 から] GNOME のアクセスを許可するためには [[polkit]] ルールの設定が必要で、デフォルトではデバイスを許可しロックスクリーンでのみブロックするように [[GNOME#設定|dconf]] が変更されています。 {{Warning|最初に実際にポリシーを生成してください ([[Usbguard#使用方法|使い方]] と [[Usbguard#ルール|ルール]] を参照してください) しない場合キーボードやマウスの入力を含むすべての USB デバイスがすぐにブロックされます!}} ==== USBGuard デーモンに GNOME アクセスを許可する ==== 次のファイルを作成して、USBGuard へのアクセスが割り当てられた {{ic|wheel}} グループを持つユーザーの下で実行されている GNOME Shell を承認します。 {{hc|/etc/polkit-1/rules.d/70-allow-usbguard.rules|<nowiki> // Allow users in wheel group to communicate with USBGuard polkit.addRule(function(action, subject) { if ((action.id == "org.usbguard.Policy1.listRules" || action.id == "org.usbguard.Policy1.appendRule" || action.id == "org.usbguard.Policy1.removeRule" || action.id == "org.usbguard.Devices1.applyDevicePolicy" || action.id == "org.usbguard.Devices1.listDevices" || action.id == "org.usbguard1.getParameter" || action.id == "org.usbguard1.setParameter") && subject.active == true && subject.local == true && subject.isInGroup("wheel")) { return polkit.Result.YES; } });</nowiki>}} polkit ルールへの変更は、polkit デーモン自体によって自動的に取得されます。 ==== GNOME USB 保護をオンにする ==== USBGuard サービスが存在し、この設定が有効な場合、USB デバイスは usb-protection-level の設定で設定されたとおりに保護されます。以下のコマンドを実行することで有効にします。 {{bc|$ gsettings set org.gnome.desktop.privacy usb-protection true}} ==== デフォルトですべての USB デバイスをブロック ==== {{ic|lockscreen}} に設定すると、ロック画面が表示されている場合にのみ、新しい USB デバイスが拒否されます。{{ic|always}} に設定すると、すべての新しい USB デバイスが常に拒否されます。以下のコマンドを実行して、すべての新しい USB デバイスを拒否します。 {{bc|$ gsettings set org.gnome.desktop.privacy usb-protection-level always}} == 関連プロジェクト == * {{AUR|usbkill-git}} (USB ポートの変更を待機し、すぐにコンピュータをシャットダウンする anti-forensic kill-switch) * {{AUR|silk-guardian-dkms}} (不明な USB デバイスのキルスイッチ (DKMS)) == 参照 == * [https://github.com/dkopecek/usbguard/ USBGuard リポジトリ] * [https://raw.githubusercontent.com/USBGuard/usbguard/8b76c935f019facd362e2f12a4db5e24f6e58e62/doc/usbguard-component-diagram.png USBGuard component diagram] * [https://srlabs.de/bites/usb-peripherals-turn/ BadUSB のバックグラウンド情報] * [https://docs.kernel.org/usb/authorization.html USB デバイス制御用のカーネルインターフェイス] * [https://wiki.gnome.org/Internships/2018/Projects/USB-Protection GNOME USB 保護のバックグラウンド情報] * [https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/tree/master/plugins/usb-protection gnome-settings-daemon usb-protection プラグインのソース]
このページで使用されているテンプレート:
テンプレート:AUR
(
ソースを閲覧
)
テンプレート:Aur
(
ソースを閲覧
)
テンプレート:Bc
(
ソースを閲覧
)
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:META Box
(
ソースを閲覧
)
テンプレート:META Box Red
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
テンプレート:Warning
(
ソースを閲覧
)
USBGuard
に戻る。
検索
検索
USBGuardのソースを表示
話題を追加