220 čitanja

Ako PCI-DSS usklađenost čini aplikacije sigurnijim, zašto to ne činimo svi?

po Victor Anuebunwa5m2025/05/30
Read on Terminal Reader

Predugo; Čitati

PCI DSS usklađenost nudi sigurnosne prednosti izvan plaćanja. Ovaj vodič razbija praktične, razvijenicima prilagođene sigurne savjete za kodiranje za bilo koju modernu aplikaciju.
featured image - Ako PCI-DSS usklađenost čini aplikacije sigurnijim, zašto to ne činimo svi?
Victor Anuebunwa HackerNoon profile picture

Ako ste ikada morali napisati aplikaciju za obradu kartičnih plaćanja, ne kao integraciju PayPal-a, već kao PayPal.

Payment Card Industry Data Security Standard (PCI DSS) je informacijski sigurnosni standard za organizacije koje se bave brandiranim kreditnim karticama iz velikih kartičkih shema.

Standard za sigurnost podataka iz industrije platnih kartica (PCI DSS)je standard informacijske sigurnosti za organizacije koje se bave brandiranim kreditnim karticama iz glavnih kartičkih shema.Wikipedija

Drugim riječima, to je ogromna kontrolna lista koja kaže: "Hej, ako ćete pohraniti ili obrađivati novac ljudi, možda ne ostavljajte svoju bazu podataka otvorenu svijetu."

Why Am I Even Writing This?

Zašto čak i ovo pišem?

Nakon što sam radio na PCI DSS-kompatibilnoj aplikaciji, imao sam malo egzistencijalne krize i pitao se: "Zašto sve aplikacije ne bi trebale slijediti prakse PCI DSS sigurnog kodiranja?"

Vjerujte mi, PCI DSS nije tako zastrašujuće kao što zvuči. Usklađenost i privatnost ljudi imaju način da svaki jednostavan proces zvuči ogromno da se osjećaju dobro o sebi. Želite imati stresan dan? Slušajte ih razgovarati o PIA, DPIA, DSAR, ili ROPA.

Da ne pretjerano pojednostavljujemo stvari, usklađenost može biti bolna. ali ako pomaže u zaštiti vaših podataka i sprečava vas da završite na "Bio sam prevaren".

Savjeti za osiguranje kodiranja

Ako gradite platni sustav ili samo pokušavate bolje spavati noću, ovdje su neki jednostavni načini za osiguranje kodiranja koji će vas približiti PCI DSS usklađenosti.

Subnets, NAT Gateways, and the Drama of Networking

Ako se baza podataka vaše aplikacije nalazi u javnoj podmreži, morat ću prestati čitati i popraviti to.

Pobrinite se da koristite privatne podmrežice za bilo što osjetljivo, a zatim usmjerite njihov promet kroz NAT Gateway kako bi mogli pristupiti internetu (za patchove, ažuriranja, memove itd.) bez izravnog izlaganja.

Za ljubitelje "Matrixa", svijet Matrixa je privatna podmreža, stvarni svijet je javna podmreža, a siguran telefon Neo i njegovi prijatelji koriste za putovanje između svjetova je NAT Gateway.

Volim tu referenciju, nadam se da ćete i vi to učiniti.

Encrypt All the Things

To ste već čuli, čuti ćete opet.

  • Kriptografija na odmoru.
  • Šifriranje u tranzitu.
  • Šifrirajte dnevnike, rezervne kopije, pa čak i promjenjive okoline ako se osjećate začinjeno.

Za usluge u oblaku, upravljanje šifriranjem je jednostavno.

I molim vas, Base64 nije šifriranje. To je za ljude koji lažu sebi. Znate tko ste. Naravno, ima svoje svrhe, ali sigurnost nije jedna od njih.

Security Headers

Sigurnosne glave su glave odgovora HTTP-a koje upućuju preglednik o tome kako upravljati sigurnosnim aspektima web-mjesta.Pomoću njih možete spriječiti napade kao što su Cross-Site Scripting (XSS), clickjacking i napadi čovjeka u sredini.

U najmanju ruku, dodajte:

  • Stroga prometna sigurnost
  • X-Content-Type opcije
  • Politika sigurnosti sadržaja
  • X-Frame opcije

