Salta ai contenuti

Impostazioni di sicurezza

La pagina Sicurezza contiene le chiavi API della tua organizzazione e tutto ciò che protegge la tua chiave pubblica dagli abusi.

La pagina Sicurezza con le schede chiave pubblica, chiavi private, siti consentiti, protezione dagli abusi, lista dei bloccati, rate limit per IP e la scelta di cosa succede quando finiscono i crediti

Ruolo Accesso
Proprietario, Admin Vedono e modificano tutto.
Sviluppatore Sola lettura: vede chiavi e impostazioni, ma senza pulsanti e con tutti i campi disattivati.
Osservatore, Fatturazione Nessun accesso – la pagina mostra un avviso che il tuo ruolo non lo consente.

Le azioni sulle chiavi – Ruota chiave, Nuova chiave privata e Revoca – hanno effetto subito dopo la conferma.

Le chiavi Turnstile in Protezione dai bot (Turnstile) si salvano con il pulsante Salva chiavi della scheda stessa.

Tutte le altre impostazioni della pagina (siti consentiti, interruttori della protezione dagli abusi, app mobile, lista dei bloccati, rate limit, domini consentiti per i link, email per destinatario e la scelta per l’esaurimento dei crediti) restano una bozza finché non clicchi su Salva nell’angolo in alto a destra. Il pulsante è attivo solo quando qualcosa è cambiato. Ogni salvataggio viene registrato nel registro attività come security.updated.

La scheda Chiave pubblica mostra la tua chiave pk_… con un pulsante per copiarla. È la chiave che metti nel tuo sito – può essere pubblicata senza rischi, perché le richieste fatte con essa vengono controllate rispetto ai siti consentiti, al CAPTCHA e ai rate limit. Vedi Chiavi pubbliche e private.

Ruotala quando vedi abusi nonostante le altre protezioni.

  1. Clicca su Ruota chiave.
  2. Conferma con Ruota chiave nella finestra Ruotare la chiave pubblica?
  3. Copia la nuova chiave e pubblicala sul tuo sito.

La vecchia chiave continua a funzionare per 24 ore. Fino ad allora la scheda mostra una nota che indica quale chiave precedente funziona ancora e fino a quando. Dopo, le richieste con la vecchia chiave falliscono con invalid_public_key.

Le Chiavi private sono solo per i server – l’SDK per Node, cURL, il tuo backend. La tabella mostra per ogni chiave il Nome con la data di creazione, gli ultimi quattro caratteri sotto Chiave e quando è stata usata l’ultima volta (Ultimo utilizzo; Mai se non è ancora stata usata).

Un’organizzazione può avere al massimo 20 chiavi private attive.

  1. Clicca su Nuova chiave privata.
  2. Inserisci un Nome che dica dove la userai, ad es. «Backend di produzione», e clicca su Crea.
  3. La finestra La tua nuova chiave privata mostra la chiave completa. Copiala subito e salvala nei secret del server o nel tuo password manager.
  4. Clicca su L’ho salvata in un posto sicuro.
  1. Clicca su Revoca nella riga della chiave.
  2. Conferma con Revoca nella finestra.

La revoca è immediata – le richieste con quella chiave vengono rifiutate subito con invalid_private_key. Per sostituire una chiave senza interruzioni, crea prima la nuova chiave, mettila in produzione, controlla che l’Ultimo utilizzo della vecchia chiave smetta di cambiare e solo allora revocala.

Solo i domini elencati in Siti consentiti possono inviare con la tua chiave pubblica. Frontmail li confronta con l’header Origin del browser. I dettagli sono in Domini consentiti.

Formati accettati:

Voce Corrisponde a
example.com Esattamente questo dominio.
*.example.com Qualsiasi sottodominio di example.com.
localhost:3000 Un host con una porta specifica – comodo per lo sviluppo in locale.

Se incolli un URL completo come https://example.com/contact, la dashboard tiene solo l’host.

  1. Scrivi il dominio in Aggiungi dominio.
  2. Clicca su Aggiungi (o premi Invio). Il dominio compare come etichetta sopra il campo.
  3. Clicca su Salva.

Per rimuovere un dominio, clicca sulla × nella sua etichetta e poi su Salva.

Questa scheda contiene le chiavi Cloudflare Turnstile della tua organizzazione. I modelli con Richiedi CAPTCHA (Turnstile) attivo accettano richieste dai tuoi siti solo con un token Turnstile, e Frontmail verifica quei token con la chiave segreta che salvi qui. Senza chiavi, le richieste dai siti web per questi modelli falliscono con captcha_not_configured.

Perché chiavi proprie: il piano gratuito di Cloudflare consente solo 10 hostname per widget, quindi una sola chiave Frontmail non può coprire i siti di tutti i clienti. Il tuo widget è gratuito e funziona solo sui tuoi hostname.

  1. Nella dashboard di Cloudflare apri Turnstile → Add widget, dagli un nome, aggiungi gli hostname del tuo sito (ad es. example.com, www.example.com; localhost solo per le prove), lascia la modalità Managed e clicca su Create.
  2. Copia la Site Key e la Secret Key.
  3. Torna alla pagina Sicurezza, incolla entrambe le chiavi nella scheda Protezione dai bot (Turnstile) e clicca su Salva chiavi.
  4. Clicca su Attiva il CAPTCHA per tutti i modelli per attivarlo con un clic sui modelli esistenti. I modelli usati come risposta automatica vengono saltati.

