anna2701
Goto Top

USB-Laufwerke sperren

Hallo zusammen,

ich habe hier schon viele Fragen dazu gesehen und habe mir auch schon einige Lösungen angesehen aber nicht gefunden, wie ich die USB-Laufwerke mit Hilfe einer Batchdatei sperren kann.

Vielleicht suche ich falsch oder mir kann jemand helfen?

Content-Key: 243241

Url: https://administrator.de/contentid/243241

Printed on: April 19, 2024 at 11:04 o'clock

Member: DerWoWusste
Solution DerWoWusste Jul 10, 2014, updated at Aug 19, 2014 at 07:03:06 (UTC)
Goto Top
Hi.

Ich habe vor wenigen Tagen etwas umgesetzt, was mit Events arbeitet.
Jemand schließt einen Stick an ->Event wird generiert ->Triggert eine Batch, die die ID des Gerätes gegen eine Whitelist prüft->nicht drin ->deinstallation.

Interesse? Wenn nicht, Beschreib genauer.
Member: killtec
killtec Jul 10, 2014 at 09:37:54 (UTC)
Goto Top
Hi @DerWoWusste,
ich würde mir das gern mal anschauen. Klingt gut.
Du lässt also nur Devices (egal ob USB-Stick etc.) zu, die in der Whitelist sind, korrekt?

Gruß
Member: Anna2701
Anna2701 Jul 10, 2014 at 09:40:17 (UTC)
Goto Top
Sehr großes Interesse face-smile
Member: Anna2701
Anna2701 Jul 10, 2014 at 09:40:41 (UTC)
Goto Top
Das funktioniert nicht zufällig auch für CD bzw. DVD Laufwerke?
Member: Vidan011
Vidan011 Jul 10, 2014 at 09:41:29 (UTC)
Goto Top
würde mich auch Interessieren :D
Member: Dani
Dani Jul 10, 2014 updated at 09:49:03 (UTC)
Goto Top
Hi @DerWoWusste,
Ich habe vor wenigen Tagen etwas umgesetzt, was mit Events arbeitet.
Jemand schließt einen Stick an ->Event wird generiert ->Triggert eine Batch, die die ID des Gerätes gegen eine Whitelist prüft->nicht drin ->deinstallation.
Hört sich gut an... Bekunde Interesse!


Gruß,
Dani
Member: DerWoWusste
DerWoWusste Jul 10, 2014 at 09:53:08 (UTC)
Goto Top
Ok...
nun erst mal Mittagspause, aber dann.
Member: MS6800
MS6800 Jul 10, 2014 at 10:14:12 (UTC)
Goto Top
will mehr .... face-smile
Member: psannz
psannz Jul 10, 2014 updated at 10:55:53 (UTC)
Goto Top
Zitat von @DerWoWusste:

Ok...
nun erst mal Mittagspause, aber dann.

Du genießt es richtig uns auf die Folter zu spannen, oder? face-smile

Grüße,
Philip
Member: Anna2701
Anna2701 Jul 10, 2014 at 10:56:00 (UTC)
Goto Top
Das Gefühl teile ich :D
Member: DerWoWusste
DerWoWusste Jul 10, 2014, updated at Sep 13, 2016 at 08:45:49 (UTC)
Goto Top
Zunächst zu killtecs Frage nach dem Ansatz: wir wollen hier nur bestimmte Sticks sehen und Smartphones komplett verbieten. Andere Geräte werden nicht eingeschränkt - ich hatte auch das mal versucht und kann nur sagen: Microsoft's GPO-Konzept dazu ist selbst mit 8.1/2012R2 erst halb gar. Ich will da aber nicht näher ins Detail gehen.

Realisiert ist es so: es wurden zwei geplante Tasks verteilt, einer "gegen" Smartphones und einer gegen USB-Sticks. Diese arbeiten mit der devcon.exe http://social.technet.microsoft.com/wiki/contents/articles/182.how-to-o ... in der Version 6.1.7600.16385. Wichtig: eine Version pro Architektur, die 32er-Version läuft zwar auf 64-Bit, aber fehlerhaft!
Schritt 1: devcon.exe verteilen per GPO nach c:\windows
2: 2 Tasks (Phones und Sticks) per GPO verteilen.
--
Phones: Tasktrigger bei Event, und zwar:
Log: Microsoft-Windows-WPD-MTPClassDriver/Operational | Source: WPD-MTPClassDriver | EventID:1000
Aktion: lokale Batch mit
for /f "tokens=1 delims=:, " %%a in ('devcon listclass wpd') do devcon.exe remove "@%%a"  
Executor: System
Edit: Nebenwirkungen und neuer Workaround siehe Sperrung von WPD Devices - Folge: IPhones nicht mehr über USB aufladbar
--
Sticks: Tasktrigger bei Event, und zwar: Log: Microsoft-Windows-Kernel-PnP/Device, Source: Kernel-PnP, EventID: 410
Aktion: lokale Batch mit
xcopy \\server\share\allowlist.txt c:\windows\ /y
devcon.exe findall * |findstr "USB.Mass" >%temp%\usb.txt  
devcon.exe findall * |findstr /c:"Generic Flash Disk USB Device" >>%temp%\usb.txt  
del %temp%\usb2.txt
for /f %%a in (%temp%\usb.txt) do echo %%a>>%temp%\usb2.txt
for /f "tokens=1,2,3 delims=\" %%a in (%temp%\usb2.txt) do findstr "%%a\%%b" c:\windows\allowlist.txt || devcon.exe remove "@%%a\%%b\%%c"  
Executor: System

