Puncte:0

Blocarea accesului direct la site-ul web static pe Azure Blob Storage și permiteți numai Azure Front Door

drapel in

Am o aplicație web SPA implementată pe Azure Blob Storage, a cărei URL este publică. De exemplu. https://example.z23.web.core.windows.net/

Aș dori să folosesc Azure Front Door cu WAF pentru a crește securitatea. Există vreo modalitate de a bloca accesul direct la adresa URL a blob-ului? L-am căutat pe google și am găsit multe răspunsuri, unul dintre ele este pur și simplu să permită doar AzureFrontDoor.Backend IP-uri la configurațiile de rețea ale Contului de stocare. L-am încercat și a funcționat.

Cu toate acestea, această metodă are încă o lacună, deoarece oricine poate să creeze o ușă din față și să indice adresa URL a blob-ului meu (dacă se întâmplă să o descopere cumva).

(Ar putea părea prost): dacă continui cu această metodă și îmi numesc contul de stocare aleatoriu, de exemplu, folosește un GUID aleator redus. (https://6c4a89d5dba04b8fbe1ed7f.z23.web.core.windows.net/) Poate acest lucru să reducă posibilitatea ca cineva să-mi descopere adresa URL și să ocolească securitatea?

O altă metodă care Azure recomandă este de a verifica X-Azure-FDID antet care include ID-ul instanței mele Front Door și solicitările de eliminare care nu conțin acest antet. Mi-am întrebat dezvoltatorul dacă acest lucru este posibil pe aplicația web Vue și a spus că ar trebui să includem ID-ul ușii din față în codul care rulează pe partea clientului, expunând astfel ID-ul oricum public. (Acesta nu este Stack Overflow, dar dacă cineva poate sugera ceva despre asta, ar fi grozav)

Un alt mod pe care l-am găsit este să folosesc Azure Front Door Premium SKU care suporturi conectarea la contul de stocare folosind Private Link. Este perfect, dar costă 165 USD pe lună. Mai degrabă aș implementa codul meu pe App Service, deoarece poate restricționa în mod nativ accesul doar din Front Door.

Poate cineva să sugereze vreo metodă pentru a realiza acest lucru?

Mulțumiri.

Puncte:0
drapel ng

Verificarea antetului X-Azure-FDID, în combinație cu restricția IP, este singura modalitate de a bloca acest lucru în prezent, fără a merge pe ruta de legătură privată. Așa că ar trebui să obțineți codul aplicației pentru a valida acest lucru, având în vedere că nu aveți nimic altceva între FD și contul de stocare.

Deși acest lucru în codul dvs. din partea clientului ar expune ID-ul, nu contează cu adevărat. Restricțiile IP înseamnă că permiteți doar traficul din instanțele Front Door și nu există nicio modalitate ca un atacator să seteze acel ID pe o altă instanță FD.

BlackMiracle avatar
drapel in
Multumesc pentru raspuns. Sună legitim. Ați menționat: „avand în vedere că nu aveți nimic altceva între FD și contul de stocare”. Mai pot adăuga ceva pentru a realiza acest lucru fără a modifica codul? Doar curios
drapel ng
nu asta nu adauga cheltuieli semnificative. Ai putea să te uiți mai degrabă la gateway-ul de aplicații decât la Ușa din față, dar asta nu este ieftin, poți rula aplicația ta pe un serviciu de aplicații sau un cluster AKS și să adaugi servicii suplimentare acolo, dar din nou, adaugă costuri mai mari.
drapel in
Nu cred că puteți accesa antetele solicitărilor http în JavaScript partea clientului. Cred că numirea contului de stocare cu un nume greu de ghicit este cel mai bun pariu.
drapel in
Nu sunt sigur dacă Storage plănuiește să adauge o funcționalitate similară, dar fac parte din echipa Static Web Apps și lucrăm la sprijinirea exactă a acestui scenariu, inclusiv capacitatea de a bloca aplicația prin etichete de serviciu și de a restricționa acces la un antet specific x-azure-fdid. Acesta ar trebui să fie disponibil în următoarea lună sau două.
BlackMiracle avatar
drapel in
@AnthonyChu Wow, este o veste grozavă să auzi de la echipa de produs că se lucrează la această funcție. Ați putea spune cum ar ști clienții când este disponibil? Putem verifica pe pagina [Azure Update](https://azure.microsoft.com/en-us/updates/)?
drapel in
Da, ar trebui să avem un anunț de actualizare Azure în acest sens, deși ar putea spune ceva precum restricții de rețea și etichete de serviciu sau ceva de genul acesta. De asemenea, vreau să precizez că aceasta este pentru Azure Static Web Apps, care este un produs separat decât caracteristica de găzduire statică a site-ului web din Azure Storage. Cred că este perfect să rămâi pe Stocare și să folosești un nume de cont de neghicit. De obicei, nu este o mare problemă de securitate să faci asta. În principal, doriți să împiedicați Google să-l indexeze și chestii de genul ăsta.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.