ฉันจะบันทึกคำสั่งทุกคำสั่งที่ดำเนินการโดยผู้ใช้ได้อย่างไร


32

ฉันต้องการตรวจสอบกิจกรรมของผู้ใช้ทั้งหมดในเซิร์ฟเวอร์ของฉัน

แม้ในขณะที่ผู้ใช้เรียกใช้งานคำสั่งเชลล์จากเครื่องมือแก้ไขบางตัวเช่น vim ฉันต้องการเห็นมันในล็อกไฟล์

ฉันตรวจสอบเครื่องมือแล้ว แต่ไม่ได้แสดงรายการคำสั่งทั้งหมด (โปรดแก้ไขฉันหากฉันพลาดตัวเลือกบางอย่างที่ทำไปแล้ว)

เครื่องมือ Linux ตัวไหนที่ฉันควรจะดูเพื่อแก้ไขปัญหานี้?


1
. man script (1)
adaptr


การอ้างอิงที่ดี8gwifi.org/docs/linux-monitor-commands.jsp
anish

คำตอบ:


32

เพิ่มบรรทัดนี้ในการกำหนดค่า pam ของคุณรับผิดชอบในการเข้าสู่ระบบ (ระบบการตรวจสอบของมันบน distros ตาม redhat)

session    required     pam_tty_audit.so enable=*

เพื่อหาสิ่งที่ทำคุณสามารถใช้

ausearch -ts <some_timestamp> -m tty -i

สิ่งนี้สร้างผลลัพธ์เช่นนี้:

 type=TTY msg=audit(11/30/2011 15:38:39.178:12763684) : tty pid=32377 uid=root
 auid=matthew major=136 minor=2 comm=bash data=<up>,<ret>

ข้อเสียเพียงอย่างเดียวของเรื่องนี้ก็คืออ่านยากนิดหน่อย แต่มันดีกว่าวิธีแก้ปัญหาที่เสนอมามากที่สุดเนื่องจากในทางทฤษฎีแล้วมันสามารถใช้บันทึกเซสชันทั้งหมดหูดทั้งหมด

แก้ไข: โอ้และคุณสามารถใช้ aureport เพื่อสร้างรายการที่มีประโยชน์มากขึ้น

# aureport --tty
...
12. 11/30/2011 15:50:54 12764042 501 ? 4294967295 bash "d",<^D>
13. 11/30/2011 15:52:30 12764112 501 ? 4294967295 bash "aureport --ty",<ret>
14. 11/30/2011 15:52:31 12764114 501 ? 4294967295 bash <up>,<left>,<left>,"t",<ret>

ขอบคุณสำหรับรายละเอียด ฉันใช้ Ubuntu 10.04 LTS เมื่อฉันตรวจสอบโฟลเดอร์ / lib / ความปลอดภัย / โมดูลไม่มีอยู่ แต่มีหน้า man อยู่สำหรับโมดูลนั้น ฉันคิดว่าฉันได้รับข้อผิดพลาดนี้bug.launchpad.net/ubuntu/+source/pam/+bug/588547มีวิธีอื่นที่ฉันสามารถติดตั้งโมดูลนั้นได้หรือไม่?
Supratik

รายงานข้อผิดพลาดจะแนะนำการแก้ไขและอัปเดตที่เผยแพร่
Matthew Ife

@Mlfe ฉันรวบรวมซอร์สโค้ด PAM และคัดลอกไฟล์. so ใน / lib / security / และใช้งานได้ ขอบคุณอีกครั้ง.
Supratik

1
@CameronKerr: ปัญหารหัสผ่านได้รับการแก้ไข: redhat.com/archives/linux-audit/2013-May/msg00007.html
Yohann

