# Incident — Mail prema rijeka.hr odbijen (Trend Micro ERS-QIL blacklista)

**Datum incidenta:** 8. srpnja 2026.
**Status:** ✅ ZATVORENO — IP delistan, sve poruke isporučene 8.7.2026. u 22:09
**Server:** server.mellon-dev.eu (157.90.18.28)
**Pošiljatelj:** ivan.holec@lusar.hr (legitimni mailovi, poslani preko Outlook clouda)
**Primatelji:** Divna.Pedic@rijeka.hr, dunja.majetic-glumac@rijeka.hr, ivana.brkic-vladika@rijeka.hr

---

## Što se dogodilo

rijeka.hr koristi **Trend Micro Email Security** (`rijeka.in.tmes.trendmicro.eu`) kao ulazni mail filter. Njihov filter odbija sve s IP-a 157.90.18.28 jer je IP završio na **ERS-QIL** listi (Email Reputation Service — Quick IP List, Trend Microva dinamička reputacijska lista).

```
450 4.7.1 Recipient address rejected: Mail from <157.90.18.28> was refused
due to the sender IP found in ERS-QIL.
```

## Stanje na serveru (provjereno 8.7.2026 u 21:15)

| Provjera | Rezultat |
|---|---|
| Poruke u queue | 2 poruke za rijeka.hr (queue ID `E532445134` od 10:35, `71A8247A6F` od 16:14) — **status deferred, Postfix automatski ponavlja slanje** |
| Broj odbijanja | 74 pokušaja od 10:35 (retry svakih ~10–60 min) |
| Greška 450 | **Privremena** (4.x.x) — poruke NISU izgubljene; ako se IP delista unutar 5 dana (`maximal_queue_lifetime`), isporučit će se same |
| Spamhaus ZEN | ✅ Clean |
| SpamCop | ✅ Clean |
| Barracuda | ✅ Clean |
| SORBS | ✅ Clean |
| **PTR/rDNS za 157.90.18.28** | ✅ **POSTOJI**: `server.mellon-dev.eu.` (provjereno 8.7. u 22:05 preko 8.8.8.8, 1.1.1.1 i Hetzner DNS-a). ⚠️ Raniji nalazi "nema PTR" (uklj. audit 15.4.) bili su **krivi** — dijagnostička zamka: `dig` bez `@resolvera` pita samo lokalni autoritativni BIND koji (ispravno) nema rekurziju pa vrati prazno. Server i aplikacije resolvaju normalno |
| Kompromitirani račun / spam | ✅ Nema — danas svega 66 uspješnih autenticiranih slanja (ivan.holec 15, fitapp.cloud 35, ostali malo) |
| Brute-force pokušaji | 707 neuspjelih SASL pokušaja danas (test@, admin@…) — svi odbijeni, uobičajena buka |

## Uzrok

ERS-QIL je dinamička lista koja IP-ove dodaje automatski na temelju reputacijskih signala. Samo Trend Micro zna točan razlog, ali najizgledniji faktor je poznat i star:

~~Prvotna hipoteza: nedostaje PTR zapis.~~ **ISPRAVKA (22:05):** PTR postoji (`server.mellon-dev.eu.`) — raniji nalazi bili su krivi zbog dijagnostičke zamke: `dig` bez `@resolvera` pita samo lokalni autoritativni BIND koji za tuđe zone (ispravno, rekurzija isključena) vraća REFUSED, a `dig` to prikaže kao prazno. Server radi uredno.

Stvarni razlog QIL listinga zna samo Trend Micro (dinamička lista, dodaje IP-ove automatski po reputacijskim signalima — npr. spam prijave primatelja, honeypot pogoci, volumen anomalije). Klasične blackliste su čiste, nema tragova spama ni kompromitiranih računa sa servera. Sporedni nalaz: server hosta više domena i šalje za više aplikacija (fitapp.cloud i dr.) — reputacija IP-a je zajednička za sve njih.

