Am o dilema relativ la securitatea prin obscuritate versus securitate reala, daca are cineva o idee mai buna asta e descrierea cazului:
- se da un server de web care serveste niste fisiere stocate intr-o structura gen /NrProiect/Folder/Fisier
- se da un site collection in SharePoint care are zeci de mii de sites, fiecare pentru cate un proiect
- se dau niste utilizatori care au acces la fiecare site=proiect pe baza securitatii din SharePoint la nivel de site
- in site in loc de Project Library (documente locale in SharePoint in baza de date, scalabilitate si performanta câh++) utilizatorii vad lista de fisiere a proiectului, eventual sortata pe foldere (varianta simplista)
- daca un utilizator copiaza un link catre un fisier (de genul
http://web-server/NrProiect/Folder/Fisier) si il da altcuiva, linkul va functiona.
In acest moment e securitate prin obscuritate pentru ca utilizatorii nu stiu calea exacta la fiecare fisier si nici nu sunt interesati. Securitatea nu e extrem de importanta (99% sunt date interne, daca un alt utilizator citeste ce nu ii e destinat e doar plictisit), dar nu inseamna ca 1% e un risc acceptabil si ca e un design prea bun.
- e nepractic sa se puna drepturi de acces la nivel de folder pentru ca sunt zeci de mii de foldere (care vor urca la sute de mii) in orice combinatie cu vreo 2000 de utilizatori
- exista posibilitatea ca in SharePoint sa se puna un link care sa faca intai autentificare si apoi redirectare catre serverul de web, dar nu stiu daca e fiabil (daca utilizatorul va putea vedea linkul real in Download history, de exemplu)
- exista posibilitatea ca in SharePoint un webpart sa ia fisierul de pe web server si sa il serveasca utilizatorului, dar cu penalitati de performanta mari; un fisier poate avea si 1-2 MB, dar si 100 MB
- exista posibilitatea ca din SharePoint sa genereze un link temporar gen /GUID-Fisier si printr-un mecanism de comunicatie sa spuna web serverului sa faca o copie fisierului cu acest nume si sa o stearga dupa X minute, dar nu stiu daca nu se poate face si mai simplu si mai sigur decat atat (in cele X minute linkul va fi valid pentru oricine)
- se poate face obscuritate si mai mare, gen inlocuit numele fisierului cu ceva gen /NrProiect/Folder/GUID, dar acel link va fi accesibil si de catre altii (sau obscuritate generala, gen /GUID1/GUID2/GUID3, dar are fix aceeasi problema)
De unde porneste toata problema: daca toate fisierele astea se tin in SharePoint Document Library moare baza de date (limita recomandata: 100 GB, practic performanta incepe sa se duca naibii si mai devreme, iar volumul de date proiectat e vreo 500 GB, deci clar moare) si apoi stocarea intr-o baza de date e de zeci de ori mai scumpa decat stocarea pe un server de web.
Alte idei?