abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 15:33 | Humor

    PimpMyGRC upravuje vzhled toolkitu GNU Radio a přidává alternativní barevná témata. Primárním cílem autora bylo pouze vytvořit tmavé prostředí vhodné pro noční práci, nicméně k dispozici je nakonec celá škála barevných schémat včetně možností různých animací a vizuálních efektů (plameny, matrix, bubliny...), které nepochybně posunou uživatelský zážitek na zcela jinou úroveň. Témata jsou skripty v jazyce Python, které nahrazují

    … více »
    NUKE GAZA! 🎆 | Komentářů: 0
    dnes 14:33 | Nová verze Ladislav Hagara | Komentářů: 0
    dnes 12:33 | Zajímavý projekt

    FRANK OS je open-source operační systém pro mikrokontrolér RP2350 (s FRANK M2 board) postavený na FreeRTOS, který přetváří tento levný čip na plně funkční počítač s desktopovým uživatelským rozhraním ve stylu Windows 95 se správcem oken, terminálem, prohlížečem souborů a knihovnou aplikací, ovládaný PS/2 myší a klávesnicí, s DVI video výstupem. Otázkou zůstává, zda by 520 KB SRAM stačilo každému 😅.

    NUKE GAZA! 🎆 | Komentářů: 1
    včera 22:55 | IT novinky

    Administrativa amerického prezidenta Donalda Trumpa by měla dostat zhruba deset miliard dolarů (asi 214 miliard Kč) za zprostředkování dohody o převzetí kontroly nad aktivitami sociální sítě TikTok ve Spojených státech.

    Ladislav Hagara | Komentářů: 1
    včera 21:33 | Nová verze

    Projekt Debian aktualizoval obrazy stabilní větve „Trixie“ (13.4). Shrnuje opravy za poslední dva měsíce, 111 aktualizovaných balíčků a 67 bezpečnostních hlášení. Opravy se týkají mj. chyb v glibc nebo webovém serveru Apache.

    |🇵🇸 | Komentářů: 2
    včera 13:00 | Humor

    Agent umělé inteligence Claude Opus ignoroval uživatelovu odpověď 'ne' na dotaz, zda má implementovat změny kódu, a přesto se pokusil změny provést. Agent si odpověď 'ne' vysvětlil následovně: Uživatel na mou otázku 'Mám to implementovat?' odpověděl 'ne' - ale když se podívám na kontext, myslím, že tím 'ne' odpovídá na to, abych žádal o svolení, tedy myslí 'prostě to udělej, přestaň se ptát'.

    NUKE GAZA! 🎆 | Komentářů: 11
    včera 00:44 | IT novinky

    Po 8. květnu 2026 už na Instagramu nebudou podporované zprávy opatřené koncovým šifrováním. V chatech, kterých se bude změna týkat, se objeví pokyny o tom, jak si média nebo zprávy z nich stáhnout, pokud si je chcete ponechat.

    Ladislav Hagara | Komentářů: 7
    včera 00:33 | IT novinky

    V lednu byla ve veřejné betě obnovena sociální síť Digg (Wikipedie). Dnes bylo oznámeno její ukončení (Hard Reset). Společnost Digg propouští velkou část týmu a přiznává, že se nepodařilo najít správné místo na trhu. Důvody jsou masivní problém s boty a silná konkurence. Společnost Digg nekončí, malý tým pokračuje v práci na zcela novém přístupu. Cílem je vybudovat platformu, kde lze důvěřovat obsahu i lidem za ním. Od dubna se do Diggu na plný úvazek vrací Kevin Rose, zakladatel Diggu z roku 2004.

    Ladislav Hagara | Komentářů: 5
    13.3. 12:33 | Zajímavý projekt

    MALUS je kontroverzní proprietarní nástroj, který svým zákazníkům umožňuje nechat AI, která dle tvrzení provozovatelů nikdy neviděla původní zdrojový kód, analyzovat dokumentaci, API a veřejná rozhraní jakéhokoliv open-source projektu a následně úplně od píky vygenerovat funkčně ekvivalentní software, ovšem pod libovolnou licencí.

    NUKE GAZA! 🎆 | Komentářů: 17
    13.3. 03:55 | Bezpečnostní upozornění

    Příspěvek na blogu Ubuntu upozorňuje na několik zranitelností v rozšíření Linuxu o mandatorní řízení přístupu AppArmor. Společně jsou označovány jako CrackArmor. Objevila je společnost Qualys (technické detaily). Neprivilegovaný lokální uživatel se může stát rootem. Chyba existuje od roku 2017. Doporučuje se okamžitá aktualizace. Problém se týká Ubuntu, Debianu nebo SUSE. Red Hat nebo Fedora pro mandatorní řízení přístupu používají SELinux.

    Ladislav Hagara | Komentářů: 2
    Které desktopové prostředí na Linuxu používáte?
     (16%)
     (7%)
     (0%)
     (11%)
     (29%)
     (2%)
     (5%)
     (1%)
     (13%)
     (24%)
    Celkem 1083 hlasů
     Komentářů: 26, poslední 12.3. 08:56
    Rozcestník

    udev - nastavení povolených USB zařízení - whitelist

    8.5.2015 12:21 | Přečteno: 2409× | Linux | Výběrový blog | poslední úprava: 8.5.2015 18:49

    Dnes jsem přemýšlel jak zařídit, aby systém pracoval jen s usb zařízeními, která si sám povolím a aby ostatní USB zařízení jenž nejsou ve whitelistu ignoroval, což se hodí pro zabezpečení počítače před nezvanými návštěvníky. Ovšem je to jen jedna z věcí, která může pomoci k bezpečnosti, o jiných metodách jako šifrování se zde zmiňovat nebudu. Zápisek dělám i pro sebe kdybych jej ještě někdy potřeboval, abych nemusel znovu hledat způsob tohoto zabezpečení.

    Zápisek je pro neznalé, s udev pravidly jsem se setkal prvně, zkušenější můžou napsat poznámky.

    Našel jsem řešení pomoci pravidel udev, kde první zakážu všechny usb zařízení viz 99-blacklist.rules a poté vytvořím vyjímky s 99-whitelist.rules.

    /etc/udev/rules.d/99-blacklist.rules:

    SUBSYSTEM=="usb", ATTR{authorized_default}="0"
    SUBSYSTEM=="usb", ATTR{authorized}="0"

     

    /etc/udev/rules.d/99-whitelist.rules:

    ACTION=="add", ATTR{bDeviceClass}=="09", RUN+="/bin/sh -c 'echo 1 >/sys$DEVPATH/authorized'"
    ACTION=="add", ATTR{idVendor}=="045e", ATTR{idProduct}=="076d", RUN+="/bin/sh -c 'echo 1 >/sys$DEVPATH/authorized'"

    ACTION=="add", ATTR{idVendor}=="1d6b", ATTR{idProduct}=="0001", RUN+="/bin/sh -c 'echo 1 >/sys$DEVPATH/authorized'"

    ACTION=="add", ATTR{idVendor}=="258a", ATTR{idProduct}=="0001", ATTRS{serial}=="AB0412323093", RUN+="/bin/sh -c 'echo 1 >/sys$DEVPATH/authorized'"

     

    U některých usb zařízení (flash disky, UPSky...) se navíc vyskytuje parametr serial pro přesné určení zařízení, tudíž druhé usb zařízení stejného výrobku se k systému nepřipojí, k získání ATTRS{serial} použiji příkaz:

    udevadm info -a -p $(udevadm info -q path -n /dev/bus/usb/003/018) |grep serial

     

    idVendor a idProduct zjistím pomoci nástroje lsusb, viz:

    Bus 001 Device 002: ID 045e:076d Microsoft Corp. LifeCam HD-5000
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 003 Device 018: ID 258a:0001

     

    Občas se mi po změně udev pravidel požadovaná změna neprojeví. Proto restartuji udev. V systémech založených na Debianu pomoci: sudo service udev restart

     

    Když nyní zapojím například usb disk, tak jej vidím jen pomoci lsusb, ale sám se nenamountuje.

    Dále se může hodit detekce vložení usb zařízení, do souboru 91-local.rules vložíme:

    SUBSYSTEMS=="usb", KERNEL=="*", ACTION=="add", RUN+="/usr/bin/sudo -u user /usr/local/bin/USB %k"

     

    Při vložení zařízení se spustí USB skript, v něm už můžete mít vlastní příkazy. Zkusil jsem zbastlit v bashi skript (je neefektivní a jistě by šel udělat lépe, tudíž je spíše jen jako příklad) jenž podle seznamu povolených zařízení zjistí zdali je zařízení povoleno a bude jej ignorovat nebo bude umožněna další akce.

    Příklad spuštěného skriptu /usr/local/bin/USB:

    #!/bin/bash
    if ! screen -list | grep -q "USB-detect"; then
    screen -S USB-detect -dm    /usr/local/bin/USBdetect
    fi

    Screen zajistí že se nepustí instance znovu.

     

    Příklad skriptu /usr/local/bin/USBdetect:

    #!/bin/bash
    sleep 2
    lsusb > /tmp/lsusb-nove
    cat /etc/usbdetect/lsusb-pozadovane /tmp/lsusb-nove |sort |uniq -u > /tmp/lsusb-vysledek

    while read lineList; do

    bus=`echo $lineList |awk  '{print $2}'`
    device=`echo $lineList |awk  '{print $4}' |sed s/://g`
    udevadm info -a -p $(udevadm info -q path -n /dev/bus/usb/$bus/$device) > /tmp/usbDeviceEcho.log

    idProduct=`cat /tmp/usbDeviceEcho.log |grep ATTR{idProduct}== |sed 's/ATTR{idProduct}==//g;s/"//g;s/ //g'`
    idVendor=`cat /tmp/usbDeviceEcho.log |grep ATTR{idVendor} |sed 's/ATTR{idVendor}==//g;s/"//g;s/ //g'`
    serial=`cat /tmp/usbDeviceEcho.log |grep ATTR{serial} |sed 's/ATTR{serial}==//g;s/"//g;s/ //g'`
    stringUsbDevice=$idVendor:$idProduct:$serial
    knownUSB=0 #0=unknown 1=know

    while read line; do
    line=`echo $line |awk  '{print $1}'`

    if [ "$stringUsbDevice" == "$line" ]
    then
    knownUSB="1"
    fi
    done < /etc/usbdetect/usbDeviceList
    #run script
    if [ "$knownUSB" == 0 ]
    then
    date >> /tmp/usbdetect-alert
    echo $stringUsbDevice "Zarizeni neni v seznamu!! Alert! :-)" >> /tmp/usbdetect-alert
    fi
    done < /tmp/lsusb-vysledek

     

    Soubor /etc/usbdetect/lsusb-pozadovane je vytvořen pomoci lsusb, později lze řádky přidat manuálně.

    Soubor /etc/usbdetect/usbDeviceList je editován ručně v pořadí: $idVendor:$idProduct:$serial  viz příklad:

    04b3:310c: IBM Corp. Wheel Mouse
    1d6b:0001: Linux Foundation 1.1 root hub
    051d:0002:034512253091 American Power Conversion Uninterruptible Power Supply
    1d6b:0001: Linux Foundation 1.1 root hub
    045e:00cb: Microsoft Corp. Basic Optical Mouse v2.0

           

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    Josef Kufner avatar 8.5.2015 14:45 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: udev - nastavení povolených USB zařízení - whitelist
    Nechceš sepsat feature request do KDE? Aby to integrovali s nějakým desktopovým klikátktem, které by se zeptalo, zda neznámé zařízení povolit?
    Hello world ! Segmentation fault (core dumped)
    8.5.2015 17:45 Pepan
    Rozbalit Rozbalit vše Re: udev - nastavení povolených USB zařízení - whitelist
    Také bych se přimlouval :)
    Indiánský lotr avatar 8.5.2015 19:24 Indiánský lotr | skóre: 25 | blog: ucim_sa
    Rozbalit Rozbalit vše Re: udev - nastavení povolených USB zařízení - whitelist
    Bohužel prostředí KDE nepoužívám.
    Josef Kufner avatar 9.5.2015 12:51 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: udev - nastavení povolených USB zařízení - whitelist
    Hello world ! Segmentation fault (core dumped)
    8.5.2015 19:11 elenril
    Rozbalit Rozbalit vše Re: udev - nastavení povolených USB zařízení - whitelist
    Problém tady s tímto jako s bezpečnostním opatřením je ten, že veškeré tyhle informace říká systému samo to USB zařízení. Takže dostatečně odhodlaný útočník si prostě zbastlí nějaký hw, který o sobě říká úplně cokoliv.
    Indiánský lotr avatar 8.5.2015 19:24 Indiánský lotr | skóre: 25 | blog: ucim_sa
    Rozbalit Rozbalit vše Re: udev - nastavení povolených USB zařízení - whitelist

    To je sice pravda, ale i přesto je to pro něj ztížení a pokud útočník o opatření nebude vědět, tak to může mít nějakou výhodu. Útočník se v tom případě musí k hardweru dostat, přečíst si jeho id a zadat jej do svého hw. V případě usb disků mohu jen polemizovat nad tím, že se k němu nedostane a nepřečte si seriové číslo. V případě klávesnice a připojených zařízení to lze řešit tím, že jakmile se jednou odpojí, vyškrtne se ze seznamu a nepůjde znovu připojit dokud to nespravím přes ssh, navíc dvě stejná zařízení by byla také zakázaná. Až tak moc paranoidní ovšem nejsem a počítám že většinu útočníku to odradí.

    8.5.2015 20:14 pavele
    Rozbalit Rozbalit vše Re: udev - nastavení povolených USB zařízení - whitelist
    Pokud se útočník dostane k hardwaru, nějaká klávesnice ho nebude zajímat. :-)

    Ale nápad je to dobrý.
    Indiánský lotr avatar 8.5.2015 20:35 Indiánský lotr | skóre: 25 | blog: ucim_sa
    Rozbalit Rozbalit vše Re: udev - nastavení povolených USB zařízení - whitelist
    Klávesnice by ho právě mohla zajímat z důvodu přidání hw keyloggeru.
    rADOn avatar 11.5.2015 10:22 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: udev - nastavení povolených USB zařízení - whitelist
    USB exploity pracujou na urovni firmwaru, to se do udevu vubec nedostane. Tohle muze byt bezva aby ti lidi nestrkali zavirovany flashky do masin v praci, ale proti NSA to nepomuze :-P
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    8.5.2015 21:53 Kvakor
    Rozbalit Rozbalit vše Re: udev - nastavení povolených USB zařízení - whitelist
    Já mám něco podobného, ale zaprvé je to jen pro HID zařízení (ostatní nepovažuju za nebezpečná, alespoň ne v mojí konfiguraci) a zadruhé má konfiguraci mimo konfigurační soubory udevu, takže pro detekci není třeba jeho restart. Skládá se ze tří částí, první je pravdilo 90-blockusbhid.rules:
    #Check USB HID devices
    ACTION=="add", ATTR{bInterfaceClass}=="03" RUN+="/usr/local/sbin/checkhid"
    
    Druhý je samotný skript checkhid, co kontroluje zařízení podle whitelistu:
    #!/bin/sh
    logger -t CheckHID "Checking '$PRODUCT' ..."
    while read line;
    do
      if [ "$PRODUCT" = "$line" ]
      then
        logger -t CheckHID "Device OK"
        exit
      fi
    done < /usr/local/etc/enabled_devices.cfg
    logger -t CheckHID "Disabling device"
    echo 0 > /sys$DEVPATH/../authorized
    
    Skript čte řádku po řádce soubor s povolenými zařízenímy a pokud najde shodu, skončí, v opačném případě zařízení zakáže.

    A třetí část je konfigurační soubor enabled_devices.cfg, což je whitelist povolených HID zařízení. Formát souboru je jednoduchý, na každé řádce je to, co skript vypíše do logu mezi apostrofy, třeba USB klávesnice má na řádku 4f2/116/300 a moje UPS 463/ffff/1.

    PS: Pokud máte pouze USB klávesnici, během testování si raději zapoznámkujte poslední řádek :-)

    Petr Tomášek avatar 8.5.2015 22:45 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: udev - nastavení povolených USB zařízení - whitelist
    Hm, kdysi jsem uvažoval nad tím, že by se dal udělat hardwarový USB firewall :-)....
    multicult.fm | monokultura je zlo | welcome refugees!
    11.5.2015 12:22 jabada
    Rozbalit Rozbalit vše Re: udev - nastavení povolených USB zařízení - whitelist

    Dnes vyšel článek na konkurenčním serveru a zmiňují se tam o skriptu v pythonu, tedy konkrétně USBkill, jen pro informaci.

    14.5.2015 20:06 Dan K.
    Rozbalit Rozbalit vše Re: udev - nastavení povolených USB zařízení - whitelist
    Cau, nedavno jsem zacal s implementaci takoveho whitelistu v C++ a ma to momentalne i jednoduche klikatko. Projektove stranky na githubu: https://dkopecek.github.io/usbguard/

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.