Đề nghị của tôi là sử dụng audd . Đây là ghi nhật ký bằng hệ thống con kiểm toán của kernel linux và theo tôi là cách thích hợp để làm điều đó nếu bạn nghiêm túc. Và với bản chất của câu hỏi {bảo mật liên quan}, bạn cũng nên sử dụng PAM . Ở mức mặc định chỉ cần cài đặt audd và PAM , bạn sẽ tự động nhận được tất cả các lần thử SSH thành công và không thành công được đăng nhập vào tệp aud.log của bạn. Vì vậy, bạn thực sự không phải cấu hình bất cứ điều gì, chỉ cần cài đặt audd và PAM . Tôi biết tay đầu tiên này cho SLES. Và sẽ đặt cược RHEL và bất kỳ phiên bản doanh nghiệp nào khác của linux sẽ hoạt động tương tự.
http://manpages.ubfox.com/manpages/precise/man8/auditd.8.html
trong nhật ký kiểm toán liệu được tạo ra bởi auditd bạn có thể sử dụng hoặc sử dụng một cái gì đó giống như aureport
để lọc nó được mô tả trong các auditd trang người đàn ông, viết phân tích cú pháp văn bản của riêng bạn, hoặc chỉ sử dụng VI và tìm kiếm các từ khóa.
đây là một ngoại lệ của /var/log/audit/audit.log
tập tin của tôi với tôi ssh'ing vào máy chủ linux của tôi.
node=shark type=CRED_DISP msg=audit(1480622612.317:2211277): user pid=117768 uid=0 auid=23456 ses=2201 msg='op=PAM:setcred acct="ron" exe="/usr/sbin/sshd" (hostname=abc415.mycompany.us, addr=172.16.152.5, terminal=ssh res=success)'
- Từ trên, tên máy chủ của tôi là cá mập .
- nhiều dòng như thế này nằm trong aud.log, tôi muốn dòng này dựa trên exe = "/ usr / sbin / sshd"
- uid của tài khoản được ssh'd vào là giá trị của auid, là 23456 cho ví dụ này
- tên của tài khoản người dùng được liên kết với auid được chỉ định bởi acct = "ron"
- hầu hết các lần hệ thống kiểm toán sẽ ghi lại tên máy chủ dns của hệ thống đang cố gắng kết nối, nhưng nó luôn có địa chỉ IP
- ngày của mục nhập trong thời gian kỷ nguyên, vì vậy bạn sẽ phải chuyển đổi thông qua mục đó giống như
date --date @1480622612.317
kết quả Thu Dec 1 15:03:32 EST 2016
và là khi tôi vào máy chủ của mình.
Khi res=failed
nào bạn muốn điều tra các địa chỉ IP và tên máy chủ đó để xem hệ thống nào đang cố gắng kết nối, dưới tên người dùng đã thử. Và rõ ràng là ssh thành công cố gắng hiểu những gì đang xảy ra trên hệ thống của bạn - ví dụ: đồng nghiệp bob của bạn, người ngồi cùng bàn hàng ngày với tên máy chủ = bobscomputer và địa chỉ ip = 192.168.5.5; nếu bạn thấy một nỗ lực ssh thành công vào lúc 2 giờ sáng ngày hôm qua dưới tên người dùng của anh ấy từ địa chỉ ip 10.10.5.6 chẳng hạn thì có thể bạn nên nói chuyện với bob để điều tra. Có thể hack cố gắng của người khác? Và ngay sau đó có những nỗ lực để root trong nhật ký kiểm toán từ tài khoản của bob?
khi bạn nhìn thấy lặp đi lặp lại res=failed
và auid=0
và acct=root
sau đó đó là một ai đó cố gắng để ssh vào hộp của bạn vào tài khoản root, và là khi bạn sửa đổi /etc/hosts.deny
với địa chỉ IP cho sshd.