A privilegizált portok vége

Címkék

Crist J. Clark FreeBSD fejlesztő úgy döntött, hogy a régi UNIX örökséghez tartozó "privileged ports" koncepció elavult és több problémát okozott eddig is, mint amennyit megoldott.
A privilegizált port fogalma a UNIX-szerű rendszereket használók számára alapismeret, hiszen mindenki tudja, hogy ezen rendszerekben az 1024 alatti IP portokhoz való kapcsolódáshoz 0-ás UID (root) szükséges. A programok döntő többsége (SMTP, POP3, HTTP, stb. szerverek) többek között emiatt kell, hogy rootként induljon, hozzákapcsolódjon a porthoz, majd teljes egészében, vagy részben felhasználót váltson a biztonságosabb működés érdekében.

Clark mostani változtatása lehetővé teszi a rendszergazda számára, hogy a következő sysctl változókkal szabályozhassa a fent említett kategóriába eső portok alsó és felső határát:

net.inet.ip.portrange.reservedhigh

net.inet.ip.portrange.reservedlo

A felső határ alapértelmezésképpen az IPPORT_RESERVED - 1 (azaz 1023), míg az alsó a 0.

A változásnak talán legjobban a webszervereket és az anonymous FTP szervereket futtatók örülnek, hiszen ezután ezeknek nem kell rootként indulniuk, hogy a 21-es (vagy 20-as), illetve a 80-as porthoz kapcsolódhassanak.

Clark megemlít két speciális esetet:

# sysctl net.inet.ip.portrange.reservedhigh=0

Amely minden portot elérhetővé tesz az összes felhasználó számára, illetve a

# sysctl net.inet.ip.portrange.reservedhigh=65535

esetet, amely minden hálózati tevékenységet a root jogosultságaihoz rendeli.

Az alapértelmezéseknek köszönhetően ha nem állítjuk ezeket a változókat, akkor a rendszer a megszokottak szerint működik.

A változtatás itt található:

FreeBSD cvsweb

Hozzászólások

Hello,

Ez nem jelent biztonsági rizikót?

Tegyük fel, hogy a webszervert valahogy le tudja állítani a gonosz "hekker", és utána bármilyen userként indíthat webszolgáltatást. Vagy akármilyen más szolgáltatást.

Nem lenne biztonságosabb, ha valamilyen ACL szerű megoldással minden porthoz megadhatnánk, hogy melyik user bindolhat rá. Nem hiszem, hogy sokkal bonyolultabb lenne megoldani.

Üdv,

kisg

Ui: Ha jól tudom az egész "privilegizált port" fogalom azért jött létre, mert eredetileg az 1024 alatti portok voltak a "well-known service"-ek, amelyek publikus szolgáltatásként megjelenhettek. Persze mára a helyzet elég jelentősen megváltozott, és elég sok "public service" üzemel magasabb porton. Ha nem így van, akkor szóljatok...:-)

De, abban teljesen igazad van, hogy így megfelelő tudással átvehető mondjuk egy webszerver. Nyilván nem is olyanok látják szívesen ezt a lehetőséget, akik shellszerveren üzemeltetik a küldetéskritikus (bleh :) céges webszerverüket...


De én például örülök, mert az anonymous FTP szerverből lazán el lehet hagyni a 20-21-es portok körüli mizéria miatti root-nem privilegizált felhasználó közötti egyensúlyozást.


Az ACL-szerű megoldás meg ha jól sejtem szintén hamarosan elérhető lesz (sőt, ha nem tévedek, a fenti módszerrel, fájlrendszer ACL-ekkel és IPFW-vel már most is összehozható).