4 načina da onemogućite root račun u Linuxu


Root račun je ultimativni račun na Linuxu i drugim operativnim sustavima sličnim Unixu. Ovaj račun ima pristup svim naredbama i datotekama u sustavu s punim dopuštenjima za čitanje, pisanje i izvršavanje. Koristi se za obavljanje bilo koje vrste zadatka na sustavu; za stvaranje/ažuriranje/pristup/brisanje računa drugih korisnika, instaliranje/uklanjanje/nadogradnja softverskih paketa i još mnogo toga.

Budući da root korisnik ima apsolutne ovlasti, sve radnje koje on/ona izvodi kritične su za sustav. U tom pogledu, sve greške root korisnika mogu imati velike implikacije na normalan rad sustava. Osim toga, ovaj se račun također može zloupotrijebiti korištenjem na nepravilan ili neprikladan način, bilo slučajno, zlonamjerno ili zbog izmišljenog neznanja o pravilima.

Stoga je preporučljivo onemogućiti root pristup na vašem Linux poslužitelju, umjesto toga stvoriti administrativni račun koji bi trebao biti konfiguriran za dobivanje root korisničkih povlastica pomoću naredbe sudo, za obavljanje kritičnih zadataka na poslužitelju.

U ovom ćemo članku objasniti četiri načina za onemogućavanje prijave root korisničkog računa u Linuxu.

Pažnja: Prije nego što blokirate pristup root računu, provjerite jeste li izradili administrativni račun koji može koristiti naredbu sudo za dobivanje roota korisničke privilegije, s naredbom useradd i dajte ovom korisničkom računu jaku lozinku. Oznaka -m znači stvaranje korisničkog matičnog direktorija, a -c dopušta navođenje komentara:

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

Zatim dodajte ovog korisnika odgovarajućoj grupi administratora sustava pomoću naredbe usermod, gdje prekidač -a znači dodavanje korisničkog računa, a -G određuje grupu za dodavanje korisnika in (kotačić ili sudo ovisno o distribuciji Linuxa):

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

Nakon što stvorite korisnika s administrativnim ovlastima, prebacite se na taj račun kako biste blokirali root pristup.

su admin

1. Promijenite ljusku root korisnika

Najjednostavnija metoda za onemogućavanje prijave root korisnika je promjena ljuske iz /bin/bash ili /bin/bash (ili bilo koje druge ljuske koja dopušta prijavu korisnika) u /sbin/nologin, u datoteci /etc/passwd, koju možete otvoriti za uređivanje pomoću bilo kojeg od vaših omiljenih uređivača naredbenog retka kao što je prikazano.

  
sudo vim /etc/passwd

Promijeni liniju:

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

Spremite datoteku i zatvorite je.

Od sada, kada se root korisnik prijavi, on/ona će dobiti poruku “Ovaj račun trenutno nije dostupan. ” Ovo je zadana poruka, ali možete promijenite ga i postavite prilagođenu poruku u datoteci /etc/nologin.txt.

Ova metoda je učinkovita samo s programima koji zahtijevaju ljusku za korisničku prijavu, inače sudo, ftp i e-mail klijenti mogu pristupiti root računu.

2. Onemogućite root prijavu putem konzolnog uređaja (TTY)

Druga metoda koristi PAM modul pod nazivom pam_securetty, koji dopušta root pristup samo ako se korisnik prijavljuje na “sigurni” TTY, kao definirano popisom u /etc/securetty.

Gornja datoteka vam omogućuje da odredite na koje TTY uređaje se root korisnik smije prijaviti, pražnjenje ove datoteke sprječava root prijavu na svim uređajima priključenim na računalni sustav.

Da biste stvorili praznu datoteku, pokrenite.

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

Ova metoda ima neka ograničenja, utječe samo na programe kao što su prijava, upravitelji prikaza (tj. gdm, kdm i xdm) i druge mrežne usluge koje pokrenuti TTY. Programi kao što su su, sudo, ssh i drugi srodni openssh alati imat će pristup root računu.

3. Onemogućite SSH root prijavu

Najčešći način pristupa udaljenim poslužiteljima ili VPS-ovima je putem SSH-a i da biste blokirali prijavu root korisnika putem njega, morate urediti datoteku /etc/ssh/sshd_config.

sudo vim /etc/ssh/sshd_config

Zatim uklonite komentare (ako je komentirana) direktive PermitRootLogin i postavite njezinu vrijednost na no kao što je prikazano na snimci zaslona.

Kada završite, spremite i zatvorite datoteku. Zatim ponovno pokrenite uslugu sshd kako biste primijenili nedavne promjene u konfiguracijama.

sudo systemctl restart sshd 
OR
sudo service sshd restart 

Kao što možda već znate, ova metoda utječe samo na set openssh alata, programima kao što su ssh, scp, sftp bit će blokiran pristup root računu.

4. Ograničite root pristup uslugama putem PAM-a

Pluggable Authentication Modules (ukratko PAM) je centralizirana, priključna, modularna i fleksibilna metoda provjere autentičnosti na Linux sustavima. PAM, putem /lib/security/pam_listfile.so modula, omogućuje veliku fleksibilnost u ograničavanju privilegija određenih računa.

Gore navedeni modul može se koristiti za referenciranje popisa korisnika kojima nije dopuštena prijava putem nekih ciljanih usluga kao što su prijava, ssh i bilo koji PAM programi.

U ovom slučaju, želimo onemogućiti root korisnički pristup sustavu, ograničavanjem pristupa uslugama prijave i sshd. Prvo otvorite i uredite datoteku za ciljnu uslugu u direktoriju /etc/pam.d/ kao što je prikazano.


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

Zatim dodajte donju konfiguraciju u obje datoteke.

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

Kada završite, spremite i zatvorite svaku datoteku. Zatim stvorite običnu datoteku /etc/ssh/deniedusers koja bi trebala sadržavati jednu stavku po retku i ne bi bila čitljiva.

Dodajte korijen imena u njega, zatim ga spremite i zatvorite.

sudo vim /etc/ssh/deniedusers

Također postavite potrebne dozvole za ovo.

sudo chmod 600 /etc/ssh/deniedusers

Ova metoda utječe samo na programe i usluge koji su svjesni PAM-a. Možete blokirati root pristup sustavu putem ftp-a i klijenata e-pošte i više.

Za više informacija, pogledajte relevantne stranice priručnika.

man pam_securetty
man sshd_config
man pam

To je sve! U ovom smo članku objasnili četiri načina za onemogućavanje prijave (ili računa) root korisnika u Linuxu. Imate li komentara, prijedloga ili pitanja, slobodno nam se obratite putem obrasca za povratne informacije u nastavku.