Kaip apsaugoti sudėtingas ir simbolines nuorodas sistemoje „CentOS“/„RHEL“ 7


Sistemoje „Linux“ kietosios ir minkštosios nuorodos nurodomos failams, kurie yra labai svarbūs, jei jie nėra labai gerai apsaugoti, bet kokias juose esančias spragas gali išnaudoti kenkėjiškos sistemos vartotojai ar užpuolikai.

Dažnas pažeidžiamumas yra „Symlink“ lenktynės. Tai yra programinės įrangos saugumo pažeidžiamumas, atsirandantis, kai programa nesaugiai kuria failus (ypač laikinus failus), o kenkėjiškas sistemos vartotojas gali sukurti simbolinę (minkštą) nuorodą į tokį failą.

Tai praktiškai atsitinka; programa patikrina, ar yra temp failas, ar ne, jei jo nėra, sukuria failą. Tačiau per tą trumpą laiką tarp failo patikrinimo ir sukūrimo užpuolikas gali sukurti simbolinę nuorodą į failą ir jam neleidžiama prieiti.

Taigi, kai programa veikia su teisingomis privilegijomis, sukuria failą tuo pačiu pavadinimu, kurį sukūrė užpuolikas, jis tiesiog sukuria tikslinį (susietą) failą, kurį užpuolikas ketino pasiekti. Tai gali suteikti užpuolikui kelią pavogti neskelbtiną informaciją iš pagrindinės paskyros arba vykdyti sistemoje kenkėjišką programą.

Todėl šiame straipsnyje mes jums parodysime, kaip apsaugoti sudėtingas ir simbolines nuorodas iš kenksmingų vartotojų ar įsilaužėlių CentOS/RHEL 7 paskirstymuose.

„CentOS/RHEL 7“ egzistuoja gyvybiškai svarbi saugumo funkcija, leidžianti kurti arba sekti programas tik tada, kai įvykdomos kai kurios sąlygos, kaip aprašyta toliau.

Kad sistemos vartotojas galėtų sukurti nuorodą, turi būti įvykdyta viena iš šių sąlygų.

  • vartotojas gali susieti tik su failais, kurie jam priklauso.
  • vartotojas pirmiausia turi turėti skaitymo ir rašymo prieigą prie failo, kurį jis nori susieti.

Procesams leidžiama sekti tik nuorodas, kurios nėra užrašomos visame pasaulyje (kitiems vartotojams leidžiama rašyti) katalogus, turinčius lipnius bitus, arba vienas iš šių turi būti teisingas.

  • procesas, einantis po simbolinės nuorodos, yra simbolinės nuorodos savininkas.
  • katalogo savininkas yra ir simbolinės nuorodos savininkas.

Įjunkite arba išjunkite apsaugą ant sudėtingų ir simbolinių nuorodų

Svarbu tai, kad pagal numatytuosius nustatymus ši funkcija įjungiama naudojant branduolio parametrus faile /usr/lib/sysctl.d/50-default.conf (1 reikšmė reiškia įgalinimą).

fs.protected_hardlinks = 1
fs.protected_symlinks = 1

Tačiau dėl vienų ar kitų priežasčių, jei norite išjungti šią saugos funkciją; sukurkite failą pavadinimu /etc/sysctl.d/51-no-protect-links.conf naudodami šias žemiau pateiktas branduolio parinktis (0 reikšmė reiškia išjungti).

Atkreipkite dėmesį į tai, kad 51 failo pavadinime (51-no-protect-links.conf) turi būti perskaitytas po numatytojo failo, kad pakeistų numatytuosius nustatymus.

fs.protected_hardlinks = 0
fs.protected_symlinks = 0

Išsaugokite ir uždarykite failą. Tada naudokite toliau pateiktą komandą, kad atliktumėte pirmiau nurodytus pakeitimus (ši komanda iš tikrųjų įkelia nustatymus iš kiekvieno sistemos konfigūracijos failo).

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

Taip pat galbūt norėtumėte perskaityti šiuos straipsnius.

  1. Kaip apsaugoti „Vim“ failą „Linux“ slaptažodžiu
  2. 5 „chattr“ komandos, skirtos svarbiems failams padaryti IMMUTABLE (nepakeičiamus) sistemoje „Linux“

Tai viskas! Naudodamiesi žemiau esančia atsiliepimų forma, galite paskelbti savo klausimus arba pasidalinti bet kokiomis mintimis, susijusiomis su šia tema.