3
โปรดทราบว่ามันคุ้มค่าที่จะกล่าวถึงว่าสำหรับการทำงานด้านบนauditddaemon จำเป็นต้องเปิดใช้งานก่อน (ไม่ใช่ค่าเริ่มต้นในการติดตั้ง CentOS 6.7 ของฉัน) ในการเริ่ม daemon ให้ใช้: service auditd startและเพื่อให้การเปลี่ยนแปลงนี้คงอยู่ (หลังจากรีบูต) ให้ใช้chkconfig auditd on ที่มา: access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/…และaccess.redhat.com/documentation/en-US/ Red_Hat_Enterprise_Linux / …
jonny

8

ทางออกที่ดีที่สุดสำหรับปัญหาของคุณคือระบบตรวจสอบในตัวของ Linux ใช้man 8 auditdหรือตรวจสอบหน้านี้สำหรับข้อมูลเพิ่มเติม: http://linux.die.net/man/8/auditd

นอกจากนี้คุณสามารถตรวจสอบบทช่วยสอนนี้ - แม้ว่าจะไม่อยู่ในขอบเขตคำถามของคุณ แต่ก็แสดงให้เห็นว่าระบบการตรวจสอบทำงานอย่างไร


2

คุณสามารถใช้ด้อม

มันเป็นห้องสมุดเข้าสู่ระบบคำสั่งที่เรียบง่ายและไม่ใช่วิธีการตรวจสอบที่เหมาะสม (หลีกเลี่ยงได้อย่างง่ายดาย) การเปิดเผย: ฉันเป็นผู้ดูแลด้อมในปัจจุบัน


2

รู้จักกันน้อยเคล็ดลับ sudoแต่อย่างง่ายดายที่น่ากลัวที่สุดคือเพียงเพื่อใช้ในการสร้างความสามารถในการตรวจสอบของ Sudo มาพร้อมกับsudoreplayคำสั่งที่ทำให้การเล่นซ้ำง่ายขึ้น มันจะถ่ายทอดvimช่วงเวลา (ตามที่คุณแนะนำ)

ต่อไปนี้เป็นวิธีใช้งานในไม่กี่ขั้นตอน:

  1. ติดตั้งsudoshบนระบบของคุณ นี่คือ wrapper เชลล์รอบsudoคำสั่งที่ทำให้ผู้ใช้เป็นsudoตัวของตัวเอง (ไม่ใช่root) และสามารถใช้เป็นเชลล์ล็อกอินของระบบ
  2. เปิดใช้งานsudoการบันทึก แก้ไข/etc/sudoers.d/sudosh: Defaults log_output Defaults!/usr/bin/sudoreplay !log_output Defaults!/sbin/reboot !log_output

  3. เพิ่มคำสั่งนี้ไป/etc/shellsยังเพื่ออนุญาตการเข้าสู่ระบบโดยใช้: /usr/bin/sudosh

    เคล็ดลับ : เพื่อป้องกันผู้ใช้จากการใช้เปลือกหอยอื่น ๆ ที่จะเข้าสู่ระบบเอาเปลือกหอยอื่น ๆ /etc/shellsที่มาจาก

  4. อัพเดตผู้ใช้foobarเพื่อใช้sudoshเชลล์ chsh -s /usr/bin/sudosh foobar

สำหรับข้อมูลรายละเอียดเพิ่มเติมโปรดดู: https://github.com/cloudposse/sudosh/


1

นี่คือวิธีการแก้ปัญหามายากล: http://www.cyberciti.biz/tips/howto-log-user-activity-using-process-accounting.html

  • yum ติดตั้ง psacct (redhat)
  • sudo apt-get install acct

คุณสามารถแสดงสถิติเกี่ยวกับคำสั่งของผู้ใช้ / การเชื่อมต่อ ฯลฯ

รายการคำสั่งทั้งหมดที่เรียกใช้โดยผู้ใช้ที่กำหนด ...

ค้นหาบันทึกการบัญชีตามชื่อคำสั่ง: $ lastcomm rm $ lastcomm passwd

และอื่น ๆ สำหรับข้อมูลเพิ่มเติมกรุณาเยี่ยมชมลิงค์ด้านบน ..


3
ในคำถามที่ว่ากันว่า: 'acct มันไม่ได้แสดงรายการคำสั่งทั้งหมด'
Putnik
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.