Încerc să trimit e-mail mie și utilizatorului că cineva a încercat să se conecteze la ssh-ul lor și nu a reușit
Am puține îndoieli legate de această abordare, de exemplu de o anumită „vulnerabilitate” posibil introdusă prin aceasta - RE <F-USER>\S*</F-USER>
ar potrivi orice până la primul spațiu, deci, de exemplu, dacă se potrivește „nume de utilizator” va fi [email protected],test
e-mailul dvs. va fi trimis și către [email protected]
, care poate să nu fie utilizatorul domeniului dvs.
De asemenea, mi-aș putea imagina alte scenarii, deoarece încercați să utilizați intrare străină (din jurnal) în acțiunea de e-mail - deci mai bine asigurați-vă că acest lucru nu este afectat de o posibilitate de injectare (de asemenea, rețineți GHSA-m985-3f3v-cwmm de exemplu).
Expresia regex care este lovită pe SSH este aceasta...
Fairegex-ul trebuie să conțină și <F-USER>...</F-USER>
pentru a captura valoarea care va fi stocată ca nume de utilizator și trebuie să se potrivească cu ceva.
Aici este un exemplu de cum arată în versiunea curentă (rețineți că nu este o eroare RE din cauza <F-NOFAIL>
etichetă, este doar un ajutor pentru a găsi IP pentru mesajele fără IP, vezi issues/3189#issuecomment-999571654 pentru detalii).
Astfel <F-ALT_USER>
este un nume de utilizator alternativ și îl va stoca în F-USER
grup capturat în bilet, dacă face parte <F-USER>...</F-USER>
s-ar potrivi cu valoarea goală.
Poate (ca în problemele/3189 de mai sus) aveți și backend greșit, așa că treceți la systemd
te-ar ajuta să-l potriviți folosind un alt sshd-regex.
Legat de expresia regulă, poate fi schimbată ca aici (back-portat de la filtrul sshd actual):
- ^pam_unix\(sshd:auth\):\s+erec de autentificare;\s*logname=\S*\s*uid=\d*\s*euid=\d*\s*tty=\S*\ s*ruser=<F-USER>\S*</F-USER>\s*rhost=<HOST>\s.*%(__suff)s$
+ ^pam_unix\(sshd:auth\):\s+erec de autentificare;(?:\s+(?:(?:logname|e?uid|tty)=\S*)){0,4}\s+ ruser=<F-ALT_USER>\S*</F-ALT_USER>\s+rhost=<HOST>(?:\s+user=<F-USER>\S*</F-USER>)?%( __suff)s$
Dar acesta este mai degrabă un RE al pam-generic
filtru/închisoare, așa cum sa spus deja în probleme/3189, deci nu este corect să folosiți acest lucru pentru închisoarea sshd (în mod normal, veți vedea mesaje diferite în jurnal sau auth.log).
Oricum, pentru a investiga mai profund, este nevoie de exemplu de mesaj (sau mai bine de fragmentul de jurnal cu toate mesajele sshd-session care au cauzat ban).