Povolené odkazy a zámok obsahu
Váš verejný kľúč je vidieť v kóde webu, takže si ho ktokoľvek môže skopírovať a volať API priamo. Pri kontaktnom formulári to nevadí: e-mail ide vždy vám. Inak je to pri šablónach, ktoré berú príjemcu z parametrov (potvrdenie odberu, automatická odpoveď, potvrdenie objednávky): kto má verejný kľúč, mohol by vašu šablónu poslať z vašej domény a s vaším logom na ľubovoľnú adresu a doplniť do nej vlastný text a odkazy. Presne tak vyzerá phishing.
Vo Frontmaile preto platí pravidlo: dynamický príjemca ⇒ uzamknutý obsah. Príjemcu zvoleného v prehliadači môžete používať ďalej, ale volajúci z vašej šablóny phishingový e-mail neurobí.
Kedy je obsah uzamknutý
Section titled “Kedy je obsah uzamknutý”| Požiadavka | Uzamknuté |
|---|---|
| verejný kľúč + šablóna, ktorej Komu/Kópia/Skrytá kópia používa parametre (zapnuté Povoliť dynamického príjemcu) | áno |
| automatická odpoveď (ide vždy na adresu z formulára) | áno – odkazy a polia odosielateľa |
| súkromný kľúč (váš server) | nie, pokiaľ šablóna nemá Povoliť len odkazy na povolené domény |
| verejný kľúč + šablóna s pevným príjemcom (kontaktný formulár) | nie – platí len pravidlo pre odosielateľa |
Šablóna, ktorá má Povoliť dynamického príjemcu zapnuté, ale v Komu/Kópia/Skrytá kópia pevné adresy, uzamknutá nie je.
Čo musí uzamknutá požiadavka splniť
Section titled “Čo musí uzamknutá požiadavka splniť”- CAPTCHA je povinná. Šablóna musí mať zapnuté Vyžadovať CAPTCHA, inak požiadavka skončí
chybou
403 dynamic_recipient_requires_captcha. CAPTCHA používa vaše vlastné kľúče Turnstile. Ak CAPTCHA použiť nemôžete, posielajte šablónu zo servera súkromným kľúčom. - Pevný odosielateľ. Adresa odosielateľa, meno odosielateľa a Reply-To nesmú používať
parametre –
403 dynamic_field_not_allowed. - Žiadne HTML od volajúceho, krátke texty. Parametre typu HTML nemožno vyplniť a každá textová
hodnota má najviac 500 znakov (URL parametre 2 048; menšia Max. dĺžka parametra platí
ďalej) –
422 invalid_template_paramssdetails.reason: "content_locked". - Odkazy len na povolené domény – pozrite nižšie –
403 link_not_allowed. - Limit na príjemcu. Najviac 5 e-mailov na adresu príjemcu za deň (UTC), nastaviteľné
v Zabezpečenie → E-mailov na príjemcu za deň (1 – 1 000). Nad limit:
429 rate_limitedsdetails.scope: "recipient". Automatické odpovede zdieľajú to isté počítadlo – nad limit sa automatická odpoveď nevytvorí.
Všetky kontroly prebehnú skôr, ako sa použije kredit. Pri automatickej odpovedi neúspešná
kontrola označí odpoveď ako failed (s kódom chyby v histórii), kredit
sa vráti a nič sa neodošle.
Povolené domény odkazov
Section titled “Povolené domény odkazov”Odkaz je povolený, keď jeho doména je:
- napísaná priamo v šablóne (HTML, textová verzia alebo predmet) – nevzniká z parametra.
https://acme.sk/reset?token={{token}}povolíacme.sk;{{reset_url}}anihttps://{{sub}}.acme.sknepovolia nič; - v zozname povolených webov (Zabezpečenie → Povolené weby);
- v Zabezpečenie → Povolené domény odkazov – jedna na riadok,
example.com(presne tento host) alebo*.example.com(subdomény, nie samotná doména) – rovnaké pravidlá ako pri povolených weboch; - vlastná doména Frontmailu (pätička Odoslané cez Frontmail v tarife Free).
mailto:, tel: a akýkoľvek iný odkaz mimo webu (javascript:, data:, …) sú povolené len vtedy,
keď je presne rovnaký odkaz napísaný v šablóne.
Čo sa kontroluje
Section titled “Čo sa kontroluje”Po vyrenderovaní Frontmail pozbiera každú URL, ktorú môže poštový klient otvoriť alebo z nej urobiť odkaz:
- atribúty
href,src,srcset,action,formaction,background,postera ďalšie, aj vnútri podmienených komentárov pre Outlook; - CSS
url()a@importv atribútochstylea v<style>a<meta http-equiv="refresh">; - URL aj holé domény v texte HTML, v textovej verzii a v predmete – poštoví klienti
z
evil.com/loginalebowww.evil.comurobia odkaz sami, preto sa počítajú tiež.
Pred porovnaním sa URL normalizujú tak, ako by ich čítal prehliadač: dekódujú sa HTML entity a CSS
escape sekvencie, odstránia sa neviditeľné znaky, \ sa berie ako /, doplní sa protokol pri
//host, zahodí sa prihlasovacia časť (https://acme.sk@evil.com je evil.com), dekóduje sa
percentové kódovanie, odstránia sa veľké písmená a bodky na konci a medzinárodné domény sa porovnávajú
v punycode – podvrh аcme.sk s cyrilským а sa s acme.sk nezhoduje (chyba ho označí idn: true).
Chyba uvádza v details.hosts len problémové domény – nikdy celé URL, ktoré môžu obsahovať
tokeny.
Obmedzenia
Section titled “Obmedzenia”- Holé domény sa rozpoznávajú podľa zoznamu koncoviek, ktoré doménami nie sú (
report.pdf,index.htmlaniNode.jsodkazy nie sú), takže text akoMr.Smithsa môže počítať ako doménamr.smith. Koncovky obľúbené pri phishingu, ktoré sú zároveň skutočnými doménami (.zip,.mov), sa počítajú vždy. - Bežné e-mailové adresy v texte (
jana@example.com) sa za odkazy nepovažujú. - Kontrola stráži, kam odkazy vedú, nie text okolo nich. Pri verejných formulároch držte texty krátke a limit na príjemcu nízky.
Kontrola odkazov pri ďalších šablónach
Section titled “Kontrola odkazov pri ďalších šablónach”V nastaveniach šablóny (Nastavenia → Ochrana) zapnite Povoliť len odkazy na povolené domény a kontrola odkazov sa použije na každú požiadavku, aj so súkromným kľúčom. Pri šablónach z galérie s dynamickým príjemcom je zapnutá automaticky.
Adresa odosielateľa
Section titled “Adresa odosielateľa”Pri každej požiadavke s verejným kľúčom nesmie adresa odosielateľa v šablóne pochádzať
z parametrov (inak 403 dynamic_field_not_allowed).
Kontaktný formulár, ktorý dáva adresu návštevníka do Reply-To, funguje ďalej – tam patrí. Editor
šablón na všetko upozorní v Kontrolách.