[ DKIM ]

Diagnosoi MIME ja siirtokoodausmuutosten aiheuttamat DKIM virheet

Vertaile sarjoitettuja viestejä erottaaksesi visuaalisesti identtisen sisällön DKIM todellisuudessa vahvistamista tavuista.

EmailAuth -tutkimusryhmä

[Avainkohdat]

  • DKIM tiivistää koodatun runkoesityksen, ei purettua liitesisältöä.
  • MIME osien otsikot ja rajat ovat runkotavuja; ulommat otsikot käyttävät h-pohjaista peittoa.
  • Viimeistele MIME -serialisointi ennen lopullista sopivaa allekirjoitustoimintoa.
Tällä sivulla

Kaksi viestiä voivat näyttää samanlaisilta sähköpostiohjelmassa ja silti tuottaa erilaisia DKIM runkotiivisteet. DKIM tarkistaa lähetetyn esityksen määrityksen jälkeen kanonisointi, ei lukijan dekoodaama näkymä. MIME uudelleenrakentaminen, sisällönsiirron muuntaminen ja rajojen muutokset kuuluvat siksi tutkimuksen alkuvaiheeseen, kun viesti epäonnistuu vasta käsittelypalvelun jälkeen.

Erillinen ulkonäkö esityksestä

MIME viesti voi sisältää pelkkää tekstiä, HTML-koodia, liitteitä ja sisäkkäisiä moniosaisia ​​rakenteita. RFC 2046 §5.1.1 sijoittaa MIME osien otsikot ja rajaviivat moniosaisen rungon sisään. Tekstiosan uudelleenkoodaus lainaus-tulostetusta arvosta base64 voi säilyttää käyttäjän lukeman muuttaessaan DKIM lle esitettyjä tavuja. Koodattujen rivien uudelleen rivittäminen voi myös muuttaa näitä tavuja. Rento kanonisointi on määritetty välilyöntimuunnos, ei MIME dekooderi tai renderoidun sisällön vastaavuustesti.

RFC 6376 §5.3 neuvoo muuntamaan sopivaan MIME -siirtokoodaukseen ennen allekirjoittamista siirtomuunnosten vähentämiseksi. Se vaatii erityisesti, että paikalliset esitykset, jotka muuttuvat ennen lähetystä, normalisoidaan ennen allekirjoittamista. Periaate on toiminnallisesti yksinkertainen: allekirjoita lomake, jonka vastaanottajan odotetaan näkevän.

Paikanna serialisoinnin muutos

Hanki raakaviestit allekirjoittajan lähdöstä, epäillystä yhdyskäytävän lähdöstä ja lopullisesta vastaanottajasta. Tallenna alkuperäiset asiakirjat avaamatta ja tallentamatta niitä editorin kautta, joka normalisoi rivinpäätteet. Huomaa keräysmenetelmä, koska vientityökalu voi itse muuttaa esitystä.

Vertaa ulomman viestin ja kunkin asiaankuuluvan MIME osan Sisältötyyppi- ja Sisällönsiirto-koodauskenttiä. Tarkista rajamerkkijonot, liitekoodaus, taitetut rivit ja merkistömuunnos. Selvitä, sisältyikö muuttunut ulompi otsikko h:hen ja tapahtuiko muuttuneiden osien otsikoita allekirjoitetun rungon sisällä. Käsittele kahta sijaintia erikseen: ulompi otsikko voi aiheuttaa allekirjoituksen vahvistuksen epäonnistumisen, kun taas MIME osan otsikko osallistuu normaalisti body hash.

Käy läpi koodausesimerkki

Havainnollinen testispesifikaatio: tekstiosa, joka sisältää ei-ASCII-merkin, valmistetaan käyttämällä lainausmerkkiä, ennen kuin sovellus allekirjoittaa viestin. Alavirran palvelu purkaa kyseisen osan ja sarjoittaa sen base64:ksi. Näytetty lause pysyy samana, mutta kanonisoitu runko voi poiketa ja alkuperäinen allekirjoitus voi epäonnistua. Suorita tämä vain kontrolloidulla sisällöllä ja tarkista todelliset tavuerot sen sijaan, että olettaisit, että jokainen palvelu suorittaa tämän muunnoksen.

