USB メモリ スティックを使用して、Linux コンピューターからデータを盗むことができます。 USBGuard を使用すると、USB ストレージ デバイスのファイアウォールなど、USB メモリ スティックの使用を管理するルールを設定できます。 これがどのように機能し、どのように設定するかです。

USBメモリースティックとその危険性
私たちはおそらく、少なくとも XNUMX つの USB メモリ スティックまたは外付け USB ドライブなどの USB ストレージ デバイスを持っています。 それらは安価で、効果的で、持ち運び可能で、使いやすいです。
最近では、Linux PC にプラグインするだけで、ストレージ デバイスとして自動的に選択されてマウントされます。 コマンドラインで手動でインストールしなければならない時代は終わりました。 この便利さは、誰でも XNUMX つを Linux コンピューターに挿入し、USB ドライブからコンピューターに、またはコンピューターからメモリ スティックにデータをコピーできることを意味します。
他の人があなたのコンピュータを使用している場合、その人が USB メモリ スティックでできることを制限したい場合があります。 コンピューターが自宅にある場合、悪意のある日和見主義者がコンピューターの電源が入っていて無人であるときに通り過ぎる可能性は低くなりますが、これは職場で発生する可能性があります。
しかし、実家にコンピュータがある場合でも、USB アクセスを制限したい場合があります。 おそらくあなたのお子さんには、定期的に一緒に遊ぶ友達がいるでしょう。 USB アクセスをロックすることは、それらが意図せずに問題を引き起こすのを防ぐための合理的な予防策です。
誰かが USB ドライブを見つけると、すぐにそれを何かに差し込んで何が入っているかを確認したいという欲求があります。 Linux コンピューターを標的とするサイバー脅威は、Windows コンピューター向けに設計されたものよりもはるかにまれですが、依然として存在しています。
USBガードとは何ですか?
USBGuard は、感染した USB メモリ スティックに配布されるソフトウェアベースの脅威からユーザーを保護します。BadUSB では、文書のように見えるが偽装された実行可能ファイルを開くように操作されたときに攻撃が開始されます。 USBGuard は、デバイスに高電圧放電を放出することによってコンピューターに物理的な害を与える USB Killer デバイスなどのハードウェアベースの脅威からユーザーを保護することはできません。
実際、USBGuard を使用すると、マウス、Web カメラ、キーボードなど、さまざまな種類の USB デバイスすべてにルールを設定できます。 USBメモリースティックだけではありません。 コンピュータは各 USB デバイスの ID を認識しているため、コンピュータで動作する USB デバイスと動作しない USB デバイスを選択できます。 USB 接続用のファイアウォールのようなものです。
警告: USBGuard デーモンは、インストールすると機能します。 インストール後すぐに USBGuard を設定してください。 そうしないと、コンピュータを再起動したときにすべての USB デバイスがブロックされます。
Linux での USB スティックの通常の動作
何かを行う前に、Ubuntu 22.10 コンピューターのデフォルトの動作を確認します。 それは簡単なプロセスです。 USB メモリスティックを挿入して、何が起こるかを確認します。
ビープ音が聞こえ、ドックにメモリースティックのアイコンが表示されます。

ファイル ブラウザを開くと、サイドバーのサイト リストにエントリが追加されていることがわかります。 表示名は、初期化時にデバイスに付けられた名前です。

ターミナルを開き、lsusb コマンドを使用して、接続されている USB デバイスを一覧表示します。 一番上のエントリーは問題のメモリースティックで、たまたまTDKブランドのデバイスです。
lsusb
USBGuard をインストールする
USBGuard は、usbutils と udisks2 に依存しています。 テストした最新の Manjaro、Fedora、および Ubuntu ビルドでは、既にインストールされています。
USBGuard を Ubuntu にインストールするには、次のコマンドを使用します。
sudo apt install USBguard

Fedoraでは、次のように入力する必要があります。
sudo dnf インストール USBguard

