Pāriet uz saturu

Sīkdatņu iestatījumi

Izvēlieties, kāda veida sīkdatnes atļaujat. Savu izvēli varat jebkurā laikā mainīt sadaļā Sīkdatņu iestatījumi katras lapas apakšā. Privātuma politika

Nepieciešamās

Vienmēr ieslēgtas

Vajadzīgas, lai pieteiktos, saglabātu grozu un atcerētos Jūsu izvēles. Tās vienmēr ir ieslēgtas.

Kuras sīkdatnes?
  • weboke_sessie, weboke_klant, weboke_remember: Jūsu sesija un pieteikšanās saglabāšana
  • weboke_basket: Jūsu grozs
  • wkBtwIncl: cenu rādīšana ar PVN vai bez PVN
  • wok_cookies: Jūsu sīkdatņu izvēle, 12 mēneši

Mēra, kura reklāma noved pie apmeklējuma vai pasūtījuma, lai mēs nemaksātu par reklāmām, kas neko nedod.

Kuras sīkdatnes?
  • Google Ads ar Google Tag Manager (_gcl_au, _gcl_aw), līdz 90 dienām
  • OpenAI Ads, reklāmas ChatGPT
  • wok_aff: caur kuru partneri nonācāt pie mums (partneru programma), 60 dienas

4,6

Valsts un valoda

Katrai valstij ir sava vietne ar attiecīgās valsts cenām un PVN.

Skatīt

sudo un minimālās tiesības

3. modulis: Lietotāji, tiesības un sudo · Lasīšanas laiks: 11 min.

Mācīšanās mērķis: Pēc šīs nodarbības Jūs varēsiet strādāt kā parasts lietotājs ar sudo, droši pievienot administratoru, mainīt sudo iestatījumus, nenobloķējot piekļuvi sev, un izskaidrot, kāpēc minimālās tiesības aizsargā Jūsu serveri.

Pamatjēdzieni: sudo, grupa sudo, grupa wheel, /etc/sudoers, /etc/sudoers.d, visudo, NOPASSWD, sudo -l, root bloķēšana, sudo žurnāls, minimālās tiesības (least privilege), pakalpojuma lietotājs

Kāpēc vienkārši nestrādāt kā root?

Pēc instalēšanas bieži vien piesakāties kā root. Tas ir ērti: viss ir atļauts. Taču tieši tā ir problēma:

  • Pietiek ar vienu drukas kļūdu. rm -rf / home/anna/oud (ievērojiet atstarpi pēc pirmās slīpsvītras) kā root izdzēš visu Jūsu serveri. Kā parasts lietotājs Jūs saņemsiet kļūdas paziņojumu.
  • Viss darbojas kā root. Skripts, ko iekopējat no interneta, programma, ko testējat: viss saņem pilnas tiesības.
  • Nekādu pēdu. Ja trīs cilvēki strādā kā root, pēc tam neviens nezina, kurš ko izdarīja.
  • Root ir vārds, ko izmēģina katrs uzbrucējs. Pieteikšanos kā root labāk pilnībā izslēgt (nodarbība 2.2), taču to var izdarīt tikai tad, kad Jums ir cits ceļš uz administratora tiesībām.

Šis otrs ceļš ir sudo: Jūs piesakāties ar savu lietotāju un tikai pirms komandas, kurai vajadzīgas administratora tiesības, ierakstāt sudo.

anna@web1:~$ apt update
E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied)
anna@web1:~$ sudo apt update
[sudo] password for anna:
Hit:1 http://deb.debian.org/debian trixie InRelease
...

(Ubuntu kopš versijas 25.10 pēc noklusējuma izmanto sudo-rs, jaunu sudo realizāciju. Visam šajā nodarbībā tā darbojas tāpat.)

sudo prasa Jūsu paroli, nevis root paroli. Pēc tam tas to pēc noklusējuma atceras ceturtdaļstundu, lai Jums nebūtu jāievada parole pie katras komandas. Katra komanda, ko izpildāt ar sudo, tiek ierakstīta žurnālā.

Administratora izveide

Debian un Ubuntu sistēmās ikviens grupas sudo dalībnieks drīkst ar sudo darīt visu. Tas ir norādīts failā /etc/sudoers:

%sudo   ALL=(ALL:ALL) ALL

Lasiet to šādi: grupas sudo dalībnieki (%) drīkst visās mašīnās (ALL) kā jebkurš lietotājs un grupa ((ALL:ALL)) izpildīt jebkuru komandu (ALL).

Tātad administratora pievienošana notiek divos soļos, kā root:

root@web1:~# adduser anna
root@web1:~# adduser anna sudo

Pēc tam ievietojiet Annas publisko atslēgu failā /home/anna/.ssh/authorized_keys ar pareizo īpašnieku un tiesībām:

