4 Mga Paagi sa Pag-disable sa Root Account sa Linux


Ang root account mao ang katapusang account sa Linux ug uban pang mga operating system nga sama sa Unix. Kini nga account adunay access sa tanan nga mga sugo ug mga file sa usa ka sistema nga adunay hingpit nga pagbasa, pagsulat ug pagpatuman sa mga permiso. Kini gigamit sa pagbuhat sa bisan unsa nga matang sa buluhaton sa usa ka sistema; sa pag-instalar/pagtangtang/pag-upgrade sa mga software packages, ug daghan pa.

Tungod kay ang gamut nga tiggamit adunay hingpit nga gahum, bisan unsang mga aksyon nga iyang gihimo kritikal sa usa ka sistema. Niining bahina, ang bisan unsang mga sayup sa gamut nga tiggamit mahimo’g adunay daghang mga implikasyon sa normal nga operasyon sa usa ka sistema. Dugang pa, kini nga account mahimo usab nga maabuso pinaagi sa paggamit niini sa dili husto o dili angay nga aksidente, malisyoso, o pinaagi sa tinuyo nga pagkawalay alamag sa mga palisiya.

Busa, kini mao ang advisable sa pag-disable sa root access sa imong Linux server, sa baylo, paghimo sa usa ka administratibo nga account nga kinahanglan nga ma-configure aron makakuha og root user nga mga pribilihiyo gamit ang sudo command, aron sa paghimo sa kritikal nga mga buluhaton sa server.

Niini nga artikulo, among ipasabut ang upat ka mga paagi aron ma-disable ang pag-login sa root user account sa Linux.

Atensyon: Sa dili pa nimo babagan ang pag-access sa root account, siguroha nga nakahimo ka og administratibong account, nga makahimo sa paggamit sa useradd command ug hatagan kini nga user account og lig-on nga password. Ang bandila -m nagpasabot sa paghimo sa home directory sa user ug -c nagtugot sa pagpiho sa usa ka komentaryo:

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

Sunod, idugang kini nga tiggamit sa angay nga grupo sa mga administrador sa sistema gamit ang usermod command, diin ang switch -a nagpasabut nga idugang ang user account ug ang -G nagtino sa usa ka grupo aron idugang ang user sa (wheel o sudo depende sa imong distribusyon sa Linux):

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

Sa higayon nga nakahimo ka og usa ka user nga adunay mga pribilehiyo sa administratibo, balhin sa maong account aron ma-block ang root access.

# su admin

1. Usba ang root User's Shell

Ang pinakasimple nga paagi sa pag-disable sa root user login mao ang pag-ilis sa shell niini gikan sa /bin/bash o /bin/bash (o bisan unsa nga shell nga nagtugot sa user login) ngadto sa /sbin/nologin, sa /etc/passwd file, nga mahimo nimong ablihan para sa pag-edit gamit ang bisan unsa sa imong paborito nga command line editors sama sa gipakita.

  
$ sudo vim /etc/passwd

Usba ang linya:

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

I-save ang file ug isira kini.

Sukad karon, kung mag log-in ang root user, makuha niya ang mensahe nga \Kini nga account dili magamit karon. Kini ang default nga mensahe, apan, mahimo nimo kini usbon ug ibutang ang usa ka kostumbre nga mensahe sa file /etc/nologin.txt.

Kini nga pamaagi epektibo lamang sa mga programa nga nagkinahanglan og kabhang alang sa user login, kon dili, sudo, ftp ug email nga mga kliyente maka-access sa root account.

2. I-disable ang root Login pinaagi sa Console Device (TTY)

Ang ikaduhang pamaagi naggamit ug PAM module nga gitawag ug pam_securetty, nga nagtugot sa root access lamang kung ang user nag-log in sa usa ka secure nga TTY, sumala sa gihubit sa listahan sa /etc/securetty.

Ang naa sa ibabaw nga file nagtugot kanimo sa pagtino kung unsang mga aparato sa TTY ang gitugotan sa pag-login sa root user, ang paghaw-as niini nga file magpugong sa pag-login sa ugat sa bisan unsang mga aparato nga gilakip sa sistema sa kompyuter.

Aron makahimo og walay sulod nga file, run.

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

Kini nga pamaagi adunay pipila ka mga limitasyon, kini makaapekto lamang sa mga programa sama sa pag-login, display managers (ie gdm, kdm ug xdm) ug uban pang mga serbisyo sa network nga maglunsad og TTY. Ang mga programa sama sa su, sudo, ssh, ug uban pang may kalabutan nga mga himan sa openssh adunay access sa root account.

3. I-disable ang SSH Root Login

Ang kasagarang paagi sa pag-access sa mga remote server o VPS kay pinaagi sa SSH ug aron babagan ang root user login ubos niini, kinahanglan nimo nga usbon ang /etc/ssh/sshd_config file.

$ sudo vim /etc/ssh/sshd_config

Dayon i-uncomment (kung gikomentohan) ang direktiba nga PermitRootLogin ug ibutang ang bili niini sa no ingon sa gipakita sa screenshot.

Kung nahuman na ka, i-save ug isira ang file. Unya i-restart ang serbisyo sa sshd aron magamit ang bag-o nga pagbag-o sa mga pag-configure.

$ sudo systemctl restart sshd 
OR
$ sudo service sshd restart 

Sama sa nahibal-an na nimo, kini nga pamaagi makaapekto lamang sa openssh tool set, ang mga programa sama sa ssh, scp, sftp ma-block sa pag-access sa root account.

4. Limitahi ang root Acess sa mga Serbisyo Pinaagi sa PAM

Ang Pluggable Authentication Modules (PAM sa laktod nga pagkasulti) usa ka sentralisado, pluggable, modular, ug flexible nga pamaagi sa pag-authenticate sa mga sistema sa Linux. Ang PAM, pinaagi sa /lib/security/pam_listfile.so module, nagtugot sa dako nga pagka-flexible sa paglimit sa mga pribilehiyo sa piho nga mga account.

Ang module sa ibabaw mahimong magamit sa paghisgot sa usa ka lista sa mga tiggamit nga dili gitugotan sa pag-log in pinaagi sa pipila nga mga target nga serbisyo sama sa pag-login, ssh ug bisan unsang programa nga nahibal-an sa PAM.

Sa kini nga kaso, gusto namong i-disable ang root user access sa usa ka sistema, pinaagi sa pagpugong sa access sa login ug sshd services. Una ablihi ug usba ang file alang sa target nga serbisyo sa /etc/pam.d/ direktoryo sama sa gipakita.

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

Sunod, idugang ang configuration sa ubos sa duha ka mga file.

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

Kung nahuman ka, i-save ug isira ang matag file. Unya paghimo sa yano nga file /etc/ssh/deniedusers nga kinahanglan adunay usa ka butang matag linya ug dili mabasa sa kalibutan.

Idugang ang ngalan nga gamut niini, dayon i-save ug isira kini.

$ sudo vim /etc/ssh/deniedusers

Itakda usab ang gikinahanglang permiso niini.

$ sudo chmod 600 /etc/ssh/deniedusers

Kini nga pamaagi makaapekto lamang sa mga programa ug serbisyo nga nahibal-an sa PAM. Mahimo nimong babagan ang pag-access sa gamut sa sistema pinaagi sa mga kliyente sa ftp ug email ug daghan pa.

Para sa dugang nga impormasyon, konsultaha ang may kalabotan nga man page.

$ man pam_securetty
$ man sshd_config
$ man pam

Kana lang! Niini nga artikulo, among gipatin-aw ang upat ka paagi sa pag-disable sa root user login (o account) sa Linux. Aduna ka bay bisan unsang mga komento, sugyot o pangutana, ayaw pagduhaduha sa pagkontak kanamo pinaagi sa porma sa feedback sa ubos.