Giám sát hoạt động trên máy tính của tôi.


16

Vì vậy, gần đây tôi thấy rằng ai đó đã sử dụng máy tính của tôi mà không có sự đồng ý, duyệt các thư mục, v.v ....

Tôi có thể thay đổi tất cả mật khẩu của mình ngay lập tức, nhưng tôi tò mò vì những gì bên xâm nhập đang tìm kiếm. Vì vậy, tôi muốn thiết lập một cái bẫy (nụ cười xấu xa).

Phần mềm nào sẽ giám sát bất kỳ hoạt động nào trên máy tính của tôi? Trong khi tôi biết rằng chụp màn hình của tôi sẽ hoạt động ở đây. Tôi muốn sử dụng một logfile.

Ví dụ:

/var/log/activity.log

[1 tháng 8 2010 2010
2323
] 2010 02:34] / usr / bin / thunderbird đã được chạy
[3 tháng 8 năm 2010 03:33] bao gồm phiên ssh từ 12.32.132.123

Các hoạt động tôi muốn đăng nhập là:

  • Truy cập vào tệp và thư mục trên hệ thống tệp
  • Các lệnh chạy (từ bàn điều khiển hoặc cách khác)
  • Phiên người dùng (đăng nhập, phiên ssh và lần thử thất bại)

/var/log/auth.log sẽ bao gồm điểm đạn thứ ba của bạn. Những người khác sẽ ít tầm thường hơn một chút.
Cascabel

