Az AF_ALG „rémálmot” tovább korlátozza a Linux 7.3 egy új sysctl kapcsolóval

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

A Linux 7.2-ben elavulttá nyilvánították. Ez a felület lehetővé teszi, hogy felhasználói programok közvetlenül a Linux kernel crypto API-jával kommunikáljanak, de időközben kiderült róla, hogy „óriási támadási felületet” jelent a különféle biztonsági aggályok miatt. A Linux 7.2-ben történt elavulás óta néhány AF_ALG funkciót már eltávolítottak, és a Linux 7.3-ban tovább szigorítják ennek a felületnek a használatát.

A Google-nél dolgozó, kriptográfiára szakosodott Eric Biggers egy új af_alg_restrict sysctl kapcsolót vezet be, amely alapértelmezésben tovább korlátozza az AF_ALG lehetőségeit a Linux kernel-on. Akik viszont ténylegesen támaszkodnak az AF_ALG-ra felhasználói programokkal, egy sysctl módosítással kényelmesen engedélyezhetik a korlátozás nélküli hozzáférést. Fordítva: az af_alg_restrict segítségével az AF_ALG teljesen le is tiltható. Eric Biggers a javítócsomagban, amely hozzáadja ezt az af_alg_restrict sysctl opciót, így magyarázza a változtatást:

„Az AF_ALG gyakori sebezhetőségek forrása, és karbantartási rémálom. Sokkal több funkciót tár fel a felhasználói tér felé, mint amit valaha is szabad lett volna, különösen a nem privilegizált folyamatok számára. A legutóbbi exploitok a kernel belső megvalósításának olyan részleteit célozták, mint az „authencesn”, amelyeknek semmilyen valós felhasználási esete nincs felhasználói térből elérve.

Szerencsére az AF_ALG-et a gyakorlatban ritkán használják, hiszen léteznek felhasználói térbeli kriptográfiai könyvtárak. Amikor mégis használják, akkor is csak bizonyos funkciókat, és sok felhasználóról tudjuk, hogy már rendelkezik megfelelő jogosultságokkal. Az iwd például CAP_NET_ADMIN jogosultságot igényel, és ismert algoritmuslistával dolgozik.

Ezért alapértelmezésben korlátozzuk az engedélyezett algoritmusok körét, a birtokolt jogosultságoktól függően.

Hozzáadunk egy /proc/sys/crypto/af_alg_restrict sysctl-t, amelynek jelentése:

0: korlátozás nélküli

1: korlátozott funkcionalitás

2: teljesen letiltva

Az alapértelmezett érték 1 lesz. Ez egy algoritmus-engedélyezési listát aktivál a nem privilegizált folyamatok számára, és egy kicsit hosszabb engedélyezési listát a privilegizált folyamatoknak.