Kako zaštititi čvrste i simboličke veze u CentOS/RHEL 7


U Linuxu se tvrde i meke veze pozivaju na datoteke koje su vrlo važne, ako nisu dobro zaštićene, sve ranjivosti u njima mogu biti iskorištene od strane zlonamjernih korisnika sistema ili napadača.

Uobičajena ranjivost je trka simboličnih veza. To je sigurnosna ranjivost u softveru, koja nastaje kada program nesigurno kreira datoteke (posebno privremene datoteke), a zlonamjerni korisnik sistema može kreirati simboličku (meku) vezu do takve datoteke.

Pročitajte također: Kako napraviti čvrstu i simboličku vezu u Linuxu

To se praktično dešava; program provjerava postoji li privremena datoteka ili ne, u slučaju da ne postoji, kreira datoteku. Ali u tom kratkom vremenskom periodu između provjere datoteke i kreiranja, napadač može stvoriti simboličku vezu do datoteke i njemu ili njoj nije dozvoljen pristup.

Dakle, kada se program pokrene s važećim privilegijama, kreira datoteku s istim imenom kao i onu koju je kreirao napadač, on doslovno kreira ciljnu (povezanu) datoteku kojoj je napadač namjeravao pristupiti. Ovo bi, dakle, moglo dati napadaču put da ukrade osjetljive informacije sa root naloga ili izvrši zlonamjerni program na sistemu.

Stoga ćemo vam u ovom članku pokazati kako da osigurate čvrste i simbolične veze od zlonamjernih korisnika ili hakera u CentOS/RHEL 7 distribucijama.

Na CentOS/RHEL 7 postoji vitalna sigurnosna funkcija koja dozvoljava kreiranje veza ili praćenje programa samo ako su ispunjeni neki uslovi kao što je opisano u nastavku.

Za tvrde veze

Da bi korisnik sistema mogao kreirati vezu, mora biti ispunjen jedan od sljedećih uslova.

  • korisnik se može povezivati samo sa datotekama koje on ili ona posjeduje.
  • korisnik prvo mora imati pristup za čitanje i pisanje fajlu na koji želi da se poveže.

Za simboličke veze

Procesima je dozvoljeno samo da prate veze koje su izvan svjetskih upisnih (drugim korisnicima je dozvoljeno pisati) direktorija koji imaju ljepljive bitove ili jedno od sljedećeg mora biti istinito.

  • proces koji prati simboličku vezu je vlasnik simboličke veze.
  • vlasnik imenika je i vlasnik simboličke veze.

Omogućite ili onemogućite zaštitu na tvrdim i simboličkim vezama

Važno je da je ova funkcija po defaultu omogućena pomoću parametara kernela u datoteci /usr/lib/sysctl.d/50-default.conf (vrijednost 1 znači omogućiti ).

fs.protected_hardlinks = 1
fs.protected_symlinks = 1

Međutim, iz jednog ili drugog razloga, ako želite da onemogućite ovu sigurnosnu funkciju; kreirajte datoteku pod nazivom /etc/sysctl.d/51-no-protect-links.conf sa ovim opcijama kernela ispod (vrijednost 0 znači onemogućavanje).

Obratite pažnju na to 51 u nazivu fajla (51-no-protect-links.conf), mora se pročitati nakon podrazumevane datoteke da bi se nadjačala podrazumevana podešavanja.

fs.protected_hardlinks = 0
fs.protected_symlinks = 0

Sačuvajte i zatvorite datoteku. Zatim koristite naredbu ispod da izvršite gore navedene promjene (ova naredba zapravo učitava postavke iz svakog konfiguracijskog fajla sistema).

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

Možda biste željeli pročitati i ove sljedeće članke.

  1. Kako lozinkom zaštititi Vim fajl u Linuxu
  2. 5 'chattr' naredbi kako bi se važni fajlovi učinili NEPROMJENJIVIM (nepromjenjivim) u Linuxu

To je sve! Možete postaviti svoje upite ili podijeliti bilo koje misli u vezi sa ovom temom putem obrasca za povratne informacije u nastavku.