In questa pagina
Cosa verifica
Un monitor IMAP si connette a host e porta da ciascuna delle sue regioni, e il check è superato quando la prima riga del saluto inizia con * OK. Sulla porta 993 la sonda completa prima un handshake TLS contro il root store pubblico, con l’host come SNI, mentre ogni altra porta viene letta in chiaro. Con il subcheck del certificato attivo, il monitor giudica anche scadenza, emittente e soggetto, tramite l’handshake diretto sulla 993 o via STARTTLS sulle altre porte.
Da usare quando
- Un server di posta ha un endpoint IMAP da cui leggono i client, e una connessione rifiutata o un saluto mancante devono aprire un incident.
- Il certificato presentato dal server va giudicato insieme al servizio, senza un secondo monitor. Il subcheck copre scadenza, emittente e soggetto, via TLS implicito o STARTTLS.
- L’endpoint IMAPS deve restare pubblicamente attendibile. Sulla 993 il saluto viene letto solo dopo un handshake contro il root store pubblico, quindi un problema di catena compare come disservizio.
Il check non fa il login, non apre una casella e non invia CAPABILITY. Usa il check SMTP per un endpoint SMTP, e il check del certificato TLS per un certificato su una porta TLS diretta che merita un incident tutto suo. Un server IMAPS autofirmato sulla 993 fallisce la sonda del saluto, perché allow_self_signed arriva solo al subcheck del certificato.

Configurazione
Target. Un nome host o un indirizzo IP senza schema o percorso, più una porta opzionale. Il modulo propone la 993. Ogni indirizzo risolto viene validato prima che la sonda si connetta. Gli indirizzi loopback, privati, link-local e di metadata cloud vengono rifiutati, così il monitor non può raggiungere una rete interna.
| Campo | Obbligatorio | Valori e default | Significato |
|---|---|---|---|
hostHost | sì | Nome host o indirizzo IP | Il server a cui si connette la sonda. Sulla 993 il nome host è anche lo SNI dell’handshake. |
portPorta | opzionale | Da 1 a 65535, default 993 | 993 indica TLS implicito, con l’handshake prima del saluto. Ogni altra porta, per esempio la 143, viene letta in chiaro, e il subcheck del certificato usa STARTTLS. |
interval_secondsIntervallo del check | opzionale | Secondi, default 300, massimo 24 h, minimo fissato dal piano | Ogni quanto ciascuna regione esegue il check. Si imposta accanto a config nella richiesta, non dentro. Un valore sotto il minimo del piano viene alzato al minimo, non rifiutato. |
regionsRegioni | opzionale | Sottoinsieme di na, eu, as, sa, af, oce. Default: le regioni del piano | Quali continenti eseguono il check. Si imposta accanto a config nella richiesta, non dentro. |
address_familiesFamiglie IP | opzionale | Lista di ipv4 e/o ipv6, default ["ipv4"] | Ogni indirizzo risolto viene controllato separatamente. Quando fallisce una famiglia su due o qualche indirizzo tra più, family_fail_severity (degraded di default, oppure failed) stabilisce il risultato. |
Certificato TLS
A un saluto superato può seguire una policy sul certificato, una volta per check e non per indirizzo. Sulla 993 usa un handshake diretto, su ogni altra porta il dialogo STARTTLS di IMAP (A1 STARTTLS, poi A1 OK). Il modulo offre l’interruttore con porta, finestra di avviso, regex di emittente e soggetto e l’opzione per gli autofirmati. Senza l’interruttore la vista del monitor mostra comunque il certificato servito, ma la policy e l’avviso di scadenza richiedono l’interruttore.
| Campo | Obbligatorio | Valori e default | Significato |
|---|---|---|---|
tls_cert.enabled | opzionale | true o false, default false | Impostalo su true per attivare il subcheck. Assente o false, il certificato resta solo in visualizzazione. |
tls_cert.port | opzionale | Porta, default: la porta del monitor | La porta a cui si connette il subcheck del certificato. La modalità segue comunque la porta del monitor: handshake diretto solo quando il monitor gira sulla 993, altrimenti STARTTLS. |
tls_cert.warn_days | opzionale | Giorni, default 14 | Sotto questa durata residua il check porta un avviso, e owner e admin ricevono ogni ora un’email e un avviso in-app. Il check resta superato, e un certificato scaduto lo fa fallire. |
tls_cert.issuer_regex | opzionale | Espressione regolare | L’emittente deve corrispondere, per esempio Let's Encrypt. |
tls_cert.subject_regex | opzionale | Espressione regolare | Il common name del soggetto deve corrispondere. |
tls_cert.allow_self_signed | opzionale | false (default) oppure true | Salta i controlli di fiducia, hostname e validità temporale nel subcheck, mentre scadenza e asserzioni regex valgono comunque. Non arriva alla sonda del saluto, che sulla 993 mantiene il root store pubblico, quindi un server IMAPS autofirmato fallisce comunque. Usalo solo per servizi interni con una CA propria su una porta STARTTLS. |
Come si svolge un check
- Ogni regione a cui tocca l’intervallo risolve l’host tramite il resolver del proprio nodo.
- Ogni indirizzo risolto della famiglia scelta viene validato contro gli intervalli di indirizzi bloccati, poi contattato separatamente.
- Sulla porta 993 la sonda completa prima un handshake TLS contro il root store pubblico, con l’host come SNI. Su ogni altra porta resta in chiaro. Poi legge la prima riga inviata dal server.
- Una riga che inizia con
* OKsupera il check, tutto il resto lo fa fallire. Connessione, handshake e saluto condividono il limite di 10 s. Un server che resta muto è down, non un errore di configurazione. - Solo un check superato con
tls_cert.enabledesegue la policy sul certificato, una volta per check. Usa un handshake diretto sulla 993 e il dialogo STARTTLS sulle altre porte. Le regex vengono compilate prima, e una regex non valida chiude il check come errore. - Il risultato della regione va al control plane. Un fallimento apre un incident quando concorda il quorum della regola di alert, di default 2 regioni e 2 check consecutivi.

