Yhden hyvän XML-raportin hyväksyvä jäsentäjä on läpäissyt vain suppean testin. Hyödyllinen validointipaketti tarkistaa, mitä se poimii, mitä se hylkää, kuinka se käsittelee tuettuja muunnelmia ja muuttaako uudelleenyritysten kokonaismääriä. Käsittele odotettuja normalisoituja arvoja osana kiinnitystä, ei lähtönä, jonka testi saa keksiä.
Ilmoita tuettu sopimus
Viitteet: RFC 9990 §3.1.1, RFC 9990 §3.2.
Tallenna jäsentimen, suoritusajan, purkuohjelman ja skeeman versiot. Kerro, mitä raporttimuotoja ja laajennuksia tuetaan ja miten vanhoja syötteitä käsitellään. RFC 9990 määrittää nykyisen koostemuodon ja laajennusmallin; vanhempien tiedostomuotojen tuki on erillinen yhteensopivuuspäätös.
Rakenna ensin vähimmäiskelvollinen valaisin. Tallenna sen tavut, hash, odotetut metatiedot, väli, lähde-IP, määrä, identiteetit ja tasatut tulokset. Älä pidä onnistunutta XML-jäsennystä riittävänä: tarkista kenttätyypit ja merkitykset. Pidä puuttuvat valinnaiset arvot erillään virheellisistä pakollisista tiedoista.
Testaa yleisiä semanttisia virheitä
Viitteet: RFC 9990 §3.1.1.9, RFC 9990 §3.1.1.11, RFC 9989 §5.3.5.
Sisällytä raaka DKIM kulkevat riippumattoman verkkotunnuksen alle, jossa on kohdistettu DKIM virhe, ja raaka SPF kulkea ilman linjaus. Sisällytä tapaus, jossa yksi kohdistettu mekanismi menee ohi, kun taas toinen epäonnistuu. Tarkista, että normalisoitu tulos ei edellytä molempien mekanismien läpimenoa tai rinnasta raakaa menestystä linjaukseen.
Lisää ilmoitettu käytäntö, joka poikkeaa julkaistusta käytännöstä tehdystä yksinkertaisesta päätelmästä. Säilytä käytettävissä olevat ohitussyyt. Sisällytä nykyiseen skeemaan ActionDispositionType-arvon passi sen sijaan, että hylkäät sen tuntemattomana vanhana arvona. RFC 9990 liite A määrittelee sen ohitettavaksi DMARC täytäntöönpanopolitiikan kanssa. Pidä vanhojen muotojen odotukset selkeästi erillään. Testaa useita DKIM tuloksia poistamatta kaikkia paitsi ensimmäistä allekirjoitusta. Tarkoituksena on säilyttää se, mitä raportissa sanotaan, ei tehdä uutta vastaanottimen arviota epätäydellisistä tiedoista.
Harjoittele rakenteellisia ja turvatapauksia
Viitteet: RFC 9990 §3.2, RFC 9990 §8.1.
Viite: OWASP XML -ulkoisen entiteetin esto, yleiset ohjeet.
Käytä virheellisiä pakollisia arvoja, väärin muotoiltua XML:ää, tuettuja nimiavaruuslaajennuksia, ei-tuettuja versioita, puuttuvia valinnaisia elementtejä ja liiallista rajattua sisäkkäisyyttä. Testaa pakatut ja laajennetut kokorajoitukset, keskeytetty syöttö ja vaarattomat ulkoiset referenssivartijat erillään. Määritä, hyväksytäänkö, karanteeniin vai hylätäänkö jokainen syöte ja miksi.
Tuetun laajennuksen ei pitäisi kadota hiljaa, jos loppupään analyysi väittää sen säilyttävän. Rakenteen, jota ei tueta, tulisi tuottaa selkeä yhteensopivuustulos sen sijaan, että se luokiteltaisiin uudelleen epäonnistuneeksi todennuksena. Pidä tietoturvatestit pieninä ja resurssirajoitteisina; Älä luo tuhoisia työkuormia vain osoittaaksesi rajan.
Tarkista kaksoiskappaleet ja tapahtumakäyttäytyminen
Viitteet: RFC 9990 §3.5.4.
Tuo kiinnitys, toista se ja käynnistä työntekijä uudelleen ennen uudelleentoistoa. Lasketun raportin tulee pysyä yhtenä dokumentoidun kaksoiskappalesäännön mukaisesti. Lisää eri liite, jossa vaaditaan samaa raportin identiteettiä, ja vaadi selkeä ristiriitapäätös. Identtiset tunnukset eivät yksin anna lupaa hylätä erilaisia todisteita ilman tarkistusta.
Pistä kontrolloitu keskeytys ennen sitoutumista. Varmista, että mitkään osittaiset tietueet eivät vaikuta tuotantomittareihin ja että sallittu uudelleenyritys tuottaa odotetun tuloksen kerran. Testaa nollahavainnointilähdöt eivät ole käytettävissä sen sijaan, että jaatte nollalla tai valmistatte täydellisen läpäisynopeuden.
Työskentele hyväksymisrivin läpi
Synteettinen valaisin F1 sisältää 90 havaintoa kohdistetulla DKIM syötöllä ja kymmenen ilman kohdistettua syöttömekanismia. Sen odotettu sisällytettyjen määrä on 100 ja odotettu havaittu läpäisymäärä on 90. Toistettaessa F1:tä on jätettävä molemmat arvot ennalleen. Tarkoituksella lyhennetty kopio tulee hylätä lisäämättä kumpaakaan kokonaismäärää.
Tallenna odotetut arvot ennen suorittamista. Vertaa todellista tuotantoa, resurssimittauksia ja diagnostiikkaa tähän perustilaan. Tämä on jäsentimen hyväksymisspesifikaatio, ei väite, että jokin kaupallinen tai vuokralainen jäsentäjä on läpäissyt sen. Erillinen uusi offline-aritmeettinen/toistomalli tarkistaa 100/90-arvot ja muuttumattomat toistuvat identiteetit; se ei jäsennä tai vahvista RFC 9990 XML -raporttia. Jos kotelo epäonnistuu, säilytä vika ja tarkka kiinnitys, jotta myöhempi versio voi toistaa sen.
Porttien muutokset tallennetuissa tuloksissa
Säilytä matriisi, joka sisältää kiinnitystunnuksen, hajautusarvon, tarkoituksen, odotetun tuloksen, todellisen tuloksen, jäsentimen määritykset ja tarkistuspäätöksen. Vaadi kaikkien pakollisten tapausten läpäiseminen käyttöönotetussa versiossa, mutta ei-tuetut ominaisuudet ovat dokumentoituja poikkeuksia. Suorita uudelleen riippuvuus- tai normalisointimuutosten jälkeen ja vertaa historiallisten mittareiden vaikutuksia ennen tallennettujen raporttien uudelleenkäsittelyä. Jäsentimen validoinnin pitäisi suojata sekä järjestelmän saatavuutta että ihmisten käytäntöpäätöksissä käyttämien numeroiden merkitystä.