4 ວິທີການທີ່ຈະປິດບັນຊີຮາກໃນ Linux


ບັນຊີຮາກແມ່ນບັນຊີສຸດທ້າຍໃນລະບົບປະຕິບັດການ Linux ແລະລະບົບປະຕິບັດການອື່ນໆທີ່ຄ້າຍຄືກັບ Unix. ບັນຊີນີ້ສາມາດເຂົ້າເຖິງທຸກ ຄຳ ສັ່ງແລະແຟ້ມໃນລະບົບທີ່ມີສິດອ່ານ, ຂຽນແລະປະຕິບັດສິດທັງ ໝົດ. ມັນຖືກນໍາໃຊ້ເພື່ອປະຕິບັດວຽກງານໃດໆໃນລະບົບ; ການຕິດຕັ້ງ/ລຶບ/ຍົກລະດັບແພັກເກດຊອບແວແລະອື່ນໆອີກຫລາຍຢ່າງ.

ເນື່ອງຈາກວ່າຜູ້ໃຊ້ຮາກມີ ອຳ ນາດຢ່າງແທ້ຈິງ, ການກະ ທຳ ໃດໆທີ່ລາວ/ນາງປະຕິບັດແມ່ນ ສຳ ຄັນຕໍ່ລະບົບ. ໃນເລື່ອງນີ້, ຂໍ້ຜິດພາດໃດໆໂດຍຜູ້ໃຊ້ຮາກອາດຈະມີຜົນສະທ້ອນອັນໃຫຍ່ຫຼວງຕໍ່ການເຮັດວຽກຂອງລະບົບປົກກະຕິ. ນອກຈາກນັ້ນ, ບັນຊີນີ້ຍັງອາດຈະຖືກທາລຸນໂດຍການ ນຳ ໃຊ້ມັນຢ່າງບໍ່ຖືກຕ້ອງຫລືບໍ່ ເໝາະ ສົມບໍ່ວ່າຈະເປັນໂດຍບັງເອີນ, ເປັນອັນຕະລາຍ, ຫຼືໂດຍຜ່ານຄວາມບໍ່ຮູ້ກ່ຽວກັບນະໂຍບາຍ.

ດັ່ງນັ້ນ, ຄວນປິດການໃຊ້ງານການເຂົ້າເຖິງຮາກໃນເຊີຟເວີ Linux ຂອງທ່ານ, ແທນທີ່ຈະ, ສ້າງບັນຊີການບໍລິຫານເຊິ່ງຄວນຈະໄດ້ຮັບການຕັ້ງຄ່າເພື່ອໃຫ້ໄດ້ຮັບສິດທິພິເສດຂອງຜູ້ໃຊ້ຮາກໂດຍໃຊ້ ຄຳ ສັ່ງ sudo, ເພື່ອປະຕິບັດວຽກທີ່ ສຳ ຄັນໃນເຊີຟເວີ.

ໃນບົດຂຽນນີ້, ພວກເຮົາຈະອະທິບາຍ 4 ວິທີເພື່ອປິດການເຂົ້າສູ່ລະບົບບັນຊີຜູ້ໃຊ້ຮາກໃນ Linux.

ເອົາໃຈໃສ່: ກ່ອນທີ່ທ່ານຈະສະກັດກັ້ນການເຂົ້າເຖິງບັນຊີຮາກ, ໃຫ້ແນ່ໃຈວ່າທ່ານໄດ້ສ້າງບັນຊີການບໍລິຫານ, ມີຄວາມສາມາດໃນການໃຊ້ ຄຳ ສັ່ງທີ່ໃຊ້ແລ້ວແລະໃຫ້ບັນຊີຜູ້ໃຊ້ນີ້ມີລະຫັດຜ່ານທີ່ເຂັ້ມແຂງ. ທຸງ -m ໝາຍ ຄວາມວ່າສ້າງລະບົບເຮືອນຂອງຜູ້ໃຊ້ແລະ -c ອະນຸຍາດໃຫ້ລະບຸ ຄຳ ເຫັນ:

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

