A ModuleJail letiltja a nem használt Linux kernelmodulokat, csökkentve a támadási felületet

enlightened Ez az oldal a közösségért készül. heart Kövess minket máshol is:  Linux Mint Magyar Közösség a Mastodon-on  Telegram csatorna – csak hírek  Beszélgessünk a Telegram – Linux csevegő csoport  Hírek olvasása RSS segítségével  Linux Mint Hivatalos Magyar Közösség a Facebook-on      Linux Mint Baráti Kör a Facebook-on
wink Ha hasznosnak találod, és szeretnéd, hogy folytatódjon, támogasd a munkát Ko-fi vagy Paypal segítségével. laugh

kami911 képe

Két héten belül három kritikus Linux kernel sebezhetőséget – Copy Fail, Dirty Frag és Fragnesia – jelentettek, ami után a Linux közösség megoldást kezdett keresni a problémára.

Az egyik javasolt megoldás a kernel Killswitch volt, most pedig megjelent egy hasonló ötlet: a ModuleJail. Ez egy Linux hardening projekt, amely letiltja a nem használt kernel modulokat, így csökkenti a friss, helyi jogosultságkiterjesztésre épülő támadásoknál kihasználható felületet.

A ModuleJail egyetlen POSIX shell szkriptként működik. Végigpásztázza az éppen betöltött modulokat, összehasonlítja őket a teljes modulfával a

/lib/modules/$(uname -r)

alatt, majd létrehoz egy

modprobe.d

feketelistát a nem használt modulokhoz. Alapértelmezés szerint a feketelista a

/etc/modprobe.d/modulejail-blacklist.conf

fájlba kerül.

 

A legtöbb Linux rendszerben valójában több ezer kernel modul található, de ezeknek csak kis részét használják. Ha egy nem használt modul jogosultságkiterjesztési hibát tartalmaz, a rendszer akkor is veszélyben marad, ha a modult később be lehet tölteni. A ModuleJail ezt úgy kezeli, hogy megakadályozza a nem használt modulok automatikus betöltését.

Fontos megérteni, hogy a ModuleJail nem javítja ezeket a sebezhetőségeket, és nem is ismeri fel a sérülékeny modulokat. Ehelyett általánosabb védelmi stratégiát alkalmaz: korlátozza a hozzáférést a felesleges kernel funkciókhoz.

A dokumentáció szerint a ModuleJail megőrzi a gazdagépen már betöltött modulokat, egy beépített, alapvető modulokat tartalmazó listát, valamint a rendszergazda által opcionálisan megadott whitelist elemeit. Minden más modult feketelistára tesz, mégpedig install

<module> /bin/true

direktívákkal egy

modprobe.d-kompatibilis

fájlban.

A ModuleJail egyszeri hardening eszköznek készült, nem háttérben futó szolgáltatásnak. Nincs benne démon, folyamatos monitorozás, CVE-adatbázis lekérdezés, modul-kockázati pontozás vagy AI funkció. Megközelítése kizárólag azon alapul, hogy egy modul éppen be van-e töltve egy ismerten jól működő rendszeren.

Ez a biztonsági modell határozza meg a legfőbb korlátját is. A ModuleJailt csak akkor érdemes futtatni, ha a rendszer már elérte a stabil állapotot: minden szolgáltatás elindult, minden fájlrendszer csatolva van, és az összes szükséges driver betöltődött. Ha túl korán futtatják, olyan modulokat is feketelistára tehet, amelyekre később még szükség lenne, ami hardver-, tárhely-, hálózati vagy alkalmazásfunkciók hibás működéséhez vezethet.

A ModuleJail három alap profilt kínál. Az alapértelmezett, konzervatív profil virtualizált vagy fizikai szerverekhez készült. A desktop profil további Wi-Fi, Bluetooth, hang- és videó drivereket is megőriz laptopokhoz és munkaállomásokhoz. A minimal profil csak az alapvető fájlrendszereket és a legfontosabb kernel modulokat tartja meg.

A rendszergazdák a szkriptben szerkeszthetnek egy helyi whitelistet is, így akkor is megőrizhetnek bizonyos modulokat, ha azok a ModuleJail futtatásakor éppen nincsenek betöltve. Ez hasznos olyan moduloknál, amelyekre csak időnként vagy speciális üzemeltetési helyzetekben van szükség.

A fejlesztők szerint az eszközt élő rendszereken tesztelték Ubuntu 24.04 LTS, Debian 13.4 és Rocky Linux 9.7 alatt, emellett konténeres teszteket is végeztek Arch Linux, Alpine Linux és openSUSE Tumbleweed rendszereken. Előre elkészített deb és rpm csomagok érhetők el Debian/Ubuntu és RHEL/Fedora/Alma/Rocky rendszerekhez.

A módosítások visszavonása teljesen kézi folyamat. A rendszergazdák törölhetik a

/etc/modprobe.d/modulejail-blacklist.conf

fájlt és újraindíthatják a rendszert, vagy az aktuális munkamenetben egyes modulokat újratölthetnek modprobe segítségével. A feketelista minden újraindítás után újra érvényesül, amíg a fájlt el nem távolítják.

További részletekért nézd meg a projekt GitHub oldalát.