11.6. USB デバイス用の構造化されたカスタムポリシーの作成
/etc/usbguard/rules.d/ ディレクトリー内の複数の .conf ファイルで、カスタムの USBGuard ポリシーを整理できます。usbguard-daemon により、メインの rules.conf ファイルとディレクトリー内の .conf ファイルがアルファベット順に結合されます。
前提条件
-
usbguardサービスがインストールされ、実行中である。
手順
現在接続されている USB デバイスを許可するポリシーを作成し、生成されたルールを新しい
.confファイル (例:<policy.conf>)に保存します。usbguard generate-policy --no-hashes > ./<policy.conf>
# usbguard generate-policy --no-hashes > ./<policy.conf>Copy to Clipboard Copied! Toggle word wrap Toggle overflow --no-hashesオプションは、デバイスのハッシュ属性を生成しません。設定のハッシュ属性は永続的ではない可能性があるため、回避してください。任意のテキストエディターで
<policy.conf>ファイルを開き、記録する必要があるルールが含まれる行を選択します。次に例を示します。... allow id 04f2:0833 serial "" name "USB Keyboard" via-port "7-2" with-interface { 03:01:01 03:00:00 } with-connect-type "unknown" ...... allow id 04f2:0833 serial "" name "USB Keyboard" via-port "7-2" with-interface { 03:01:01 03:00:00 } with-connect-type "unknown" ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 選択した行を別の
.confファイルにコピーします。注記ファイル名の先頭にある 2 つの数字は、デーモンが設定ファイルを読み込む順序を指定します。
たとえば、キーボードのルールを新しい
.confファイルにコピーするには、次のコマンドを実行します。grep "USB Keyboard" ./<policy.conf> > ./<10keyboards.conf>
# grep "USB Keyboard" ./<policy.conf> > ./<10keyboards.conf>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいポリシーを
/etc/usbguard/rules.d/ディレクトリーにインストールします。install -m 0600 -o root -g root <10keyboards.conf> /etc/usbguard/rules.d/<10keyboards.conf>
# install -m 0600 -o root -g root <10keyboards.conf> /etc/usbguard/rules.d/<10keyboards.conf>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 残りの行をメインの
rules.confファイルに移動します。grep -v "USB Keyboard" ./policy.conf > ./rules.conf
# grep -v "USB Keyboard" ./policy.conf > ./rules.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow 残りのルールをインストールします。
install -m 0600 -o root -g root rules.conf /etc/usbguard/rules.conf
# install -m 0600 -o root -g root rules.conf /etc/usbguard/rules.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow usbguardデーモンを再起動して、変更を適用します。systemctl restart usbguard
# systemctl restart usbguardCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
アクティブな USBGuard ルールをすべて表示します。
usbguard list-rules
# usbguard list-rules ... 15: allow id 04f2:0833 serial "" name "USB Keyboard" hash "kxM/iddRe/WSCocgiuQlVs6Dn0VEza7KiHoDeTz0fyg=" parent-hash "2i6ZBJfTl5BakXF7Gba84/Cp1gslnNc1DM6vWQpie3s=" via-port "7-2" with-interface { 03:01:01 03:00:00 } with-connect-type "unknown" ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow rules.confファイルと、/etc/usbguard/rules.d/ディレクトリー内の.confファイルの内容をすべて表示します。cat /etc/usbguard/rules.conf /etc/usbguard/rules.d/*.conf
# cat /etc/usbguard/rules.conf /etc/usbguard/rules.d/*.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow - アクティブなルールに、ファイルのすべてのルールが正しく、正しい順序で含まれていることを確認します。