Tìm thông tin đăng nhập thành công mới nhất và các lần thử thất bại đối với máy chủ CentOS


29

Tôi đang tìm kiếm một tệp nhật ký hoặc bất kỳ dịch vụ nào để báo cáo các lần đăng nhập mới nhất đã thất bại do không khớp tên người dùng / mật khẩu. Có bất kỳ tiện ích như vậy có sẵn cho CentOS? (tích hợp được ưu tiên)

Câu hỏi thứ hai của tôi, và nói chung, tôi cần một tệp nhật ký các nỗ lực thâm nhập vào máy chủ của tôi. Lý tưởng nhất, nhật ký này nên chứa tất cả các nỗ lực bao gồm đăng nhập, hoạt động httpd và các cổng mở thông thường khác.


2
trả lời cho câu hỏi thứ hai: hãy xem OSSEC .
lượng tử

1
Chuỗi này được chuyển từ Stackoverflow sau khi tôi đặt câu hỏi trong Serverfault. Đây là chủ đề thảo luận về câu hỏi thứ hai.
lashgar

Câu trả lời:


61

Trong Linux, lastlệnh hiển thị các lần thử đăng nhập thành công và hiển thị thông tin phiên (pts, nguồn, ngày và độ dài).

Các lastblệnh ghi lại tất cả những nỗ lực đăng nhập xấu. Cả hai đều chia sẻ cùng một mantrang, nhưng sự khác biệt là lastđọc /var/log/wtmptệp nhị phân và lastbđọc /var/log/btmptệp theo mặc định.

Phạm vi của các tệp này phụ thuộc vào lịch quay vòng nhật ký của bạn, nhưng nó sẽ kéo dài một vài tuần. Hầu hết các bản phân phối sẽ xoay vòng /var/log/wtmphàng tháng, do đó bạn có thể đọc bản ghi trước đó, thường được liệt kê /var/log/wtmp.1bằng cách chỉ định tệp có -ftham số ...last -f /var/log/wtmp.1


17
+1 cholastb
lashgar

3
Đây phải là câu trả lời được chọn
một lập trình viên

@acoder, xong: ngón tay cái:
lashgar

14

Câu hỏi ở đây không chính thức, nhưng một câu trả lời rất ngắn: có lẽ bạn chỉ nên kiểm tra / var / log / safe (ví dụ: grep cho "fail").


Nó thực sự là câu trả lời cho câu hỏi đầu tiên của tôi. Tôi sẽ hỏi cái thứ hai trong ServerFault. Cảm ơn.
lashgar

1

Đây là một chủ đề cũ nhưng tôi đã nhận được nhiệm vụ tương tự như thế này, vì vậy trong trường hợp của tôi đây là một mục nhật ký

Nov 15 17:14:47 megatron sshd[4768]: Failed password for git from 192.168.122.1 port 49227 ssh2

Vì vậy, chúng tôi có thể làm điều đó như thế này, nếu chúng tôi chắc chắn người dùng là tĩnh

#!/bin/bash
LOG=/var/log/secure
MESSAGE="Failed password for git"
grep -i "$MESSAGE" "$LOG

Trong trường hợp nếu chúng tôi biết trên cơ sở mỗi người dùng

#!/bin/bash
LOG=/var/log/secure
if [ -n "$1" ]
then
NEWUSER="$1"
else
NEWUSER="root"
fi
MESSAGE="Failed password for $NEWUSER"
grep -i "$MESSAGE" "$LOG"

Vì vậy, kịch bản nên thực thi như

[root@megatron bash1]# ./failedlogin.sh git

HOẶC cách tiếp cận dễ dàng hơn

#!/bin/bash
LOG=/var/log/secure
MESSAGE="Failed password for"
grep -i "$MESSAGE" "$LOG"
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.