Sn'nin bir zaman damgasını düzgün şekilde yoksaymasını nasıl sağlarım


13

Ben böyle kurulmuş bir kural var;

/Etc/sec/rules.d dosyasında;

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

Eğer bu syslog'dan geldiyse;

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

Desene göre (regex editörüme göre yapar) ile eşleşmelidir;

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

Zaman damgası değiştiği için spam ile ilgili bir sorun yaşıyorduk. Bu yüzden deseni ana bilgisayar adından sonraki her şeye uyacak şekilde yeniden yazdım.

Ancak, bu çalışmıyor gibi görünüyor ve her kullanıcı "kimlik doğrulama başarısız", yine de bir e-posta alıyorum.

Test etmek için aşağıdakileri kullanıyorum;

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

Herhangi bir fikir? Ben sadece yanlış anlama sanırım. Onunla ilk kez çalışıyorum! Herhangi bir yardım büyük mutluluk duyacağız. Teşekkürler!

Yanıtlar:


11

Neredeyse bir günlük saç çekme işleminden sonra, nihayet a) nasıl yapılacağını ve b) saniye hakkında sahip olduğum bir yanlış anlama anlıyorum.

Sn man sayfasını okurken ve aslında eşleşmeyi gösteren desc = ifadesini tanımlar. Yani aklımda, bu, desende eşleşen her şeyi göstermesi gerektiği anlamına geliyordu. Evet, bu doğru, bu durumda bu örüntüdeki eşleşme; hostname, rhost ve user.

Yani desc = Login Failure: $ 0 yaparken tüm satırı tuşluyorum. Bu kötü.

Bu yüzden bunun yerine, zaman damgası (tüm satır) değişmediği için window = 300 kuralına uymasına neden olan kullanıcı adı ve ana bilgisayar adını kapatmak için değiştirdim; aka, aşağıdaki özet;

/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

Hata Satırı

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

Kullanıcı kloggins@test.test.com'u fark edecek ve 300 saniye sonra tekrar gerçekleşmedikçe rapor vermeyecektir, çünkü kloggins@test.test.com'u kapatmıştır.

Şimdi birkaç kez test ettim, bu bir 'werkin.


1
Bu konuda iyi çalışmalar.
Magellan

4
Dinle, burada. Hem mükemmel, iyi yazılmış, iyi araştırılmış ve kapsamlı bir soru için hem de geri dönüp ihtiyaç duyduğunuz epifaniye sahip olduktan sonra ayrıntılı bir cevap göndermek için benden + 1'leyin! Teşekkür ederim.
MadHatter
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.