Ikiwa umewahi kuandika programu ya usindikaji wa malipo ya kadi, sio kama kuunganisha PayPal, lakini kama kuwa PayPal. Data Security Standard (PCI DSS) ni kiwango cha usalama wa habari kwa mashirika ambayo inashughulikia kadi za mikopo kutoka mipango kuu ya kadi. ni kiwango cha usalama wa habari kwa mashirika ambayo inashughulikia kadi za mkopo za brand kutoka kwa mipango kuu ya kadi. - Standard ya Usalama wa Data ya Biashara ya Karatasi za Malipo (PCI DSS) Wikipedia ya Kwa maneno mengine, ni orodha kubwa ya kuangalia ambayo inasema: "Hei, ikiwa unataka kuhifadhi au kusindika fedha za watu, labda usiruhusu database yako iwe wazi kwa ulimwengu." Why Am I Even Writing This? Kwa nini mimi hata kuandika hii? Baada ya kufanya kazi kwenye programu inayokubaliana na PCI DSS, nilikuwa na mgogoro wa kuwepo na nikajiuliza, “Kwa nini apps zote hazihitaji kufuata taratibu za PCI DSS za usalama wa coding?” Imani yangu, PCI DSS sio ya kutisha kama inavyoonekana. Ufuatiliaji na faragha watu wana njia ya kufanya kila mchakato rahisi sauti kubwa kujisikia vizuri kuhusu wenyewe. Unataka kuwa na siku ya msisimko? Kusikiliza wao kuzungumza kuhusu PIA, DPIA, DSAR, au ROPA. Si kwa kufafanua mambo, ufuatiliaji unaweza kuwa na maumivu. Lakini ikiwa inasaidia kulinda data yako na kukuzuia kuishia kwenye "Nilikuwa nimefungwa". Tips kwa ajili ya kuhifadhi Kama wewe ni kujenga mfumo wa malipo au tu kujaribu kulala bora usiku, hapa ni baadhi ya njia rahisi ya kulinda coding ambayo itakuja karibu na PCI DSS ufuatiliaji. Subnets, NAT Gateways, and the Drama of Networking Ikiwa database ya programu yako iko kwenye subnet ya umma, nitahitaji kuacha kusoma na kurekebisha. Hakikisha unatumia mitandao ya chini ya kibinafsi kwa kitu chochote cha busara, kisha uelekeze trafiki yao kupitia NAT Gateway ili waweze kufikia mtandao (kwa patches, updates, memes, nk) bila kuwa moja kwa moja kupatikana. Kwa wapenzi wa "Matrix", ulimwengu wa Matrix ni subnet binafsi, ulimwengu halisi ni subnet ya umma, na simu salama ambayo Neo na marafiki wake hutumia kusafiri kati ya ulimwengu ni NAT Gateway. Mimi kabisa ni pamoja na yako kuchukua Jerry.Kwa kweli, mimi ni pamoja na yako kuchukua Jerry. Encrypt All the Things Umewahi kusikia haya kabla, utayasikia tena. Kuanzisha mlinzi juu ya msalaba. Kuanzisha mlinzi juu ya Transit Encrypt logs, backups, na hata variables mazingira kama wewe ni kujisikia ngumu. Kwa huduma za wingu, usimamizi wa encryption ni rahisi. Unahitaji tu kuwezesha. Na tafadhali, Base64 sio encryption. Ni kwa watu ambao wanasema uongo wenyewe. Unajua wewe ni nani. Bila shaka, ina matumizi yake, lakini usalama sio mmoja wao. Security Headers Vifaa vya usalama ni vichwa vya majibu ya HTTP ambavyo vinashauri kivinjari jinsi ya kushughulikia vipengele vya usalama vya tovuti. Wanasaidia kuzuia mashambulizi kama Cross-Site Scripting (XSS), clickjacking, na mashambulizi ya mtu katikati. Kwa hivyo angalau kuongeza: Usalama wa usafiri Chaguzi za X-Content-Type Sera ya Usalama wa Maudhui Chaguzi za X-Frame Wao ni rahisi kuanzisha katika mifumo nyingi na huduma za wingu. Fanya hivyo mara moja, na tayari uko bora kuliko wengi. Firewalls? Definitely Firewalls Weka maombi ya umma kwenye programu yako kupitia firewall. Ni kama kuweka bouncer mbele ya programu yako. Tofauti na siku za boomers, ambapo kuanzisha firewall ni kama kukusanya vifaa vyako kwa maelekezo kutoka Asgard. Unaweza kupata kazi, lakini kwa gharama gani? maombi ya leo hufanya mchakato huu rahisi sana. Bora ikiwa wewe ni kwenye wingu. Huduma za wingu kama AWS WAF na Azure Firewall tayari zinakuja na sheria zilizoandaliwa kwa ajili ya vitisho vya kawaida; unahitaji tu kuunganisha, na zinafanya kazi. Firewalls na juhudi ndogo itakusaidia kuzuia mifano inayojulikana ya mashambulizi, kufuta IP mbaya, na kuzuia kwamba mtu mmoja bado anajaribu SQL injection kutoka 2008. Access Control Programu yako si maktaba ya umma. Usiruhusu kila huduma kupata upatikanaji kamili wa kila kitu kwa sababu ni rahisi. Wewe si Oprah Winfrey: “You get admin! You get admin! Kila mtu anapata admin!” Hebu tufuate kanuni ya chini kabisa, ambayo inamaanisha kwamba kila mtumiaji anapata tu kile anachohitaji kabisa. Jaribu kurekebisha takwimu na vifungo mara kwa mara na kutumia majukumu juu ya vifungo vya static wakati inawezekana. hata huduma za wingu zinapendelea hili. Staging Is Not Production Mazingira yako ya uendeshaji yanapaswa kutafakari uzalishaji katika muundo, si katika siri. Mshambuliaji hawana wasiwasi wapi wanapata data kutoka. Usichukue siri za uzalishaji katika hatua. Utekelezaji wa ufuatiliaji na sheria za WAF pia hapa. Watumiaji wanapenda mazingira ya uendeshaji na wasiwasi wa chini. Nini mahali bora ya kujaribu script zao? Change Management PCI DSS inahitaji kuwa na taratibu za kufuatilia mabadiliko katika msimbo, miundombinu, na sera za usalama. Kwa maneno rahisi, kutumia Git, kutumia Infrastructure-as-code (Serverless Framework, Terraform, AWS CDK, nk), na kuanzisha tahadhari. Logging Saves Lives Logs ni muhimu. Unatarajia kuwa kamwe hawatahitaji, lakini ikiwa unahitaji, kwa kweli unahitaji. Kuhifadhi logs salama na kuu kwa kila kitu kinachohusika: Log ya maombi: Log makosa kutoka kwa maombi na habari nyingine muhimu ili kukusaidia kurekebisha. Logs ya upatikanaji: Log nani alifanya nini na wakati. Logs ya Database: Piga maombi ya polepole, mifano ya upatikanaji wa ajabu, na uvunjaji wa uwezekano. kumbukumbu za ukaguzi: kumbukumbu ya mabadiliko ya ruhusa, sheria za firewall, na utekelezaji wa msimbo. Zana kama AWS CloudTrail, GuardDuty, na Config zinaweza kukusaidia katika hili. Prefer ORMs Hii ni mstari wako wa kwanza wa ulinzi (na uadilifu). Kusahau SQL nyekundu isipokuwa wewe ni msaidizi wa database na matakwa ya kifo. Tumia ORM. Ndiyo, unaweza kuweka viwango vya SQL yako nyekundu na kuboresha usalama; hata hivyo, bado kuna uwezekano mkubwa kwamba baadaye wewe au mwenzake atasahau kuweka viwango vya query vizuri, na tu kama hiyo, unakula. ORMs kuzingatia maingiliano ya database yako, kufanya msimbo rahisi kudumisha na chini ya uwezekano wa mashambulizi ya kuingiza. Wengi wa ORMs za kisasa kutafakari maswali nje ya sanduku. Hiyo inamaanisha uwezekano mdogo wa kutokea kwa ajali wakati wa mchana wa usiku. DROP TABLE users; In Conclusion Kwa muhtasari Sasa, kwa kweli, ilikuwa kubwa sana? Ni orodha ndefu, lakini nina uhakika kwamba imejaa mambo ambayo tayari unayofanya. Ufuatiliaji ni mbaya, lakini pia ni ukiukwaji wa data. PCI DSS inaweza kujisikia kama orodha kubwa ya "Hakuna, huwezi" lakini ni tu kujaribu kuweka wewe na wateja wako salama. Katika majukwaa ya wingu kama AWS, Azure, na GCP, hakuna sababu ya kufuata mazoezi haya bora. Uwe salama. Uwe na utaratibu. Na kwa upendo wa kila kitu ambacho ni nzuri, usihifadhi namba za kadi zisizo za siri katika safu ya database inayoitwa . card_number