Jednostavno ih je konfigurirati u većini okvira i usluga u oblaku.

Firewalls? Definitely Firewalls

Usmjerite javne zahtjeve na vašu aplikaciju kroz požarni zid. To je kao da stavite otpornik ispred vaše aplikacije.

Za razliku od dana boomera, gdje je konfiguriranje požarnog zida kao montaža vašeg namještaja s uputama iz Asgarda. Možete ga dobiti da radi, ali po kojoj cijeni? današnje aplikacije čine ovaj proces mnogo lakšim.

Cloud usluge kao što su AWS WAF i Azure Firewall već dolaze s unaprijed konfiguriranim pravilima za uobičajene prijetnje; samo ih morate uključiti i počinju raditi.

Vatrozidi s minimalnim naporom pomoći će vam da zaustavite poznate obrasce napada, filtrirate loše IP-ove i blokirate da jedan tip još uvijek pokušava SQL injekciju od 2008. godine.

Access Control

Vaša aplikacija nije javna knjižnica. Ne dajte svakoj usluzi puni pristup svemu samo zato što je lakše. Vi niste Oprah Winfrey: “You get admin!

Slijedite "Princip najmanje privilegija", što znači da svaki korisnik dobiva samo ono što mu je apsolutno potrebno.

Pokušajte redovito rotirati povjerljivosti i ključeve i koristiti uloge nad statičkim ključima kad god je to moguće.

Staging Is Not Production

Vaše scensko okruženje treba odražavati proizvodnju u strukturi, a ne u tajnosti.

  • Napadači ne brinu odakle dobivaju podatke.
  • Nemojte kopirati tajne proizvodnje u pozornicu.
  • Ovdje također provodite praćenje i WAF pravila.

Hakeri vole stvaranje okruženja s manje alarma.

Change Management

PCI DSS zahtijeva da imate postupke za praćenje promjena u kodu, infrastrukturi i sigurnosnim pravilima.

Jednostavnim riječima, koristite Git, koristite Infrastructure-as-code (Serverless Framework, Terraform, AWS CDK, itd.) i postavite alarme.

Logging Saves Lives

Logovi su ključni. Nadate se da ih nikada nećete trebati, ali ako to učinite, zaista ih trebate.

  • Logovi aplikacija: Logovi pogrešaka iz aplikacija i drugih važnih informacija kako bi vam pomogli debugirati.
  • Logovi pristupa: Log tko je učinio što i kada.
  • Dnevnici baze podataka: uhvatite spore upite, čudne obrasce pristupa i potencijalne povrede.
  • Logovi revizije: Logovi promjena dozvola, pravila požarnog zida i implementacija koda. alatima kao što su AWS CloudTrail, GuardDuty i Config možete pomoći u tome.

Prefer ORMs

Ovo je vaša prva linija obrane (i zdravlja). Zaboravite na sirovi SQL, osim ako ste čarobnjak za baze podataka s željom smrti. Koristite ORM. Da, možete parametrirati svoj sirovi SQL i poboljšati sigurnost; međutim, još uvijek postoji velika šansa da ćete vi ili vaš kolega zaboraviti parametrirati upit na odgovarajući način, i baš kao i to, vi ste kuhani.

ORM-ovi abstraktno analiziraju interakcije vaše baze podataka, čineći kod lakšim za održavanje i manje podložnim injekcijskim napadima.DROP TABLE users;Tijekom noćnog angažmana.

In Conclusion

U zaključku

Sada, ozbiljno, bilo je to tako duboko?To je duga lista, ali siguran sam da je puna stvari koje već radite.Samo nekoliko prilagodbi ovdje i tamo, a vi ste u skladu!

Usklađenost je uznemirujuća, ali također je povreda podataka. PCI DSS može se osjećati kao ogroman popis "Ne, ne možete", ali samo pokušava zadržati vas i vaše klijente na sigurnom.Na cloud platformama poput AWS-a, Azure-a i GCP-a, nema izgovora da ne slijedite ove najbolje prakse.

Ostanite sigurni. Ostanite u skladu. I zbog ljubavi prema svemu što je dobro, nemojte pohranjivati nešifrirane brojeve kartica u koloni baze podataka pod nazivomcard_number.

Trending Topics

blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks