Làm cách nào để tạo sec bỏ qua dấu thời gian đúng cách


13

Tôi có một quy tắc được thiết lập như vậy;

Trong /etc/sec/rules.d tôi có;

type=SingleWithSuppress
ptype=regexp
pattern=(\S+) sshd\[\d+\]: PAM \d+ more authentication failures\; logname=.* uid=.* euid=.* tty=ssh ruser=.* rhost=(.*) user=(.*)
desc=Login Failure: $0
action=pipe '%s ' /bin/mail -s "login failure $2 to $3@$1" team@team.com
window=300

Vì vậy, nếu điều này đến thông qua syslog;

Nov 21 11:24:10 servername.server.com sshd[26846]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost= user=kloggins

Nó phải phù hợp với điều này (mà, nó làm theo trình soạn thảo regex của tôi) theo mẫu;

servername.server.com sshd[26846]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost= user=kloggins

Chúng tôi đã gặp sự cố với thư rác vì dấu thời gian đang thay đổi. Vì vậy, tôi viết lại mẫu để khớp với mọi thứ sau tên máy chủ.

Tuy nhiên, điều này dường như không hoạt động và mỗi khi người dùng "xác thực thất bại", tôi vẫn nhận được e-mail.

Tôi đã sử dụng những điều sau đây để kiểm tra;

logger -p syslog.err 'sshd[26846]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost= user='

Có ý kiến ​​gì không? Tôi chỉ có thể là hiểu lầm giây. Đây là lần đầu tiên tôi làm việc với nó! Mọi sự trợ giúp sẽ rất được trân trọng. Cảm ơn!

Câu trả lời:


11

Chà, sau gần một ngày nhổ tóc, cuối cùng tôi cũng hiểu a) cách thực hiện và b) một quan niệm sai lầm mà tôi có về giây.

Khi đọc trang sec man và nó mô tả desc = về cơ bản hiển thị trận đấu. Vì vậy, trong tâm trí của tôi, điều đó có nghĩa là nó sẽ hiển thị bất cứ thứ gì phù hợp với mô hình. Vâng, vâng, đó là sự thật, trong trường hợp này, trận đấu trong mô hình đó là; tên máy chủ, rhost và người dùng.

Vì vậy, khi tôi đang thực hiện desc = Lỗi đăng nhập: $ 0, tôi sẽ khóa toàn bộ dòng. Thật tồi tệ.

Vì vậy, thay vào đó tôi đã thay đổi nó thành khóa tên người dùng và tên máy chủ, điều này khiến nó tuân thủ quy tắc window = 300 do dấu thời gian (toàn bộ dòng) không thay đổi; aka, danh sách sau đây;

/etc/sec/rules.d/ssh.sec

type=SingleWithSuppress
ptype=regexp
pattern=(\S+) sshd\[\d+\]: PAM \d+ more authentication failures\; logname=.* uid=.* euid=.* tty=ssh ruser=.* rhost=(.*) user=(.*)
desc=Login Failure: $3@$1
action=pipe '%s $0' /bin/mail -s "Login Failure: $3@$1" email@email.com
window=300

Dòng lỗi

Nov 21 01:58:10 test.test.com sshd[26846]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=test.test.com user=kloggins

Nó sẽ thông báo cho người dùng kloggins@test.test.com và sẽ không báo cáo về điều đó trừ khi điều đó xảy ra một lần nữa sau 300 giây, vì nó đã khóa kloggins@test.test.com.

Tôi đã thử nó nhiều lần rồi, nó là 'người sói.


1
Làm tốt lắm
Magellan

4
Nghe đây, đây. +1 từ tôi cho cả một câu hỏi xuất sắc, được viết tốt, nghiên cứu kỹ lưỡng và có phạm vi, và để quay lại và đăng một câu trả lời chi tiết sau khi bạn có bản hùng ca cần thiết! Cảm ơn bạn.
MadHatter
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.