root@web1:~# mkdir -p /home/anna/.ssh
root@web1:~# cp /root/.ssh/authorized_keys /home/anna/.ssh/
root@web1:~# chown -R anna:anna /home/anna/.ssh
root@web1:~# chmod 700 /home/anna/.ssh
root@web1:~# chmod 600 /home/anna/.ssh/authorized_keys

Neaizmirstiet chown: ja failu nokopēja root, tas pieder root, un tad Anna nevar pieteikties ar savu atslēgu.

Tagad, kamēr Jūsu root sesija paliek atvērta, testējiet otrā logā:

anna@laptop:~$ ssh anna@192.0.2.10
anna@web1:~$ sudo -l
[sudo] password for anna:
User anna may run the following commands on web1:
    (ALL : ALL) ALL
anna@web1:~$ sudo whoami
root

Tikai tad, kad tas darbojas, SSH iestatījumos iestatiet PermitRootLogin no (nodarbība 2.2). No šī brīža Jūs vienmēr piesakāties kā Anna.

Viena lieta, ko atcerēties: Annai tagad sudo lietošanai vajadzīga parole. Glabājiet to savā paroļu pārvaldniekā. Pieteikšanās notiek ar atslēgu, sudo ar paroli: divas dažādas lietas, kas ielauzējam jāiegūst abas.

sudo iestatījumu maiņa: vienmēr ar visudo

Kļūda failā /etc/sudoers var nozīmēt, ka sudo vairs vispār nedarbojas. Ja arī root nevar pieteikties, Jūs esat iestrēguši. Tāpēc sudo iestatījumus nekad nerediģējiet ar parastu redaktoru, bet ar visudo. Tas atver pagaidu kopiju un pārbauda saturu pirms saglabāšanas:

root@web1:~# visudo -f /etc/sudoers.d/backup

Tāpat kā ar SSH, labāk izmantojiet savu failu mapē /etc/sudoers.d/, nevis galveno failu. Ievērojiet divus šīs mapes noteikumus:

  • Faili, kuru nosaukumā ir punkts vai kuru nosaukums beidzas ar ~, tiek izlaisti. Tātad backup.conf nedarbojas, bet backup darbojas. Tas paredzēts, lai ignorētu redaktoru kopijas, taču tas pārsteidz daudzus.
  • Failam jāpieder root, un citiem tajā nedrīkst būt rakstīšanas tiesību (parasti 440; visudo par to parūpējas).

Ja vēlaties pārbaudīt esošu failu, to nerediģējot: visudo -c pārbauda visu.

NOPASSWD: ērti, bet ziniet, ko darāt

Ar NOPASSWD sudo vairs neprasa paroli:

anna ALL=(ALL:ALL) NOPASSWD: ALL

Daži VPS attēli to iestata noklusējuma lietotājam, lai pēc pieteikšanās ar atslēgu Jūs uzreiz būtu administrators. Ar sudo -l pārbaudiet, kas attiecas uz Jums. Sekas: tas, kuram ir Annas atslēga, uzreiz ir root. Otras slēdzenes vairs nav. Personiskam serverim Jūs varat to izvēlēties, bet dariet to apzināti.

Daudz labāk ir NOPASSWD tikai vienai konkrētai komandai, piemēram, rezerves kopiju skriptam, kuram jāspēj darboties automātiski:

backup ALL=(root) NOPASSWD: /usr/local/bin/maak-backup

Lietotājs backup tad drīkst kā root palaist tieši šo vienu skriptu, bez paroles, un neko citu. Divi slazdi:

  • Vienmēr izmantojiet pilnu ceļu. Ar tikai maak-backup kāds var ievietot savu programmu ar tādu pašu nosaukumu sava ceļa sākumā.
  • Pašam skriptam nedrīkst būt rakstīšanas tiesību šim lietotājam. Pretējā gadījumā lietotājs to pielāgo un tad kā root izpilda patvaļīgas komandas. Tas pats attiecas uz komandām, kas pašas var atvērt čaulu, piemēram, redaktoru (vim, nano) vai less: tas, kurš drīkst tās palaist ar sudo, no programmas var atvērt root čaulu. Nekad nepiešķiriet šādas komandas atsevišķi ar sudo.

Kas tiek reģistrēts žurnālā

Katru reizi, kad kāds izmanto sudo, journal tiek ierakstīta rinda (un sistēmās ar rsyslog arī /var/log/auth.log):

anna@web1:~$ sudo journalctl _COMM=sudo --since today
Nov 09 10:31:02 web1 sudo[2214]:     anna : TTY=pts/0 ; PWD=/home/anna ; USER=root ; COMMAND=/usr/bin/apt update

