Darbs ar Linux iespējām

Ievads

Linux iespējas ir īpaši atribūti Linux kodolā, kas piešķir procesiem un binārajiem izpildāmajiem failiem īpašas privilēģijas, kas parasti ir rezervētas procesiem, kuru efektīvais lietotāja ID ir 0 (saknes lietotājam un tikai saknes lietotājam ir UID 0).

Šajā rakstā ir izskaidrotas dažas pieejamās iespējas, to lietojums un to iestatīšana un noņemšana. Lūdzu, ņemiet vērā, ka izpildāmo failu iespēju iestatīšana var apdraudēt jūsu sistēmas drošību. Tāpēc pirms iespēju ieviešanas ražošanā apsveriet iespēju testēt ar ražošanu nesaistītu sistēmu.

Priekšnoteikumi

  • Linux sistēma, kurai jums ir root piekļuve (izmantojot root lietotāju vai lietotāju ar sudo piekļuvi).

Paskaidrojums

Būtībā iespēju mērķis ir sadalīt “saknes” spēku īpašās privilēģijās, lai, ja tiek izmantots process vai binārs, kuram ir viena vai vairākas iespējas, iespējamais kaitējums ir ierobežots, salīdzinot ar to pašu procesu, kas darbojas kā root.

Iespējas var iestatīt procesiem un izpildāmajiem failiem. Process, kas rodas faila izpildes rezultātā, var iegūt šī faila iespējas.

Operētājsistēmā Linux ieviestās iespējas ir daudzas, un daudzas ir pievienotas kopš sākotnējās izlaišanas. Daži no tiem ir šādi:

  • CAP_CHOWN: veiciet izmaiņas failu lietotāja ID un grupas ID
  • CAP_DAC_OVERRIDE: ignorēt DAC (diskrecionārā piekļuves kontrole). Piemēram, vto apiet lasīšanas/rakstīšanas/izpildīšanas atļaujas pārbaudes.
  • CAP_KILL: apiet atļauju pārbaudes, lai nosūtītu signālus procesiem.
  • CAP_SYS_NICE: Paaugstināt procesu jaukumu ( Skaistuma skaidrojumu var atrast šeit )
  • CAP_SYS_TIME: iestatiet sistēmas un reāllaika aparatūras pulksteni

Lai iegūtu pilnu sarakstu, palaidiet man 7 capabilities.

Iespējas tiek piešķirtas kopās, proti, "atļauts", "mantojams", "efektīvs" un "apkārtējais" pavedieniem un "atļauts", "mantojams" un "efektīvs" failiem. Šīs kopas definē dažādas sarežģītas uzvedības, to pilnīgs skaidrojums ir ārpus šī raksta darbības jomas.

Iestatot failā iespējas, mēs gandrīz vienmēr izmantosim “atļauts” un “efektīvs”, piemēram, CAP_DAC_OVERRIDE+ep. Ievērojiet +ep, kas apzīmē iepriekš minētās kopas.

Darbs ar failu iespējām

Nepieciešamās paketes

Ir divi galvenie instrumenti, getcapun setcapkas var attiecīgi apskatīt un noteikt šos atribūtus.

  • Debian un Ubuntu šos rīkus nodrošina libcap2-binpakotne, kuru var instalēt kopā ar:apt install libcap2-bin
  • CentOS un Fedora libcappakotne ir nepieciešama:yum install libcap
  • Operētājsistēmā Arch Linux tos nodrošina libcaparī:pacman -S libcap

Lasīšanas iespējas

Lai redzētu, vai failam ir iestatītas iespējas, varat vienkārši palaist getcap /full/path/to/binary, piemēram:

 root@demo:~# getcap /usr/bin/ping
 /usr/bin/ping = cap_net_raw+ep
 root@demo:~# getcap /usr/bin/rcp
 /usr/bin/rcp = cap_net_bind_service+ep

Ja vēlaties uzzināt, kuras iespējas jau ir iestatītas jūsu sistēmā, varat rekursīvi meklēt visā failu sistēmā, izmantojot šādu komandu:

getcap -r /