マンジャロでは、コマンドは次のとおりです。
sudo pacman -S usbguard
基本ポリシーを構成する
USBGuard には巧妙なトリックがあります。 これには、現在接続されているすべての USB デバイスが支障なく動作し続けることを許可するルールを作成するコマンドが含まれています。 これは、必要なすべてのデバイスの基本構成をいつでも作成できることを意味します。 このルールのセットは、基本ポリシーと呼ばれます。
USBGuard は XNUMX 種類のルールを使用します。
- グレース: ルールにより、通常どおり、特定のデバイスが妨げられずに機能することが許可されます。 これは、有線キーボード、マウス、トラックボール、Web カメラなどの常時接続デバイスに使用されます。 また、断続的に接続される既知の信頼できるデバイスにも使用されます。
- 禁止: ブロック ルールにより、USB デバイスの再生が防止されます。 USB デバイスは、ユーザーにはまったく見えません。
- 拒絶:deny ルールも USB デバイスの実行を防ぎますが、usb デバイスは lsusb を使用してユーザーに表示されます。
USBGuard には巧妙なトリックがあります。 これには、現在接続されている USB デバイスごとに許可ルールを含む基本ポリシーを作成するコマンドが含まれています。 これは、キーボードや Web カメラなど、コンピューターに常に接続されているデバイスをすばやく構成するための優れた方法です。 また、信頼性が高くむらのあるデバイスをキャプチャする便利な方法でもあります。 コマンドを発行するときは、信頼できるすべてのデバイスがコンピューターに接続されていることを確認してください。
奇妙なことに、ルートとして実行する必要があります。 コマンドで sudo を使用しても機能しません。 sudo -i (ログイン) コマンドを使用してシェルを root として開き、コマンドを発行する必要があります。 完了したら、必ず exit コマンドを使用して root ログイン セッションを終了してください。
sudo -i
usbguard generate-policy -X -t reject > /etc/usbguard/rules.conf
終了する
-X (–no-hashes) オプションは、USBGuard が各デバイスのハッシュ属性を生成しないようにします。 -t (ターゲット) オプションは、認識されていないすべての USB デバイスのデフォルトのターゲットを設定します。 私たちの場合、「拒否」を選択しました。 「ブロック」を選択することもできました。

新しいルールを見つけるには、cat を使用できます。
sudo 猫 /etc/usbguard/rules.conf

テスト コンピューターでは、これにより XNUMX つの USB デバイスが検出され、それらの "許可" ルールが作成されました。 他のすべての USB デバイスのターゲットとして「deny」を追加しました。
別の USB デバイスを追加する
ここで、以前に使用したのと同じ USB メモリ スティックを接続すると、機能しなくなります。 ドックにもファイル ブラウザにも追加されず、ビープ音も鳴りません。
しかし、不明なデバイスに対して「拒否」ターゲットを使用したため、lsusb はそれらの詳細を一覧表示できます。
lsusb

プライマリ ポリシーで「ブロック」ターゲットを使用する場合、-b (ブロックされたデバイス) オプションを指定して device list コマンドを使用する必要があります。
sudo usbguard list-devices -b

これにより、現在接続されているがブロックされている USB デバイスが表示されます。
このコマンドからの情報を使用して、拒否された USB デバイスの一時的なアクセスまたは永続的なアクセスを許可します。 デバイスに一時的なアクセスを許可するには、デバイス ID 番号を使用します。 この例では、これは「10」です。
sudo usbguardallow-device 10

デバイスが接続され、ドックとファイル ブラウザーに表示されます。 ブロックされたデバイスを一覧表示するように USBGuard に要求すると、一覧には何も表示されません。
sudo usbguard list-devices -b

-p (永続的) オプションを使用して、パーミッションを永続的にすることができます。 これにより、ルールが作成され、ポリシーに追加されます。
sudo usbguardallow-device 10 -p

これで、この USB デバイスを通常どおり使用できます。
USB デバイス アクセスを削除する
USB デバイスについて考えが変わった場合 (おそらく USB メモリ スティックを紛失したため、アクセスを削除したい場合)、block device コマンドを使用して削除できます。
デバイス ID を知る必要があります。 これは、許可されたデバイスを一覧表示することで見つけることができます。 この番号は、ルールをリストに追加するために使用した番号と同じではない可能性があるため、block device コマンドを発行する前に確認してください。
sudo usbguard list-devices -a

この場合、識別子は「13」です。 これを block-device コマンドと -p (永久) オプションで使用して、アクセスを永久に削除します。
sudo usbguard ブロックデバイス 13 -p

これにより、デバイスがすぐに切断されることに注意してください。 このコマンドは、デバイス上のデータの使用が終了した場合にのみ使用してください。
USBGuard は、コンピュータで使用できる USB デバイスを効率的かつ強力に制御および管理する方法を提供します。
それはあなたのコンピューターなので、あなたが選択するのは公平です。






