Posredovanje paketov, predpomnjenje in ponovno objavljanje so na nadzorni plošči videti enako, ob vprašanju pravic pa se obnašajo povsem drugače. Storitev, ki premika bajte med uporabnikom in strežnikom, izvaja eno dejanje, medtem ko tista, ki shrani odgovor in ga preda naslednjemu obiskovalcu, izvaja drugo. Objavljanje tujega gradiva pod lastnim imenom je tretje dejanje in samo to tretje dejanje je distribuiranje v običajnem pomenu.

Ugotovite, katero od teh treh vaš sklop dejansko izvaja, nato mu pripišite ustrezno pravilo. Oznake izdelkov tu nič ne odločajo in tudi uporabljeni protokol ni merilo.

Tri dejanja, ki jih lahko izvede proxy ali VPN

Prehod sprejme tok TCP, prepiše naslove in posreduje segmente v obe smeri. Po povezavi na disku ne ostane nič in koristni tovor ostane za prehod neprosojen, razen če se odjemalec pogaja o TLS s prehodom namesto z izvorom.

Predpomnilni posrednik deluje drugače: analizira zahtevo, shrani odgovor za življenjsko dobo, ki jo izračuna ali prebere iz glave, nato pa ta shranjeni objekt predvaja poznejšim odjemalcem. Nekaj zdaj obstaja zunaj žice, označeno z URL in validatorjem, njegovo zadrževanje pa je izbira konfiguracije, ne stranski učinek.

Ponovno objavljanje gre korak dlje. Gradivo stoji na infrastrukturi, ki jo nadzorujete, naslovljeno na občinstvo, ki ste ga izbrali, pogosto po urejanju. Prvi dve dejanji opisujeta prenos, tretje opisuje distribuiranje.

DejanjeKaj obstaja zatemVprašanje, ki odloči izid
Prenašanje tokaStanje prevajanja in medpomnilniki, ki trajajo sekundeKatera določba o posrednikih pokriva prehodni prenos?
Shranjevanje odgovoraObjekt ter metapodatki svežine in validatorjaSta bila zadrževanje in predvajanje dovoljena, in do kdaj?
Predstavljanje dela pod lastnim URLObjavljena kopija, naslovljena na novo občinstvoKatero dovoljenje pokriva distribuiranje temu občinstvu?

Kjer odšifrirni proxy spremeni prenos v kopiranje

Razlika, ki odloči večino sporov, je ali naprava kdaj hrani čisto besedilo. Čist tunel, bodisi WireGuard, naprava OpenVPN tun ali posredovanje SSH -L, premika šifrirano besedilo med koncema in ne pušča nič berljivega. Proxy, ki zaključi TLS, dela nasprotno: dokonča rokovanje, vmes shrani odgovor v pomnilnik in nato tok znova šifrira proti odjemalcu. Med temi operacijami delo obstaja v obliki, ki jo upravljavec lahko pregleda in obdrži.

17 USC 106 našteva reproduciranje in distribuiranje med izključnimi pravicami, vsaka pa je podvržena omejitvam iz istega zakonika. Milisekundni medpomnilnik se lahko brez razprave uvrsti v omejitev; shranjen objekt, ki ga je mogoče predvajati, je tja veliko težje umestiti. Trajanje in namen tehtata več kot dejstvo, da se je pomnilnik sploh dotaknil.

Nič od tega ne spremeni VPN v licenco in nič ne naredi vsakega proxyja kršitelja. Prenos je eno dejstvo med več in ocenljivo vprašanje ostaja isto: katero dejanje, na čigavem gradivu, pod katerim dovoljenjem.

Glave predpomnilnika opisujejo dovoljenje protokola, ne pravnega dovoljenja

Predpomnilnik HTTP se odloči, kaj sme shraniti, iz metapodatkov odgovora, RFC 9111 pa določa pravila, ki jih upošteva. Cache-Control: no-store vsakemu skladnemu predpomnilniku naroči, naj odgovor zavrže, medtem ko private omejuje ponovno uporabo na enega uporabnika in dolg max-age vabi k skupnemu shranjevanju. Ena zahteva vam pove, katero politiko je izvor izbral. Zaženite jo, preden razpravljate o čem drugem.

curl -sI https://origin.example/media/report.pdf | grep -i -E 'cache-control|etag|age'

Odgovor, ki oglašuje dolgo življenjsko dobo, sporoča predpomnilnikom, da je predvajanje na ravni protokola sprejemljivo. Ta izjava ne pove nič o tem, ali smete vzeti isti objekt, ga znova gostiti in vključiti v lastno storitev. Dve različni dovoljenji izhajata iz dveh različnih mehanizmov in izpolnitev enega pusti drugo točno tam, kjer je bilo.

Zrcalni primer spodleti enako. HTTPS od konca do konca prepreči prozornemu predpomnilniku, da bi karkoli shranil, a ta izid ne ustvari pravice do distribuiranja gradiva in ne odvzame tiste, ki ste jo že imeli. Vedenje protokola pojasnjuje, kaj naprava zmore; nikoli ne daje pooblastila.

Kaj zapisati, preden storitev zaživi

Opišite ureditev z besedami, ki bi jih zunanji človek lahko preveril. Poimenujte gradivo in njegov vir, naštejte dejanja, ki jih sistem izvaja, in navedite, kako dolgo živi vsak shranjen objekt.

Hranite ta opis ob uvedbi in ne v kom mem spominu. Ko pride pritožba, je vrzel med branljivim položajem in ugibanjem običajno odstavek, napisan mesece prej, ki poimenuje obdobje hrambe in licenco.

Kratek kontrolni seznam pokrije ponavljajoče se luknje:

  • Vir gradiva in pogoji, vezani nanj.
  • Vsako izvedeno dejanje: posredovanje, shranjevanje, urejanje, predstavljanje.
  • Hramba po razredu objektov, v urah ali dnevih.
  • Dovoljenje ali omejitev, na kateri temelji korak predstavljanja.
  • Stik in pot odstranitve za imetnike pravic.

Seznam preglejte ob živi konfiguraciji, ne ob arhitekturni shemi. Kjer odgovora ni, je ta vrzel naslednja naloga: bodisi pridobite dovoljenje za dejanje bodisi ga prenehajte izvajati. Za komercialno storitev dajte pravniku prebrati pisni opis glede na jurisdikcijo, v kateri delujete, saj prav opis omogoča ta pregled. Kar ne morete opisati pisno, je položaj, ki ga ne morete braniti.

Sorodni članki