Tā kā virtuālās failu sistēmas (piemēram, /proc) neatbalsta šīs darbības, iepriekš minētā komanda radīs tūkstošiem kļūdu, tāpēc tīrākai izvadei izmantojiet:

getcap -r / 2>/dev/null 

Iespējas piešķiršana un noņemšana

Lai failā iestatītu noteiktu iespēju, izmantojiet setcap "capability_string" /path/to/file.

Lai no faila noņemtu visas iespējas, izmantojiet setcap -r /path/to/file.

Demonstrēšanai mēs izveidosim tukšu failu pašreizējā direktorijā, piešķirsim tam iespēju un noņemsim to. Sāciet ar sekojošo:

root@demo:~# touch testfile
root@demo:~# getcap testfile

Otrā komanda nerada izvadi, kas nozīmē, ka šim failam nav nekādu iespēju.

Pēc tam iestatiet faila iespēju:

root@demo:~# setcap "CAP_CHOWN+ep" testfile
root@demo:~# getcap testfile
testfile = cap_chown+ep

"CAP_CHOWN+ep" tika izmantots kā piemērs, bet jebkuru citu var piešķirt šādā veidā.

Tagad noņemiet visas iespējas no testfile:

root@demo:~# setcap -r testfile
root@demo:~# getcap testfile

Atkal nebūs izvades, jo "CAP_CHOWN+ep" tika noņemts.

Secinājums

Iespējas var izmantot daudzos veidos, un tās var palīdzēt uzlabot jūsu sistēmu drošību. Ja savos izpildāmajos failos izmantojat SUID bitu, apsveriet iespēju to aizstāt ar īpašu nepieciešamo iespēju.

Atstājiet komentāru

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.

DDOS uzbrukumi: īss pārskats

DDOS uzbrukumi: īss pārskats

Vai arī jūs esat DDOS uzbrukumu upuris un esat neizpratnē par profilakses metodēm? Izlasiet šo rakstu, lai atrisinātu savus jautājumus.

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Iespējams, esat dzirdējuši, ka hakeri pelna daudz naudas, bet vai esat kādreiz domājuši, kā viņi nopelna šādu naudu? pārrunāsim.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Vai vēlaties redzēt revolucionārus Google izgudrojumus un to, kā šie izgudrojumi mainīja katra cilvēka dzīvi mūsdienās? Pēc tam lasiet emuārā, lai redzētu Google izgudrojumus.

Piektdiena: kas notika ar AI vadītām automašīnām?

Piektdiena: kas notika ar AI vadītām automašīnām?

Pašpiedziņas automobiļu koncepcija izbraukt uz ceļiem ar mākslīgā intelekta palīdzību ir mūsu sapnis jau kādu laiku. Bet, neskatoties uz vairākiem solījumiem, tie nekur nav redzami. Lasiet šo emuāru, lai uzzinātu vairāk…

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Zinātnei strauji attīstoties, pārņemot lielu daļu mūsu pūļu, palielinās arī risks pakļaut sevi neizskaidrojamai singularitātei. Izlasiet, ko singularitāte varētu nozīmēt mums.

Lielo datu atsauces arhitektūras slāņu funkcijas

Lielo datu atsauces arhitektūras slāņu funkcijas

Lasiet emuāru, lai vienkāršākā veidā uzzinātu dažādus lielo datu arhitektūras slāņus un to funkcijas.

Datu glabāšanas evolūcija – infografika

Datu glabāšanas evolūcija – infografika

Datu uzglabāšanas metodes ir attīstījušās kopš datu dzimšanas. Šajā emuārā ir aprakstīta datu uzglabāšanas attīstība, pamatojoties uz infografiku.

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

Šajā digitālajā pasaulē viedās mājas ierīces ir kļuvušas par būtisku dzīves sastāvdaļu. Šeit ir daži pārsteidzoši viedo mājas ierīču ieguvumi, lai padarītu mūsu dzīvi dzīves vērtu un vienkāršāku.

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

Nesen Apple izlaida macOS Catalina 10.15.4 papildinājuma atjauninājumu, lai novērstu problēmas, taču šķiet, ka atjauninājums rada vairāk problēmu, kas izraisa Mac datoru bloķēšanu. Izlasiet šo rakstu, lai uzzinātu vairāk