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.