4 načini za onemogočanje korenskega računa v Linuxu


Korenski račun je najboljši račun za Linux in druge operacijske sisteme, podobne Unixu. Ta račun ima dostop do vseh ukazov in datotek v sistemu s popolnimi dovoljenji za branje, pisanje in izvajanje. Uporablja se za izvajanje kakršnih koli nalog v sistemu; namestiti/odstraniti/nadgraditi programske pakete in še veliko več.

Ker ima korenski uporabnik absolutna pooblastila, so vsa dejanja, ki jih izvede, kritična za sistem. V zvezi s tem lahko vse napake korenskega uporabnika močno vplivajo na normalno delovanje sistema. Poleg tega se lahko ta račun zlorabi tudi, če ga uporabljate nepravilno ali neprimerno, po naključju, zlonamerno ali zaradi navideznega nepoznavanja pravilnikov.

Zato je priporočljivo onemogočiti korenski dostop v strežniku Linux, namesto tega ustvarite skrbniški račun, ki ga je treba konfigurirati tako, da z ukazom sudo pridobi korenske uporabniške pravice za izvajanje kritičnih nalog na strežniku.

V tem članku bomo razložili štiri načine, kako onemogočiti prijavo v korenski uporabniški račun v sistemu Linux.

Pozor: Preden blokirate dostop do korenskega računa, se prepričajte, da ste ustvarili skrbniški račun, ki lahko uporablja ukaz useradd, in temu uporabniškemu računu dajte močno geslo. Zastavica -m pomeni ustvarjanje domačega imenika uporabnika in -c omogoča podajanje komentarja:

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

Nato dodajte tega uporabnika v ustrezno skupino sistemskih skrbnikov z ukazom usermod, kjer stikalo -a pomeni dodajanje uporabniškega računa in -G določa skupino za dodajanje uporabnika in (kolo ali sudo, odvisno od distribucije Linuxa):

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

Ko ustvarite uporabnika s skrbniškimi pravicami, preklopite na ta račun, da blokirate root dostop.

# su admin

1. Spremenite korensko uporabniško lupino

Najenostavnejši način za onemogočanje prijave uporabnika root je, da lupino spremenite iz /bin/bash ali /bin/bash (ali katere koli druge lupine, ki dovoljuje prijavo uporabnika) v /sbin/nologin , v datoteki/etc/passwd, ki jo lahko odprete za urejanje s katerim koli od vaših najljubših urejevalnikov ukazne vrstice, kot je prikazano.

  
$ sudo vim /etc/passwd

Spremenite vrstico:

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

Shranite datoteko in jo zaprite.

Od zdaj naprej, ko se uporabnik root prijavi, bo prejel sporočilo\"Ta račun trenutno ni na voljo." To je privzeto sporočilo, vendar ga lahko spremenite in nastavite sporočilo po meri v datoteki /etc/nologin.txt.

Ta metoda je učinkovita samo pri programih, ki zahtevajo lupino za prijavo uporabnikov, sicer lahko odjemalci sudo, ftp in e -pošta dostopajo do korenskega računa.

2. Onemogočite korensko prijavo prek konzolne naprave (TTY)

Druga metoda uporablja modul PAM, imenovan pam_securetty, ki dovoljuje korenski dostop le, če se uporabnik prijavi v "varnem" TTY, kot je opredeljeno v seznamu v /etc /securetty.

Zgornja datoteka vam omogoča, da določite, v katerih napravah TTY se lahko korenski uporabnik prijavi, če izpraznite to datoteko, preprečite korensko prijavo v vseh napravah, priključenih na računalniški sistem.

Če želite ustvariti prazno datoteko, zaženite.

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

Ta metoda ima nekatere omejitve, vpliva le na programe, kot so prijava, upravitelji zaslonov (tj. Gdm, kdm in xdm) in druge omrežne storitve, ki zaženejo TTY. Programi, kot so su, sudo, ssh in druga sorodna orodja openssh, bodo imeli dostop do korenskega računa.

3. Onemogoči korensko prijavo SSH

Najpogostejši način dostopa do oddaljenih strežnikov ali VPS -jev je prek SSH -ja in za blokiranje prijave uporabnika root pod njim morate urediti datoteko/etc/ssh/sshd_config.

$ sudo vim /etc/ssh/sshd_config

Nato odkomentirajte (če je komentirano) direktivo PermitRootLogin in nastavite njeno vrednost na no , kot je prikazano na posnetku zaslona.

Ko končate, shranite in zaprite datoteko. Nato znova zaženite storitev sshd, da uporabite nedavno spremembo konfiguracij.

$ sudo systemctl restart sshd 
OR
$ sudo service sshd restart 

Kot morda že veste, ta metoda vpliva le na nabor orodij openssh, programi, kot so ssh, scp, sftp, bodo blokirani pri dostopu do korenskega računa.

4. Omejite korenski dostop na storitve prek PAM

Moduli za preverjanje pristnosti, ki jih je mogoče priključiti (na kratko PAM), so centralizirana, priključljiva, modularna in prilagodljiva metoda preverjanja pristnosti v sistemih Linux. PAM prek modula /lib/security/pam_listfile.so omogoča veliko prilagodljivost pri omejevanju privilegijev določenih računov.

Zgornji modul se lahko uporablja za sklicevanje na seznam uporabnikov, ki se ne smejo prijaviti prek nekaterih ciljnih storitev, kot so prijava, ssh in kateri koli program, ki se zaveda PAM.

V tem primeru želimo onemogočiti dostop korenskega uporabnika do sistema z omejitvijo dostopa do storitev za prijavo in sshd. Najprej odprite in uredite datoteko za ciljno storitev v imeniku /etc/pam.d/, kot je prikazano.

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

Nato v obe datoteki dodajte spodnjo konfiguracijo.

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

Ko končate, shranite in zaprite vsako datoteko. Nato ustvarite navadno datoteko/etc/ssh /yedusers, ki bi morala vsebovati en element na vrstico in ne bi bila berljiva po vsem svetu.

Vanj dodajte imenski koren, nato ga shranite in zaprite.

$ sudo vim /etc/ssh/deniedusers

Za to nastavite tudi potrebna dovoljenja.

$ sudo chmod 600 /etc/ssh/deniedusers

Ta metoda vpliva le na programe in storitve, ki se zavedajo PAM. Korenski dostop do sistema lahko blokirate prek odjemalcev ftp in e -pošte in še več.

Za več informacij obiščite ustrezne strani za moške.

$ man pam_securetty
$ man sshd_config
$ man pam

To je vse! V tem članku smo razložili štiri načine onemogočanja prijave (ali računa) korenskega uporabnika v sistemu Linux. Če imate kakršne koli pripombe, predloge ali vprašanja, nam pišite preko spodnjega obrazca za povratne informacije.