## Kako se maknuti s liste — koraci

1. **Provjeri status i zatraži uklanjanje kod Trend Microa** (ručno, preko browsera):
   - https://servicecentral.trendmicro.com/en-US/ers/ → IP reputation lookup → upiši `157.90.18.28`
   - Ako je listiran u QIL: klikni **Dispute / Request removal** i popuni obrazac (navesti da je poslovni mail server za domene lusar.hr / mellon.hr, bez spam aktivnosti, čiste ostale RBL liste). QIL delisting obično prođe u roku od nekoliko sati do 48 h.

2. ~~Postaviti PTR~~ **PTR već postoji** (`server.mellon-dev.eu.`). Pouka za buduće provjere: DNS upite sa servera raditi s eksplicitnim vanjskim resolverom (`dig @8.8.8.8 …`) jer lokalni BIND (ispravno) ne radi rekurziju za tuđe zone.

3. **Ništa ne treba slati ponovno** — obje poruke čekaju u Postfix queueu i automatski će se isporučiti kad Trend Micro delista IP. Ručno forsiranje nakon delistanja: `postqueue -f`.

4. Nakon delistanja pratiti: `grep ERS-QIL /var/log/maillog` — mora prestati.

## Tijek rješavanja (8.7.2026.)

| Vrijeme | Događaj |
|---|---|
| 10:35 | Prva poruka za rijeka.hr odbijena s 450 ERS-QIL, ostaje u queueu |
| ~21:15 | Audit: RBL liste čiste, nema spama sa servera, PTR naizgled ne postoji (krivo — lokalni resolver) |
| ~21:30 | Lookup na servicecentral.trendmicro.com: reputacija **Bad**, lista **Dynamic Reputation Database (QIL)** |
| ~21:40 | Poslan removal zahtjev (Global Blocked List Exceptions forma) |
| ~21:45 | Trend Micro potvrdio: **"157.90.18.28 has been removed from the spam list"** |
| 21:52 | `postqueue -f` — edge serveri (`rijeka.in.tmes.trendmicro.eu`) još vraćaju 450, delisting nije propagirao; poruke ostaju u queueu, Postfix automatski ponavlja |
| ~22:05 | **Ispravka PTR nalaza**: PTR postoji; dosadašnje provjere krive jer je `dig` bez `@resolvera` pitao samo lokalni autoritativni BIND (bez rekurzije, ispravno) |
| ~22:08 | ERS lookup: **"Unlisted in the spam sender list"** — delisting propagirao |
| 22:09 | `postqueue -f` → **sve 4 isporuke `status=sent`** (obje poruke, 3 primatelja). Queue prazan (osim nevezanog ridert.co). **INCIDENT ZATVOREN** |

**Upozorenje Trend Microa uz delisting:** IP može opet biti blokiran ako šalje spam; broj exception zahtjeva je ograničen.

### Follow-up (za provjeriti sutradan, 9.7.)

1. `sudo grep ERS-QIL /var/log/maillog | tail` — zadnji retry mora biti `status=sent`
2. `sudo postqueue -p` — queue mora biti prazan (osim nevezanog ridert.co timeouta)
3. Ako i dalje 450 nakon 24 h → ponovni lookup na Trend Micro (propagacija je trebala proći)
4. DNS provjere ubuduće isključivo s `dig @8.8.8.8` (lokalni BIND je autoritativni, bez rekurzije — ispravno)

## Napomena

U queueu stoji i nepovezana poruka `73A3D47AB0` (ivan.holec → info@ridert.co, connection timeout — problem na njihovoj strani, ne našoj).

## Povezani dokumenti

- `docs/mail/lusar-mail-audit.md` (15.4.2026.) — PTR nalaz "ne postoji" **NEVAŽEĆI** (dig zamka, vidi gore)
- `docs/mail/mellon-mail-dns-audit.md` (15.4.2026.) — isti krivi PTR nalaz + duplikat SPF na mellon.hr
