Làm thế nào bạn có thể đăng nhập mọi lệnh đã gõ


24

Làm thế nào bạn có thể đăng nhập mọi lệnh mà ai đó đã nhập vào shell?

Tôi đang hỏi trên cả hai cơ sở bảo vệ chính mình nếu bạn đăng nhập vào máy chủ của người khác và một cái gì đó bị phá vỡ, hoặc nếu người khác đăng nhập vào máy chủ của bạn (cố ý hoặc độc hại).

Ngay cả một người mới có thể bỏ qua lịch sử với unset historyhoặc tạo một lớp vỏ mới để ẩn dấu vết của họ.

Tôi tò mò làm thế nào các quản trị viên linux cao cấp theo dõi những lệnh đã được nhập / thay đổi được thực hiện cho hệ thống.

Câu trả lời:


29

Kiểm tra kiểm toán . Nếu bạn thêm

-a exit,always -F arch=b64 -S execve
-a exit,always -F arch=b32 -S execve

để /etc/audit/audit.rulesmọi lệnh được thực thi sẽ được ghi lại. Xem: http://whmcr.com/2011/10/14/auditd-logging-all-commands/

Sau đó gửi nó đến một máy chủ syslog.


Chắc chắn đó execvekhông phải là tòa nhà duy nhất bạn cần đăng nhập. Tại sao không execvptốt? Hay là execl? vv
2rs2ts

Trên thực tế, tôi nhận thấy rằng trong trang hướng dẫn cho execbiết "Họ exec() các hàm thay thế hình ảnh quy trình hiện tại bằng hình ảnh quy trình mới. Các chức năng được mô tả trong trang hướng dẫn này là giao diện người dùng execve(2)." Vì vậy, trong khi tôi không chắc chắn về execveattôi có thể cảm thấy yên tâm về execgia đình.
2rs2ts

5

Bạn có thể sử dụng lệnh script . Lệnh này không được bao gồm trong POSIX, nhưng bạn sẽ thấy hữu ích khi lưu trữ trong một tệp tất cả các tổ hợp phím cũng như thông báo lỗi và đầu ra. Bạn sau đó có thể xem các tập tin. Nếu bạn đang thực hiện một số công việc quan trọng và muốn ghi nhật ký tất cả các hoạt động của mình, bạn nên gọi lệnh này ngay sau khi đăng nhập:

$ script
Script đã bắt đầu, tệp là bản thảo
$ _ Lưu ý rằng đây là shell khác - con của shell đăng nhập

Dấu nhắc trả về và tất cả các tổ hợp phím của bạn (bao gồm cả phím được sử dụng để xóa lùi) mà bạn hiện đang nhập ở đây được ghi lại trong tệp 'typecript'. Sau khi ghi âm xong, bạn có thể chấm dứt phiên bằng cách nhập thoát .
Lưu ý: Nếu bạn nhập tên tệp tập lệnh , phiên sẽ được lưu trong tên tệp của tệp chứ không phải là bản in , tức là, bản in là mặc định nếu không có tên tệp cụ thể nào được chỉ định.

Bây giờ bạn có thể sử dụng tên tệp mèo hoặc bản thảo mèo , bất kể trường hợp nào, để xem phiên đã ghi.

Nếu bạn muốn nối phiên mới vào tệp cũ, hãy sử dụng: script -a Nối phiên mới vào bản in, quy tắc mặc định tương tự cũng áp dụng ở đây

Đây là một cách mà quản trị viên hệ thống có thể theo dõi các phiên. Hy vọng nó đã được thông tin và hữu ích. Chúc mừng!

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.