Al salvataggio la chiave segreta viene prima verificata con Cloudflare – una chiave errata viene rifiutata con un messaggio chiaro e non viene salvato nulla. Le chiavi vengono salvate subito (il pulsante Salva della pagina non serve) e registrate nel registro attività come security.turnstile.updated; l’attivazione del CAPTCHA per tutti i modelli viene registrata come template.captcha_enabled.

  • La chiave segreta è in sola scrittura: viene salvata cifrata e non viene mai più mostrata – la scheda mostra solo la chiave del sito e da quando le chiavi sono configurate. Per cambiarle clicca su Sostituisci chiavi e incolla quelle nuove; per smettere di usarle clicca su Rimuovi chiavi e conferma Rimuovere le chiavi Turnstile? (security.turnstile.removed). I modelli mantengono la loro impostazione CAPTCHA, quindi dopo la rimozione delle chiavi le richieste dai siti web verso di essi falliscono finché non aggiungi di nuovo le chiavi.
  • Una volta salvate le chiavi, i nuovi modelli hanno il CAPTCHA attivo per impostazione predefinita. I modelli creati prima mantengono la loro impostazione.
  • La scheda Snippet dell’editor dei modelli include poi il widget con la tua chiave del sito.
  • Per lo sviluppo in locale puoi usare le chiavi di test di Cloudflare – mai in produzione.

Le app mobile create con @frontmail/react-native non hanno bisogno di queste chiavi – usano la chiave mobile condivisa di Frontmail.

Se un modello richiede il CAPTCHA Turnstile si imposta per ogni modello nell’editor dei modelli, non qui – vedi Turnstile. La scheda Protezione dagli abusi ha quattro interruttori:

Interruttore Cosa fa
Blocca i browser headless Rifiuta le richieste con chiave pubblica da browser automatizzati come Puppeteer. Disattivato per impostazione predefinita. Vedi Protezione dai bot.
Parametri rigorosi Rifiuta le richieste con parametri che non sono nello schema del modello, invece di ignorarli. Disattivato per impostazione predefinita.
Consenti l’API con chiave privata Permette ai tuoi server di inviare con una chiave privata, che salta il controllo del sito. Attivo per impostazione predefinita. Disattivalo se invii solo dai browser – le richieste con chiave privata verranno allora rifiutate con 403 forbidden.
Consenti chiavi private nei browser Accetta richieste con chiave privata provenienti da una pagina web (con header Origin). Disattivato per impostazione predefinita – queste richieste vengono rifiutate con 403 private_key_in_browser, perché qualsiasi visitatore della pagina potrebbe copiare la chiave. Attivalo solo per strumenti interni; quando lo fai compare un avviso. Vedi Chiavi.

Ricordati di cliccare su Salva dopo aver cambiato un interruttore.

Le app native (React Native, Flutter, Swift, Kotlin) non inviano l’header Origin, quindi le loro richieste – come qualsiasi richiesta con chiave pubblica senza Origin né Referer – vengono rifiutate con 403 origin_not_allowed, anche quando non sono impostati siti consentiti. La scheda App mobile ha un solo interruttore, Consenti app mobile (disattivato per impostazione predefinita). Quando è attivo, le richieste con chiave pubblica senza header Origin o Referer vengono accettate e il loro CAPTCHA viene verificato con la chiave mobile condivisa di Frontmail. Le richieste dai siti web vengono comunque controllate rispetto all’elenco. I dettagli sono in Domini consentiti → App mobile.

  1. Attiva Consenti app mobile.
  2. Leggi l’avviso che compare sotto l’interruttore.
  3. Clicca su Salva.

La Lista dei bloccati ferma gli spammer noti prima che le loro richieste consumino crediti.

  • Valori bloccati – un valore per riga: indirizzi email, domini (spam.example o @spam.example) o valori esatti dei parametri.
  • Parametro da controllare – il parametro confrontato con l’elenco oltre ai destinatari, ad es. email per l’indirizzo del visitatore in un modulo di contatto.

Le richieste corrispondenti falliscono con recipient_blocked. Altro in Protezione dai bot → Lista dei bloccati.

Rate limit per IP limita la frequenza con cui un singolo visitatore può inviare i tuoi moduli con la chiave pubblica. Imposta Richieste (1–1.000) e Ogni (secondi) (1–86.400); la frase sotto i campi riassume il risultato. Il valore predefinito è 10 richieste ogni 60 secondi. Le richieste oltre il limite ricevono 429 rate_limited e non consumano crediti. Le richieste con chiave privata non sono limitate per IP – vedi Rate limit.

Quando un modello prende il destinatario dai parametri e viene inviato con la chiave pubblica – e per ogni risposta automatica – i link nell’email possono puntare solo a domini di cui ti fidi. I link scritti direttamente nel modello e i tuoi siti consentiti sono sempre permessi; aggiungi altri domini in Domini consentiti per i link, uno per riga: example.com (esattamente quell’host) o *.example.com (solo sottodomini). Le righe non valide vengono evidenziate e bloccano Salva. Le richieste con un link verso altri domini falliscono con link_not_allowed. Vedi Allowlist dei link e blocco del contenuto.

Email per destinatario al giorno (1–1.000, predefinito 5) limita quante email con destinatario dinamico (chiave pubblica) e risposte automatiche può ricevere un indirizzo al giorno (UTC). Oltre il limite, le richieste falliscono con 429 rate_limited (details.scope: "recipient") e non viene creata nessuna risposta automatica.

Questa scheda decide cosa succede alle nuove email quando l’organizzazione non ha più crediti:

Opzione Comportamento
Metti le email in attesa (Consigliato, predefinita) Le email vengono accettate e aspettano in Messaggi in attesa. Partono automaticamente appena aggiungi crediti.
Rifiuta le richieste L’API risponde 402 insufficient_credits e non viene salvato nulla – è il tuo sito a decidere cosa dire al visitatore.

Scegli un’opzione e clicca su Salva. Per il quadro completo, compreso come vengono rilasciate le email in attesa, vedi Coda dei messaggi in attesa.