ຕໍ່ໄປ, ຕື່ມຜູ້ໃຊ້ນີ້ເຂົ້າໃນກຸ່ມທີ່ ເໝາະ ສົມຂອງຜູ້ເບິ່ງແຍງລະບົບໂດຍໃຊ້ ຄຳ ສັ່ງ usermod, ບ່ອນທີ່ປຸ່ມ -a ໝາຍ ຄວາມວ່າເພີ່ມບັນຊີຜູ້ໃຊ້ແລະ -G ລະບຸກຸ່ມເພື່ອເພີ່ມຜູ້ໃຊ້ in (ລໍ້ຫລື sudo ຂື້ນກັບ Linux ແຈກຂອງທ່ານ):

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

ເມື່ອທ່ານໄດ້ສ້າງຜູ້ໃຊ້ທີ່ມີສິດທິພິເສດດ້ານການບໍລິຫານ, ໃຫ້ປ່ຽນໄປໃຊ້ບັນຊີນັ້ນເພື່ອທີ່ຈະສະກັດກັ້ນການເຂົ້າເຖິງຮາກ.

# su admin

1. ປ່ຽນຫອຍຮາກຂອງຜູ້ໃຊ້

ວິທີທີ່ງ່າຍທີ່ສຸດໃນການປິດການເຂົ້າສູ່ລະບົບຂອງຜູ້ໃຊ້ຮາກແມ່ນການປ່ຽນແກະຂອງມັນຈາກ /bin/bash ຫຼື /bin/bash (ຫຼືຫອຍອື່ນທີ່ອະນຸຍາດໃຫ້ເຂົ້າສູ່ລະບົບຂອງຜູ້ໃຊ້) ເພື່ອ <ລະຫັດ >/sbin/nologin , ໃນເອກະສານ/etc/passwd, ເຊິ່ງທ່ານສາມາດເປີດ ສຳ ລັບການດັດແກ້ໂດຍໃຊ້ບັນນາທິການເສັ້ນທີ່ທ່ານມັກທີ່ທ່ານຕ້ອງການຄືດັ່ງທີ່ສະແດງ.

  
$ sudo vim /etc/passwd

ປ່ຽນສາຍ:

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

ບັນທຶກເອກະສານແລະປິດມັນ.

ຈາກນີ້ຕໍ່ໄປ, ເມື່ອຜູ້ໃຊ້ຮາກເຂົ້າສູ່ລະບົບ, ລາວ/ນາງຈະໄດ້ຮັບຂໍ້ຄວາມວ່າ "ບັນຊີນີ້ບໍ່ມີໃນປະຈຸບັນ." ນີ້ແມ່ນຂໍ້ຄວາມເລີ່ມຕົ້ນ, ແຕ່ວ່າ, ທ່ານສາມາດປ່ຽນມັນແລະ ກຳ ນົດຂໍ້ຄວາມທີ່ ກຳ ນົດເອງໄວ້ໃນແຟ້ມເອກະສານ /etc/nologin.txt.

ວິທີການນີ້ມີປະສິດຕິຜົນກັບໂປແກຼມທີ່ຕ້ອງການແກະ ສຳ ລັບການເຂົ້າສູ່ລະບົບຂອງຜູ້ໃຊ້, ຖ້າບໍ່ດັ່ງນັ້ນ, sudo, ftp ແລະລູກຄ້າອີເມວສາມາດເຂົ້າເຖິງບັນຊີຮາກ.

2. ປິດການໃຊ້ງານ Login Login ຜ່ານ Console Device (TTY)

ວິທີທີສອງແມ່ນໃຊ້ໂມດູນ PAM ທີ່ເອີ້ນວ່າ pam_securetty, ເຊິ່ງອະນຸຍາດໃຫ້ເຂົ້າເຖິງຮາກພຽງແຕ່ຖ້າຜູ້ໃຊ້ເຂົ້າໃຊ້ TTY ທີ່ປອດໄພ, ຕາມທີ່ໄດ້ ກຳ ນົດໄວ້ໃນລາຍຊື່ໃນ/etc/securetty.

ເອກະສານຂ້າງເທິງນີ້ຊ່ວຍໃຫ້ທ່ານສາມາດລະບຸວ່າອຸປະກອນ TTY ໃດທີ່ຜູ້ໃຊ້ root ຖືກອະນຸຍາດໃຫ້ເຂົ້າສູ່ລະບົບ, ການປ່ອຍໄຟລ໌ນີ້ຈະປ້ອງກັນການເຂົ້າສູ່ລະບົບຮາກໃນທຸກອຸປະກອນທີ່ຕິດກັບລະບົບຄອມພິວເຕີ້.

ເພື່ອສ້າງເອກະສານເປົ່າ, ແລ່ນ.

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

ວິທີການນີ້ມີຂໍ້ ຈຳ ກັດບາງຢ່າງ, ມັນມີຜົນກະທົບຕໍ່ບັນດາໂປແກຼມຕ່າງໆເຊັ່ນ: ການເຂົ້າລະບົບ, ຜູ້ຈັດການການສະແດງ (i. e. gdm, kdm ແລະ xdm) ແລະບໍລິການເຄືອຂ່າຍອື່ນໆທີ່ເປີດໃຊ້ TTY. ບັນດາໂປແກຼມຕ່າງໆເຊັ່ນ su, sudo, ssh ແລະເຄື່ອງມື opensh ອື່ນໆທີ່ກ່ຽວຂ້ອງຈະສາມາດເຂົ້າເຖິງບັນຊີຮາກໄດ້.

3. ບໍ່ເຂົ້າລະບົບການເຂົ້າລະຫັດຮາກ SSH

ວິທີການທົ່ວໄປທີ່ສຸດຂອງການເຂົ້າເຖິງເຄື່ອງແມ່ຂ່າຍຫ່າງໄກສອກຫຼີກຫຼື VPSs ແມ່ນຜ່ານ SSH ແລະເພື່ອສະກັດກັ້ນການເຂົ້າສູ່ລະບົບຂອງຜູ້ໃຊ້ຮາກພາຍໃຕ້ມັນ, ທ່ານຕ້ອງການແກ້ໄຂເອກະສານ/etc/ssh/sshd_config.

$ sudo vim /etc/ssh/sshd_config

ຫຼັງຈາກນັ້ນບໍ່ສະແດງຄວາມຄິດເຫັນ (ຖ້າມີ ຄຳ ເຫັນ) ຄຳ ສັ່ງ PermitRootLogin ທີ່ຢູ່ໃນ ຄຳ ສັ່ງແລະ ກຳ ນົດຄ່າຂອງມັນໃຫ້ເປັນ ບໍ່ມີລະຫັດ ດັ່ງທີ່ສະແດງຢູ່ໃນພາບ ໜ້າ ຈໍ.

ເມື່ອທ່ານເຮັດແລ້ວ, ບັນທຶກແລະປິດເອກະສານ. ຫຼັງຈາກນັ້ນ, ເລີ່ມການບໍລິການ sshd ເພື່ອ ນຳ ໃຊ້ການປ່ຽນແປງ ໃໝ່ ໃນການຕັ້ງຄ່າ.

$ sudo systemctl restart sshd 
OR
$ sudo service sshd restart 

ດັ່ງທີ່ທ່ານອາດຈະຮູ້ແລ້ວ, ວິທີການນີ້ມີຜົນກະທົບຕໍ່ພຽງແຕ່ເຄື່ອງມືທີ່ເປີດຂື້ນເທົ່ານັ້ນ, ໂປແກຼມຕ່າງໆເຊັ່ນ: ssh, scp, sftp ຈະຖືກບລັອກຈາກການເຂົ້າເຖິງບັນຊີຮາກ.

4. ຈຳ ກັດການ ຈຳ ກັດຮາກໃຫ້ບໍລິການຜ່ານ PAM