Das war's auch schon. In der allowlist.txt stehen bei uns bestimmte Klassen von Sticks (Hersteller: sandisk, Modell Cruzer Orbit) drin, man kann aber sogar Einzelgeräte bis zur Seriennummer damit verbieten, wenn man es weiter anpasst. Beispieleintrag:
USBSTOR\DiskSanDisk_Cruzer_Orbit____1.26
(Dies ist die Hardware-ID, erste Zeile).
Die Batches lasse ich auch per GPO nach c:\windows verteilen.

Limitierungen:
1 lokale Admins können Tasks abschalten, also solltet Ihr diese ggf. überwachen, ebenso die Batches und devcon, wenn es wasserdicht sein muss und ihr Leute mit Adminrechten ausstattet, denen nicht zu trauen ist face-wink
2 Card Reader sind damit noch nicht abgedeckt (war hier keine Anforderung)

Getestet auf win8.1 x64/x86
Member: Anna2701
Anna2701 Jul 10, 2014 at 11:06:42 (UTC)
Goto Top
Wow, echt bemerkenswert.
Ich muss dir aber leider sagen, dass ich keine Ahnung habe, wie ich das realisiere face-sad
Member: DerWoWusste
DerWoWusste Jul 10, 2014 at 11:08:33 (UTC)
Goto Top
Anna, Du kannst ja gerne fragen, es steht schon alles da. Welcher Schritt ist unklar?
Member: Anna2701
Anna2701 Jul 10, 2014 at 11:11:04 (UTC)
Goto Top
Ich weiß schon gar nicht wie ich devcon.exe per GPO nach c:\windows verteile face-sad
Member: DerWoWusste
DerWoWusste Jul 10, 2014 updated at 11:33:09 (UTC)
Goto Top
Ok, dann fehlen Dir aber echte Grundlagen von GPOs und in dem Fall ist diese Aufgabe vielleicht auch zu groß für Dich. Verteilen kannst Du mittels group policy preferences http://technet.microsoft.com/en-us/library/cc772536.aspx - Auch Tasks verteilt man damit.
Member: Vidan011
Vidan011 Jul 10, 2014 at 11:36:23 (UTC)
Goto Top
Vielen Dank würde ich sagen, das sollte für meine Zwecke in Zukunft ausreichen;)

Cardreader wäre schön gewesen , aber die werden dan einfach Ausgebaut :D
Member: DerWoWusste
DerWoWusste Jul 10, 2014 at 11:38:51 (UTC)
Goto Top
Wg. Cardreader: hatte ich auch kurz versucht, scheitere daran, dass die Dinger generic-Treiber nehmen und es mir nicht gelang, diese eindeutig zu identifizieren, also in die Whitelist/allowlist.txt aufzunehmen.
Member: killtec
killtec Jul 10, 2014 at 11:46:41 (UTC)
Goto Top
HI @DerWoWusste,
werde das mal testen, sieht gut aus face-smile
Frohes Schaffen noch.

Gruß
Member: psannz
psannz Jul 10, 2014 at 13:05:13 (UTC)
Goto Top
Vielen Dank für deine Arbeit face-smile

Grüße,
Philip
Member: mrtux
mrtux Jul 10, 2014 updated at 17:11:25 (UTC)
Goto Top
Hi!

Zitat von @Anna2701:
Ich weiß schon gar nicht wie ich devcon.exe per GPO nach c:\windows verteile face-sad

Die Frage ist doch, ob Du GPOs in deinem Falle überhaupt brauchst? GPOs werden nur im Netzwerk verwendet. Handelt es sich um einen einzelnen Rechner oder nur um eine kleine Arbeitsgruppe, kannst Du das Thema GPOs gleich mal abhaken und dann den Rat von Kollege @aqui beherzigen und alles manuell (also von Hand) machen.... face-wink

Dann ist noch wichtig, wie es der Kollege DWW ja schon schreibt, ob auf dem Rechner die Benutzerrechte eingeschränkt sind. Denn wenn alle User Adminrechte haben, kannst Du dir das Thema komplett sparen. Ein User mit Adminrechten darf alles, auch Batchdateien löschen, die, wie in dem Fall, fürs deinstallieren von USB-Sticks eingerichtet wurden. Ist die Batchdatei weg, ist auch die "Sperre" weg. Du musst also erst mal den oder die PCs so einrichten, dass die User nicht mehr alles machen dürfen, ansonsten wäre dein Thema "USB Sticks sperren" gleich komplett gegessen, zumindest per Batch...

