บันทึกกิจกรรมรูททั้งหมดด้วยชื่อผู้ใช้ดั้งเดิมที่ suudo / sudoed ไปที่รูท


11

อะไรคือวิธีที่ดีที่สุดในการติดตามผู้ที่ทำหน้าที่เป็นรูทในบันทึกเมื่อปิดใช้งานการเข้าสู่ระบบรูท (SSH) แต่ผู้ใช้สามารถเรียกใช้sudo -iหรือsu -กลายเป็นรูทได้ ฉันต้องการติดตามทุกคำสั่งด้วยชื่อผู้ใช้เดิมเช่นกัน RHEL 6 หรือ Linux rsyslog เป็นต้น

คำตอบ:


7

วิธีการที่แข็งแกร่งที่สุดดูเหมือนจะเป็น auditd:

http://blog.ptsecurity.com/2010/11/requirement-10-track-and-monitor-all.html

Auditd จะดักการเรียกระบบทั้งหมดและตรวจสอบกับชุดของกฎ ดังนั้นใน/etc/audit/audit.rulesไฟล์ของคุณคุณจะมีสิ่งต่อไปนี้:

# This file contains the auditctl rules that are loaded
# whenever the audit daemon is started via the initscripts.
# The rules are simply the parameters that would be passed
# to auditctl.

# First rule - delete all
-D

# Increase the buffers to survive stress events.
# Make this bigger for busy systems
-b 320

# Feel free to add below this line. See auditctl man page
-a always,exit -F euid=0 -F perm=wxa -k ROOT_ACTION

กฎสุดท้ายเป็นกฎที่ไม่ใช่ค่าเริ่มต้นเท่านั้น

ข้อเสียเปรียบหลักของวิธีนี้ (และเหตุผลที่ฉันพบคำถามนี้ในขณะที่มองหาทางเลือก) คือไฟล์บันทึกดิบนั้นค่อนข้างเป็นความลับและมีประโยชน์หลังจากเรียกใช้โปรแกรมสืบค้นในไฟล์บันทึกดิบเท่านั้น ausearch

ตัวอย่างแบบสอบถามสำหรับกฎนั้นจะเป็น:

ausearch -ts today -k ROOT_ACTION -f audit_me | aureport -i -f

โซลูชันสามัญสำนึกอาจจะสร้าง cron ที่จะค้นหาบันทึกการตรวจสอบดิบของคุณแล้วส่งออกไปยังโซลูชันการบันทึกของคุณ


หากคุณกำลังมองหาบางอย่างที่มาแทนที่ auditd และเชื่อมโยงเหตุการณ์ดิบสำหรับคุณลองดูที่: github.com/slackhq/go-audit
freb

3

ใน Red Hat distros คุณมักจะใช้/var/log/secureบันทึกเพื่อระบุว่าใครกำลังเข้าสู่ระบบหรือใช้งานsudoบนระบบ Fedora / CentOS / RHEL

ตัวอย่าง

ตัวอย่าง sudo
$ sudo -Es

ผลการบันทึก:

1 ก.ย. 19:32:51 greeneggs sudo: saml: TTY = pts / 2; PWD = / home / saml; USER = root; COMMAND = / bin / ทุบตี

ตัวอย่างซู
$ su -

ผลการบันทึก:

1 ก.ย. 19:34:49 greeneggs su: pam_unix (su-l: session): เปิดเซสชันสำหรับผู้ใช้รูทโดย saml (uid = 1,000)


3

หากคุณมีผู้ใช้งานที่ให้ความร่วมมือคุณสามารถตั้งค่ารูทเพื่อบันทึกทุกอย่างที่ผู้ใช้รูทเป็น syslog

http://linux.die.net/man/1/rootsh

rootsh rpms มีอยู่ใน EPEL

เวอร์ชั่นของ sudo บน RHEL6 นั้นยังสามารถบันทึก stdout ไปยังไฟล์สำหรับทุก ๆ sudo ดูในหน้า man sudo_plugins

วิธีการเหล่านี้ไม่สามารถกันกระสุนได้อย่างสมบูรณ์

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