ตรวจสอบกิจกรรมบนคอมพิวเตอร์ของฉัน


16

ดังนั้นเมื่อเร็ว ๆ นี้ฉันพบว่ามีบางคนใช้คอมพิวเตอร์ของฉันโดยไม่ได้รับอนุญาตการเรียกดูโฟลเดอร์ ฯลฯ ....

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

ซอฟต์แวร์ใดที่จะตรวจสอบกิจกรรมใด ๆ ในคอมพิวเตอร์ของฉัน ในขณะที่ฉันรู้ว่าการจับภาพหน้าจอของฉันจะทำงานที่นี่ ฉันอยากจะใช้ logfile

ตัวอย่างเช่น:

/var/log/activity.log

[1 ส.ค. 2010 20:23] / usr / bin / thunar access / มัลติมีเดีย / cctv-records /
[1 ส.ค. 2010 20:25] / usr / bin / mplayer เข้าถึง /multimedia/cctv-records/00232.avi
[3 ส.ค. 2010 2010 02:34] / usr / bin / thunderbird ถูกเปิดใช้งาน
[3 ส.ค. 2010, 03:33] เริ่มต้นเซสชัน ssh จาก 12.32.132.123

กิจกรรมที่ฉันต้องการบันทึกคือ:

  • เข้าถึงไฟล์และโฟลเดอร์บนระบบไฟล์
  • เรียกใช้คำสั่ง (จากคอนโซลหรืออื่น ๆ )
  • เซสชันผู้ใช้ (เซสชันการเข้าสู่ระบบ ssh และความพยายามที่ล้มเหลว)

/var/log/auth.log ควรครอบคลุมหัวข้อย่อยที่สามของคุณ ส่วนคนอื่น ๆ จะดูไม่ค่อยน่าสนใจสักหน่อย
Cascabel