Luo pieni testisarja, joka sisältää vain ASCII-tekstiä, ei-ASCII-tekstiä, moniosaista HTML-koodia ja pienen liitteen. Lähetä jokainen suoran ohjauspolun ja tuotantoa vastaavan käsittelypolun kautta. Jos vain jälkimmäinen muuttaa esitystä, rajavertailu identifioi tutkittavan komponentin. Jos kumpikaan epäonnistuu, tutki ensin allekirjoittajan oma serialisointi ja normalisointi.

Korjaa raja

Valitse lopullinen MIME -rakenne ja siirtokoodaus ennen allekirjoittamista. Jos tietoturvapalvelun on kirjoitettava sisältöä uudelleen, järjestettävä valtuutettu allekirjoitusvaihe sen lopullisen serialisoinnin jälkeen. Vahvista sen mukautetun verkkotunnuksen tuki ja omistusmalli; Liittymättömän palvelualueen alla oleva allekirjoitus voi läpäistä DKIM ilman, että se on kohdistettu DMARC alla RFC 9989 §4.4.1.

Älä korjaa näytettä paikalleen ja esitä se todisteeksi siitä, että tuotanto on kunnossa. Muokattu näyte testaa vain hypoteesin. Muuta vastuullista kokoonpanoa, lähetä uusia ohjattuja viestejä ja tallenna niiden alkuperäiset vastaanottajan tulokset. Vältä laajoja sisällön tarkastuksen ohituksia vain allekirjoituksen säilyttämiseksi tarkistamatta turvallisuusseurauksia.

Säilytä hyödyllinen tapahtumatietue

Tallenna ensimmäinen raja, jossa serialisoitu sisältö poikkeaa, MIME kenttä tai osa, johon se vaikuttaa, allekirjoittaja ja valitsinja kunkin testiversion tulokset. Pidä testiviestit vailla asiakastietoja. Suorita sarja uudelleen yhdyskäytävän päivitysten ja liitteiden käsittelyn muutosten jälkeen. Valmis korjaus selittää miksi vanha esitys epäonnistui ja osoittaa, että äskettäin lähetetty posti selviää täysin tuetun reitin aikana.

Vertaa konkreettista koodattua esitystä

UTF-8-tavuille C3 A9, jotka edustavat é:tä, on lainaustulostettavissa oleva esitys =C3=A9; base64-esitys on w6k=. Sopivilla MIME otsikoilla molemmat dekoodaavat samat merkit, mutta koodatut merkkijonot eroavat toisistaan. RFC 2045 §6.7 ja RFC 2045 §6.8 määrittele koodaukset; RFC 6376 §3.7 vaatii tiivistyksen siirtokoodauksen jälkeen ja ennen dekoodausta varmennuksen aikana. Tämä eristetty esitysesimerkki ei ole täydellinen MIME sanoma tai suoritettu allekirjoitustesti. Jos käytetään rungon pituusrajaa, määritä, ovatko muuttuneet tavut peittoalueen sisällä, sen sijaan, että oletetaan, että jokainen osa on suojattu.

[ Takeaway ]

DKIM tiivistää koodatun runkoesityksen, ei purettua liitesisältöä. MIME osien otsikot ja rajat ovat runkotavuja; ulommat otsikot käyttävät h-pohjaista peittoa. Viimeistele MIME -serialisointi ennen lopullista sopivaa allekirjoitustoimintoa.

[ Roolin mukaan ]

Mitä tämä tarkoittaa sinulle

Valitse roolisi ja seuraa käytännön toimia.

IT / Mail Admin

Vertaa sarjamuotoisia lomakkeita

Tunnista ensimmäinen muuttunut MIME osa sen sijaan, että luottaisit kuvakaappauksiin.

Seuraavat vaiheet

  1. Säilyttää raakavienti.
  2. Testaa siirtokoodaukset ennen allekirjoittamista.

CISO / SecOps

Pidä tarkastus ja aitous yhdessä

Valitse malli, joka tarkastaa sisällön ennen lopullista allekirjoitusrajaa.

Seuraavat vaiheet

  1. Tarkista ehdotettu ohitus.
  2. Rajoita pääsyä kaapattuihin viesteihin.

Perustaja / ei-tekninen

Suojaa monipuoliset asiakasviestit

