ฉันต้องการทราบว่าวิธีใดที่ดีที่สุดสำหรับการติดตามกิจกรรม superuser บนสภาพแวดล้อม Linux
โดยเฉพาะฉันกำลังมองหาคุณสมบัติเหล่านี้:
- A) การบันทึกการกดแป้นพิมพ์ไปยังเซิร์ฟเวอร์ syslog ที่ปลอดภัย
- B) ความสามารถในการเล่นซ้ำเซสชันของเชลล์ (คล้ายกับ scriptreplay)
- C) ตามหลักแล้วนี่เป็นสิ่งที่เป็นไปไม่ได้ (หรือค่อนข้างยาก) ในการหลีกเลี่ยงโดยไม่ต้องเข้าถึงเซิร์ฟเวอร์
คิดเกี่ยวกับสิ่งนี้จากมุมมองด้านความปลอดภัย / การตรวจสอบในสภาพแวดล้อมที่จำเป็นต้องได้รับอนุญาตให้ดูแลระบบที่แตกต่างกัน (หรือบุคคลที่สาม) เพื่อดำเนินการสิทธิพิเศษบนเซิร์ฟเวอร์
ผู้ดูแลระบบทุกคนจะมีบัญชีผู้ใช้ของตนเองและทุกเซสชันแบบโต้ตอบควรถูกบันทึกไว้อย่างสมบูรณ์โดยมีความเป็นไปได้ที่จะเล่นซ้ำหากจำเป็น (ตัวอย่างเช่นถ้ามีคนใช้ mc เพื่อลบหรือแก้ไขไฟล์สำคัญมันจะไม่เพียงพอ รู้ว่าบุคคลนั้นออกคำสั่ง mc นั้นจะต้องมีวิธีการดูสิ่งที่ทำหลังจากเปิดตัว mc)
หมายเหตุเพิ่มเติม :
- ตามที่ womble ได้ชี้ให้เห็นอาจเป็นตัวเลือกที่ดีที่สุดที่จะไม่มีคนลงชื่อเข้าใช้ด้วยสิทธิ์ root เพื่อทำการเปลี่ยนแปลงบนเซิร์ฟเวอร์ แต่แทนที่จะทำสิ่งนั้นผ่านระบบจัดการการตั้งค่า ดังนั้นสมมติสถานการณ์ที่เราไม่ได้มีระบบดังกล่าวและเราจำเป็นต้องให้สิทธิ์การเข้าถึงระดับรากกับคนที่แตกต่างกันมากกว่าเซิร์ฟเวอร์เดียวกัน
- ฉันไม่สนใจเลยที่จะทำสิ่งนี้อย่างลับ ๆ ล่อใจ: ทุกคนที่ลงชื่อเข้าใช้เซิร์ฟเวอร์ที่มีสิทธิ์ใช้งานรูทจะทราบว่าเซสชันนั้นจะถูกบันทึกไว้ (เช่นเดียวกับที่ผู้ดำเนินการศูนย์บริการรู้ว่าการสนทนาของพวกเขานั้น กำลังบันทึก)
- จะไม่มีใครใช้บัญชี superuser ทั่วไป ("root")
- ฉันรู้เกี่ยวกับttyrpldและดูเหมือนว่าจะทำสิ่งที่ฉันกำลังมองหา แต่ก่อนที่จะไปทางนั้นฉันอยากจะรู้ว่าสิ่งนี้สามารถแก้ไขได้โดยใช้เคอร์เนลที่ไม่ได้แก้ไข ฉันต้องการทราบว่ามีเครื่องมือใด ๆ สำหรับ Debian โดยเฉพาะ (หรือ Linux โดยทั่วไป) ที่อนุญาตให้ทำการตรวจสอบบัญชี superuser อย่างเต็มรูปแบบโดยไม่ต้องแก้ไขเชลล์หรือเคอร์เนล