mrtux
Member: aqui
aqui Jul 10, 2014 at 16:37:44 (UTC)
Goto Top
Ich weiß schon gar nicht wie ich devcon.exe per GPO nach c:\windows verteile
Sprich, man kann es ganz einfach und simpel dahinkopieren...
Der Rest ist ja nur einfach abtippen und das sollte jeder können ?!

Die Lösung ist wirklich pfiffig !
Member: RamboJay
RamboJay Jul 11, 2014 at 16:42:40 (UTC)
Goto Top
Wir setzen DriveLock (kein Gefummel und Support) kostet halt auch Geld...
Member: aqui
aqui Jul 11, 2014 updated at 19:05:14 (UTC)
Goto Top
...und MS eigenes devcon kost nix außer ein bischen Code einzutippen face-wink
Member: RamboJay
RamboJay Jul 11, 2014 at 20:35:08 (UTC)
Goto Top
Und wenn es mal nicht funktioniert oder es Probleme gibt steht man alleine da...

Zudem kann DriveLock mehr und ist sehr durchdacht...

z.B. Zeitbegrenzte Freigabe von geblockten Anschlüssen/Laufwerken per Klick (für Rechner die sich im Netz befinden) oder per Freischaltcode (für Rechner die unterwegs sind).

Erstellen von verschlüsselten USB-Sticks...

Usw....
Member: DerWoWusste
DerWoWusste Jul 11, 2014 updated at 21:28:00 (UTC)
Goto Top
Wieso stehst Du alleine da, keinen Support von MS?
Jeder wie er mag. Meine Meinung ist "je weniger 3rd party, desto besser".
Member: goalix
goalix Jul 11, 2014 at 22:18:41 (UTC)
Goto Top
Stößt bei mir ebenfalls auf großes Interesse!

Besten Gruß
Member: DerWoWusste
DerWoWusste Feb 18, 2015 at 12:05:56 (UTC)
Goto Top
Achtung: an alle, die evtl. mein Skript mochten und einsetzen... mir ist gerade eine Unschönheit aufgefallen, die durchaus ein Problem darstellt.
Ich habe nun im zweiten Codeblock Zeile 3 hinzugefügt: del %temp%\usb2.txt
Ohne diese Zeile wächst die usb2.txt stetig an... und irgendwann ist die Performance so schlecht, dass die Löschung des angesteckten Sticks (und damit das Deaktivieren des selbigen) nicht mehr sofort, sondern erst nach einigen Sekunden erfolgt... das wollen wir nicht face-smile
Member: micmac
micmac Apr 22, 2015 at 10:56:11 (UTC)
Goto Top
Guten Tag, ich bin ganz neu hier, ich fürchte, mir ist ein Fehler bei der Positionierung meiner Frage passiert. Hab sie irrtümlich bei der Reiter WISSEN gestellt. Bitte um Korrektur und die Annahme meiner Entschuldigung.
Zu meiner Frage:

Diese Umsetzung und Idee findet ich höchst interessant. Ich versuche diese Schritte nachzuvollziehen, mit dem Ziel, event-triggering in anderen Situationen einzusetzen. Hab mich schon durch einige Artikel gelesen und kann der Logik des Aufbaus prinzipiell folgen. Nur:

ich scheitere bisher an den Triggern: z.B. Trigger: Tasktrigger bei Event und zwar Log: Microsoft-Windows-Kernel-PnP/Device Configuration, Source: Kernel-PnP, Event ID:410.
Oder:
Microsoft-Windows-WPD-MTPClassDriver/Operational | Source: WPD-MTPClassDriver | EventID:1000

Ich kann diese Logeinträge nicht finden. Ich habe dann versucht, in den Logs die eventIDs von connect/disconnect eines USB devices zu finden. Ebenfalls ohne Erfolg, scheinen für Win 7 professional keine eindeutigen Events zu sein.

Wenn man (ihr face-smile) mir hier ein klein wenig auf die Sprünge helfen würdest, wär das sehr fein. Ich hoff, die Frage ist nicht allzu blöd.

grüsse

micmac
Member: DerWoWusste
DerWoWusste Apr 22, 2015 at 11:10:51 (UTC)
Goto Top
Siehe heutige Antwort hier: Bad-USB geskriptet abwehren (ab Windows 8)
Member: aqui
aqui Apr 22, 2015 at 11:41:02 (UTC)
Goto Top
Hab sie irrtümlich bei der Reiter WISSEN gestellt. Bitte um Korrektur und die Annahme meiner Entschuldigung.
Das kannst du als TO SELBER machen wenn du am Thread auf "Bearbeiten" klickst !!
Einfach mal die FAQs lesen....
Member: DerWoWusste
DerWoWusste Sep 13, 2016 at 08:46:09 (UTC)
Goto Top
Edit 13.09.2016
Skript ergänzt um Zeile
devcon.exe findall * |findstr /c:"Generic Flash Disk USB Device" >>%temp%\usb.txt  
Somit werden auch Sticks erwischt, die Windows mit dem generic Treiber installiert (kam in Tests nie vor, hat sich jedoch jetzt hier und da mal ereignet).