@jefromi auth.log của tôi chỉ ghi nhật ký lệnh sudo và su ... không đăng nhập :(
Stefan

Câu trả lời:


8

Bạn có thể sử dụng cơ chế trong kernel inotifyđể theo dõi các tệp được truy cập.

Trước tiên, bạn nên kiểm tra nếu inotifyđược bật trong kernel:

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

Điều tiếp theo cần làm là cài đặt inotify-tools. Hướng dẫn cho các bản phân phối khác nhau mà bạn có thể tìm thấy ở trang dự án - nó phải nằm trong kho của tất cả các bản phân phối chính.

Sau đó, inotify đã sẵn sàng để làm việc:

inotifywait /dirs/to/watch -mrq

( m= không thoát sau một sự kiện, r= đệ quy, q= yên lặng)

Ví dụ: đầu ra sau 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

Điều quan trọng là thiết lập đúng thư mục cho đồng hồ:

  • không xem /đệ quy - có rất nhiều đọc / ghi /dev/proc
  • không xem đệ quy thư nhà của bạn một cách đệ quy - khi bạn sử dụng ứng dụng, có rất nhiều phần đọc / ghi vào thư mục cấu hình ứng dụng và thư mục hồ sơ trình duyệt

Trong /proc/sys/fs/inotify/max_user_watchesđó có tùy chọn cấu hình cho thấy có bao nhiêu tệp có thể được xem cùng một lúc. Giá trị mặc định (đối với Gentoo) không quá cao, vì vậy nếu bạn đặt trình theo dõi thành /home/bạn có thể vượt quá giới hạn. Bạn có thể tăng giới hạn bằng cách sử dụng echo(cần quyền truy cập root).

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

Nhưng trước đó bạn nên đọc về hậu quả của sự thay đổi đó .

Các tùy chọn có thể thú vị cho bạn:

  • -d = chế độ daemon
  • -o file = xuất ra tệp
  • --format = định dạng do người dùng chỉ định, thêm thông tin trong man inotifywait
  • -e EVENT= Những gì sự kiện nên được theo dõi (ví dụ access, modify, vv, thông tin thêm ở man)

Để có cài đặt cuối cùng giữa các lần đặt lại hệ thống, trên Debian bạn có thể làm echo 524288 >> /etc/sysctl.conf && service procps restart. Tương đương ở Gentoo là gì?
tshepang

Tôi nghĩ rằng bạn có ý nghĩa echo "fs.inotify.max_user_watches = 524288" >> /etc/sysctl.conf. Trong Gentoo, bạn có thể sử dụng cùng một phương thức, nhưng sysctl.confcó nguồn gốc từ /etc/init.d/bootmisctập lệnh init.
pbm

1
thực ra đó là /etc/init.d/sysctl.
OneOfOne

7

Là người đàn ông khác trên bạn? Nếu anh ta có quyền truy cập vật lý hoặc quyền truy cập root, anh ta có thể xóa tất cả dấu vết của mình và thậm chí gieo một lỗi để theo dõi bạn . Mặt khác, một số dấu vết là một nỗi đau để xóa, và thật khó để nghĩ về mọi thứ.

Nhiều thứ đã được ghi lại trong nhật ký hệ thống, thường là trong /var/log(một số hệ thống sử dụng một vị trí khác nhau như /var/logshoặc /var/adm). Trong một cấu hình bình thường, tất cả các thông tin đăng nhập và gắn kết được ghi lại, trong số những người khác. Nếu bạn lo lắng về việc nhật ký bị xóa, bạn có thể thiết lập ghi nhật ký từ xa (cách thực hiện việc này tùy thuộc vào việc thực hiện nhật ký hệ thống, nhưng nói chung, một hoặc hai dòng sẽ thay đổi trong tệp cấu hình trên người gửi và trên máy thu).

Nếu bạn hoặc bản phân phối của bạn không vô hiệu hóa tính năng này, mọi tệp đều có thời gian truy cập (tại atime trực tiếp) được cập nhật bất cứ khi nào tệp được đọc. (Nếu hệ thống tập tin được gắn kết với tùy chọn noatimehoặc relatime, thì atime không được cập nhật.) Atime có thể được làm giả touch -a, nhưng điều này cập nhật ctime, vì vậy nó để lại dấu vết. (Ngay cả root cũng không thể xóa trực tiếp dấu vết này, bạn cần bỏ qua mã hệ thống tập tin.)

Các chương trình khác nhau có một lịch sử phiên . Thật dễ dàng để loại bỏ hoặc giả mạo, nếu kẻ xâm nhập nhớ làm như vậy. Bash giữ ~/.bash_history, các trình duyệt có xu hướng viết nhiều thứ trong thư mục hồ sơ của họ, v.v. Bạn cũng có thể tìm thấy lỗi hoặc cảnh báo trong ~/.xsession-errorshoặc /var/log/Xorg.0.loghoặc vị trí phụ thuộc hệ thống khác.

Nhiều đơn vị có một quy trình kế toán ¹ tính năng. Xem ví dụ hướng dẫn sử dụng tiện ích kế toán GNU , mục trong sổ tay FreeBSD hoặc hướng dẫn Linux hoặc hướng dẫn Solaris . Sau khi được bật, nó ghi lại những gì người dùng đã khởi chạy tiến trình khi nào (nó ghi nhật ký execvecuộc gọi) và có lẽ một chút nữa. Có rất nhiều thông tin thú vị mà nó không đăng nhập, chẳng hạn như các tệp được quá trình truy cập.

Nếu bạn muốn giám sát tất cả các truy cập vào một hệ thống tập tin, bạn có thể cung cấp nó thông qua logfs . Rất dễ để ý nếu anh chàng nghĩ rằng nhìn.

Có nhiều chương trình ghi nhật ký toàn diện hơn, nhưng chúng có thể yêu cầu hỗ trợ kernel bổ sung. Trên Solaris, FreeBSD, NetBSD và Mac OS X, có dtrace (đang có một cổng Linux nhưng tôi không biết liệu nó có đạt đến giai đoạn có thể sử dụng được không). Bạn cũng có thể theo dõi các quy trình cụ thể thông qua giao diện cho lệnh ptracegọi hệ thống, ví dụ như stracetrên Linux; nó có thể gây ra một sự chậm lại đáng chú ý.

¹ Cái gì đó không có trong Wikipedia? Không, đó là một cuộc nói chuyện điên rồ.


1

Hãy xem Fail2banDenyHØsts .


1
Fail2ban xem xét nhật ký truy cập để thực hiện một số hành động nhất định (ví dụ: cấm ip), nhưng nó không tạo ra các loại nhật ký truy cập này. Denyhosts dựa vào TCP Wrappers để cấm ip, một lần nữa, điều đó không liên quan đến OP.
Barthelemy

1

Đây không phải là chính xác những gì bạn đang tìm kiếm, nhưng một số ứng dụng giữ một danh sách các tệp được truy cập gần đây. Ngoài ra, Gnome giữ danh sách đó, có thể được truy cập từ Bảng điều khiển của nó.

Một cách khắc phục khác là sử dụng Nhật ký hoạt động của Gnome , mặc dù lần trước tôi đã kiểm tra, nó không lưu bản ghi hoạt động CLI và chỉ quan tâm đến hoạt động liên quan đến tệp (đọc, chỉnh sửa), bỏ qua các hoạt động khác.

Bạn cũng có thể xem bên trong /var/logthư mục nơi một loạt các chương trình lưu trữ nhật ký của họ.


1

Giả sử đủ ngây thơ về phía kẻ tấn công của bạn, bạn có thể chỉ cần ném script -qft $USER-$$ 2> $USER-$$-timevào tập lệnh đăng nhập thích hợp của anh ấy / cô ấy để theo dõi các tương tác đầu cuối của anh ấy hoặc cô ấy và phát lại bằng các lệnh scriptreplay thích hợp.

Để giám sát quyền truy cập ở cấp độ tệp, tôi khuyên bạn nên đính kèm một bản strace -fe openghi thích hợp vào sshd và lọc cho các phiên đăng nhập (hoặc có thể tốt hơn là chỉ làm điều này từ. Cảnh báo: Đầu ra rất lớn, vì làm bất cứ điều gì trên hệ thống hiện đại đều chạm vào rất nhiều tệp Nếu bạn chỉ muốn theo dõi các tập tin cụ thể, hãy xem audd và cơ sở hạ tầng hỗ trợ của nó.

Phiên và nỗ lực đăng nhập có thể được thu thập từ syslog theo các câu trả lời khác.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.