Jūs redzat, kurš, kur, kā kurš lietotājs un kādu komandu izpildīja. Tas ir viens no iemesliem, kāpēc nestrādāt vairākiem cilvēkiem kā root. Neveiksmīgi sudo mēģinājumi ("incorrect password attempts") no konta, kas nav Jūsu, ir trauksmes signāls.

Minimālās tiesības plašākā mērogā

sudo ir viens vispārēja principa pielietojums: minimālās tiesības (least privilege). Katrs lietotājs un katrs pakalpojums saņem tieši vajadzīgās tiesības, ne vairāk. Serverī tas cita starpā nozīmē:

  • Jūs strādājat kā parasts lietotājs un izmantojat sudo tikai tad, kad tas nepieciešams;
  • katrs pakalpojums darbojas ar savu lietotāju bez čaulas (nodarbība 3.1), nevis kā root;
  • tīmekļa lietotne saņem datubāzes lietotāju, kas drīkst izmantot tikai savu datubāzi, nevis datubāzes servera administratoru;
  • rezerves kopiju skripts drīkst izpildīt tikai to vienu komandu, kas tam vajadzīga (NOPASSWD ar pilnu ceļu);
  • kolēģis, kurš tikai atjaunina vietni, saņem rakstīšanas tiesības uz /var/www/example.com caur grupu, nevis sudo.

Ideja: ja kaut kas noiet greizi (ievainojamība spraudnī, nozagta atslēga), kaitējums paliek ierobežots ar šo vienu lietotāju vai pakalpojumu. CIS principos un drošības pastiprināšanas nodarbībā (10.1) tas atkārtojas vēl un vēl.

AlmaLinux un Rocky Linux sistēmās

Tur administratoru grupu sauc wheel, nevis sudo: usermod -aG wheel anna. Rinda failā /etc/sudoers ir %wheel ALL=(ALL) ALL. visudo un /etc/sudoers.d darbojas tāpat. sudo ziņojumi tur ir arī failā /var/log/secure.

Kopsavilkums

  • Strādājiet kā parasts lietotājs un administrēšanai izmantojiet sudo; sudo prasa Jūsu paroli un reģistrē katru komandu.
  • Administratora izveide: adduser anna, adduser anna sudo (wheel RHEL līdzīgās sistēmās), atslēga ar pareizo īpašnieku un tiesībām, tests otrā logā, tikai tad root pieteikšanās izslēgšana.
  • Rediģējiet sudo noteikumus tikai ar visudo, vēlams savā failā mapē /etc/sudoers.d/ bez punkta nosaukumā.
  • NOPASSWD visam noņem vienu slēdzeni; labāk izmantojiet to tikai vienai komandai ar pilnu ceļu, ko lietotājs nevar mainīt.
  • Minimālās tiesības: katrs lietotājs un pakalpojums saņem tieši to, kas vajadzīgs, lai kļūda vai ievainojamība paliktu maza.

Tests (quiz)

1. Kādu paroli sudo pēc noklusējuma prasa, kad Anna ieraksta sudo apt update?



2. Jūs izveidojat failu /etc/sudoers.d/backup.conf ar derīgu rindu, bet tā nedarbojas. Kāpēc?



3. Kāpēc sudo noteikumus rediģē ar visudo?



4. Kura rinda rezerves kopiju lietotājam rada vismazāko risku?



5. Kādā secībā izslēgt root pieteikšanos, nenobloķējot piekļuvi sev?



Uzdevums

Uzdevums O3.2: Administrators ar sudo. Izveidojiet savā serverī parastu administratoru (piemēram, anna), pareizi ievietojiet savu atslēgu, otrā logā pārbaudiet pieteikšanos un sudo -l, un pēc tam izslēdziet root pieteikšanos caur SSH (PermitRootLogin no). Atzīmējiet soļus, ielīmējiet id izvadi (tikai vārdu un grupas) un atbildiet uz jautājumiem: kura rinda piešķir Jūsu administratoram tiesības, vai kaut kur ir NOPASSWD, un kā Jūs tiksiet iekšā, ja aizmirsīsiet savu paroli?

Uzdevums O3.2: Administrators ar sudo

Šo uzdevumu veicat paši; neviens to nepārbauda. Atzīmējiet, ko esat izdarījuši, un atzīmējiet uzdevumu kā paveiktu.




Jūsu atzīmes un piezīmes paliek tikai šajā pārlūkprogrammā; mēs tās nekur nesūtām. Ja esat pieteikušies, sadaļā Mani kursi saglabājam tikai to, ka uzdevums ir paveikts.

Vairāk lasīt

Soļi šajos rakstos attiecas uz WebOké VPS; pie citiem pakalpojumu sniedzējiem tas darbojas līdzīgi.

Lūdzu, uzgaidiet…

Iestatiet savus domēnus

Katram domēnam norādiet vārdu serverus, piesaisti hostingam un to, kurš būs turētājs.

Ielādē Jūsu domēnus…