Well...det står mere eller mindre direkte i PCI DSS beskrivelsen, men jeg kan da prøve at oversætte lidt :-)
1. Install and maintain a firewall configuration to protect cardholder dataÅbenlyst skal dit netværk beskyttes med firewall. Men faktisk bør man bruge flere zoner. DMZ zonen er den, som indeholder din web server. Den modtager kreditkort oplysningerne og gemmer dem midlertidigt krypteret i en database i DMZ'en. En anden maskine, som står i en zone, som ikke kan nåes fra DMZ, kan så en gang i minuttet eller lignende hente de gemte data og slette dem fra databasen i DMZ'en og gemme dem i den sikre zone.
2. Do not use vendor-supplied defaults for system passwords and other security parametersOperativ systemer og anden software skal konfigureres med henblik på sikkerhed efter installation. Default passwords skal skiftes til noget sikkert. Ubrugte services skal lukkes...oooog så videre. Læs om "hardening" på nettet.
3. Protect stored cardholder dataKryptografi og firewall!
En fornuftig algoritme skal bruges, f.eks. AES, som der også kan findes API'er for til de fleste programmerings sprog (f.eks. den her til PHP:
http://www.phpaes.com/).Herunder er også at ikke al database tilgang bør ske med samme privilegier. F.eks. har den databasebruger, som udfører produkt søgninger ikke behov for også at kunne søge i kreditkort tabellen. Privilegier skal minimeres.
4. Encrypt transmission of cardholder data across open, public networksKrypteret transport med f.eks. https og et ikke selv-signed certificate.
5. Use and regularly update anti-virus software on all systems commonly affected by malwareBåde på servere og på klienter, som har adgang til kreditkort dataene.
6. Develop and maintain secure systems and applicationsUdviklerne skal kende til sikker programmering og typiske sikkerheds problematikker. Læs på OWASP's side:
http://www.owasp.org7. Restrict access to cardholder data by business need-to-knowIkke alle i dit firma (eller hvad du nu kalder det :-) ) har samme behov for adgang til kreditkort data, og derfor skal ikke alle kunne tilgå servere/databaser, som indeholder kreditkort data.
8. Assign a unique ID to each person with computer accessAlle som har adgang til dine servere skal kunne genkendes, spores og begrænses. Alle skal ikke have root adgang og man skal ikke dele en user account. Én user account pr. bruger.
9. Restrict physical access to cardholder dataLås på server rummet og kun relevant personel skal have en nøgle.
10. Track and monitor all access to network resources and cardholder dataLogging.
11. Regularly test security systems and processesMan kan selv udføre tests af éns software, men den her er faktisk fortolket som at et uvildigt firma én gang om året skal teste og godkende din software og dine processer.
Men det skader selvfølgelig ikke, at man også selv gør det med jævne mellemrum.
12. Maintain a policy that addresses information securityDu skal kunne fremvise en nedskrevet politik som omhandler dine sikkerheds procedurer. Både ang. hvem som har hvilken adgang til data, hvordan software udvikles, hvordan software testes, hvordan data sikres og hvad der skal ske, hvis/når du bliver hacket.
Som sagt, tunge tunge sager :-)
Jeg vil anbefale at undgå det hele ved at lade Paypal eller PBS klare ærterne.