ໂມດູນການພິສູດຄວາມຖືກຕ້ອງ (ແບບ PAM ໂດຍຫຍໍ້) ແມ່ນວິທີການແບບສູນກາງ, ສາມາດຖີ້ມໄດ້, ແບບງ່າຍດາຍແລະປ່ຽນແປງໄດ້ໃນການກວດສອບຄວາມຖືກຕ້ອງໃນລະບົບ Linux. PAM, ຜ່ານໂມດູນ /lib/security/pam_listfile.so, ອະນຸຍາດໃຫ້ມີຄວາມຍືດຍຸ່ນໃນການ ຈຳ ກັດສິດທິພິເສດຂອງບັນຊີສະເພາະ.

ໂມດູນຂ້າງເທິງນີ້ສາມາດຖືກ ນຳ ໃຊ້ເພື່ອອ້າງອີງລາຍຊື່ຜູ້ໃຊ້ທີ່ບໍ່ໄດ້ຮັບອະນຸຍາດເຂົ້າສູ່ລະບົບໂດຍຜ່ານບາງບໍລິການເປົ້າ ໝາຍ ເຊັ່ນ: ການເຂົ້າລະບົບ, ssh ແລະໂປແກຼມ PAM ທີ່ຮູ້.

ໃນກໍລະນີນີ້, ພວກເຮົາຕ້ອງການທີ່ຈະປິດການເຂົ້າເຖິງຜູ້ໃຊ້ຮາກໃນລະບົບ, ໂດຍການ ຈຳ ກັດການເຂົ້າເຖິງການບໍລິການເຂົ້າສູ່ລະບົບແລະ sshd. ທຳ ອິດເປີດແລະແກ້ໄຂເອກະສານ ສຳ ລັບການບໍລິການເປົ້າ ໝາຍ ໃນໄດເລກະທໍລີ /etc/pam.d/ ດັ່ງທີ່ສະແດງໄວ້.

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

ຕໍ່ໄປ, ຕື່ມການຕັ້ງຄ່າຂ້າງລຸ່ມນີ້ໃນທັງສອງເອກະສານ.

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

ເມື່ອທ່ານເຮັດ ສຳ ເລັດແລ້ວ, ບັນທຶກແລະປິດແຕ່ລະເອກະສານ. ຫຼັງຈາກນັ້ນສ້າງເອກະສານ ທຳ ມະດາ/etc/ssh/ປະຕິເສດເຊິ່ງຄວນມີ ໜຶ່ງ ລາຍການຕໍ່ ໜຶ່ງ ເສັ້ນແລະບໍ່ສາມາດອ່ານໄດ້ທົ່ວໂລກ.

ຕື່ມຊື່ຮາກໃນມັນ, ຫຼັງຈາກນັ້ນບັນທຶກແລະປິດມັນ.

$ sudo vim /etc/ssh/deniedusers

ພ້ອມທັງ ກຳ ນົດສິດອະນຸຍາດທີ່ ຈຳ ເປັນໃນເລື່ອງນີ້.

$ sudo chmod 600 /etc/ssh/deniedusers

ວິທີການນີ້ມີຜົນຕໍ່ໂຄງການແລະການບໍລິການທີ່ PAM ຮູ້ເທົ່ານັ້ນ. ທ່ານສາມາດສະກັດກັ້ນການເຂົ້າເຖິງລະບົບຮາກຜ່ານລະບົບ ftp ແລະອີເມວລູກຄ້າແລະອື່ນໆ.

ສຳ ລັບຂໍ້ມູນເພີ່ມເຕີມ, ໃຫ້ປຶກສາ ໜ້າ ຜູ້ຊາຍທີ່ກ່ຽວຂ້ອງ.

$ man pam_securetty
$ man sshd_config
$ man pam

ຫມົດເທົ່ານີ້! ໃນບົດຂຽນນີ້, ພວກເຮົາໄດ້ອະທິບາຍ 4 ວິທີການໃນການປິດການເຂົ້າສູ່ລະບົບຂອງຜູ້ໃຊ້ຮາກ (ຫລືບັນຊີ) ໃນ Linux. ທ່ານມີ ຄຳ ເຫັນ, ຄຳ ແນະ ນຳ ຫລື ຄຳ ຖາມຫຍັງ, ຮູ້ສຶກບໍ່ເສຍຄ່າທີ່ຈະຕິດຕໍ່ຫາພວກເຮົາຜ່ານແບບຟອມ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້.