4 načina da onemogućite root račun u Linuxu
Root nalog je ultimativni nalog na Linuxu i drugim operativnim sistemima sličnim Unixu. Ovaj nalog ima pristup svim komandama i datotekama na sistemu sa punim dozvolama za čitanje, pisanje i izvršavanje. Koristi se za obavljanje bilo koje vrste zadatka na sistemu; da kreirate/ažurirate/pristupite/brišete račune drugih korisnika, instalirate/uklonite/nadogradite softverske pakete i još mnogo toga.
Budući da root korisnik ima apsolutne ovlasti, sve radnje koje on/ona izvodi su kritične za sistem. U tom smislu, sve greške root korisnika mogu imati velike implikacije na normalan rad sistema. Osim toga, ovaj račun također može biti zloupotrijebljen korištenjem nepropisnog ili neprikladnog, bilo slučajno, zlonamjerno, ili zbog izmišljenog nepoznavanja pravila.
Stoga je preporučljivo onemogućiti root pristup na vašem Linux serveru, umjesto toga kreirati administrativni nalog koji bi trebao biti konfiguriran da dobije privilegije root korisnika pomoću naredbe sudo, za obavljanje kritičnih zadataka na poslužitelju.
U ovom članku ćemo objasniti četiri načina da onemogućite prijavu na root korisnički račun u Linuxu.
Pažnja: Prije nego što blokirate pristup root računu, provjerite jeste li kreirali administrativni račun, koji može koristiti sudo komandu za dobivanje root korisničke privilegije, naredbom useradd i dajte ovom korisničkom računu jaku lozinku. Oznaka -m
znači kreiranje korisničkog kućnog direktorija, a -c
omogućava navođenje komentara:
useradd -m -c "Admin User" admin
passwd admin
Zatim dodajte ovog korisnika u odgovarajuću grupu sistemskih administratora koristeći naredbu usermod, gdje prekidač -a
znači dodavanje korisničkog računa, a -G
specificira grupu za dodavanje korisnika in (wheel ili sudo ovisno o vašoj Linux distribuciji):
usermod -aG wheel admin #CentOS/RHEL
usermod -aG sudo admin #Debian/Ubuntu
Nakon što kreirate korisnika s administrativnim privilegijama, prebacite se na taj račun kako biste blokirali root pristup.
su admin
1. Promijenite ljusku root korisnika
Najjednostavniji način da onemogućite prijavu root korisnika je da promijenite njegovu ljusku iz /bin/bash
ili /bin/bash
(ili bilo koju drugu ljusku koja dozvoljava prijavu korisnika) u /sbin/nologin
, u datoteci /etc/passwd, koju možete otvoriti za uređivanje koristeći bilo koji od vaših omiljenih uređivača komandne linije kao što je prikazano.
sudo vim /etc/passwd
Promijenite liniju:
root:x:0:0:root:/root:/bin/bash
to
root:x:0:0:root:/root:/sbin/nologin
Sačuvajte 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 sa programima koji zahtijevaju ljusku za prijavu korisnika, u suprotnom, sudo, ftp i email 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 dozvoljava root pristup samo ako se korisnik prijavljuje na “sigurni” TTY, kao definisano listingom u /etc/securetty.
Gornji fajl vam omogućava da navedete na koje TTY uređaje je root korisniku dozvoljeno da se prijavi, ispraznite ovu datoteku sprečavate root prijavu na svim uređajima povezanim sa računarskim sistemom.
Da kreirate 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, utič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 povezani openssh alati će imati pristup root nalogu.
3. Onemogućite SSH Root prijavu
Najčešći način pristupa udaljenim serverima ili VPS-ovima je putem SSH-a i da blokirate prijavu root korisnika pod njim, morate urediti datoteku /etc/ssh/sshd_config.
sudo vim /etc/ssh/sshd_config
Zatim dekomentirajte (ako je komentarisana) direktivu PermitRootLogin i postavite njenu vrijednost na no
kao što je prikazano na snimku ekrana.
Kada završite, sačuvajte i zatvorite datoteku. Zatim ponovo pokrenite sshd uslugu da primijenite nedavnu promjenu u konfiguracijama.
sudo systemctl restart sshd
OR
sudo service sshd restart
Kao što možda već znate, ova metoda utiče samo na set alata openssh, programima kao što su ssh, scp, sftp biće blokiran pristup root nalogu.
4. Ograničite root pristup uslugama putem PAM-a
Pluggable Authentication Modules (PAM ukratko) je centralizirana, priključna, modularna i fleksibilna metoda provjere autentičnosti na Linux sistemima. PAM, preko /lib/security/pam_listfile.so modula, omogućava veliku fleksibilnost u ograničavanju privilegija određenih naloga.
Gornji modul se može koristiti za upućivanje na listu korisnika kojima nije dozvoljeno da se prijave preko nekih ciljnih servisa kao što su login, ssh i bilo koji PAM programi.
U ovom slučaju želimo onemogućiti pristup root korisnika sistemu, ograničavajući pristup login i sshd servisima. 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 konfiguraciju ispod u obje datoteke.
auth required pam_listfile.so \
onerr=succeed item=user sense=deny file=/etc/ssh/deniedusers
Kada završite, sačuvajte i zatvorite svaki fajl. Zatim kreirajte običnu datoteku /etc/ssh/deniedusers koja bi trebala sadržavati jednu stavku po redu i nije čitljiva.
Dodajte korijen imena u njega, zatim ga sačuvajte i zatvorite.
sudo vim /etc/ssh/deniedusers
Također postavite potrebne dozvole za ovo.
sudo chmod 600 /etc/ssh/deniedusers
Ova metoda utiče samo na programe i usluge koji su svjesni PAM-a. Možete blokirati root pristup sistemu putem ftp i email klijenata i još mnogo toga.
Za više informacija, konsultujte relevantne man stranice.
man pam_securetty
man sshd_config
man pam
To je sve! U ovom članku smo objasnili četiri načina onemogućavanja prijave (ili naloga) root korisnika u Linuxu. Imate li bilo kakve komentare, prijedloge ili pitanja, slobodno nam se obratite putem obrasca za povratne informacije ispod.