ฉันมีกฎที่ตั้งขึ้นเช่นนั้น
ใน /etc/sec/rules.d ฉันมี
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
ดังนั้นถ้าสิ่งนี้มาถึง 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
ควรจับคู่สิ่งนี้ (ซึ่งทำตามตัวแก้ไข regex ของฉัน) ตามรูปแบบ
servername.server.com sshd[26846]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost= user=kloggins
เราประสบปัญหากับสแปมเนื่องจากการประทับเวลาเปลี่ยนไป ดังนั้นฉันจึงเขียนรูปแบบเพื่อจับคู่ทุกอย่างหลังจากชื่อโฮสต์
อย่างไรก็ตามสิ่งนี้ดูเหมือนจะไม่ทำงานและทุกครั้งที่ผู้ใช้ "การรับรองความถูกต้องล้มเหลว" ฉันยังคงได้รับอีเมล
ฉันใช้การทดสอบต่อไปนี้
logger -p syslog.err 'sshd[26846]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost= user='
ความคิดใด ๆ ฉันอาจจะเข้าใจผิดวินาที นี่เป็นครั้งแรกที่ฉันทำงานกับมัน! ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมอย่างมาก. ขอบคุณ!