Seguretat

    Enllaços amb caducitat: el secret es destrueix, no només deixa de redirigir

    Un enllaç secret amb caducitat destrueix el secret al termini; un enllaç curt mort només deixa de redirigir. Com triar el termini i els casos límit.

    W. Miller · Actualitzat el · Sobre LinkPilot

    Un enllaç secret amb caducitat destrueix el secret quan arriba el termini: a LinkPilot el text xifrat desat se sobreescriu, de manera que no queda res per recuperar. Un escurçador d'enllaços que comença a respondre 410 Gone només ha aturat la redirecció. Tot enllaç que porti un secret hauria de tenir caducitat, perquè sense caducitat la garantia d'«un sol ús» es debilita en silenci cada dia que l'enllaç passa sense obrir-se. Aquest article explica què protegeix realment la caducitat, com triar un termini que es pugui justificar, els casos límit que fan mal a la pràctica i les situacions en què els enllaços amb caducitat no són l'eina adequada. Si primer voleu veure com funciona, el generador gratuït d'enllaços secrets d'un sol ús aplica una caducitat a cada secret que crea.

    Què protegeix realment la caducitat?

    La caducitat limita la finestra de filtració. A un atacant li serveix molt menys un enllaç que ha funcionat cinc minuts que un que ha funcionat una setmana, encara que tots dos fossin enllaços «d'un sol ús».

    Penseu on va a parar un URL que porta un secret quan l'envieu: la safata d'entrada del destinatari, l'emmagatzematge del seu proveïdor de correu, potser una còpia reenviada, l'historial d'un xat sincronitzat al mòbil, una entrada a l'historial del navegador. No podeu controlar cap d'aquestes còpies. El que sí que podeu controlar és quant de temps continua sent utilitzable cadascuna. Una caducitat d'una hora vol dir que qualsevol còpia perduda d'aquest URL deixa de valer res seixanta minuts després de crear-lo, vagi a parar on vagi.

    La caducitat també cobreix un error humà real que la destrucció després de la lectura no pot cobrir: el destinatari no obre mai l'enllaç. La destrucció després de la lectura només s'activa amb una lectura. Un enllaç sense llegir i sense caducitat es queda a la safata d'entrada indefinidament: encara actiu, encara trobable amb una cerca, i a un sol reenviament de la persona equivocada.

    La caducitat i la destrucció després de la lectura cobreixen errors diferents

    Aquests dos controls es confonen constantment. Són independents, i la configuració més sòlida fa servir tots dos:

    ErrorL'atura la destrucció després de la lectura?L'atura la caducitat?
    El destinatari el llegeix i després l'enllaç es queda a la safata d'entradaSí, ja és mortSí, al final
    El destinatari no l'obre maiNo, continua actiu per sempreSí
    L'obre primer qui no tocaEn part: es destrueix i el rastre d'auditoria ho mostraNo
    L'URL es filtra setmanes després des d'una exportació de correuNomés si s'havia llegitSí, fa temps que és mort

    Fixeu-vos en la fila de «qui no toca»: cap dels dos controls impedeix aquesta lectura. Per a això serveix una frase de contrasenya enviada per un altre canal. La caducitat limita el temps, la destrucció limita les lectures i la frase de contrasenya limita qui. Són tres controls separats.

    El temps previst del lliurament més un retard raonable, i prou. Una regla pràctica, segons el cas:

    CasTerminiPer què
    Lliurament en temps real (xat, trucada, pantalla compartida)1 hora (l'opció predefinida més curta)El destinatari hi és; la destrucció després de la lectura tanca l'enllaç en el moment que el llegeix
    Correu a un destinatari conegut i actiu1 horaCobreix el retard de la safata d'entrada sense deixar una finestra oberta tota la nit
    Lliurament programat (incorporació demà a les 10)24 horesAguanta els canvis d'horari; l'endemà ja és mort
    Destinatari en una zona horària llunyana24-48 horesPot ser que la seva jornada no coincideixi gens amb la vostra
    Qualsevol cosa que necessiti > 7 diesAtureu-vosL'enllaç no és l'eina adequada: feu servir una caixa forta

    El patró que hi ha darrere la taula: poseu com a termini el temps previst del lliurament més un retard raonable, no «prou llarg perquè no m'hi hagi de tornar a amoïnar». Els terminis triats per comoditat acaben tendint a l'infinit.

    Un lliurament amb horari, pas a pas

    Demà a les 10:00 s'incorpora una persona nova a l'equip d'enginyeria. Li heu de fer arribar la contrasenya de només lectura de la base de dades de producció.

    1. 09:55: creeu l'enllaç secret des del vostre compte de LinkPilot amb la destrucció després de la lectura activada, una frase de contrasenya i una caducitat personalitzada a les 11:00. La caducitat a una hora concreta i la frase de contrasenya són funcions del pla Pro; amb la sessió iniciada, les opcions predefinides són 1 hora, 24 hores o 7 dies, i el generador sense compte fa servir 7 dies.
    2. 09:56: envieu l'enllaç per correu.
    3. 09:58: envieu la frase de contrasenya per SMS o per missatge directe de Slack, un canal diferent del de l'enllaç, perquè no n'hi hagi prou amb un sol canal filtrat.
    4. 10:05: la persona nova obre l'enllaç, introdueix la frase de contrasenya i llegeix la contrasenya una vegada. L'enllaç es destrueix.
    5. 10:30: consulteu la cronologia d'auditoria. Una visualització, a l'hora correcta, des d'una ubicació plausible. Fet.
    6. Si a les 10:30 no s'ha llegit: revoqueu-lo, aviseu-la i torneu-lo a compartir en directe. No espereu simplement que caduqui; un enllaç actiu sense llegir és una finestra oberta.

    El termini és prou curt perquè un correu filtrat no valgui res una hora després. La frase de contrasenya cobreix que algú intercepti l'enllaç dins d'aquesta hora. La destrucció cobreix les relectures. Cada control atura el que als altres se'ls escapa.

    Casos límit que convé conèixer

    Els escàners de correu no consumeixen el temps ni el secret

    Les eines de seguretat del correu corporatiu obren els URL tan bon punt arriba un missatge. Un enllaç secret ben fet tracta aquestes peticions com a consultes de metadades: el punt d'accés de lectura de LinkPilot només retorna l'estat amb un GET, i només es registra una visualització amb una lectura explícita per POST. Així, un escàner que visita l'enllaç a les 09:56 ni el destrueix ni n'obté res útil. El que no es pot impedir és que l'escàner vegi que s'ha enviat un URL, i aquest és un altre motiu per enviar la frase de contrasenya per un altre canal.

    El destinatari al minut 59

    La caducitat s'aplica en el moment de la lectura, no amb un procés de neteja en segon pla que heu d'esperar que s'hagi executat. A LinkPilot, un secret caducat passa a l'estat expired al següent accés i el contingut se suprimeix en la mateixa escriptura. Una lectura que comença abans del termini i acaba després es resol netament en un sentit o en l'altre: no hi ha cap estat de mig caducat.

    Els càlculs de zona horària

    «Caduca d'aquí a 24 hores» no és ambigu; «caduca demà al vespre», sí. Poseu els terminis com a durades a partir d'ara i, quan ho digueu al destinatari, doneu-li l'hora límit a la seva zona horària. Una bona part de les queixes de l'estil «quan l'he obert, l'enllaç ja era mort» són errors de càlcul de zona horària.

    El vessant del compliment normatiu

    La caducitat també és la manera pràctica d'aplicar dos principis que apareixen a la majoria de règims de privadesa moderns: la minimització de dades i la limitació del termini de conservació (a l'RGPD, articles 5(1)(c) i 5(1)(e)). Si heu de transmetre dades personals, com un document d'identitat, la fitxa d'un client o unes credencials d'accés lligades a una persona, un enllaç que demostrablement deixa d'existir després d'un termini limitat és molt més fàcil d'explicar a un auditor que «és en algun lloc del sistema de correu». Un rastre d'auditoria que mostra els esdeveniments de creació, visualització i caducitat de cada enviament converteix la vostra política de conservació en una prova en lloc d'una afirmació. Res d'això no fa que una eina «compleixi l'RGPD» per si sola, perquè el compliment és una propietat de tot el vostre procés, però els terminis de vida limitats i els registres d'esdeveniments en són la matèria primera.

    Allò en què la caducitat no ajuda

    La caducitat no substitueix:

    • La rotació. Si el secret mateix està compromès, la caducitat de l'enllaç no invalida les credencials. Roteu-les al sistema d'origen. La caducitat limita quant de temps és actiu el mitjà de lliurament; no diu res del contingut un cop lliurat.
    • La protecció amb frase de contrasenya. La caducitat limita el temps; la frase de contrasenya limita l'accés. Són independents i combinar-les costa poc.
    • El registre d'auditoria. La caducitat no us diu qui ha vist el secret ni quan. Per a això, feu servir els esdeveniments d'auditoria de cada enllaç: LinkPilot registra els esdeveniments de creació, visualització, frase de contrasenya incorrecta, destrucció, caducitat i revocació, amb marques de temps i adreces IP amb hash.

    L'antipatró de «ja l'allargaré»

    Temptador i gairebé sempre equivocat. El destinatari va acceptar un termini. Allargar-lo sense dir res trenca el model de confiança: pot ser que doni l'enllaç per mort i hagi tractat el secret en conseqüència, o que hagi deixat de vigilar la safata d'entrada on és.

    La manera neta de fer-ho: revoqueu l'enllaç antic, creeu-ne un de nou amb una caducitat nova i aviseu el destinatari. El rastre d'auditoria continua sent fidel: un enllaç, un termini, un resultat per enviament. Per això LinkPilot us deixa escurçar el termini d'un enllaç actiu o revocar-lo a l'acte, però expressament no té cap botó per allargar-lo.

    Una llista honesta de límits:

    • Accés recurrent. Si algú també necessitarà el valor la setmana que ve, deseu-lo en un gestor de contrasenyes i compartiu l'element de la caixa forta. Tornar a enviar enllaços periòdicament és una caixa forta amb més passos i pitjors garanties.
    • Consumidors automàtics. Els pipelines de CI i els serveis haurien d'obtenir els secrets d'un gestor de secrets (o del magatzem de secrets propi de la plataforma), no obrir URL d'un sol ús.
    • Distribució àmplia. Un enllaç que necessiten quinze persones no és un lliurament de secret; és control d'accés, i el seu lloc és un sistema que en tingui.

    Els enllaços amb caducitat són excel·lents en una sola feina: fer passar un valor confidencial d'una persona a una altra, una vegada, amb un abast de danys limitat.

    Referències

    Eines per a aquest article

    Preguntes freqüents

    LinkPilot envia un enllaç secret que desapareix després d'obrir-lo.

    Es xifra al vostre navegador, es mostra una sola vegada i després es destrueix. Sense compte.

    Crea un enllaç secret

    Llegiu també