ວິທີການ ກຳ ຫນົດຄ່າ PAM ໃນການກວດສອບການເຄື່ອນໄຫວຂອງຜູ້ໃຊ້ Shell


ນີ້ແມ່ນຊຸດທີ່ ກຳ ລັງ ດຳ ເນີນຢູ່ຂອງພວກເຮົາໃນການກວດສອບ Linux, ໃນສ່ວນສີ່ຂອງບົດຂຽນນີ້, ພວກເຮົາຈະອະທິບາຍວິທີການ ກຳ ນົດ PAM ສຳ ລັບການກວດສອບການປ້ອນຂໍ້ມູນ Linux TTY (ການເຂົ້າໃຊ້ກິດຈະ ກຳ ຂອງຜູ້ໃຊ້ Shell) ສຳ ລັບຜູ້ໃຊ້ສະເພາະໂດຍ ນຳ ໃຊ້ເຄື່ອງມື pam_tty_audit.

Linux PAM (Pluggable Authentication Modules) ແມ່ນວິທີການທີ່ມີຄວາມຍືດຫຍຸ່ນສູງໃນການຈັດຕັ້ງປະຕິບັດການບໍລິການກວດສອບຄວາມຖືກຕ້ອງໃນການ ນຳ ໃຊ້ແລະການບໍລິການລະບົບຕ່າງໆ; ມັນເກີດມາຈາກ Unix PAM ເດີມ.

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

ເຄື່ອງມືກວດສອບໃຊ້ໂມດູນ pam_tty_audit PAM ເພື່ອເປີດໃຊ້ຫຼືປິດການກວດສອບການປ້ອນຂໍ້ມູນ TTY ສຳ ລັບຜູ້ໃຊ້ທີ່ລະບຸ. ເມື່ອຜູ້ໃຊ້ໄດ້ຮັບການຕັ້ງຄ່າໃຫ້ຖືກກວດສອບ, pam_tty_audit ເຮັດວຽກຮ່ວມກັບການກວດສອບເພື່ອຕິດຕາມການກະ ທຳ ຂອງຜູ້ໃຊ້ທີ່ຢູ່ໃນສະຖານີແລະຖ້າມີການຕັ້ງຄ່າ, ຈັບປຸ່ມກົດທີ່ແນ່ນອນທີ່ຜູ້ໃຊ້ເຮັດ, ຫຼັງຈາກນັ້ນບັນທຶກພວກມັນຢູ່ໃນ/var/log/audit/audit. log file.

ການຕັ້ງຄ່າ PAM ສຳ ລັບການກວດສອບການປ້ອນຂໍ້ມູນ TTY ຂອງຜູ້ໃຊ້ໃນ Linux

ທ່ານສາມາດຕັ້ງ PAM ສຳ ລັບການກວດສອບການປ້ອນຂໍ້ມູນ TTY ຂອງຜູ້ໃຊ້ສະເພາະໃດ ໜຶ່ງ ໃນເອກະສານ /etc/pam.d/system-auth ແລະ /etc/pam.d/password-auth, ໂດຍໃຊ້ຕົວເລືອກເປີດໃຊ້. ໃນທາງກັບກັນ, ຕາມທີ່ຄາດໄວ້, ການປິດການໃຊ້ງານຈະເຮັດໃຫ້ມັນຖືກປິດ ສຳ ລັບຜູ້ໃຊ້ທີ່ລະບຸໄວ້, ໃນຮູບແບບຂ້າງລຸ່ມນີ້:

session required pam_tty_audit.so disable=username,username2...  enable=username,username2..

ເພື່ອເປີດໃຊ້ການຕັດໄມ້ຂອງປຸ່ມຜູ້ໃຊ້ຕົວຈິງ (ລວມທັງສະຖານທີ່, ພື້ນຫລັງ, ປຸ່ມກັບຄືນ, ປຸ່ມຄວບຄຸມ, ລົບຄີແລະອື່ນໆ), ເພີ່ມຕົວເລືອກ log_passwd ຮ່ວມກັບຕົວເລືອກອື່ນ, ໂດຍໃຊ້ແບບຟອມນີ້:

session required pam_tty_audit.so disable=username,username2...  enable=username log_passwd

ແຕ່ກ່ອນທີ່ທ່ານຈະ ດຳ ເນີນການຕັ້ງຄ່າໃດໆ, ໃຫ້ສັງເກດວ່າ:

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

ເບິ່ງຕົວຢ່າງຂ້າງລຸ່ມນີ້, ບ່ອນທີ່ພວກເຮົາຈະ ກຳ ນົດຄ່າ pam_tty_audit ເພື່ອບັນທຶກການກະ ທຳ ຂອງຜູ້ໃຊ້ tecmint ລວມທັງການກົດປຸ່ມ, ໃນທຸກສະຖານີ, ໃນຂະນະທີ່ພວກເຮົາປິດການກວດສອບ TTY ສຳ ລັບຜູ້ໃຊ້ລະບົບອື່ນໆ.

