Hvordan er sikkerheden ved brug at de populære betalings gateways?

Når vi som Prestashop ejere skal modtage betalinger, så foregår det ofte igennem Epay som er en af de mest populære betalings gateways på markedet, men hvordan er sikkerheden og kan huller være selvforskyldte? Artiklens formål er ikke at hænge Epay ud, men at øge fokus på den manglende sikkerhed i mange shops.

Hvor er der huller?
Man kan dele sikkerheden op i 2 kategorier. Først så er der er betalingshåndteringen, altså der hvor kunderne betaler, og det efterfølgende kald fra Epay til shoppen. Og til sidst er der den anden del som er efter købet, altså der hvor man håndtere betalingerne. Jeg vil godt lige understrege at det ikke er alle shop der er udsatte på den måde, og du kan læse længere nede om du er på sikker grund.

API-adgang
API adgangen til Epay er den opkobling der bruges til at hæve, slette eller refundere betalinger. API adgangen er låst til en selvvalgt IP adresse.

Det skal være den IP adresse som din hjemmeside kører fra, det er altså typisk på en delt server på et webhotel. På det webhotel har en udefra kommende måske mulighed for at få sit eget webhotel, det kan fx. ske ved at rette henvendelse til hosting udbyderen og bede om et webhotel specifikt på den server.

Når først man er på plads på serveren så kræver det lidt kode indsigt at kunne annullere betalinger eller refundere penge for butikken, men det er bestemt muligt. Hvis du vil vide hvordan du sikre dig, så læs resten af artiklen 🙂

Validering af ordre
Ved validering af ordre er der mulighed for at alle, som har bare en lille smule kode indsigt kan lave en ordre i prestashop, som ser ud til at være betalt med et kort. Det er den bare ikke.

Valideringen af en ordre sker ved at Epay kalder en URL hos butikken, den kan alle principielt forsøge at kalde, og alle de parameter der skal bruge kan man finde i html koden undervejs i et checkud flow, med andre ord så kan enhver en udgive sig for at være Epay serveren og kalde URL’en i butikken.

Hvor ligger fejlen?
Fejlen ligger i MD5 krypteringen eller retter i at den ikke altid er slået til. Epay setup’et har ikke krypteringen slået til som standard, og mange ved måske ikke hvad det betyder når de selv sidder og slås med Epay setup.

Faktisk er det ikke kun når amatøren selv sidder der hjemme og kæmper med det, jeg har i min tid set utallige shop hvor md5 beregningen ikke er slået til, hvor jeg med sikkerhed kan sige at der har været en eller flere “kendte” Prestashop udviklere indover løsningen, jeg kan dog ikke med sikkerhed sige at de har rodet med de indstillinger, men det er da nærliggende.

Mulighederne for at kunne gribe det hele an på den her måde er fordi Epay modulerne ligger frit tilgængeligt hos epay, enhver kan altså download modulet og kigge i koderne for at “læse” hvordan håndteringen sker

Hvad skal jeg gøre
Det er faktisk meget simpelt, man skal en tur forbi Epay manageren, og finde indstillinger -> betalingssystemet. Her aktivere man så md5 krypteringen, og skriver sin meget lange og uopfindsomme kode – det er altså en man selv skal finde på. (Klik på billederne for at se dem i stor størrelse)

Bagefter hopper man over i Prestashop, og går til konfigurationen af epay modulet. Her indsætte man så den md5 kode man har lavet i epay manageren og aktivere det i Prestashoppen.

I Epays favør så siger de at deres nyeste moduler kører med MD5 kryptering som standard, men fra hvilken version ved jeg ikke. Uanset set så kan du altid sikre dig ved at gøre som beskrevet.

Er der også et problem med Quickpay
Nej Quickpay går fri her fordi man ikke kan hverken gennemfører betalinger eller hæve / refundere penge uden at have MD5 slået til. Det er altså standard hos Quickpay med MD5 kryptering.

Hvad er MD5?
Det vil jeg egentlig bare lade wikipedia forklare, for det gør de bedre end jeg nogen sinde kan slippe afsted med det: http://da.wikipedia.org/wiki/MD5

Konklusionen er i øvrigt at det 100% er webshop ejernes eget ansvar at sikre sig, og at det på ingen måder kan skade andre end webshoppen selv.

Skriv et svar