Video & sari kata · Pemuat Turun Media Langsung
URL yang ditandatangani dan tamat tempoh: sebab pautan langsung boleh berhenti berfungsi esok
· Latar belakang
url keselamatan muat turun
Banyak pautan langsung membawa tandatangan dan masa tamat tempoh dalam rentetan pertanyaan mereka. Siaran ini menerangkan cara URL yang ditetapkan berfungsi, sebab CDN dan perkhidmatan storan menggunakannya dan cara mengenalinya sebelum ia gagal.
Pautan berfungsi pada hari Jumaat dan mengembalikan ralat pada hari Isnin — corak di sebalik kebanyakan pautan langsung yang 'pecah'
Pautan boleh berjaya pada hari Jumaat dan mengembalikan ralat HTTP pada hari Isnin tanpa fail dialihkan. Pertanyaan mungkin mengandungi kebenaran terhad masa yang kesahihannya berakhir antara percubaan.
ToolAcre melaporkan status tidak berjaya yang boleh dibaca dan menyatakan bahawa alamat itu mungkin telah tamat tempoh, berpindah atau memerlukan log masuk. Ia tidak mentafsir semula tamat tempoh sebagai CORS apabila respons HTTP tersedia. Pemindahan besar amat terdedah kepada jurang masa ini kerana pautan yang sah boleh tamat tempoh selepas ia dikongsi tetapi sebelum penerima mula atau selesai menggunakannya. Rakaman panjang membesarkan risiko pemasaan ini kerana kebenaran boleh luput antara perkongsian, permulaan dan penyempurnaan pemindahan.
Apa itu URL yang ditandatangani — laluan fail biasa ditambah tandatangan, tamat tempoh dan kadangkala IP yang dibenarkan, semuanya dalam rentetan pertanyaan
URL yang ditandatangani menggabungkan laluan sumber biasa dengan nilai yang digunakan oleh sistem penyajian untuk mengesahkan kebenaran. Ini mungkin mewakili tandatangan, tamat tempoh, skop kelayakan, dasar atau sekatan pelanggan.
Nama parameter dan pengekodan adalah khusus pembekal. Pelayar menganggapnya sebagai data pertanyaan, manakala pelayan memutuskan sama ada gabungannya sah pada masa permintaan. Sesetengah skim mengikat kaedah atau pengepala juga, jadi pembekal boleh membenarkan GET namun menolak HEAD; sahaja algoritma tandatangannya yang didokumentasikan boleh menjelaskan keputusan itu. Sesetengah pembekal menyertakan kaedah atau pengepala terpilih dalam pengesahan, membenarkan GET sambil menolak HEAD di bawah pertanyaan kelihatan yang sama.
Mengapa perkhidmatan storan dan CDN menggunakannya — berkongsi fail peribadi tanpa menjadikannya awam atau memerlukan log masuk
Perkhidmatan storan dan CDN menggunakan alamat yang ditandatangani untuk berkongsi objek peribadi tanpa menjadikan laluannya awam secara kekal atau melampirkan log masuk interaktif pada setiap muat turun.
Oleh itu, pemilikan pautan langsung boleh menjadi sensitif. Elakkan menampalnya ke dalam geganti yang tidak dipercayai, menerbitkan tangkapan skrin atau meninggalkannya dalam nota kongsi di luar aliran kerja yang dibenarkan. Kesahan pendek mengurangkan pendedahan jika pautan bocor, manakala log pembatalan dan akses kekal sebagai keupayaan pembekal dan bukannya fungsi URL yang dimuat turun itu sendiri. Kesahan pendek mengurangkan pendedahan daripada kebocoran, manakala pembatalan dan pembalakan akses kekal sebagai keupayaan penyedia yang mengeluarkan.
Membaca rentetan pertanyaan — mengesan cap masa tamat tempoh dan parameter tandatangan dalam bentuk URL yang sama
Cari nama pertanyaan yang mencadangkan tamat tempoh, tandatangan, token, dasar atau pengesahan awalan vendor. Nilai seperti zaman mungkin mewakili tarikh akhir, tetapi dokumentasi diperlukan sebelum menukarnya.
Normalizer ToolAcre sengaja menyimpan medan `token`, `expires`, `signature` dan gaya X-Amz. Ia sahaja mengalih keluar kunci berbentuk analitis yang diketahui kerana pelucutan kebenaran akan mengubah permintaan yang dialamatkan. Jangan menyahkod atau mengalih keluar parameter yang tidak dikenali begitu sahaja, kerana nilai yang kelihatan legap boleh menjadi sebahagian daripada permintaan kanonik yang ditandatangani walaupun namanya tidak jelas. Parameter yang tidak diketahui mungkin mengambil bahagian dalam tandatangan berkanun walaupun nama mereka tidak kelihatan berkaitan keselamatan, jadi pastikan ia tidak berubah.
Contoh yang berfungsi: pautan storan bercap masa — bekerja apabila ia tamat tempoh dan rupa ralat selepas itu
Katakan dokumentasi pembekal mentakrifkan parameter tamat tempoh sebagai saat zaman. Tukarkannya di bawah peraturan yang didokumenkan itu dan bandingkan dengan masa UTC semasa sebelum memulakan pemindahan besar.
Selepas tarikh akhir, hos mungkin mengembalikan 403, ralat lain atau ubah hala; tiada bentuk tindak balas sejagat. Bukti konkrit ialah status dan badan yang disediakan oleh penyedia itu, bukan mesej yang direka-reka. Jika hos menyediakan badan ralat berstruktur, simpan ia untuk pemilik tanpa menerbitkan alamat bertandatangan yang menghasilkannya. Simpan sebarang respons ralat berstruktur untuk pemilik sambil melindungi alamat bertandatangan yang menjananya daripada pendedahan yang lebih luas.
Perkara yang tidak dilindungi ini — memperbaharui pautan, yang sahaja boleh dilakukan oleh pemilik fail
Pemuat turun tidak boleh memperbaharui, meletak jawatan, memuat semula atau melanjutkan alamat. Sahaja pihak yang mengawal sumber atau sistem perkongsiannya yang dibenarkan boleh mengeluarkan pautan lain yang sah.
Ia juga tidak mengekalkan sesi log masuk kerana bukti kelayakan ditinggalkan. Jika akses memerlukan kuki akaun dan bukannya keizinan URL, fail tersebut berada di luar reka bentuk produk ini. Menukar cap masa secara manual akan membatalkan kebanyakan tandatangan kerana tarikh akhir mengambil bahagian dalam pengesahan pelayan; itu bukan mekanisme lanjutan. Menukar cap masa biasanya membatalkan pengesahan kerana tarikh akhir itu sendiri menyumbang kepada tandatangan dan bukannya bertindak sebagai metadata boleh diedit.
Bawa pulang: muat turun semasa pautan disiarkan — bagaimana Pemuat Turun Media Langsung URL semak dan umumkan ambil muat pautan yang tamat tempoh
Muat turun semasa pautan yang dibenarkan disiarkan dan fail itu sesuai dengan aliran kerja pelayar. Pengesahan setempat mengesahkan alamat awal memenuhi skim dan dasar hos, kemudian permintaan eksplisit membolehkan asal menilai tandatangannya.
Pengumuman hos tidak mendedahkan sama ada token itu kekal sah. Semak pautan boleh menguji kebolehcapaian dengan HEAD, tetapi sesetengah pembekal mengendalikan HEAD secara berbeza daripada GET, jadi ia bukan pembaharuan atau jaminan. Untuk aliran kerja arkib, selaraskan pengeluaran pautan dengan tetingkap pemindahan dan sahkan bait yang disimpan sebelum memadamkan salinan berwibawa pengirim. Selaraskan pengeluaran dengan tetingkap pemindahan yang dirancang, kemudian sahkan aset yang telah siap sebelum menamatkan salinan berwibawa pengirim.