Weboldal keresés

Hogyan védjük meg a kemény és szimbolikus hivatkozásokat a CentOS/RHEL 7-ben


A Linuxban a kemény és lágy hivatkozások fájlokra hivatkoznak, amelyek nagyon fontosak, de ha nem védik őket túl jól, a bennük lévő sérülékenységeket kihasználhatják a rosszindulatú rendszerhasználók vagy támadók.

Gyakori sebezhetőség a symlink race. Ez egy szoftver biztonsági rés, amely akkor keletkezik, ha egy program nem biztonságosan hoz létre fájlokat (főleg ideiglenes fájlokat), és egy rosszindulatú rendszerhasználó szimbolikus (soft) hivatkozást tud létrehozni egy ilyen fájlra.

Olvassa el még: kemény és szimbolikus hivatkozás létrehozása Linuxban

Ez gyakorlatilag megtörténik; egy program ellenőrzi, hogy létezik-e ideiglenes fájl vagy sem, ha nem, akkor létrehozza a fájlt. De a fájl ellenőrzése és létrehozása közötti rövid idő alatt a támadó szimbolikus hivatkozást hozhat létre egy fájlra, és nem férhet hozzá.

Tehát amikor a program érvényes jogosultságokkal fut, létrehozza a fájlt a támadó által létrehozott névvel megegyező néven, akkor szó szerint létrehozza azt a célfájlt (hivatkozott), amelyhez a támadó hozzá akart érni. Ez tehát lehetőséget ad a támadónak arra, hogy bizalmas információkat lopjon el a root fiókból, vagy rosszindulatú programot hajtson végre a rendszeren.

Ezért ebben a cikkben megmutatjuk, hogyan védheti meg a kemény és szimbolikus hivatkozásokat a rosszindulatú felhasználóktól vagy hackerektől a CentOS/RHEL 7 disztribúciókban.

A CentOS/RHEL 7 rendszeren létezik egy létfontosságú biztonsági funkció, amely csak akkor engedélyezi a hivatkozások létrehozását vagy a programok általi követését, ha bizonyos feltételek teljesülnek az alábbiak szerint.

Kemény linkekhez

Ahhoz, hogy a rendszerhasználó hivatkozást tudjon létrehozni, az alábbi feltételek egyikének teljesülnie kell.

  • a felhasználó csak a saját tulajdonában lévő fájlokra hivatkozhat.
  • a felhasználónak először olvasási és írási hozzáféréssel kell rendelkeznie egy fájlhoz, amelyre hivatkozni szeretne.

Szimbolikus linkekhez

A folyamatok csak olyan hivatkozásokat követhetnek, amelyek kívül esnek a világ által írható (más felhasználók írhatnak) könyvtárakon, amelyek ragadós bitekkel rendelkeznek, vagy az alábbiak valamelyikének igaznak kell lennie.

  • a szimbolikus linket követő folyamat a szimbolikus link tulajdonosa.
  • a címtár tulajdonosa egyben a szimbolikus hivatkozás tulajdonosa is.

Engedélyezze vagy tiltsa le a védelmet a kemény és szimbolikus hivatkozásokon

Fontos, hogy ez a funkció alapértelmezés szerint a /usr/lib/sysctl.d/50-default.conf fájl kernelparamétereivel engedélyezve van (az 1 értéke az engedélyezést jelenti ).

fs.protected_hardlinks = 1
fs.protected_symlinks = 1

Azonban egyik vagy másik okból, ha szeretné letiltani ezt a biztonsági funkciót; hozzon létre egy /etc/sysctl.d/51-no-protect-links.conf nevű fájlt az alábbi kernelbeállításokkal (a 0 értéke letiltást jelent).

Vegye figyelembe, hogy az 51 a fájlnévben (51-no-protect-links.conf), ezt az alapértelmezett fájl után kell olvasni az alapértelmezett beállítások felülbírálásához.

fs.protected_hardlinks = 0
fs.protected_symlinks = 0

Mentse és zárja be a fájlt. Ezután használja az alábbi parancsot a fenti módosítások végrehajtásához (ez a parancs valójában minden rendszerkonfigurációs fájlból tölti be a beállításokat).

sysctl --system
OR
sysctl -p  #on older systems

Érdemes elolvasni a következő cikkeket is.

  1. Hogyan lehet jelszóval védeni egy Vim fájlt Linux alatt
  2. 5 „chattr” parancs a fontos fájlok megváltoztathatatlanná (változtathatatlanná) tételéhez Linux alatt

Ez minden! Az alábbi visszajelzési űrlapon felteheti kérdéseit, vagy megoszthatja gondolatait ezzel a témával kapcsolatban.