ເປີດສອງເອກະສານການຕັ້ງຄ່າຕໍ່ໄປນີ້.

# vi /etc/pam.d/system-auth
# vi /etc/pam.d/password-auth

ຕື່ມແຖວຕໍ່ໄປນີ້ໃນແຟ້ມການຕັ້ງຄ່າ.
ກອງປະຊຸມທີ່ຕ້ອງການ pam_tty_audit.so disable = * enable = tecmint

ແລະເພື່ອຈັບຄີບອດທັງ ໝົດ ທີ່ໃສ່ໂດຍ tecmint ຂອງຜູ້ໃຊ້, ພວກເຮົາສາມາດເພີ່ມຕົວເລືອກ log_passwd ທີ່ສະແດງໄວ້.

session required pam_tty_audit.so disable=*  enable=tecmint log_passwd

ດຽວນີ້ບັນທຶກແລະປິດແຟ້ມ. ຫລັງຈາກນັ້ນ, ເບິ່ງເອກະສານບັນທຶກການກວດສອບ ສຳ ລັບການປ້ອນຂໍ້ມູນ TTY ໃດໆທີ່ຖືກບັນທຶກໄວ້, ໂດຍໃຊ້ປະໂຫຍດຂອງ aureport.

# aureport --tty

ຈາກຜົນໄດ້ຮັບຂ້າງເທິງ, ທ່ານສາມາດເຫັນ tecmint ຂອງຜູ້ໃຊ້ທີ່ UID ແມ່ນ 1000 ຄົນໃຊ້ vi/vim ບັນນາທິການ, ສ້າງໄດເລກະທໍລີທີ່ເອີ້ນວ່າຖັງແລະຍ້າຍເຂົ້າໄປໃນມັນ, ກຳ ຈັດປາຍທາງແລະອື່ນໆ.

ເພື່ອຄົ້ນຫາບັນທຶກວັດສະດຸປ້ອນ TTY ທີ່ຖືກຄົ້ນຫາດ້ວຍສະແຕມເວລາເທົ່າກັບຫຼືຫຼັງຈາກເວລາສະເພາະ, ໃຫ້ໃຊ້ -ts ເພື່ອ ກຳ ນົດວັນທີ/ເວລາເລີ່ມຕົ້ນແລະ -te ເພື່ອ ກຳ ນົດຈຸດສຸດທ້າຍ ວັນທີ/ເວລາ.

ຕໍ່ໄປນີ້ແມ່ນຕົວຢ່າງບາງຢ່າງ:

# aureport --tty -ts 09/25/2017 00:00:00 -te 09/26/2017 23:00:00
# aureport --tty -ts this-week

ທ່ານສາມາດຊອກຫາຂໍ້ມູນເພີ່ມເຕີມ, ຢູ່ໃນ ໜ້າ ຜູ້ຊາຍ pam_tty_audit.

# man  pam_tty_audit

ກວດເບິ່ງບົດຄວາມທີ່ເປັນປະໂຫຍດຕໍ່ໄປນີ້.

<

  • ຕັ້ງຄ່າ“ ບໍ່ມີການລະຫັດຜ່ານ SSH Keys Authentication” ກັບ PuTTY ໃນເຄື່ອງແມ່ຂ່າຍ Linux
  • ການຕັ້ງຄ່າການກວດສອບທີ່ອີງໃສ່ LDAP ໃນ RHEL/CentOS 7
  • ວິທີການຕັ້ງຄ່າການກວດສອບສອງປັດໃຈ (Google Authenticator) ສຳ ລັບການເຂົ້າລະບົບ SSH
  • ການເຂົ້າລະຫັດແບບບໍ່ມີລະຫັດ SSH ໂດຍໃຊ້ SSH Keygen ໃນ 5 ຂັ້ນຕອນງ່າຍໆ
  • ວິທີການ ດຳ ເນີນງານ ຄຳ ສັ່ງ 'sudo' ໂດຍບໍ່ຕ້ອງໃສ່ລະຫັດຜ່ານໃນ Linux
  • ໃນບົດຂຽນນີ້, ພວກເຮົາໄດ້ອະທິບາຍວິທີການຕັ້ງ PAM ສຳ ລັບການກວດສອບການປ້ອນຂໍ້ມູນ ສຳ ລັບຜູ້ໃຊ້ສະເພາະໃນ CentOS/RHEL. ຖ້າທ່ານມີ ຄຳ ຖາມຫຼືຄວາມຄິດເພີ່ມເຕີມທີ່ຈະແບ່ງປັນ, ນຳ ໃຊ້ ຄຳ ເຫັນຈາກດ້ານລຸ່ມ.