Puncte:0

filtre FAIL2BAN. Vreun filtru pentru această intruziune a scanerelor de căutare pe internet?

drapel vn
19 ian 22:49:00 inteligent-mahavira postfix/smtpd[670231]: conexiune stabilită
   19 ianuarie 22:49:00 intelligent-mahavira postfix/smtpd[670231]: master_notify: status 0
   19 ian 22:49:00 intelligent-mahavira postfix/smtpd[670231]: name_mask: resource
   19 ian 22:49:00 intelligent-mahavira postfix/smtpd[670231]: name_mask: software
   19 ian 22:49:00 inteligent-mahavira postfix/smtpd[670231]: conectați-vă de la scanner-05.ch1.censys-scanner.com[162.142.125.57]
19 ian 22:49:00 intelligent-mahavira postfix/smtpd[670231]: match_list_match: scanner-05.ch1.censys-scanner.com: nicio potrivire
19 ian 22:49:00 intelligent-mahavira postfix/smtpd[670231]: match_list_match: 162.142.125.57: nici un meci
19 ianuarie 22:49:00 intelligent-mahavira postfix/smtpd[670231]: match_hostname: smtpd_authorized_xforward_hosts: scanner-05.ch1.censys-scanner.com ~? 12>
19 ian 22:49:00 intelligent-mahavira postfix/smtpd[670231]: match_hostaddr: smtpd_authorized_xforward_hosts: 162.142.125.57 ~? 127.0.0.0/8
19 ianuarie 22:49:00 intelligent-mahavira postfix/smtpd[670231]: match_hostname: smtpd_authorized_xforward_hosts: scanner-05.ch1.censys-scanner.com ~? [:>
19 ian 22:49:00 intelligent-mahavira postfix/smtpd[670231]: match_hostaddr: smtpd_authorized_xforward_hosts: 162.142.125.57 ~? [::1]/128
19 ian 22:49:00 intelligent-mahavira postfix/smtpd[670231]: match_list_match: scanner-05.ch1.censys-scanner.com: nicio potrivire
19 ian 22:49:00 intelligent-mahavira postfix/smtpd[670231]: match_list_match: 162.142.125.57: nici un meci
19 ianuarie 22:49:00 intelligent-mahavira postfix/smtpd[670231]: smtp_stream_setup: maxtime=3600 enable_deadline=0
19 ian 22:49:00 intelligent-mahavira postfix/smtpd[670231]: match_list_match: scanner-05.ch1.censys-scanner.com: nicio potrivire
19 ian 22:49:00 intelligent-mahavira postfix/smtpd[670231]: match_list_match: 162.142.125.57: nici un meci
19 ian 22:49:00 intelligent-mahavira postfix/smtpd[670231]: auto_clnt_open: conectat la private/anvil

asta este peste tot în syslogul meu.

Nu văd niciun filtre în fail2ban.

Cum scriu filtre?

Am scris un regex pentru a captura toată acea adresă IP

push (@potrivește,$&) while($search_contents =~ /$regex/gm);

În continuare, trebuie să găsesc o modalitate de a crea un filtru în fail2ban

îmi poți da fișierul complet ca în postfix.conf?

 imi poti da dosarul complet? aici este postfix.conf ---> 
# Filtru Fail2Ban pentru respingeri SMTP Postfix selectate
#
#

[INCLUSE]

# Citiți prefixele comune. Dacă sunt disponibile personalizări -- citiți-le de la
# comună.locală
înainte = comun.conf

[Definiție]

_daemon = postfix(-\w+)?/\w+(?:/smtp[ds])?
_port = (?::\d+)?

prefregex = ^%(__prefix_line)s<mdpr-<mode>> <F-CONTENT>.+</F-CONTENT>$

mdpr-normal = (?:NOQUEUE: reject:|conducte de comandă necorespunzătoare după \S+)
mdre-normal=^RCPT de la [^[]*\[<HOST>\]%(_port)s: 55[04] 5\.7\.1\s
            ^RCPT de la [^[]*\[<HOST>\]%(_port)s: 45[04] 4\.7\.1 (?:Serviciul indisponibil\b|Gazda client respins: nu vă găsesc (reverse ) ?nume gazdă\b)
            ^RCPT de la [^[]*\[<HOST>\]%(_port)s: 450 4\.7\.1 (<[^>]*>)?: Comanda Helo a fost respinsă: Gazda nu a fost găsită\b
            ^EHLO de la [^[]*\[<HOST>\]%(_port)s: 504 5\.5\.2 (<[^>]*>)?: Comanda Helo a fost respinsă: este nevoie de un nume de gazdă complet calificat\ b
            ^VRFY de la [^[]*\[<HOST>\]%(_port)s: 550 5\.1\.1\s
            ^RCPT de la [^[]*\[<HOST>\]%(_port)s: 450 4\.1\.8 (<[^>]*>)?: Adresa expeditorului a fost respinsă: Domeniul nu a fost găsit\b
            ^de la [^[]*\[<HOST>\]%(_port)s:?

mdpr-auth = avertisment:
mdre-auth = ^[^[]*\[<HOST>\]%(_port)s: autentificarea SASL ((?i)LOGIN|PLAIN|(?:CRAM|DIGEST)-MD5) a eșuat:(?! Conexiune pierdut la serverul de autentificare | Mecanism de autentificare nevalid)
mdre-auth2= ^[^[]*\[<HOST>\]%(_port)s: autentificarea SASL ((?i)LOGIN|PLAIN|(?:CRAM|DIGEST)-MD5) a eșuat:(?! Conexiune pierdut la serverul de autentificare)
# tot: verificați/eliminați „Mecanismul de autentificare nevalid” din lista de ignorare, dacă gh-1243 se va termina (vezi gh-1297).

# Modul „rbl” este în prezent inclus în modul „normal”, dar dacă este necesar doar pentru închisoare „postfix-rbl”:
mdpr-rbl = %(mdpr-normal)s
mdre-rbl = ^RCPT de la [^[]*\[<HOST>\]%(_port)s: [45]54 [45]\.7\.1 Serviciul indisponibil; Gazdă client \[\S+\] blocată\b

# Modul „rbl” inclus în prezent în modul „normal” (în cadrul primei reguli)
mdpr-more = %(mdpr-normal)s
mdre-more = %(mdre-normal)s

mdpr-ddos = conexiune pierdută după(?! DATE) [A-Z]+
mdre-ddos = ^din [^[]*\[<HOST>\]%(_port)s:?

mdpr-extra = (?:%(mdpr-auth)s|%(mdpr-normal)s)
mdre-extra = %(mdre-auth)s
            %(mdre-normal)s

mdpr-agresiv = (?:%(mdpr-auth)s|%(mdpr-normal)s|%(mdpr-ddos)s)
mdre-aggressive = %(mdre-auth2)s
                  %(mdre-normal)s

mdre-scanner=(?<=potrivire: )(.*)(?=: fără potrivire)
mdpr-scanner=(?<=potrivire: )(.*)(?=: fără potrivire)

failregex = <mdre-<mod>>

# Parametrul „mode”: more (implicit combină normal și rbl), auth, normal, rbl, ddos, extra sau agresiv (combină toate)
# Exemplu de utilizare (pentru jail.local):
# [postfix]
# mode = agresiv
# # sau altă închisoare (rescrieți parametrii de filtru ai închisorii):
# [postfix-rbl]
# filtru = postfix[mode=rbl]
#
mod = mai mult

ignoreregex =

[Init]

journalmatch = _SYSTEMD_UNIT=postfix.service

# Autor: Cyril Jaquier

Ciudat. Am găsit filtrul postfix_sasl în mediatemple, nu în amazon lightsail postfix.

Că postfix_sasl funcționează în cazul eșecului Sasl.

Acum trebuie să-l folosesc pentru a se potrivi cu această eroare de potrivire. Cine încearcă să se conecteze la serverul meu și, de asemenea, cum a obținut adresa mea ip? Plesk le dă afară sau mxlookup (obișnuiam să verific e-mail-ul funcționează).

aici este postfix-sasl.conf poate cineva să explice fiecare rând? și cum îl folosesc pentru a nu se potrivește erori de conectare

# Filtru Fail2Ban pentru eșecuri de autentificare postfix
#


[INCLUSE]

înainte = comun.conf

[Definiție]

_daemon = postfix(-\w+)?/(?:submission/|smtps/)?smtp[ds]

failregex = ^%(__prefix_line)swarning: [-._\w]+\[<HOST>\]: autentificarea SASL ((?i)LOGIN|PLAIN|(?:CRAM|DIGEST)-MD5) a eșuat(:[ A-Za-z0-9+/:]*={0,2})?\s*$

ignoreregex = autentificare eșuată: conexiune pierdută la serverul de autentificare$

[Init]

journalmatch = _SYSTEMD_UNIT=postfix.service


# Autor: Yaroslav Halchenko


Introdu codul aici

Am primit asta, dar nu văd fail2ban niciun ip care nu folosește potrivire. fail2ban-regex -v /var/log/maillog /etc/fail2ban/filter.d/nomatch

Executarea testelor
==============

Utilizați fișierul de filtrare failregex: nomatch, basedir: /etc/fail2ban
Utilizați datapattern: Detectoare implicite
Utilizați fișierul jurnal: /var/log/maillog
Utilizați codificarea: UTF-8


Rezultate
=======

Failregex: 100 în total
|- #) [# of hits] expresie regulată
| 1) [81] ^match_list_match: <ADDR>: <F-NOFAIL>nicio potrivire</F-NOFAIL>
| 152.32.131.196 vineri 21 ian 06:52:15 2022
| 152.32.131.196 vineri 21 ian 06:52:15 2022
| 152.32.131.196 vineri 21 ian 06:52:15 2022
| 152.32.131.196 vineri 21 ian 06:52:15 2022
| 152.32.131.196 vineri 21 ian 06:52:16 2022
| 45.33.78.63 vineri 21 ian 07:01:15 2022
| 45.33.78.63 vineri 21 ian 07:01:15 2022
| 45.33.78.63 vineri 21 ian 07:01:17 2022
| 139.162.99.243 vineri 21 ian 08:19:03 2022
| 139.162.99.243 vineri 21 ian 08:19:03 2022
| 139.162.99.243 vineri 21 ian 08:19:03 2022
| 139.162.99.243 vineri 21 ian 08:19:03 2022
| 162.142.125.41 vineri 21 ian 08:48:58 2022
| 162.142.125.41 vineri 21 ian 08:48:58 2022
| 162.142.125.41 vineri 21 ian 08:48:58 2022
| 162.142.125.41 vineri 21 ian 08:48:58 2022
| 162.142.125.41 vineri 21 ian 08:48:58 2022
| 45.56.101.55 vineri 21 ian 10:13:22 2022
| 45.56.101.55 vineri 21 ian 10:13:22 2022
| 45.56.101.55 vineri 21 ian 10:13:22 2022
| 45.56.101.55 vineri 21 ian 10:13:22 2022
| 45.56.101.55 vineri 21 ian 10:13:22 2022
| 162.142.125.42 vineri 21 ian 10:31:18 2022
| 162.142.125.42 vineri 21 ian 10:31:18 2022
| 162.142.125.42 vineri 21 ian 10:31:19 2022
| 162.142.125.42 vineri 21 ian 10:31:19 2022
| 162.142.125.42 vineri 21 ian 10:31:19 2022
| 45.79.158.51 vineri 21 ian 11:02:09 2022
| 45.79.158.51 vineri 21 ian 11:02:09 2022
| 45.79.158.51 vineri 21 ian 11:02:11 2022
| 104.206.128.26 vineri 21 ian 12:07:17 2022
| 104.206.128.26 vineri 21 ian 12:07:17 2022
| 104.206.128.26 vineri 21 ian 12:07:17 2022
| 45.33.95.172 vineri 21 ian 12:15:12 2022
| 45.33.95.172 vineri 21 ian 12:15:12 2022
| 45.33.95.172 vineri 21 ian 12:15:12 2022
| 45.33.95.172 vineri 21 ian 12:15:12 2022
| 45.33.95.172 vineri 21 ian 12:15:12 2022
| 192.241.219.199 vineri 21 ian 13:24:46 2022
| 192.241.219.199 vineri 21 ian 13:24:46 2022
| 192.241.219.199 vineri 21 ian 13:24:46 2022
| 45.79.178.163 vineri 21 ian 14:13:30 2022
| 45.79.178.163 vineri 21 ian 14:13:30 2022
| 45.79.178.163 vineri 21 ian 14:13:30 2022
| 45.79.178.163 vineri 21 ian 14:13:30 2022
| 45.79.178.163 vineri 21 ian 14:13:30 2022
| 96.126.109.15 vineri 21 ian 16:13:44 2022
| 96.126.109.15 vineri 21 ian 16:13:44 2022
| 96.126.109.15 vineri 21 ian 16:13:44 2022
| 96.126.109.15 vineri 21 ian 16:13:44 2022
| 96.126.109.15 vineri 21 ian 16:13:44 2022
| 66.240.236.116 vineri 21 ian 17:29:42 2022
| 66.240.236.116 vineri 21 ian 17:29:42 2022
| 66.240.236.116 vineri 21 ian 17:29:42 2022
| 66.240.236.116 vineri 21 ian 17:29:43 2022
| 69.164.210.216 vineri 21 ian 18:13:10 2022
| 69.164.210.216 vineri 21 ian 18:13:10 2022
| 69.164.210.216 vineri 21 ian 18:13:10 2022
| 69.164.210.216 vineri 21 ian 18:13:10 2022
| 69.164.210.216 vineri 21 ian 18:13:10 2022
| 164.90.197.27 vineri 21 ian 19:06:22 2022
| 164.90.197.27 vineri 21 ian 19:06:22 2022
| 164.90.197.27 vineri 21 ian 19:06:22 2022
| 164.90.197.27 vineri 21 ian 19:06:52 2022
| 45.56.99.23 vineri 21 ian 20:14:25 2022
| 45.56.99.23 vineri 21 ian 20:14:25 2022
| 45.56.99.23 vineri 21 ian 20:14:25 2022
| 45.56.99.23 vineri 21 ian 20:14:25 2022
| 45.56.99.23 vineri 21 ian 20:14:25 2022
| 178.79.189.233 vineri 21 ian 20:22:36 2022
| 178.79.189.233 vineri 21 ian 20:22:36 2022
| 178.79.189.233 vineri 21 ian 20:22:36 2022
| 178.79.189.233 vineri 21 ian 20:22:38 2022
| 162.142.125.44 vineri 21 ian 20:29:10 2022
| 162.142.125.44 vineri 21 ian 20:29:10 2022
| 162.142.125.44 vineri 21 ian 20:29:10 2022
| 162.142.125.44 vineri 21 ian 20:29:10 2022
| 162.142.125.44 vineri 21 ian 20:29:10 2022
| 45.56.104.184 vineri 21 ian 21:00:33 2022
| 45.56.104.184 vineri 21 ian 21:00:33 2022
| 45.56.104.184 vineri 21 ian 21:00:35 2022
| 2) [19] ^auto_clnt_open: conectat la privat/nicovală
| 152.32.131.196 vineri 21 ian 06:52:15 2022
| 45.33.78.63 vineri 21 ian 07:01:17 2022
| 139.162.99.243 vineri 21 ian 08:19:03 2022
| 162.142.125.41 vineri 21 ian 08:48:58 2022
| 45.56.101.55 vineri 21 ian 10:13:22 2022
| 162.142.125.42 vineri 21 ian 10:31:19 2022
| 45.79.158.51 vineri 21 ian 11:02:11 2022
| 104.206.128.26 vineri 21 ian 12:07:17 2022
| 45.33.95.172 vineri 21 ian 12:15:12 2022
| 192.241.219.199 vineri 21 ian 13:24:46 2022
| 45.79.178.163 vineri 21 ian 14:13:30 2022
| 96.126.109.15 vineri 21 ian 16:13:44 2022
| 66.240.236.116 vineri 21 ian 17:29:42 2022
| 69.164.210.216 vineri 21 ian 18:13:10 2022
| 164.90.197.27 vineri 21 ian 19:06:22 2022
| 45.56.99.23 vineri 21 ian 20:14:25 2022
| 178.79.189.233 vineri 21 ian 20:22:36 2022
| 162.142.125.44 vineri 21 ian 20:29:10 2022
| 45.56.104.184 vineri 21 ian 21:00:35 2022
`-

Ignoreregex: 0 total

Afișări șablon de dată:
|- [# of hits] format de dată
| [3923] {^LN-BEG}(?:DAY )?LUN Ziua %k:Minute:Second(?:\.Microsecunde)?(?: ExYear)?
| [0] {^LN-BEG}ExYear(?P<_sep>[-/.])Lună(?P=_sep)Ziua(?:T| ?)24hour:Minute:Second(?:[.,]Microsecunde )?(?:\s*Zone offset)?
| [0] {^LN-BEG}(?:DAY )?LU Ziua ExYear %k:Minute:Secunda(?:\.Microsecunde)?
| [0] {^LN-BEG}Ziua(?P<_sep>[-/])Lună(?P=_sep)(?:ExYear|ExYear2) %k:Minut:Secund
| [0] {^LN-BEG}Ziua(?P<_sep>[-/])LU(?P=_sep)ExYear[ :]?24hour:Minute:Second(?:\.Microsecunde)?(?: Zona decalaj)?
| [0] {^LN-BEG}Lună/Zi/ExYear:24hour:Minute:Second
| [0] {^LN-BEG}Lună-Ziu-ExAn %k:Minut:Secundă(?:\.Microsecunde)?
| [0] {^LN-BEG}Epocă
| [0] {^LN-BEG}ExYear2ExMonthExDay ?24hour:Minute:Second
| [0] {^LN-BEG}LUN Ziua, ExYear 12hour:Minute:Second AMPM
| [0] {^LN-BEG}ExYearExMonthExDay(?:T| ?)Ex24hourExMinuteExSecond(?:[.,]Microsecunde)?(?:\s*Zone offset)?
| [0] {^LN-BEG}(?:Nume zonă )?(?:DAY )?LU Ziua %k:Minute:Secundă(?:\.Microsecunde)?(?: ExYear)?
| [0] {^LN-BEG}(?:Zone offset )?(?:DAY )?LU Ziua %k:Minute:Second(?:\.Microsecunde)?(?: ExYear)?
| [0] {^LN-BEG}TAI64N
| [0] {^LN-BEG}24 ore:minut:secunde
| [0] ^<Lună/Zi/ExYear2@24hour:Minute:Second>
| [0] ^MON-Day-ExYear2 %k:Minute:Secund
`-

Linii: 3923 linii, 0 ignorate, 100 potrivite, 3823 ratate
[procesat în 0,25 sec]

Rând(e) ratat(e): prea multe pentru a fi imprimate. Utilizați --print-all-missed pentru a imprima toate cele 3823 de linii

introduceți descrierea imaginii aici

Puncte:0
drapel jp

Există documentație oficială Dezvoltarea filtrelor. Există, de asemenea, multe filtre incluse /etc/fail2ban/filter.d/

alex K avatar
drapel vn
Niciuna nu se potrivește cu asta
drapel jp
Sursele fail2ban sunt disponibile pe GitHub, inclusiv toate filtrele.
alex K avatar
drapel vn
Niciunul nu are un mecanism de filtrare simplu, astfel încât să mă pot extinde cu regex
alex K avatar
drapel vn
După cum vedeți, 100 se potrivesc cu nomatch.conf dar fail2ban nu arată nimic interzis de nomatch sau postfix-sasl. Toate au interzis ip (236 dintre ele) de la recidivă
Puncte:0
drapel il

În mod normal, filtrul postfix cu modul agresiv este destinat să găsească astfel de scanere:

[postfix]
mod = agresiv

Cum să-l testăm cu fail2ban-regex:

fail2ban-regex /path/to/log_or_systemd-journal postfix[logtype=short,mode=aggressive]

Dar nu văd niciun mesaj care să se potrivească cu e. g. cu o eroare sau unde conexiunea a fost respinsă. în plus auto_clnt_open: conectat la privat/nicovală ne spune că s-a conectat (deși la nicovală, ce este un demon de limitare a ratei al postfixului, dar oricum).
Mai sunt și alte mesaje la sfârșit (din această sesiune [670231])?
Sau ce anume ați dori să considerați aici drept un eșec?

Dacă vrei să spui, trebuie să reacționeze nu se potrivesc mesaje, iată filtrul dvs.:

[Definiție]

failregex = ^\s*\S+ postfix/smtpd\[[^\]]+]: potrivire_list_match: <ADDR>: fără potrivire

Doar jurnalul pare să conţină mai multe intrări cu nu se potrivesc printr-o singură „sesiune”, deci ar cauza mai multe eșecuri la fiecare încercare (exact 3 în acest caz), așa că trebuie să creșteți maxretry probabil.

Când trebuie să fie mai degrabă conectat la privat/nicovala, iată (aceasta trebuie să funcționeze cu fail2ban >= 0.10):

[Definiție]

prefregex = ^\s*\S+ postfix/smtpd\[<F-MLFID>[^\]]+</F-MLFID>\]: <F-CONTENT>(?:match_list_match|auto_clnt_open).+</F -CONTINUT>$

failregex = ^match_list_match: <ADDR>: <F-NOFAIL>nicio potrivire</F-NOFAIL>
            ^auto_clnt_open: conectat la privat/nicovală
alex K avatar
drapel vn
Am mai adăugat câteva informații. puteți face un fișier complet ca în postfix-sasl pentru asta. Are asta legat de postfix. Cum au primit ip-ul serverului meu? Acesta este un server nou. Cum au primit informațiile mele? De asemenea, explicați fiecare linie, astfel încât să ne ajute pe alții și pe mine în a face filtre pentru a controla atacurile ddos.
alex K avatar
drapel vn
Am 100 de ips interzis, dar totul este de la recidivă. Nici unul din postfix agresiv sau postfix-sasl. Vreau să mă asigur că aceste filtre funcționează înainte de a intra în producție. ajutor va rog.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.