Cosa contiene un risultato
- Saluto
- La prima riga inviata dal server, giudicata su
* OK. - Tempo di risposta
- Tempo fino al saluto, sulla 993 handshake TLS compreso, per regione e per indirizzo.
- Riga di dettaglio
- Una riga che dice cosa è successo: il saluto,
IMAP error:con l’errore di trasporto o di handshake, oppureTimeout. Con il subcheck attivo, il rilievo sul certificato si aggiunge al saluto se il check è superato e lo sostituisce se fallisce. - Livello della causa
- Indica se il fallimento dipendeva dal DNS del target (NXDOMAIN o NODATA) o dalla sua applicazione, dopo un lookup riuscito. Tutto il resto viene riportato come unknown.
- Certificato
- Il risultato conserva common name, nomi alternativi ed emittente, più le date di validità, l’indicatore di autofirmato e la fiducia pubblica. Ogni check li legge, con o senza il subcheck. La durata residua con il suo avviso compare solo con il subcheck attivo.
- Regione, famiglia, indirizzo
- Ogni risultato porta la regione che l’ha misurato, e un sotto-risultato per famiglia IP e per indirizzo.
Stati e gravità
- okIl saluto inizia con
* OK, sulla 993 dopo un handshake attendibile. Con il subcheck attivo regge anche la policy sul certificato, e un certificato dentro la sua finestra di avviso mantiene questo stato. - degradatoUna famiglia IP fallisce mentre l’altra risponde, oppure falliscono alcuni dei vari indirizzi risolti di una famiglia mentre gli altri rispondono. Vale con il valore predefinito di
family_fail_severity. - downLa connessione viene rifiutata, va in timeout o viene bloccata, oppure il saluto non è
* OK. Il check è down anche quando l’handshake sulla 993 viene rifiutato per una catena non attendibile, un nome host non corrispondente o un certificato scaduto. Lo stesso vale quando la policy sul certificato fallisce per scadenza, per un handshake rifiutato o per un emittente o un soggetto non corrispondente. - erroreLa configurazione non può essere eseguita, per esempio per una regex non valida nella policy sul certificato. Il check termina come errore invece che come fallimento e conta come disservizio con gravità critica.
Confermato dal quorum: di default, 2 regioni devono segnalare il guasto prima che si apra un incident. Il default dell’organizzazione richiede 2 regioni e 2 check consecutivi. Un monitor può avere una regola propria con numero o percentuale, check consecutivi e durata minima.
Piani e limiti
- Intervallo minimo
- 300 s in Free, 60 s in Pulse, 30 s in Sentinel, 15 s in Command e 10 s in Enterprise. Il modulo web offre 30 s, 1 min, 5 min, 15 min e 1 h. I minimi di 15 s e 10 s si raggiungono solo tramite MCP.
- Regioni
- 2 su 6 in Free, 3 su 6 in Pulse e tutte e 6 da Sentinel.
- Monitor
- 10 in Free, 50 in Pulse, 150 in Sentinel, 500 in Command e una quota su misura in Enterprise. Gli undici tipi di check eseguiti dalle sonde condividono questa quota. Host agent e heartbeat hanno quote proprie.
Dalla pipeline o da un agente
La stessa config funziona nello step di deploy, in un client MCP come Claude Code e nel modulo qui sopra. create_monitor richiede una chiave API valida per tutta l’organizzazione. Se ometti regions, il piano sceglie il suo default.
{
"name": "Mailbox IMAPS",
"type": "imap",
"interval_seconds": 60,
"config": {
"host": "mail.example.com",
"port": 993,
"tls_cert": { "enabled": true, "warn_days": 21 }
}
}
Ogni interfaccia, con il suo limite
Limiti
- Niente login, nessun accesso alla casella e niente
CAPABILITY. La sonda legge una riga. - Sulla 993 la sonda del saluto esige una catena pubblicamente attendibile. L’interruttore
allow_self_signedarriva solo al subcheck del certificato, quindi un server IMAPS autofirmato resta down. - Solo la porta 993 indica TLS implicito. Ogni altra porta viene letta in chiaro, e lì il subcheck del certificato usa STARTTLS.
- La policy sul certificato gira una volta per check, non per indirizzo, e solo dopo un saluto superato.
- I target su indirizzi privati, loopback, link-local e di metadata cloud vengono rifiutati.
- Non tutte le regioni sondano IPv6, quindi selezionare
ipv6restringe le regioni utilizzabili. - SPF, DMARC e CAA del dominio di posta spettano al check di igiene DNS.