Sikkerhed i webapplikation/website

Tags:    sikkerhed

Hej
Jeg har haft en diskussion med en række af mine medstuderende om hvor vidt sikkerhedsbrister på et website altid vil være relateret til serveren eller om en webapplikation i sig selv kan give adgang til filerne på et website.
Min teori er at når datacenterets firewall, samt serverens indbyggede firewall kun tillader indgående trafik på port 80 og 443 med hendholdsvis HTTP og HTTPS og serveren har en WAF såsom ModSecurity og de normale sikkerhedsting, såsom et eller flere sikkerhedsprodukter der beskytter serveren mod virus, spyware, malware, rootkits mv., så vil størstedelen af de succesfulde angreb/sikkerhedsbrister på et website være relateret til usikker eller ikke-opdateret programkode til enten websites kerne eller moduler/plugins.

Enkelte af mine medstuderende mener dog at uanset situationen, så vil en sikkerhedsbrist på et website altid skyldes serveren, da dennes sikkerhed simpelthen ikke er høj nok.

Hvad mener I? Er det altid enten den ene eller den andens skyld, eller vil det være en mere delt sag, i forhold til at en server med samtlige frigivne sikkerhedspatches installeret, og et website på denne server udsættes for et angreb?



Det afhænger af super mange ting. Det med at altid give serveren skylden er simpelthen at fralægge et ansvar som udvikler. En given server kan køre med alt software/patches mv. i den nyeste version, men fordi man som udvikler har lavet en "bøf" kan man måske komme ud i en situation, hvor ens website får injectet malware ind på sitet og smitter de besøgende f.eks. via crosssite scripting (XSS).

Desuden selvom en server er fuld patchet, men at man sætter serveren forkert op så websitet kører som administrator (FY!), så vil jeg igen ikke mene man skal blame serveren, men nærmere ham der har sat den op. Det kan godt være at server opsætningen i det her tilfælde ville have forhindret tampering med filer, men nok ikke XSS.





Tror ikke der er noget så sort og hvidt. Sikkerhed er ikke en binær størrelse man kan tildele fuldt ud til enten undersystem A, undersystem B, eller udvikleren.

Men her er et bud på et eksempel, hvor jeg vil mene at det er webapplikationen der er bristen. Eksemplet er måske lidt tamt/trivielt, men det var dem som brugte ordet "altid":

Tag, f.eks. sundhedsvæsen, SKAT, forsikringselvskab eller andet. Pga. af en fejl i webapplikationen er en anden brugers information blevet leaket. Du kan nu logge ind og med den persons credentials og se personlige oplysninger, f.ek.s i form af pdf-dokumenter.

Det vil jeg kalde en sikkerhedsbrist fordi personen har fået adgang til en fil han ikke burde.

Er det serverens skyld? Kan forestille mig en typisk opstilling på et linux system hvor serverprogrammet (f.eks. apache) kører under sin egen operativsystems-bruger. Fordi den rigtige (web-)bruger kan logge på og skal bruge sin pdf fil, er serverprogrammet nød til at have rettighederne, som gør at både den rigtige og den forkerte bruger kan se filen.

Men sikkerhed er ikke noget man kan dele op på den måde. I en node.js opsætning: hvor slutter serveren og begynder webapplikationen? HTTP (og HTTPS) protokollen, snakker om request, responses, resurser, adresser (URI, URL), og ikke om filer overhovedet (ud over eksempler på mulig implementation af en server).



Indlæg senest redigeret d. 09.01.2015 19:47 af Bruger #14645
t