USB-järjestelmän tai tiettyjen porttien poistaminen käytöstä Ubuntu 22.04:ssä


Tämä opetusohjelma näyttää, kuinka USB poistetaan käytöstä joko koko alijärjestelmässä tai tietyissä USB-porteissa Ubuntussa.

Palvelin- tai tuotantokoneissa USB:n poistaminen käytöstä voi olla hyödyllistä tietosuojan, virustorjunnan ja muiden turvallisuussyiden vuoksi. Ubuntulle ja useimmille muille Linuxille aion näyttää, kuinka USB poistetaan käytöstä kolmella tavalla:

  • Poista koko USB-alijärjestelmä käytöstä
  • Poista vain USB-tallennus käytöstä – Poista vain USB-muistitikun ja muiden tallennuslaitteiden käyttö käytöstä.
  • Poista tietty USB-portti käytöstä

Vaihtoehto 1: Poista USB-alijärjestelmä käytöstä Ubuntussa ja muissa Linuxissa

Linux-ytimessä on parametri, jolla koko USB-alijärjestelmä poistetaan käytöstä. Kun käynnistetään ydinparametrilla, USB-näppäimistö, hiiri, flash-asema ja sisäänrakennetut USB-laitteet, kuten verkkokamera, sormenjälkitunnistin ja bluetooth poistetaan käytöstä. Ja USB-porteissa ei ole virtaa lataamiseen.

Tämä on hyvä palvelinturvallisuuden kannalta, mutta sinun on käytettävä joko etäkirjautumista tai PS2-näppäimistöä ja hiirtä ollaksesi vuorovaikutuksessa Linux-koneen kanssa. Ja USB toimii edelleen ennen ytimen käynnistämistä Grub-valikon kohdassa. Jos haluat poistaa sen käytöstä virtapainiketta painamalla, määritä se BIOS-asetuksissa.

1. Muodosta ensin yhteys Ubuntu-palvelimeesi tai paina Ctrl+Alt+T Ubuntu Desktopissa avataksesi päätelaitteen. Kun se avautuu, suorita komento muokataksesi Grub-käynnistyslataimen asetustiedostoa:

sudo nano /etc/default/grub

Työpöytäversiossa voit korvata nano:lla gedit Ubuntu 22.04:lle ja sitä vanhemmille GNOME:lle, gnome-text-editor versiolle 23.10 + GNOME:lla, pluma MATE:lle tai hiirimatto XFCE:lle.

Kun tiedosto avautuu, lisää usbcore.nousb arvoon GRUB_CMDLINE_LINUX_DEFAULT. Tallenna sitten painamalla Ctrl+S ja poistu nanotekstieditorista painamalla Ctrl+X.

2. Suorita seuraavaksi komento päivittääksesi grub-määritykset:

sudo update-grub

HUOMAA: Tämä komento voi vaihdella muissa Linuxeissa. Kun olet valmis, käynnistä tietokone uudelleen ottaaksesi käyttöön!

Ubuntu Desktopille, johon on asennettu Grub-Customizer, käyttäjä voi myös käynnistää graafisen sovelluksen ja lisätä ytimen parametrin siirtymällä "Yleiset asetukset" -välilehteen.

Vaihtoehto 2: Poista käytöstä vain USB-tallennuslaite

Estämällä ydinmoduulin käyttäjä voi poistaa käytöstä vain USB-muistitikun ja muut USB-tallennuslaitteet ja jättää näppäimistön, hiiren ja muut sisäänrakennetut USB-laitteet edelleen toimimaan.

1. Avaa ensin pääte (Ctrl+Alt+T) tai muodosta yhteys palvelimeen ja suorita komento luodaksesi ja muokataksesi määritystiedostoa:

sudo nano /etc/modprobe.d/blacklist-usb-storage.conf

Voit myös korvata nano suosikkitekstieditorillasi. Kun tiedosto avautuu, lisää seuraavat 2 riviä:

blacklist usb_storage
blacklist uas

Paina sitten Ctrl+S tallentaaksesi ja Ctrl+X poistuaksesi nano-tekstieditorista.

2. Suorita tämän jälkeen komento päivittääksesi initramfs.

sudo update-initramfs -u

Lopuksi käynnistä kone uudelleen. Järjestelmäsi lukee blacklist-usb-storage.conf-määritystiedoston käynnistyksen yhteydessä ja estää kahden ydinmoduulin (usb_storage ja uas) lataamisen. USB-tallennuslaitteiden käyttöä varten.

Vaihtoehto 3: Poista tietty USB-portti käytöstä

/sys/bus/usb/devices-hakemistossa on luettelo alikansioista, jotka sisältävät USB-porttien ja liitettyjen laitteiden määritystiedostot. Asettamalla aina keskeytyksen tai käyttämällä usbguard-palvelua, käyttäjä voi "poistaa" vastaavat USB-portit käytöstä.