@jefromi auth.log ของฉันบันทึกเฉพาะคำสั่ง sudo และ su พยายาม ... ไม่มีการเข้าสู่ระบบ: (
สเตฟาน

คำตอบ:


8

คุณสามารถใช้กลไกในเคอร์เนลinotifyเพื่อตรวจสอบไฟล์ที่เข้าถึงได้

ก่อนอื่นคุณควรตรวจสอบว่าinotifyเปิดใช้งานเคอร์เนลหรือไม่:

pbm@tauri ~ $ zcat /proc/config.gz | grep CONFIG_INOTIFY
CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y

inotify-toolsสิ่งที่ต้องทำต่อไปคือการติดตั้ง คำแนะนำสำหรับการแจกแจงต่าง ๆ ที่คุณสามารถหาได้ที่หน้าโครงการ - ควรอยู่ในที่เก็บของการแจกแจงหลักทั้งหมด

หลังจาก inotify นั้นพร้อมทำงาน:

inotifywait /dirs/to/watch -mrq

( m= ไม่ออกหลังจากเหตุการณ์หนึ่งr= เกิดซ้ำ, q= เงียบ)

ตัวอย่างเช่น - เอาต์พุตหลังจาก ls /home/pbm

pbm@tauri ~ $ inotifywait /bin /home/pbm -mq 
/bin/ OPEN ls
/bin/ ACCESS ls
/bin/ ACCESS ls
/home/pbm/ OPEN,ISDIR 
/home/pbm/ CLOSE_NOWRITE,CLOSE,ISDIR 
/bin/ CLOSE_NOWRITE,CLOSE ls

สิ่งสำคัญคือการตั้งค่าไดเรกทอรีสำหรับนาฬิกาอย่างถูกต้อง:

  • อย่าดู/ซ้ำ - มีการอ่าน / เขียน/devและ/proc
  • ไม่ต้องดูที่บ้านของคุณซ้ำ - เมื่อคุณใช้แอพมีจำนวนมากอ่าน / เขียนไปยังแอปพลิเคชันการกำหนดค่า dirs และโปรไฟล์เบราว์เซอร์

ใน/proc/sys/fs/inotify/max_user_watchesตัวเลือกการกำหนดค่าที่แสดงจำนวนไฟล์ที่สามารถดูได้พร้อมกันคือ ค่าเริ่มต้น (สำหรับ Gentoo) นั้นไม่สูงมากนักดังนั้นหากคุณตั้งค่าตัวเฝ้าดู/home/คุณอาจเกินขีด จำกัด คุณสามารถเพิ่มขีด จำกัด ได้โดยใช้echo(จำเป็นต้องมีการเข้าถึงรูท)

echo 524288 > /proc/sys/fs/inotify/max_user_watches

แต่ก่อนหน้านั้นคุณควรอ่านเกี่ยวกับผลของการเปลี่ยนแปลงนั้น

ตัวเลือกที่น่าสนใจสำหรับคุณ:

  • -d = โหมด daemon
  • -o file = เอาต์พุตไปยังไฟล์
  • --format = รูปแบบที่ผู้ใช้ระบุข้อมูลเพิ่มเติมใน man inotifywait
  • -e EVENT= สิ่งที่เหตุการณ์ควรจะตรวจสอบ (ตัวอย่างเช่นaccess, modifyฯลฯ ข้อมูลเพิ่มเติมในman)

ที่จะมีการตั้งค่าสุดท้ายระหว่างรีเซ็ตระบบใน Debian echo 524288 >> /etc/sysctl.conf && service procps restartที่คุณสามารถทำได้ อะไรที่เทียบเท่าใน Gentoo?
tshepang

echo "fs.inotify.max_user_watches = 524288" >> /etc/sysctl.confผมว่าสิ่งที่คุณหมายถึง ใน Gentoo คุณสามารถใช้วิธีการเดียวกัน แต่sysctl.confมีต้นกำเนิดจาก/etc/init.d/bootmiscสคริปต์เริ่มต้น
pbm

1
อันที่จริงมันคือ / etc / init.d/sysctl
OneOfOne

7

เป็นคนอื่นเพื่อคุณหรือไม่ ถ้าเขามีการเข้าถึงทางกายภาพหรือการเข้าถึงรากเขาสามารถลบร่องรอยทั้งหมดของเขาและแม้กระทั่งปลูกข้อผิดพลาดในการสอดแนมในคุณ ในทางกลับกันร่องรอยบางอย่างเป็นความเจ็บปวดที่จะลบและมันยากที่จะคิดทุกอย่าง

มีการบันทึกสิ่งต่าง ๆ ไว้ในบันทึกของระบบโดยทั่วไปแล้วใน/var/log(บางระบบใช้ตำแหน่งอื่นเช่น/var/logsหรือ/var/adm) ภายใต้การกำหนดค่าปกติการเข้าสู่ระบบและการเมาท์ทั้งหมดจะถูกบันทึกไว้ หากคุณกังวลเกี่ยวกับการบันทึกที่ถูกลบคุณสามารถตั้งค่าการบันทึกระยะไกล (วิธีการทำสิ่งนี้ขึ้นอยู่กับการใช้ syslog แต่โดยทั่วไปแล้วจะมีหนึ่งหรือสองบรรทัดในการเปลี่ยนแปลงในไฟล์กำหนดค่าของผู้ส่งและผู้รับ)

หากคุณหรือการแจกจ่ายของคุณไม่ได้ปิดใช้งานคุณสมบัตินี้ทุกไฟล์จะมีเวลาเข้าถึง (“ atime”) ซึ่งจะมีการอัปเดตทุกครั้งที่อ่านไฟล์ (หากระบบไฟล์ถูกเมาท์ด้วยตัวเลือกnoatimeหรือrelatimeตัวเลือกนั้นจะไม่ได้รับการอัพเดต atime) atime สามารถแกล้งด้วยtouch -aแต่สิ่งนี้จะอัพเดตเวลาดังนั้นจึงทิ้งร่องรอยไว้ (แม้แต่รูทไม่สามารถลบการติดตามนี้ได้โดยตรงคุณต้องข้ามรหัสระบบไฟล์)

โปรแกรมต่างๆมีประวัติศาสตร์เซสชั่น ง่ายต่อการลบหรือปลอมหากผู้บุกรุกจำได้ว่าทำเช่นนั้น Bash เก็บ~/.bash_historyไว้เบราว์เซอร์มักจะเขียนสิ่งต่าง ๆ มากมายในไดเรกทอรีโปรไฟล์ของพวกเขาและอื่น ๆ คุณอาจพบว่าการแจ้งข้อผิดพลาดหรือคำเตือนใน~/.xsession-errorsหรือ/var/log/Xorg.0.logหรือตำแหน่งที่ขึ้นอยู่กับระบบอื่น ๆ

หลายคนมีคุณสมบัติบัญชีกระบวนการ ดูตัวอย่างเช่นGNU สาธารณูปโภคบัญชีคู่มือรายการในคู่มือ FreeBSDหรือHOWTO ลินุกซ์หรือคู่มือ Solaris เมื่อเปิดใช้งานมันจะบันทึกสิ่งที่ผู้ใช้เปิดตัวกระบวนการเมื่อ (มันบันทึกการexecveโทร) และอาจมากกว่า มีข้อมูลที่น่าสนใจมากมายที่ไม่ได้บันทึกเช่นไฟล์ที่เข้าถึงได้โดยกระบวนการ

หากคุณต้องการตรวจสอบการเข้าถึงทุกระบบไฟล์ที่คุณสามารถให้มันผ่านloggedfs มันง่ายมากที่จะสังเกตว่าผู้ชายคนนั้นคิดที่จะมอง

มีโปรแกรมบันทึกที่ครอบคลุมมากขึ้น แต่อาจต้องการการสนับสนุนเคอร์เนลเพิ่มเติม บน Solaris, FreeBSD, NetBSD และ Mac OS X มีdtrace (มีพอร์ต Linux อยู่ระหว่างดำเนินการ แต่ฉันไม่รู้ว่ามันมาถึงขั้นตอนการใช้งานหรือไม่) คุณยังสามารถติดตามกระบวนการเฉพาะผ่านอินเทอร์เฟซไปยังการptraceเรียกระบบตัวอย่างเช่นstraceบน Linux มันอาจทำให้เกิดการชะลอตัวที่เห็นได้ชัด

¹ บางอย่างที่ไม่ได้อยู่ใน Wikipedia? ไม่นะนั่นมันช่างบ้าบอ


1

มีลักษณะที่fail2banและDenyHØsts


1
Fail2ban ดูที่บันทึกการเข้าถึงเพื่อทำการกระทำบางอย่าง (เช่นการห้าม ip) แต่จะไม่สร้างบันทึกการเข้าถึงประเภทนี้ DenyHosts พึ่งพา TCP Wrappers เพื่อห้าม ip อีกครั้งนั่นไม่เกี่ยวข้องกับ OP
บาร์เธเลมี

1

นี่ไม่ใช่สิ่งที่คุณกำลังมองหา แต่แอพบางตัวเก็บรายการไฟล์ที่เข้าถึงล่าสุด นอกจากนี้ GNOME ยังเก็บรายการนั้นซึ่งสามารถเข้าถึงได้จากแผงควบคุม

การแก้ไขอีกอย่างคือการใช้สมุดบันทึกกิจกรรมของ GNOMEแต่ครั้งล่าสุดที่ฉันตรวจสอบมันไม่ได้เก็บบันทึกกิจกรรม CLI และสนใจเฉพาะกิจกรรมที่เกี่ยวข้องกับไฟล์ (การอ่านการแก้ไข) โดยไม่สนใจกิจกรรมอื่น ๆ

นอกจากนี้คุณยังสามารถดูใน/var/logไดเรกทอรีที่มีโปรแกรมจำนวนมากเก็บบันทึกของพวกเขา


1

สมมติว่าไร้เดียงสาเพียงพอที่ด้านข้างของผู้โจมตีของคุณคุณสามารถใส่script -qft $USER-$$ 2> $USER-$$-timeสคริปต์การเข้าสู่ระบบที่เหมาะสมเพื่อติดตามการโต้ตอบของเทอร์มินัลและเล่นซ้ำด้วยคำสั่ง scriptreplay ที่เหมาะสม

ในการตรวจสอบการเข้าถึงไฟล์ระดับผมขอแนะนำให้แนบstrace -fe openกับการเข้าสู่ระบบที่เหมาะสมกับ sshd และกรองสำหรับการประชุมเข้าสู่ระบบ (หรือบางทีมันอาจจะดีกว่าที่จะทำนี้จากคำเตือน:. เอาท์พุทขนาดใหญ่ตั้งแต่ทำอะไรบนระบบที่ทันสมัยสัมผัสมากของไฟล์ หากคุณต้องการตรวจสอบไฟล์เฉพาะลองดูauditdและโครงสร้างพื้นฐานการสนับสนุน

การประชุมและความพยายามในการเข้าสู่ระบบสามารถรวบรวมได้จาก syslog ตามคำตอบอื่น ๆ

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