ค้นหาเว็บไซต์

วิธีกำหนดค่า PAM เพื่อตรวจสอบการบันทึกกิจกรรมผู้ใช้เชลล์


นี่คือซีรี่ส์ต่อเนื่องของเราเกี่ยวกับการตรวจสอบ Linux ในส่วนที่สี่ของบทความนี้ เราจะอธิบายวิธีกำหนดค่า PAM สำหรับการตรวจสอบอินพุต Linux TTY (การบันทึกกิจกรรมผู้ใช้เชลล์) สำหรับผู้ใช้บางรายที่ใช้เครื่องมือ pam_tty_audit

Linux PAM (โมดูลการตรวจสอบความถูกต้องแบบเสียบได้) เป็นวิธีการที่มีความยืดหยุ่นสูงในการใช้บริการการตรวจสอบความถูกต้องในแอปพลิเคชันและบริการระบบต่างๆ มันเกิดจาก Unix PAM ดั้งเดิม

โดยแบ่งฟังก์ชันการตรวจสอบสิทธิ์ออกเป็นโมดูลการจัดการหลักสี่โมดูล ได้แก่: โมดูลบัญชี, โมดูลการตรวจสอบสิทธิ์, โมดูลรหัสผ่าน และ โมดูลเซสชัน . คำอธิบายโดยละเอียดของกลุ่มการจัดการวิทยานิพนธ์อยู่นอกเหนือขอบเขตของบทช่วยสอนนี้

เครื่องมือ auditd ใช้โมดูล pam_tty_audit PAM เพื่อเปิดหรือปิดการตรวจสอบอินพุต TTY สำหรับผู้ใช้ที่ระบุ เมื่อผู้ใช้ได้รับการกำหนดค่าให้ได้รับการตรวจสอบ pam_tty_audit จะทำงานร่วมกับ auditd เพื่อติดตามการกระทำของผู้ใช้บนเทอร์มินัล และหากกำหนดค่าไว้ ก็จะบันทึกการกดแป้นพิมพ์ที่ผู้ใช้ทำ จากนั้นบันทึกลงในไฟล์ /var/log/audit/audit.log

การกำหนดค่า 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..

หากต้องการเปิดการบันทึกการกดแป้นพิมพ์ของผู้ใช้จริง (รวมถึงช่องว่าง, Backspaces, ปุ่ม Return, ปุ่มควบคุม, ปุ่ม Delete และอื่นๆ) ให้เพิ่มตัวเลือก log_passwd ร่วมกับตัวเลือกอื่นๆ โดยใช้แบบฟอร์มนี้:

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

แต่ก่อนที่คุณจะดำเนินการกำหนดค่าใดๆ โปรดทราบว่า:

  • ดังที่เห็นในรูปแบบข้างต้น คุณสามารถส่งชื่อผู้ใช้จำนวนมากไปยังตัวเลือกเปิดหรือปิดใช้งานได้
  • ตัวเลือกปิดการใช้งานหรือเปิดใช้งานใดๆ จะแทนที่ตัวเลือกตรงข้ามก่อนหน้าที่ตรงกับชื่อผู้ใช้เดียวกัน
  • หลังจากเปิดใช้งานการตรวจสอบ TTY แล้ว กระบวนการทั้งหมดที่เริ่มต้นโดยผู้ใช้ที่กำหนดจะสืบทอดมา
  • หากเปิดใช้งานการบันทึกการกดแป้นพิมพ์ อินพุตจะไม่ถูกบันทึกทันที เนื่องจากการตรวจสอบ TTY จะจัดเก็บการกดแป้นพิมพ์ในบัฟเฟอร์ก่อน และเขียนเนื้อหาบัฟเฟอร์ในช่วงเวลาที่กำหนด หรือหลังจากที่ผู้ใช้ที่ได้รับการตรวจสอบออกจากระบบ ลงใน /var/log /audit/audit.log ไฟล์

ลองดูตัวอย่างด้านล่างนี้ ซึ่งเราจะกำหนดค่า pam_tty_audit เพื่อบันทึกการกระทำของผู้ใช้ tecmint รวมถึงการกดแป้นพิมพ์บนเทอร์มินัลทั้งหมด ในขณะที่เราปิดใช้งานการตรวจสอบ TTY สำหรับสิ่งอื่นๆ ทั้งหมด ผู้ใช้ระบบ

เปิดไฟล์การกำหนดค่าสองไฟล์ต่อไปนี้

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

เพิ่มบรรทัดต่อไปนี้ในไฟล์การกำหนดค่า
เซสชันที่ต้องการ pam_tty_audit.so ปิดการใช้งาน=* เปิดใช้งาน=tecmint

และหากต้องการบันทึกการกดแป้นพิมพ์ทั้งหมดที่ผู้ใช้ tecmint ป้อน เราสามารถเพิ่มตัวเลือก log_passwd ตามที่แสดง

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

ตอนนี้บันทึกและปิดไฟล์ หลังจากนั้น ให้ดูไฟล์บันทึก auditd สำหรับอินพุต TTY ใดๆ ที่บันทึกไว้ โดยใช้ยูทิลิตี้ aureport

aureport --tty

จากผลลัพธ์ด้านบน คุณสามารถเห็นผู้ใช้ tecmint ซึ่ง UID คือ 1000 ใช้โปรแกรมแก้ไข vi/vim สร้างไดเร็กทอรีชื่อ bin และย้ายเข้าไป ล้างเทอร์มินัล และอื่นๆ

หากต้องการค้นหาบันทึกอินพุต 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

ตรวจสอบบทความที่เป็นประโยชน์ต่อไปนี้

  1. กำหนดค่า “การตรวจสอบสิทธิ์คีย์ SSH แบบไม่มีรหัสผ่าน” ด้วย PuTTY บนเซิร์ฟเวอร์ Linux
  2. การตั้งค่าการรับรองความถูกต้องโดยใช้ LDAP ใน RHEL/CentOS 7
  3. วิธีการตั้งค่าการตรวจสอบสิทธิ์แบบสองปัจจัย (Google Authenticator) สำหรับการเข้าสู่ระบบ SSH
  4. เข้าสู่ระบบ SSH โดยไม่ต้องใช้รหัสผ่านโดยใช้ SSH Keygen ใน 5 ขั้นตอนง่ายๆ
  5. วิธีเรียกใช้คำสั่ง 'sudo' โดยไม่ต้องป้อนรหัสผ่านใน Linux

ในบทความนี้ เราได้อธิบายวิธีกำหนดค่า PAM สำหรับการตรวจสอบอินพุตสำหรับผู้ใช้เฉพาะบน CentOS/RHEL หากคุณมีคำถามหรือแนวคิดเพิ่มเติมที่จะแบ่งปันให้ใช้ความคิดเห็นจากด้านล่าง