Vaihe 1: Selvitä määrittämäsi USB-portin sys-laitekansio

/sys/bus/usb/devices-hakemistossa on useita alikansioita, joten sinun on ensin selvitettävä, mikä niistä on USB-porttillesi.

1. Liitä ensin USB-laite (näppäimistö, hiiri tai flash-asema) USB-porttiin, jotta se luo automaattisesti vastaavan alikansion kyseiseen hakemistoon.

2. Avaa sitten pääte (Ctrl+Alt+T) ja suorita komento listataksesi kaikki USB-laitteet:

lsusb

Ja suorita alla oleva yksittäinen komento luetellaksesi alikansiot sekä niiden käsitellyt tunnukset.

cd /sys/bus/usb/devices && for d in *; do if [ -f $d/idProduct ]; then prod=$( cat $d/idProduct ); vend=$( cat $d/idVendor ); echo Device: "${d}", ID: "${vend}:${prod}"; fi; done

lsusb-komennon lähdöstä  näet liitettyjen USB-laitteiden tunnukset. Toisen komennon lähdön avulla voit käyttää ID:tä selvittääksesi laitekansioiden nimet (esim. 1-1, 1-2, usb1, usb2, ...).

Minun tapauksessani (katso kuvakaappaus alla) minulla on vain 2 USB-porttia kannettavassani. Alikansio "1-1" on 1c4f:0034:lle, joka on hiirellä yhdistetty USB-portti. Ja "1-2" alikansio on 3151:3020, USB-portti yhdistetty langattomaan näppäimistöön

Vaihe 2: (Valinnainen) Keskeytä USB-laite automaattisesti

Viimeisessä vaiheessa 1 olen löytänyt vastaavat alikansiot (1-1 ja 1-2) kahdelle USB-portilleni.

Voit halutessasi asettaa keskeyttämään tietyn USB-portin automaattisesti, esimerkiksi 1-1, ja asettaa viiveen 0 ms, joten se keskeytyy aina.

echo 0 | sudo tee /sys/bus/usb/devices/1-1/power/autosuspend_delay_ms
echo "auto" | sudo tee /sys/bus/usb/devices/1-1/power/control

Muutos toimii kuitenkin vain, kunnes irrotat laitteen ja liität sen uudelleen USB-porttiin. Koska kun irrotat USB-laitteen, vastaava asetuskansio (1-1 tapauksessa) katoaa. Kun liität sen uudelleen, kansio luodaan automaattisesti uudelleen, mutta kaikki asetukset nollataan.

Tämä tarkoittaa, että tämä menetelmä toimii vain, kun USB-laite on kytkettynä porttiin. Ellei onnistunut suorittamaan yllä olevat 2 komentoa automaattisesti jokaisessa laajennuksessa.

Vaihe 2: (Parempi valinta) Käytä USBGuardia

Useimmat Linuxit sisältävät usbguard-paketin järjestelmäarkistossa. Se ajaa taustalla systemd-palvelua toteuttaakseen USB-valkoisen listan ja mustan listan perusominaisuudet.

1. Avaa ensin pääte ja asenna paketti suorittamalla komento:

sudo apt install usbguard

2. Suorita sitten komento muokataksesi tämän palvelun asetustiedostoa:

sudo nano /etc/usbguard/rules.conf

Korvaa GNOME:ssa nano sanalla gedit (22.04 ja aikaisemmat), gnome-text-editor (23.10 ja uudemmat), hiirimatto XFCE:lle, pluma MATE:lle, ….

Kun tiedosto avautuu, sen pitäisi sisältää joitain rivejä oletussäännöille. Jos TYHJÄ, sulje tiedosto. Odota hetki, jotta se luo säännöt automaattisesti, ja muokkaa niitä sitten uudelleen.

3. Ennen tiedoston muokkaamista on parempi tehdä kopio oletussisällöstä. Joten voit helposti palauttaa muutokset!

Kun tiedosto avautuu, poista tietyn USB-portin/-laitteen rivi (tunnista tunnuksella, nimellä jne.), lisää lopuksi uusi rivi block via-port "1-1" (muuta '1 -1' vastaavasti) poistaaksesi USB-portin käytöstä.

4. Käynnistä lopuksi palvelu uudelleen.

systemctl restart usbguard.service

Ja muutos otetaan käyttöön hetken kuluttua.

Kumoa tämä muutos pysäyttämällä palvelut komennoilla ja poistamalla sitten usbguard:

sudo systemctl disable --now usbguard.service
sudo systemctl stop usbguard-dbus.service
sudo systemctl mask usbguard-dbus.service
sudo apt remove --purge usbguard

Poista lopuksi konfiguraatiotiedostot /etc-hakemistosta:

sudo rm -rf /etc/usbguard/