4 veidi, kā atspējot root kontu Linux


Saknes konts ir galvenais konts Linux un citās Unix līdzīgās operētājsistēmās. Šim kontam ir piekļuve visām komandām un failiem sistēmā ar pilnīgām lasīšanas, rakstīšanas un izpildes atļaujām. To izmanto jebkura veida uzdevumu veikšanai sistēmā; instalēt/noņemt/uzlabot programmatūras pakotnes un vēl daudz vairāk.

Tā kā saknes lietotājam ir absolūtas pilnvaras, visas viņa/viņas veiktās darbības sistēmā ir kritiskas. Šajā sakarā jebkurām saknes lietotāja kļūdām var būt milzīga ietekme uz normālu sistēmas darbību. Turklāt šo kontu var arī ļaunprātīgi izmantot, to nepareizi vai nepiemēroti izmantojot nejauši, ļaunprātīgi vai samāksloti nezinot politikas.

Tāpēc ieteicams atspējot root piekļuvi Linux serverī, tā vietā izveidojiet administratīvo kontu, kas jākonfigurē, lai iegūtu root lietotāja privilēģijas, izmantojot komandu sudo, lai veiktu kritiskus uzdevumus serverī.

Šajā rakstā mēs izskaidrosim četrus veidus, kā atspējot root lietotāja konta pieteikšanos Linux.

Uzmanību: Pirms bloķējat piekļuvi saknes kontam, pārliecinieties, vai esat izveidojis administratīvo kontu, kas spēj izmantot komandu useradd, un piešķiriet šim lietotāja kontam spēcīgu paroli. Karodziņš -m nozīmē izveidot lietotāja mājas direktoriju un -c ļauj norādīt komentāru:

# useradd -m -c "Admin User" admin
# passwd admin

Pēc tam pievienojiet šo lietotāju atbilstošajai sistēmas administratoru grupai, izmantojot komandu usermod, kur slēdzis -a nozīmē pievienot lietotāju kontu un -G norāda grupu lietotāja pievienošanai. in (ritenis vai sudo atkarībā no jūsu Linux izplatīšanas):

# usermod -aG wheel admin    #CentOS/RHEL
# usermod -aG sudo admin     #Debian/Ubuntu 

Kad esat izveidojis lietotāju ar administratīvajām tiesībām, pārslēdzieties uz šo kontu, lai bloķētu piekļuvi saknēm.

# su admin

1. Mainiet saknes lietotāja apvalku

Vienkāršākā metode, kā atspējot root lietotājvārdu, ir mainīt tās čaumalu no /bin/bash vai /bin/bash (vai jebkuras citas čaulas, kas ļauj lietotājam pieteikties) uz /sbin/nologin , failā/etc/passwd, kuru varat atvērt rediģēšanai, izmantojot jebkuru no iecienītākajiem komandrindas redaktoriem, kā parādīts.

  
$ sudo vim /etc/passwd

Mainīt līniju:

root:x:0:0:root:/root:/bin/bash
to
root:x:0:0:root:/root:/sbin/nologin

Saglabājiet failu un aizveriet to.

Turpmāk, piesakoties root lietotājam, viņš/viņa saņems ziņojumu “Šis konts pašlaik nav pieejams”. Šis ir noklusējuma ziņojums, taču failā /etc/nologin.txt to var mainīt un iestatīt pielāgotu ziņojumu.

Šī metode ir efektīva tikai tajās programmās, kurām lietotāja ieejai ir nepieciešama čaula, pretējā gadījumā sudo, ftp un e-pasta klienti var piekļūt saknes kontam.

2. Atspējot root pieteikšanos, izmantojot konsoles ierīci (TTY)

Otrajā metodē tiek izmantots PAM modulis ar nosaukumu pam_securetty, kas ļauj piekļūt root tikai tad, ja lietotājs piesakās “drošā” TTY, kā definēts sarakstā/etc/securetty.

Iepriekš minētais fails ļauj norādīt, kurās TTY ierīcēs ir atļauts pieteikties saknes lietotājam, šī faila iztukšošana novērš root pieteikšanos visās ierīcēs, kas pievienotas datorsistēmai.

