Een Magic-Link-fout kan optreden nadat de e-mailbezorging is gelukt. Het bericht kan na de vervaldatum arriveren, de applicatie kan een eerdere link ongeldig maken of een omleiding kan in de verkeerde omgeving terechtkomen. Onderzoek deze als afzonderlijke hypothesen in plaats van elke mislukte aanmelding te behandelen als een probleem met de authenticatierecords.
Volg de twee reizen
Het e-mailtraject loopt van aanvraag tot generatie, wachtrij en acceptatie door de ontvangende server. Het applicatietraject loopt van het maken van tokens via koppelingsverzoeken, validatie en het opzetten van sessies. Sluit u bij hen aan met behulp van een niet-geheime correlatie-ID. Log geen volledige dragerlinks in en plak geen livelink in een externe scanner.
Een SMTP acceptatiegebeurtenis is een bewijs van overdrachtsverantwoordelijkheid, niet een voltooide gebruikerssessie. Houd de ondersteuningslabels nauwkeurig. RFC 5321. Registreer ontbrekende zichtbaarheid expliciet wanneer de aanbieder alleen de indiening en de eindstatus openbaar maakt.
OWASP-logboekbegeleiding ondersteunt correlatie zonder toegangsgeheimen bloot te leggen.
Valideer het linkontwerp afzonderlijk
De beveiligingsprincipes in de richtlijnen voor het opnieuw instellen van wachtwoorden van OWASP omvatten verlopende tokens voor eenmalig gebruik, vertrouwde HTTPS-bestemmingen en bescherming tegen tokenlekken. Deze principes zijn relevant voor het beoordelen van gevoelige e-maillinks, maar de bron gaat over het opnieuw instellen van wachtwoorden in plaats van een volledige specificatie voor wachtwoordloos inloggen. Een Magic-Link-product heeft zijn eigen dreigingsmodel en sessiecontroles nodig. OWASP-richtlijnen voor het opnieuw instellen van tokens.
Inspecteer het beoogde host-, omgevings-, pad- en omleidingsgedrag met behulp van wegwerptestgegevens in een goedgekeurde testomgeving. Bevestig of een nieuwer verzoek eerdere links ongeldig maakt en of succesvol gebruik het token ongeldig maakt. Leg het daadwerkelijke beleid vast in plaats van ervan uit te gaan dat alle producten zich identiek gedragen.
Vergelijk een vervaldatum en een verbruiksfout
Beschouw twee hypothetische tokens die om 09:00 UTC zijn gemaakt en die om 09:10 verlopen. Geval A bereikt de aanvaarding van de ontvanger om 09:11 uur, al één minuut na de vervaldatum. Geval B bereikt dat stadium om 09:01 uur, er wordt een succesvolle aanvraaginwisseling geregistreerd om 09:02 uur en er wordt om 09:03 uur een tweede poging ondernomen. Bij een beleid voor eenmalig gebruik zou de tweede poging van B moeten mislukken omdat deze al is gebruikt, ook al zijn er nog zeven minuten over.
Dit zijn verzonnen aannames over gebeurtenissen, geen uitvoering van staatsmachines of geverifieerde incidenten. Casus A suggereert een timingonderzoek; In geval B is bewijs nodig over de eerdere aanvraagtransitie. Een kortere postvertraging zou B niet herbruikbaar maken. Wijs de vroege actie niet uitsluitend toe aan een beveiligingsscanner of een persoon via een user-agentreeks. Correleer geautoriseerde geredigeerde aanvraagrecords, statuswijzigingen en sessiegebeurtenissen voordat u de acteur toewijst.
Repareer zonder koppelingen herbruikbaar te maken
Voor echte vertraging moet u de langzame fase aanpakken en het resterende geldigheidsbudget verifiëren. Voor voortijdig gebruik controleert u of de toepassing een onschadelijk landingsverzoek kan scheiden van de expliciete, veilig gevalideerde actie die een sessie tot stand brengt. Dat is een ontwerprecensie, geen universele patch; behoud van herhalingspreventie, vervaldatum en andere vereiste controles.
Verwijder onnodige marketingtracking uit gevoelige accountlinks via de goedgekeurde sjabloonconfiguratie en verifieer het uiteindelijke bericht. Elk omleidings- of mobiel deeplinkgedrag moet nog worden getest. Los nooit een periodieke storing op door verlopen tokens voor onbepaalde tijd te accepteren.
Test gecontroleerde reizen opnieuw op vertraagde aankomst, herhaalde verzoeken, herhaling en routering in de verkeerde omgeving. Sluit af met de exacte faalklasse en resterende gaten. Een duidelijke classificatie voorkomt dat mailoperators en applicatie-ingenieurs herhaaldelijk het verkeerde systeem wijzigen.
Voor elke faalklasse een aparte sluiting vereisen
Een snellere aankomst kan een geval van vervalvertraging pas afsluiten nadat een gecontroleerde reis het geldigheidsbudget heeft bevestigd. Het kan een geval van eerdere consumptie of een verkeerde omgeving niet sluiten. Registreer de les, ondersteun de toepassingsovergang en ontbrekend bewijsmateriaal voordat u een oorzaak toewijst.