4 viisi juurkonto keelamiseks Linuxis


Juurkonto on Linuxi ja teiste Unixi-laadsete operatsioonisüsteemide lõplik konto. Sellel kontol on juurdepääs süsteemi kõikidele käsudele ja failidele, millel on täielikud lugemis-, kirjutamis- ja täitmisõigused. Seda kasutatakse süsteemis mis tahes ülesannete täitmiseks; tarkvarapakettide installimiseks/eemaldamiseks/täiendamiseks ja palju muud.

Kuna juurkasutajal on absoluutsed volitused, on kõik tema tehtud toimingud süsteemi jaoks kriitilised. Sellega seoses võivad juurkasutaja kõik vead mõjutada süsteemi normaalset toimimist tohutult. Lisaks võidakse seda kontot kuritarvitada, kui kasutate seda valesti või sobimatult kas juhuslikult, pahatahtlikult või väljamõeldud poliitikatest teadmatuse tõttu.

Seetõttu on soovitatav keelata juurepääs oma Linuxi serveris, selle asemel luua administraatorikonto, mis peaks olema konfigureeritud root-kasutajaõiguste saamiseks käsu sudo abil serveris kriitiliste ülesannete täitmiseks.

Selles artiklis selgitame nelja võimalust juurkasutaja konto sisselogimise keelamiseks Linuxis.

Tähelepanu: Enne juurkontole juurdepääsu blokeerimist veenduge, et olete loonud administraatorikonto, mis on võimeline kasutama käsku useradd, ja andma sellele kasutajakontole tugeva parooli. Lipp -m tähendab kasutaja kodukataloogi loomist ja -c võimaldab määrata kommentaari:

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

Seejärel lisage see kasutaja sobiva süsteemiadministraatorite rühma, kasutades käsku usermod, kus lüliti -a tähendab kasutajakonto lisamist ja -G määrab kasutaja lisamiseks rühma in (ratas või sudo, sõltuvalt teie Linuxi levitamisest):

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

Kui olete loonud administraatoriõigustega kasutaja, lülituge juurkontakti blokeerimiseks sellele kontole.

# su admin

1. Muutke juurkasutaja kest

Lihtsaim meetod juurkasutaja sisselogimise keelamiseks on muuta selle kest väärtuseks /bin/bash või /bin/bash (või mis tahes muu kest, mis võimaldab kasutajal sisselogimist) väärtuseks /sbin/nologin failis/etc/passwd, mille saate redigeerimiseks avada mis tahes oma lemmik käsurea redaktoriga, nagu näidatud.

  
$ sudo vim /etc/passwd

Muutke rida:

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

Salvestage fail ja sulgege see.

Nüüdsest saab juurkasutaja sisselogimisel teate\"See konto pole praegu saadaval." See on vaiketeade, kuid saate seda muuta ja määrata failis /etc/nologin.txt kohandatud sõnumi.

See meetod on efektiivne ainult programmide puhul, mis vajavad kasutaja sisselogimiseks kesta, vastasel juhul pääsevad sudo, ftp ja e-posti kliendid juurkontole juurde.

2. Keela juur sisselogimine konsooliseadme (TTY) kaudu

Teine meetod kasutab PAM-moodulit nimega pam_securetty, mis lubab juurjuurdepääsu ainult juhul, kui kasutaja logib sisse turvalisel TTY-l, nagu on määratletud kataloogis/etc/securetty.

Ülaltoodud fail võimaldab teil määrata, millistele TTY-seadmetele on juurkasutajal lubatud sisse logida, selle faili tühjendamine takistab juur-sisselogimist arvutisüsteemi ühendatud seadmetes.

Tühja faili loomiseks käivitage.

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

Sellel meetodil on mõned piirangud, see mõjutab ainult selliseid programme nagu sisselogimine, kuvahaldurid (st gdm, kdm ja xdm) ja muud võrguteenused, mis käivitavad TTY. Sellistel programmidel nagu su, sudo, ssh ja muudel seotud opensh-i tööriistadel on juurdepääs juurkontole.

3. Keelake SSH juur sisselogimine

Levinuim viis kaugserveritele või VPS-idele juurdepääsemiseks on SSH kaudu ja juurkasutajate sisselogimise blokeerimiseks peate redigeerima faili/etc/ssh/sshd_config.

$ sudo vim /etc/ssh/sshd_config

Seejärel tühjendage (kui seda kommenteeritakse) direktiiv PermitRootLogin ja määrake selle väärtuseks no , nagu ekraanipildil näidatud.

Kui olete valmis, salvestage ja sulgege fail. Seejärel taaskäivitage teenus sshd, et rakendada hiljutisi muudatusi konfiguratsioonides.

$ sudo systemctl restart sshd 
OR
$ sudo service sshd restart 

Nagu te võib-olla juba teate, mõjutab see meetod ainult openssh-i tööriistakomplekti, näiteks ssh, scp, sftp programmid ei pääse juurkontole juurde.

4. Piirake juurjuurdepääs teenustele PAM-i kaudu

Pluggable Authentication Modules (lühidalt PAM) on tsentraliseeritud, ühendatav, modulaarne ja paindlik autentimismeetod Linuxi süsteemides. PAM võimaldab mooduli /lib/security/pam_listfile.so kaudu suurt paindlikkust konkreetsete kontode privileegide piiramisel.

Eespool nimetatud moodulit saab kasutada nende kasutajate loendi viitamiseks, kellel ei ole lubatud mõne sihtteenuse (nt sisselogimise, ssh ja kõigi PAM-i teadvustavate programmide kaudu) sisse logida.

Sel juhul soovime keelata juurkasutaja juurdepääsu süsteemile, piirates juurdepääsu sisselogimis- ja sshd-teenustele. Esmalt avage ja muutke kataloogis /etc/pam.d/ sihtteenuse faili, nagu näidatud.

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

Järgmisena lisage mõlema faili allolev konfiguratsioon.

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

Kui olete lõpetanud, salvestage ja sulgege kõik failid. Seejärel looge tavaline fail/etc/ssh/deniedusers, mis peaks sisaldama ühte üksust real ja mitte kogu maailmas loetav.

Lisage sinna nimejuur, seejärel salvestage ja sulgege.

$ sudo vim /etc/ssh/deniedusers

Selle jaoks määrake ka vajalikud load.

$ sudo chmod 600 /etc/ssh/deniedusers

See meetod mõjutab ainult programme ja teenuseid, mis on PAM-i teadlikud. Võite blokeerida juurjuurdepääsu süsteemile ftp ja e-posti klientide kaudu.

Lisateavet leiate asjakohastelt man-lehtedelt.

$ man pam_securetty
$ man sshd_config
$ man pam

See on kõik! Selles artiklis oleme selgitanud nelja võimalust juurkasutaja sisselogimise (või konto) keelamiseks Linuxis. Kas teil on kommentaare, ettepanekuid või küsimusi, võtke meiega ühendust allpool oleva tagasisidevormi kaudu.