Perustestisähköposti ei kata laskujen ja raporttien käyttämiä muotoja.

Seuraavat vaiheet

  1. Sisällytä synteettistä dataa sisältävät viestimuodot.
  2. Määritä käsittelypalvelulle omistaja.

[ UKK ]

Usein kysytyt kysymykset

Voiko identtisellä näytettävällä tekstillä olla erilainen tiiviste?

Kyllä. MIME -sarjoitus ja siirtokoodaus voivat vaihdella, vaikka sähköpostiohjelma hahmontaisi saman tekstin.

RFC 6376 §3.7

Hajauttaako DKIM purettuja liitteitä?

DKIM käyttää viestin runkoesitystä kanonisoinnin jälkeen, ei erikseen purettua liitetiedostoa.

RFC 6376 §3.7

Ovatko MIME osien otsikot mukana?

Ne esiintyvät viestin rungossa ja osallistuvat sen kanonisoituihin tavuihin. Koko vartalon peittävillä ne sisältyvät hintaan; l-raja voi jättää myöhemmät osat peiton ulkopuolelle.

RFC 2046 §5.1.1 RFC 6376 §3.7

Purkaako rento tila base64:n?

Ei. Sen muunnokset ovat määriteltyjä välilyöntejä; se ei pura MIME siirtokoodauksia.

RFC 6376 §3.4.4

Milloin koodaus tulisi valita?

Ennen allekirjoittamista, sen jälkeen kun viesti on normalisoitu lähetyksessä odotettuun esitykseen.

RFC 6376 §5.3

Miksi säilyttää raakavienti?

Renderöity näkymä piilottaa MIME ja koodauserot, kun taas editori voi tehdä omia muutoksiaan.

Voimmeko ohittaa turvaportin?

Hallittu vertailupolku voi diagnosoida ongelman, mutta tuotannon ohitus vaatii erillisen suojauspäätöksen.

Mitkä regressionäytteet ovat hyödyllisiä?

Pelkkä teksti, ei-ASCII-sisältö, moniosainen HTML ja liitteet paljastavat erilaisia ​​sarjointipolkuja.

[ Lähteet ]

Lähteet

  1. RFC 6376

    Osat §1 · §3.4 · §3.4.4 · §3.5 · §3.7 · §5.3

  2. RFC 9989

    Osat §4.4.1

  3. RFC 8601

    Osat §1.2

  4. RFC 2045

    Osat §1 · §6.7 · §6.8

  5. RFC 2046

    Osat §5.1.1

[ Sanasto ]

Sanasto

MIME
Strukturoituja osia ja koodauksia edustavat viestimuodot.

RFC 2045 §1 RFC 2046 §5.1.1

Siirrä koodaus
Koodattu esitys, jota käytetään kehon sisällön kuljettamiseen, kuten lainattu-tulostettava tai base64.

RFC 2045 §6.7 RFC 2045 §6.8

Moniosainen raja
Erotin, joka tunnistaa MIME rungon osien väliset erot.

RFC 2046 §5.1.1

Kanonisointi
DKIM -tavun valmistelu, joka ei pura MIME siirtokoodausta.

RFC 6376 §3.4 RFC 6376 §3.7

Yrityksen alkuperä

Miksi parhaat rahoituslaitokset ja hallitukset lopettivat sähköpostin suojauksen hallintapaneelinsa.

Perinteiset sähköpostin todennusalustat myyvät sinulle kojelaudan ja pyytävät insinöörejäsi tekemään työtä. Korkeiden panosten ympäristöissä manuaalinen valvonta tarkoittaa viivästynyttä täytäntöönpanoa, konfiguraatioiden siirtymistä ja valvomattomia varjoalueita.

EmailAuth on agentti sähköpostin alkuperäalusta. Agenttimme valvovat p=reject, pidä kolmannen osapuolen lähettäjät kohdakkain ja siirrä verkkotunnuksesi täyteen RFC 9989 noudattaminen, uusi DMARC standardi, jossa on in-the-loop -tarkastettavuus.

hallitukset Suuret yritykset Tason 1 rahoituslaitokset

SaaS · Dedikoitu vuokrasopimus · Ilmarakoinen on-prem · BYOK-salaus

Tietokanta