Lai izveidotu tukšu failu, palaidiet.

$ sudo mv /etc/securetty /etc/securetty.orig
$ sudo touch /etc/securetty
$ sudo chmod 600 /etc/securetty

Šai metodei ir daži ierobežojumi, tā ietekmē tikai tādas programmas kā pieteikšanās, displeja pārvaldnieki (t.i., gdm, kdm un xdm) un citus tīkla pakalpojumus, kas uzsāk TTY. Tādām programmām kā su, sudo, ssh un citiem saistītiem opensh rīkiem būs piekļuve saknes kontam.

3. Atspējojiet SSH Root Login

Visizplatītākais veids, kā piekļūt attālajiem serveriem vai VPS, ir SSH, un, lai bloķētu root lietotāju pieteikšanos zem tā, jums ir jārediģē/etc/ssh/sshd_config fails.

$ sudo vim /etc/ssh/sshd_config

Pēc tam atceliet komentāru (ja tas tiek komentēts) direktīvu PermitRootLogin un iestatiet tās vērtību uz no , kā parādīts ekrānuzņēmumā.

Kad esat pabeidzis, saglabājiet un aizveriet failu. Pēc tam restartējiet sshd pakalpojumu, lai piemērotu nesenās izmaiņas konfigurācijās.

$ sudo systemctl restart sshd 
OR
$ sudo service sshd restart 

Kā jūs jau zināt, šī metode ietekmē tikai opensh rīku kopu, tādām programmām kā ssh, scp, sftp tiks bloķēta piekļuve saknes kontam.

4. Ierobežojiet piekļuvi saknēm tikai pakalpojumiem, izmantojot PAM

Pluggable Authentication Modules (īsumā - PAM) ir centralizēta, pievienojama, modulāra un elastīga autentifikācijas metode Linux sistēmās. PAM, izmantojot moduli /lib/security/pam_listfile.so, ļauj ļoti elastīgi ierobežot noteiktu kontu privilēģijas.

Iepriekš minēto moduli var izmantot, lai atsauktos uz to lietotāju sarakstu, kuriem nav atļauts pieteikties, izmantojot dažus mērķa pakalpojumus, piemēram, pieteikšanos, ssh un jebkuras PAM informētas programmas.

Šajā gadījumā mēs vēlamies atspējot root lietotāju piekļuvi sistēmai, ierobežojot piekļuvi pieteikšanās un sshd pakalpojumiem. Vispirms atveriet un rediģējiet mērķa pakalpojuma failu direktorijā /etc/pam.d/, kā parādīts.

$ sudo vim /etc/pam.d/login
OR
sudo vim /etc/pam.d/sshd

Pēc tam abos failos pievienojiet zemāk esošo konfigurāciju.

auth    required       pam_listfile.so \
        onerr=succeed  item=user  sense=deny  file=/etc/ssh/deniedusers

Kad esat pabeidzis, saglabājiet un aizveriet katru failu. Pēc tam izveidojiet vienkāršo failu/etc/ssh/deniedusers, kurā katrā rindiņā jābūt vienam vienumam, nevis lasāmam visā pasaulē.

Pievienojiet tajā nosaukuma sakni, pēc tam saglabājiet un aizveriet to.

$ sudo vim /etc/ssh/deniedusers

Šim iestatiet arī nepieciešamās atļaujas.

$ sudo chmod 600 /etc/ssh/deniedusers

Šī metode ietekmē tikai programmas un pakalpojumus, kas ir informēti par PAM. Jūs varat bloķēt sakņu piekļuvi sistēmai, izmantojot ftp un e-pasta klientus un daudz ko citu.

Lai iegūtu papildinformāciju, skatiet attiecīgās rokasgrāmatas.

$ man pam_securetty
$ man sshd_config
$ man pam

Tas ir viss! Šajā rakstā mēs esam izskaidrojuši četrus veidus, kā atspējot root lietotāja pieteikšanos (vai kontu) Linux. Vai jums ir kādi komentāri, ieteikumi vai jautājumi, sazinieties ar mums, izmantojot zemāk esošo atsauksmju veidlapu.