Preduvjeti
Korak 1: Instaliranje sudo
Korak 2: Dodavanje sudo korisnika
Korak 3: Dodavanje novog korisnika u grupu kotača (opcionalno)
Razlika između kotača i sudoa.
Korak 4: Provjerite je li vaša sudoers datoteka ispravno postavljena
Korak 5: dopuštanje korisniku koji ne pripada ni kotaču ni grupi sudo da izvrši naredbu sudo
Korak 6: Ponovno pokretanje SSHD poslužitelja
Korak 7: Testiranje
Korak 8: Onemogućite izravan root pristup
Korištenje sudokorisnika za pristup poslužitelju i izvršavanje naredbi na korijenskoj razini vrlo je uobičajena praksa među administratorima sustava Linux i Unix. Korištenje sudokorisnika često je povezano s onemogućavanjem izravnog root pristupa nečijem poslužitelju u nastojanju da se spriječi neovlašteni pristup.
U ovom vodiču ćemo pokriti osnovne korake za onemogućavanje izravnog root pristupa, stvaranje sudo korisnika i postavljanje sudo grupe na CentOS, Debian i FreeBSD.
Preduvjeti
- Novoinstalirani Linux poslužitelj s vašom željenom distribucijom.
- Uređivač teksta instaliran na poslužitelju bilo da je nano, vi, vim, emacs.
Korak 1: Instaliranje sudo
Debian
apt-get install sudo -y
CentOS
yum install sudo -y
FreeBSD
cd /usr/ports/security/sudo/ && make install clean
ili
pkg install sudo
Korak 2: Dodavanje sudo korisnika
sudoKorisnik je normalan korisnički račun na Linux ili Unix.
Debian
adduser mynewusername
CentOS
adduser mynewusername
FreeBSD
adduser mynewusername
Korak 3: Dodavanje novog korisnika u grupu kotača (opcionalno)
Grupa kotača je korisnička grupa koja ograničava broj ljudi koji mogu surootati. Dodavanje vašeg sudokorisnika u wheelgrupu nije obavezno, ali je preporučljivo.
Napomena: U Debianu se sudogrupa često nalazi umjesto wheel. Međutim, možete ručno dodati wheelgrupu pomoću groupaddnaredbe. Za potrebe ovog vodiča koristit ćemo sudogrupu za Debian.
Razlika između wheeli sudo.
U CentOS-u i Debianu, korisnik koji pripada wheelgrupi može izvršiti sui izravno se popeti na root. U međuvremenu, sudokorisnik bi trebao koristiti sudo suprvi. U suštini, nema stvarne razlike osim u sintaksi koja se koristi da postane root , a korisnici koji pripadaju objema grupama mogu koristiti sudonaredbu.
Debian
usermod -aG sudo mynewusername
CentOS
usermod -aG wheel mynewusername
FreeBSD
pw group mod wheel -m mynewusername
Korak 4: Provjerite je li vaša sudoersdatoteka ispravno postavljena
Važno je osigurati da je sudoersdatoteka koja se nalazi u /etc/sudoersispravno postavljena kako bi se omogućilo sudo usersučinkovito korištenje sudonaredbe. Kako bismo to postigli, pregledat ćemo sadržaj /etc/sudoersi urediti ga gdje je to primjenjivo.
Debian
vim /etc/sudoers
ili
visudo
CentOS
vim /etc/sudoers
ili
visudo
FreeBSD
vim /etc/sudoers
ili
visudo
Napomena:visudo naredba će se otvoriti /etc/sudoerspomoću omiljeni tekst editor sustava (obično VI ili VIM) .
Počnite pregledavati i uređivati ispod ovog retka:
# Allow members of group sudo to execute any command
Ovaj dio /etc/sudoersčesto izgleda ovako:
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
U nekim sustavima možda nećete pronaći %wheelumjesto %sudo; u tom slučaju, ovo bi bila linija pod kojom biste počeli mijenjati.
Ako redak koji počinje s %sudou Debianu ili %wheelu CentOS-u i FreeBSD-u nije komentiran (s prefiksom #) , to znači da je sudo već postavljen i omogućen. Zatim možete prijeći na sljedeći korak.
Korak 5: Dopuštanje korisniku koji ne pripada wheelni sudogrupi ni da izvrši sudonaredbu
Moguće je dopustiti korisniku koji nije ni u jednoj grupi korisnika da izvrši sudonaredbu jednostavnim dodavanjem na /etc/sudoerssljedeći način:
anotherusername ALL=(ALL) ALL
Korak 6: Ponovno pokretanje SSHD poslužitelja
Da biste primijenili promjene koje ste napravili na /etc/sudoers, morate ponovno pokrenuti SSHD poslužitelj na sljedeći način:
Debian
/etc/init.d/sshd restart
CentOS 6
/etc/init.d/sshd restart
CentOS 7
systemctl restart sshd.service
FreeBSD
/etc/rc.d/sshd start
Korak 7: Testiranje
Nakon što ste ponovno pokrenuli SSH poslužitelj, odjavite se i zatim se ponovno prijavite kao vaš sudo user, a zatim pokušajte izvršiti neke testne naredbe kako slijedi:
sudo uptime
sudo whoami
Bilo koja od sljedećih naredbi omogućit će sudo userda postane root.
sudo su -
sudo -i
sudo -S
Bilješke:
whoamiNaredba će se vratiti rootu kombinaciji s sudo.
- Od vas će se tražiti da unesete korisničku lozinku prilikom izvršavanja
sudonaredbe, osim ako izričito ne naložite sustavu da ne traži sudo userssvoje lozinke. Imajte na umu da to nije preporučena praksa.
Izborno: dopuštanje sudobez unosa korisničke lozinke
Kao što je prethodno objašnjeno, ovo nije preporučena praksa i uključena je u ovaj vodič samo u svrhu demonstracije.
Kako bi se omogućilo svoj sudo userizvršiti sudonaredbu bez poticanja njihove lozinke, sufiks pristupnu liniju /etc/sudoerssa NOPASSWD: ALLkako slijedi:
%sudo ALL=(ALL:ALL) ALL NOPASSWD: ALL
Napomena: Morate ponovno pokrenuti svoj SSHD poslužitelj kako biste primijenili promjene.
Korak 8: Onemogućite izravan root pristup
Sada kada ste potvrdili da možete koristiti svoj sudo userbez problema, vrijeme je za osmi i posljednji korak, onemogućavanje izravnog root pristupa.
Prvo otvorite /etc/ssh/sshd_configpomoću svog omiljenog uređivača teksta i pronađite redak koji sadrži sljedeći niz. Može imati prefiks sa #znakom.
PermitRootLogin
Bez obzira na prefiks ili vrijednost opcije u /etc/ssh/sshd_config, morate promijeniti taj redak u sljedeće:
PermitRootLogin no
Konačno, ponovno pokrenite svoj SSHD poslužitelj.
Napomena: Ne zaboravite testirati svoje promjene pokušajem SSH-a na vaš poslužitelj kao root. Ako to ne možete učiniti, to znači da ste uspješno dovršili sve potrebne korake.
Ovim je naš vodič završen.