ការអនុវត្តល្អបំផុតសម្រាប់សុវត្ថិភាព API

ការអនុវត្តល្អបំផុតសម្រាប់សុវត្ថិភាព API៖ បញ្ជីត្រួតពិនិត្យរបស់អ្នកអភិវឌ្ឍន៍

TL; កុង

ការបំពាន API ភាគច្រើនតាមដានទៅរកការអនុញ្ញាតដែលខូច មិនមែនការកេងប្រវ័ញ្ចកម្រនិងអសកម្មនោះទេ។ ក្នុងចំណោមប្រភេទកំពូលទាំង 10 នៃសុវត្ថិភាព OWASP API ចំនួនបីគឺការបរាជ័យក្នុងការអនុញ្ញាត ដែលដឹកនាំដោយ បូឡា.

អ្នកមិនអាចធានាអ្វីដែលអ្នកមិនដឹងថាមាននោះទេ។ ការគ្រប់គ្រងសារពើភ័ណ្ឌមិនត្រឹមត្រូវ គឺជាប្រភេទហានិភ័យ OWASP ដែលមានឈ្មោះថារបស់វា ហើយវាជាមូលដ្ឋានគ្រឹះដែលការគ្រប់គ្រងផ្សេងទៀតទាំងអស់ពឹងផ្អែកលើ។

ចាប់​យក​ការ​ប៉ះពាល់​មុន​ពេល​ដាក់​ពង្រាយ មិនមែន​ក្រោយ​ពេល​ដាក់​ពង្រាយ​ទេ។ ការវិភាគឋិតិវន្តនៃកូដ និងលក្ខណៈបច្ចេកទេស API រកឃើញចំណុចបញ្ចប់ដែលខូចនៅក្នុង pull request, សម្រាប់តម្លៃមួយ commit; ការធ្វើតេស្តពេលដំណើរការរកឃើញបញ្ហាដូចគ្នានេះផ្ទាល់ ដោយគិតជាថ្លៃដើមនៃឧប្បត្តិហេតុមួយ។

នេះ​ជា​បញ្ជី​ត្រួតពិនិត្យ​ដើម្បី​ដំណើរការ​ជាបន្តបន្ទាប់។ លើរាល់ pull requestមិនមែនជាការវាយតម្លៃមុនពេលចេញលក់ទេ៖ 10 ការអនុវត្តចាប់ពីសារពើភ័ណ្ឌ និងការអនុញ្ញាត រហូតដល់ការកំណត់អត្រា ការបង្ហាញទិន្នន័យឆ្លើយតប និងការជឿទុកចិត្តពីភាគីទីបី។

ផ្ទៃវាយប្រហារ API របស់អ្នកកើនឡើងជាមួយរាល់ពេល pull requestក្រុមភាគច្រើនរកឃើញថាចំណុចបញ្ចប់មួយត្រូវបានបង្ហាញនៅពេលដែលវាដំណើរការ និងទទួលយកចរាចរណ៍ ដែលមានន័យថាការជួសជុលនឹងត្រូវចំណាយអស់មួយ commit កំពុងពិនិត្យឡើងវិញឥឡូវនេះចំណាយលើរបាយការណ៍ឧប្បត្តិហេតុ។ ការណែនាំនេះដើរឆ្លងកាត់ការអនុវត្តល្អបំផុតនៃសុវត្ថិភាព API ដែលពិតជាមាននៅក្នុងផលិតកម្ម ដែលរៀបចំជាបញ្ជីត្រួតពិនិត្យដែលអ្នកអាចដំណើរការប្រឆាំងនឹងមូលដ្ឋានកូដផ្ទាល់ខ្លួនរបស់អ្នកនៅថ្ងៃនេះ មិនមែនជាបញ្ជីនៃគោលការណ៍អរូបីដែលគ្មាននរណាម្នាក់អនុវត្តនោះទេ។

ហេតុអ្វីបានជាការអនុវត្តល្អបំផុតសម្រាប់សុវត្ថិភាព API មើលទៅខុសគ្នាឥឡូវនេះ

API ធ្លាប់ជាជាលិកាភ្ជាប់រវាងប្រព័ន្ធនានា។ ឥឡូវនេះ ពួកវាជាចំណុចប្រទាក់ចម្បងសម្រាប់ស្ទើរតែគ្រប់យ៉ាង៖ កម្មវិធីទូរស័ព្ទ ការរួមបញ្ចូលដៃគូ ភ្នាក់ងារ AI សេវាកម្មខ្នាតតូចផ្ទៃក្នុង។ ការផ្លាស់ប្តូរនោះបានផ្លាស់ប្តូរអ្វីដែលការអនុវត្តល្អបំផុតនៃការការពារ API ត្រូវគ្របដណ្តប់។ វាលែងគ្រប់គ្រាន់ដើម្បីធានាសុវត្ថិភាព API ដែលអ្នកបានសរសេរជាឯកសារទៀតហើយ។ អ្នកត្រូវតែរាប់បញ្ចូល API ដែលក្រុមរបស់អ្នកបានបង្កើត ហើយភ្លេចសរសេរចុះ។

លេខពីរពន្យល់ពីមូលហេតុដែលរឿងនេះសំខាន់។ OWASP API Security Top 10 ដាក់បញ្ហាការអនុញ្ញាតដែលខូចនៅក្នុងប្រភេទកំពូលទាំងប្រាំរបស់ខ្លួនចំនួនបី មានន័យថាឧប្បត្តិហេតុ API ភាគច្រើនក្នុងពិភពពិតតាមដានត្រឡប់ទៅគំរូមួយចំនួនដែលអាចការពារបាន មិនមែនជាថ្ងៃសូន្យកម្រនិងអសកម្មនោះទេ។ ហើយការគ្រប់គ្រងសារពើភ័ណ្ឌមិនត្រឹមត្រូវស្ថិតនៅក្នុងបញ្ជីដូចគ្នានឹងប្រភេទហានិភ័យដែលមានឈ្មោះរបស់វាផ្ទាល់៖ ក្រុមត្រូវបានរំលោភបំពានតាមរយៈ API ដែលពួកគេមិនដឹងថានៅតែដំណើរការ។

នោះជាប្រធានបទដែលរៀបរាប់អំពីរាល់ធាតុខាងក្រោម។ ការអនុវត្តល្អបំផុតនៃការគ្រប់គ្រង API ល្អចាប់ផ្តើមដោយការដឹងពីអ្វីដែលអ្នកមាន មិនមែនគ្រាន់តែការពារអ្វីដែលអ្នកចងចាំដើម្បីកត់ត្រានោះទេ។

សង្ខេបអំពីការអនុវត្តល្អបំផុតនៃសុវត្ថិភាព API

មុន​នឹង​បញ្ជី​ត្រួតពិនិត្យ​លម្អិត នេះ​ជា​សេចក្ដី​សង្ខេប៖ អ្វី​ដែល​ត្រូវ​អនុវត្ត អ្វីដែល​វា​ពិតជា​ការពារ​ប្រឆាំង និង​ភាពបន្ទាន់​ប៉ុណ្ណា។

អនុវត្តអ្វីដែលវាការពារប្រឆាំងនឹងអាទិភាព
ការអ៊ិនគ្រីប HTTPS/TLSការស្ទាក់ចាប់ទិន្នន័យ ការវាយប្រហារដោយមនុស្សនៅកណ្តាលត្រូវការ
ការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវ (OAuth 2.0, JWT)ការចូលប្រើប្រាស់ដោយគ្មានការអនុញ្ញាត ការក្លែងបន្លំអត្តសញ្ញាណត្រូវការ
ការអនុញ្ញាត និងការគ្រប់គ្រងការចូលប្រើការកើនឡើងសិទ្ធិ, ការលេចធ្លាយទិន្នន័យត្រូវការ
ការផ្ទៀងផ្ទាត់ការបញ្ចូលការវាយប្រហារដោយការចាក់ សំណើដែលមានទម្រង់មិនត្រឹមត្រូវត្រូវការ
បំពេញ​សារពើភ័ណ្ឌ APIចំណុចបញ្ចប់ដែលមិនមានឯកសារ និងលែងប្រើ ត្រូវបានលាតត្រដាងត្រូវការ
ការកំណត់អត្រាការវាយប្រហារដោយកម្លាំងព្រៃផ្សៃ, DDoS, ការរំលោភបំពានខ្ពស់
ការគ្រប់គ្រងសោ APIការលួចព័ត៌មានសម្ងាត់ ការប្រើប្រាស់ដោយគ្មានការអនុញ្ញាតខ្ពស់
ការកាប់ឈើនិងត្រួតពិនិត្យការរំលោភបំពានដែលមិនទាន់រកឃើញ ការឆ្លើយតបយឺតចំពោះឧប្បត្តិហេតុខ្ពស់
ការវិភាគឋិតិវន្តមុនពេលដាក់ពង្រាយការប៉ះពាល់ត្រូវបានដឹកជញ្ជូនទៅផលិតកម្មមុនពេលនរណាម្នាក់ពិនិត្យមើលវាខ្ពស់
ការធ្វើតេស្តសុវត្ថិភាព (SAST + ឌីអេសធី)ភាពងាយរងគ្រោះដែលមិនស្គាល់, ការតំរែតំរង់ខ្ពស់

ចាត់ទុកជួរ "តម្រូវឲ្យមាន" ជាបន្ទាត់គោលដែលមិនអាចចរចាបានសម្រាប់ API ណាមួយ ទាំងផ្ទៃក្នុង ឬសាធារណៈ។ ធាតុអាទិភាព "ខ្ពស់" គឺជាអ្វីដែលបំបែកកម្មវិធីដែលចាប់បញ្ហានៅក្នុង pull request ពី​របាយការណ៍​មួយ​ដែល​បាន​រក​ឃើញ​នៅ​ក្នុង​របាយការណ៍​ឧប្បត្តិហេតុ។

បញ្ជីត្រួតពិនិត្យការអនុវត្តល្អបំផុតនៃសុវត្ថិភាព API

១. បង្កើតសារពើភ័ណ្ឌពេញលេញមុនពេលអ្នកបង្កើតការការពារ

អ្នកមិនអាចការពារចំណុចបញ្ចប់ដែលអ្នកមិនដឹងថាមាននោះទេ។ ចាប់ផ្តើមកិច្ចខិតខំប្រឹងប្រែងអនុវត្តល្អបំផុតនៃការការពារ API នីមួយៗជាមួយនឹងសារពើភ័ណ្ឌពិតប្រាកដ៖ ចំណុចបញ្ចប់នីមួយៗ វិធីសាស្ត្ររបស់វា ផ្លូវរបស់វា សេវាកម្ម និងម៉ូឌុលដែលវាជាកម្មសិទ្ធិ និងថាតើវាតម្រូវឱ្យមានការផ្ទៀងផ្ទាត់ឬអត់។ ទាញយកវាពីកូដប្រភព និងពីលក្ខណៈបច្ចេកទេស API របស់អ្នក (OpenAPI, Swagger) ជាមួយគ្នា មិនមែនមកពីឯកសារតែមួយមុខទេ ពីព្រោះគម្លាតរវាងចំណុចទាំងពីរគឺជាកន្លែងដែលចំណុចបញ្ចប់ដែលត្រូវបានបំភ្លេចចោល និងកំព្រាលាក់ខ្លួន។

កន្លែងដែល Xygeni សមនឹង៖ សុវត្ថិភាព API របស់ Xygeni បង្កើតសារពើភ័ណ្ឌនេះដោយផ្ទាល់ពីកូដប្រភពកម្មវិធី និងលក្ខណៈបច្ចេកទេស API របស់អ្នក ដោយបង្ហាញចំណុចបញ្ចប់ដែលក្រុមរបស់អ្នកបានកត់ត្រា និងចំណុចដែលគ្មាននរណាម្នាក់បានធ្វើ មុនពេលដែលចំណុចណាមួយឈានដល់ការផលិត។

2. អនុវត្តការអនុញ្ញាតនៅកម្រិតវត្ថុ និងមុខងារ

ការអនុញ្ញាតកម្រិតវត្ថុ និងកម្រិតមុខងារដែលខូចតែងតែស្ថិតនៅលំដាប់កំពូលទាំង ១០ នៃសុវត្ថិភាព OWASP API។ ការអនុវត្តល្អបំផុតមិនមែនជា "បន្ថែមការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវ" ទេ វាគឺជាការត្រួតពិនិត្យលើរាល់សំណើ ថាតើ អ្នកប្រើប្រាស់ជាក់លាក់នេះ ត្រូវបានអនុញ្ញាតឱ្យចូលប្រើប្រាស់ វត្ថុជាក់លាក់នេះមិនមែនគ្រាន់តែថាតើពួកគេបានចូលឬអត់នោះទេ។ ការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវឆ្លើយថាអ្នកណាជានរណា។ ការអនុញ្ញាតឆ្លើយថាពួកគេត្រូវបានអនុញ្ញាតឱ្យប៉ះ ហើយវាត្រូវការត្រួតពិនិត្យរាល់ពេល មិនមែនសន្មត់ពីសញ្ញាសម្ងាត់ដែលមានសុពលភាពនោះទេ។

៣. ផ្ទៀងផ្ទាត់ និង​ធ្វើ​ឲ្យ​មាន​អនាម័យ​អ្វីៗ​គ្រប់យ៉ាង​ដែល API ទទួល​បាន

រាល់ប៉ារ៉ាម៉ែត្រ បឋមកថា និងតួអត្ថបទទាំងអស់ គឺជាការបញ្ចូលដែលមិនគួរឱ្យទុកចិត្ត រហូតដល់មានការបញ្ជាក់ផ្សេងពីនេះ។ អនុវត្តការផ្ទៀងផ្ទាត់គ្រោងការណ៍យ៉ាងតឹងរ៉ឹង បដិសេធវាលដែលមិននឹកស្មានដល់ (នេះជាការការពាររបស់អ្នកប្រឆាំងនឹងការចាត់តាំងដ៏ធំ) ហើយកុំទុកចិត្តទិន្នន័យដែលផ្គត់ផ្គង់ដោយអតិថិជន ដើម្បីកំណត់វិសាលភាពចូលប្រើ ឬតក្កវិជ្ជាកំណត់តម្លៃ។

៤. ការកំណត់អត្រា និងការបន្ថយល្បឿនតាមការរចនា មិនមែនជាការគិតទុកជាមុននោះទេ

ការប្រើប្រាស់ធនធានដែលគ្មានដែនកំណត់អនុញ្ញាតឱ្យអតិថិជនតែមួយប្រើប្រាស់ហេដ្ឋារចនាសម្ព័ន្ធរបស់អ្នកអស់ ឬចំណាយលើសេវាកម្ម backend បង់ប្រាក់តាមការប្រើប្រាស់។ កំណត់ដែនកំណត់ក្នុងមួយចំណុចបញ្ចប់ ក្នុងមួយអ្នកប្រើប្រាស់ និងក្នុងមួយ API key ហើយត្រូវប្រាកដថាដែនកំណត់មានមាត្រដ្ឋានជាមួយនឹងការចំណាយជាក់ស្តែងនៃប្រតិបត្តិការ មិនមែនចំនួនថេរដែលអនុវត្តនៅគ្រប់ទីកន្លែងនោះទេ។

៥. ចាត់ទុករាល់ការឆ្លើយតបទាំងអស់ថាជាការលេចធ្លាយទិន្នន័យដែលអាចកើតមាន

ការលាតត្រដាងទិន្នន័យហួសប្រមាណកើតឡើងនៅពេលដែល API ប្រគល់ទិន្នន័យច្រើនជាងតម្រូវការរបស់អតិថិជន ហើយពឹងផ្អែកលើផ្នែកខាងមុខដើម្បីច្រោះវា។ នោះជាទម្លាប់ មិនមែនជាកំហុសដ៏កម្រនោះទេ ហើយវាគឺជាការរំលោភបំពានការអនុវត្តល្អបំផុតមួយក្នុងចំណោមការរំលោភបំពានទូទៅបំផុតនៃការការពារ API ពីព្រោះវាមើលមិនឃើញរហូតដល់នរណាម្នាក់ត្រួតពិនិត្យការឆ្លើយតបឆៅជំនួសឱ្យ UI ដែលបានបង្ហាញ។

កន្លែងដែល Xygeni សមនឹង៖ សុវត្ថិភាព API របស់ Xygeni សម្គាល់ការប៉ះពាល់នឹង PII ដោយផ្ទាល់នៅក្នុងការឆ្លើយតបរបស់ API ដោយចាប់យកការចែករំលែកលើសកម្រិតមុនពេលវាដឹកជញ្ជូនជាជាងបន្ទាប់ពីអតិថិជន ឬនិយតករជូនដំណឹង។

៦. រក្សា​សារពើភ័ណ្ឌ API ដែល​ត្រឹមត្រូវ និង​ទាន់សម័យ រួមទាំង​សារពើភ័ណ្ឌ​ដែល​លែង​ប្រើ​ទៀត​ផង។

មិនត្រឹមត្រូវ សារពើភ័ណ្ឌ management គឺជាប្រភេទដែលមានឈ្មោះផ្ទាល់ខ្លួននៅក្នុងបញ្ជី OWASP ដោយសារហេតុផលមួយ៖ កំណែ API ដែលលែងប្រើ និងបរិស្ថាន staging ដែលមិនមានឯកសារ ជារឿយៗនៅតែអាចចូលប្រើបាន ហើយជារឿយៗនៅតែងាយរងគ្រោះ យូរបន្ទាប់ពីនរណាម្នាក់ចងចាំថាវាមាន។ កម្មវិធីអនុវត្តល្អបំផុតនៃការគ្រប់គ្រង API ត្រូវតែរួមបញ្ចូលការបញ្ឈប់ការប្រើប្រាស់ មិនមែនគ្រាន់តែការរកឃើញនោះទេ។

៧. ពិនិត្យមើលអ្វីដែល API របស់អ្នកទុកចិត្តពីភាគីទីបី

ការប្រើប្រាស់ API ភាគីទីបីដែលមិនមានសុវត្ថិភាពគឺជាហានិភ័យដែលមើលស្រាល។ អ្នកអភិវឌ្ឍន៍មានទំនោរទុកចិត្តទិន្នន័យដែលមកពី API ផ្សេងទៀតច្រើនជាងការបញ្ចូលរបស់អ្នកប្រើប្រាស់ ដែលផ្ទុយស្រឡះពីការពិត។ ការរួមបញ្ចូលភាគីទីបីនៅតែជាប្រភពខាងក្រៅដែលមិនទាន់បានផ្ទៀងផ្ទាត់ ហើយគួរតែត្រូវបានផ្ទៀងផ្ទាត់តាមរបៀបដូចគ្នា។

៨. ដាក់ភស្តុតាងនៅចំពោះមុខអ្នកអភិវឌ្ឍន៍ មិនមែនគ្រាន់តែការជូនដំណឹងនោះទេ

ការរកឃើញមួយដែលនិយាយថា "ការអនុញ្ញាតដែលខូចនៅលើចំណុចបញ្ចប់នេះ" គឺជាសំបុត្រដែលនរណាម្នាក់ត្រូវស៊ើបអង្កេតមុនពេលពួកគេអាចចាប់ផ្តើមជួសជុលវាបាន។ ការរកឃើញដែលចង្អុលបង្ហាញទៅឯកសារ ថ្នាក់ វិធីសាស្ត្រ និងបន្ទាត់ពិតប្រាកដគឺជាអ្វីមួយដែលអ្នកអភិវឌ្ឍន៍អាចធ្វើសកម្មភាពភ្លាមៗ។ នេះគឺជាការអនុវត្តល្អបំផុតសម្រាប់កម្មវិធីសុវត្ថិភាពខ្លួនឯង មិនមែនគ្រាន់តែ API ទេ៖ ការរកឃើញដែលតម្រូវឱ្យមានការស៊ើបអង្កេតមុនពេលការកែតម្រូវធ្វើឱ្យអ្វីៗយឺតយ៉ាវ។

កន្លែងដែល Xygeni សមនឹង៖ រាល់ការរកឃើញសុវត្ថិភាព Xygeni API ចង្អុលទៅកម្មវិធីដោះស្រាយ ឯកសារ ថ្នាក់ វិធីសាស្ត្រ និងបន្ទាត់ដែលបានណែនាំវា ដូច្នេះការជួសជុលចាប់ផ្តើមនៅពេលដែលការរកឃើញមកដល់។

៩. ស្វែងរក​ការប៉ះពាល់​មុនពេល​ដាក់ពង្រាយ មិនមែន​បន្ទាប់ពី​នោះទេ

ការធ្វើតេស្ត Runtime API ប្រាប់អ្នកថាចំណុចបញ្ចប់មួយត្រូវបានបង្ហាញនៅពេលដែលវាកំពុងបម្រើចរាចរណ៍រួចហើយ។ ការវិភាគឋិតិវន្តនៃកូដ និងលក្ខណៈបច្ចេកទេស API រកឃើញការប៉ះពាល់ដូចគ្នា ខណៈពេលដែលវានៅតែស្ថិតនៅក្នុង pull requestនៅពេលដែលការជួសជុលមានតម្លៃមួយ commit ជំនួស​ឲ្យ​ការ​ឆ្លើយ​តប​នឹង​ឧប្បត្តិហេតុ។ ការ​អនុវត្ត​ល្អ​បំផុត​នៃ​ការ​គ្រប់គ្រង API ដែល​ខ្លាំង​បំផុត​ចាត់​ទុក​ការ​រក​ឃើញ​ឋិតិវន្ត​ជា​ស្រទាប់​ទីមួយ ដោយ​ការ​ធ្វើ​តេស្ត​ពេល​ដំណើរការ​ជា​ការ​ពិនិត្យ​បន្ថែម​លើក​ទី​ពីរ​លើ​អ្វី​ដែល​មាន​ស្រាប់។

កន្លែងដែល Xygeni សមនឹង៖ សុវត្ថិភាព API របស់ Xygeni គឺឋិតិវន្តដោយការរចនា វិភាគកូដ និងលក្ខណៈបច្ចេកទេសមុនពេលចេញផ្សាយ និងធ្វើការរួមគ្នា ស៊ីជេនី ឌីអេសធី សម្រាប់ការគ្របដណ្តប់ពេលដំណើរការនៃកម្មវិធីដែលមានស្រាប់នៅក្នុងផលិតកម្ម។

១០. រក្សាហានិភ័យ API នៅកន្លែងដដែលជាមួយហានិភ័យកម្មវិធីផ្សេងទៀតរបស់អ្នក

API មិនបរាជ័យដោយឯកឯងទេ។ ចំណុចខ្សោយរបស់ API ជារឿយៗស្ថិតនៅខាងក្រោមបញ្ហានៃការពឹងផ្អែក ដែលត្រូវបានកំណត់រចនាសម្ព័ន្ធមិនត្រឹមត្រូវ។ pipelineឬ​អាថ៌កំបាំង​ដែល​លេច​ធ្លាយ។ ការ​ចាត់​ទុក​សុវត្ថិភាព API ជា​ឧបករណ៍​ដាច់​ដោយ​ឡែក​មួយ​ជាមួយ​កុងសូល​ផ្ទាល់​ខ្លួន​របស់​វា​មាន​ន័យ​ថា​បាត់បង់​បរិបទ​នោះ​នៅ​ពេល​ដែល​វា​សំខាន់​បំផុត។

កន្លែងដែល Xygeni សមនឹង៖ សុវត្ថិភាព API ស្ថិតនៅជាប់គ្នា SAST, SCA, អាថ៌កំបាំង, IaCនិង DAST នៅក្នុងវេទិកា Xygeni តែមួយ ដូច្នេះការរកឃើញ API អាចមើលឃើញនៅជាប់នឹងកូដ និងហានិភ័យនៃការពឹងផ្អែកដែលបានបង្កើតវា មិនមែននៅក្នុងវេទិកាដាច់ដោយឡែកមួយទេ។ login.

ការប្រែក្លាយបញ្ជីត្រួតពិនិត្យទៅជាទម្លាប់

ការអនុវត្តល្អបំផុតលើសុវត្ថិភាព API ដំណើរការតែជាការអនុវត្តជាបន្តបន្ទាប់ប៉ុណ្ណោះ មិនមែនជាការពិនិត្យឡើងវិញមុនពេលដាក់ឱ្យដំណើរការនោះទេ។ ដំណើរការការវិភាគសារពើភ័ណ្ឌ និងឋិតិវន្តលើរាល់ pull requestមិនមែនម្តងក្នុងមួយត្រីមាសទេ។ សូមចាត់ទុកចំណុចបញ្ចប់ថ្មីដែលគ្មានឯកសារដូចគ្នានឹងអ្វីដែលអ្នកនឹងចាត់ទុកការពឹងផ្អែកថ្មីដែលគ្មានឯកសារ៖ ជាអ្វីមួយដែលត្រូវស៊ើបអង្កេតភ្លាមៗ មិនមែននៅទីបំផុតទេ។ ហើយវាស់វែងការអនុវត្តល្អបំផុតនៃការការពារ API របស់អ្នកតាមរបៀបដូចគ្នានឹងអ្នកវាស់វែងផ្នែកផ្សេងទៀតនៃ SDLCដោយ​មើល​ពី​រយៈពេល​ដែល​អ្នក​រកឃើញ​បញ្ហា​ឆាប់​រហ័ស មិនមែន​គ្រាន់តែ​ថា​តើ​អ្នក​រកឃើញ​វា​ឬ​អត់​នោះទេ។

ចម្លើយរហ័ស៖ សំណួរ និងចម្លើយអំពីការអនុវត្តល្អបំផុតនៃសុវត្ថិភាព API

សំនួរចម្លើយ
តើ​អ្វី​ទៅ​ជា​ការអនុវត្ត​ល្អ​បំផុត​លើ​សុវត្ថិភាព API ដ៏​សំខាន់​បំផុត?ការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវ និងការអនុញ្ញាតដ៏រឹងមាំ ដែលត្រូវបានអនុវត្តលើចំណុចបញ្ចប់នីមួយៗ មិនមែនគ្រាន់តែចំណុចបញ្ចប់ដែលអ្នកចងចាំថាត្រូវធានានោះទេ។
តើ API ផ្ទៃក្នុងគួរប្រើ HTTPS ដែរឬទេ?បាទ/ចាស៎។ អ៊ិនគ្រីបចរាចរណ៍ API ទាំងអស់ រួមទាំងការទំនាក់ទំនងពីសេវាកម្មមួយទៅសេវាកម្មមួយ មិនមែនគ្រាន់តែចំណុចបញ្ចប់ដែលប្រឈមមុខនឹងសាធារណជននោះទេ។
តើសោ API គ្រប់គ្រាន់សម្រាប់សុវត្ថិភាពដែរឬទេ?ទេ។ សោ API កំណត់អត្តសញ្ញាណកម្មវិធី មិនមែនអ្នកប្រើប្រាស់ទេ។ ផ្គូផ្គងពួកវាជាមួយ OAuth 2.0 ឬ JWT សម្រាប់ការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវពិតប្រាកដ។
តើ BOLA ជាអ្វី?ការអនុញ្ញាតកម្រិតវត្ថុដែលខូច៖ API មិនអាចផ្ទៀងផ្ទាត់ថាអ្នកប្រើប្រាស់ត្រូវបានអនុញ្ញាតឱ្យចូលប្រើធនធានជាក់លាក់ណាមួយបានទេ។ វាបានកាន់កាប់តំណែងលេខ 1 នៅក្នុង OWASP API Security Top 10 ចាប់តាំងពីឆ្នាំ 2019។
តើខ្ញុំគួរបង្វិលសោ API ញឹកញាប់ប៉ុណ្ណា?ជាប្រចាំ រៀងរាល់ 60 ទៅ 90 ថ្ងៃម្តង និងភ្លាមៗបន្ទាប់ពីការសង្ស័យថាមានការសម្របសម្រួលណាមួយ។
តើលេខកូដស្ថានភាពអ្វីដែលគួរវាយតម្លៃការត្រឡប់មកវិញដែលកំណត់?៤២៩ សំណើច្រើនពេក ជាមួយនឹងបឋមកថា Retry-After ដែលប្រាប់អតិថិជនថាពេលណាត្រូវព្យាយាមម្តងទៀត។
តើខ្ញុំគួរផ្ទៀងផ្ទាត់ការបញ្ចូលនៅលើម៉ាស៊ីនមេ សូម្បីតែនៅពីក្រោយច្រកទ្វារក៏ដោយ?ជានិច្ច។ ផ្ទៀងផ្ទាត់នៅស្រទាប់ API ដោយមិនគិតពីអ្វីដែលអតិថិជនខាងលើ ឬច្រកផ្លូវបានពិនិត្យរួចហើយ។
តើខ្ញុំអាចសាកល្បងសុវត្ថិភាព API យ៉ាងដូចម្តេច CI/CD?ពិនិត្យមើលការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវ ការអនុញ្ញាត ការផ្ទៀងផ្ទាត់ការបញ្ចូល និងការកំណត់អត្រាលើរាល់ pull requestមិនមែនគ្រាន់តែមុនពេលចេញផ្សាយនោះទេ ហើយធ្វើវាដោយស្វ័យប្រវត្តិជាជាងពឹងផ្អែកលើការពិនិត្យដោយដៃ។

ការយកសំខាន់ៗ

  • សារពើភ័ណ្ឌ​មក​មុន​ការការពារ។ អ្នកមិនអាចអនុវត្តការអនុញ្ញាត ដែនកំណត់អត្រា ឬការគ្រប់គ្រងទិន្នន័យទៅកាន់ចំណុចបញ្ចប់ដែលអ្នកមិនដឹងថាមាននោះទេ ហើយការគ្រប់គ្រងសារពើភ័ណ្ឌមិនត្រឹមត្រូវគឺជាហានិភ័យដែលមានឈ្មោះផ្ទាល់ខ្លួននៅលើកំពូលសុវត្ថិភាព API OWASP ទាំង 10។
  • ការអនុញ្ញាត មិនមែនគ្រាន់តែជាការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវនោះទេ គឺជាកន្លែងដែលការរំលោភបំពានភាគច្រើនកើតឡើង។ ហានិភ័យសុវត្ថិភាព OWASP API បីក្នុងចំណោមហានិភ័យកំពូលទាំងប្រាំគឺការបរាជ័យក្នុងការអនុញ្ញាត។ ការត្រួតពិនិត្យថាអ្នកណាជានរណាគឺមិនដូចគ្នានឹងការត្រួតពិនិត្យអ្វីដែលពួកគេត្រូវបានអនុញ្ញាតឱ្យប៉ះនោះទេ។
  • ការវិភាគឋិតិវន្តចាប់យកអ្វីដែលការធ្វើតេស្តពេលដំណើរការចាប់បានយឺតពេល។ ការស្វែងរកការប៉ះពាល់នៅក្នុង pull request ចំណាយមួយ commitការស្វែងរកវានៅក្នុងផលិតកម្មត្រូវចំណាយពេលវេលាច្រើន។
  • ការឆ្លើយតបនីមួយៗគឺជាការលេចធ្លាយទិន្នន័យដែលអាចកើតមាន។ ការលាតត្រដាងទិន្នន័យច្រើនហួសហេតុគឺជាទម្លាប់ មិនមែនជាកំហុសដ៏កម្រនោះទេ ហើយវាមើលមិនឃើញរហូតដល់នរណាម្នាក់ពិនិត្យមើលការឆ្លើយតប API ឆៅជំនួសឱ្យ UI ដែលបានបង្ហាញ។
  • ការអនុវត្តល្អបំផុតលើសុវត្ថិភាព API ដំណើរការតែជាទម្លាប់បន្តប៉ុណ្ណោះ, រត់លើរាល់ pull requestមិនមែនជាការពិនិត្យឡើងវិញប្រចាំត្រីមាស ឬបញ្ជីត្រួតពិនិត្យមុនពេលដាក់ឱ្យដំណើរការនោះទេ។
  • ហានិភ័យ API មិនគួរស្ថិតនៅក្នុងឧបករណ៍ដាច់ដោយឡែកមួយទេ។ ការអនុវត្តល្អបំផុតនៃការការពារ API ដែលមានប្រយោជន៍បំផុតចាត់ទុកការរកឃើញ API ជាផ្នែកមួយនៃរូបភាពហានិភ័យដូចគ្នានឹងកូដ ការពឹងផ្អែក និង pipeline securityមិនមែនជាកុងសូលដាច់ដោយឡែកទេ។

សំណួរដែលត្រូវបានសួរជាញឹកញាប់

តើ​អ្វី​ទៅ​ជា​ការ​អនុវត្ត​ល្អ​បំផុត​នៃ​សុវត្ថិភាព API ដ៏​សំខាន់​បំផុត​ដែល​ត្រូវ​ចាប់ផ្តើម?

ចាប់ផ្តើមជាមួយសារពើភ័ណ្ឌ។ អ្នកមិនអាចអនុវត្តការត្រួតពិនិត្យការអនុញ្ញាត ដែនកំណត់អត្រា ឬការគ្រប់គ្រងការបង្ហាញទិន្នន័យទៅចំណុចបញ្ចប់ដែលអ្នកមិនដឹងថាមាននោះទេ ដូច្នេះសារពើភ័ណ្ឌពេញលេញ និងត្រឹមត្រូវនៃចំណុចបញ្ចប់ API នីមួយៗគឺជាមូលដ្ឋានគ្រឹះដែលអ្វីៗផ្សេងទៀតនៅក្នុងបញ្ជីត្រួតពិនិត្យនេះពឹងផ្អែកលើ។

តើ​អ្វី​ជា​ភាព​ខុស​គ្នា​រវាង​ការ​អនុវត្ត​ល្អ​បំផុត​ផ្នែក​សុវត្ថិភាព API និង​ការ​អនុវត្ត​ល្អ​បំផុត​ផ្នែក​សុវត្ថិភាព​កម្មវិធី​ទូទៅ?

APIs ណែនាំហានិភ័យដែលការអនុវត្តទូទៅរបស់ AppSec មិនគ្របដណ្តប់ទាំងស្រុង៖ ការអនុញ្ញាតកម្រិតវត្ថុ និងមុខងារក្នុងទ្រង់ទ្រាយធំ គ្រោះថ្នាក់ជាក់លាក់នៃការជឿទុកចិត្តលើការឆ្លើយតប API ភាគីទីបី និងបញ្ហាប្រឈមនៃការតាមដានចំណុចបញ្ចប់ដែលលែងប្រើ ឬមិនមានឯកសារ។ ការអនុវត្តល្អបំផុតនៃសុវត្ថិភាព API គឺជាការអនុវត្តល្អបំផុតនៃសុវត្ថិភាពកម្មវិធី ដែលអនុវត្តចំពោះផ្នែកនៃផ្ទៃវាយប្រហារដែលងាយបំភ្លេចបំផុត។

តើការធ្វើតេស្តសុវត្ថិភាព API គួរធ្វើឡើងមុន ឬក្រោយពេលដាក់ពង្រាយ?

ទាំងពីរ ប៉ុន្តែចំណុចអានុភាពខ្ពស់បំផុតគឺមុន។ ការវិភាគឋិតិវន្តនៃកូដ និងលក្ខណៈបច្ចេកទេស API ចាប់យកការប៉ះពាល់ ខណៈពេលដែលវានៅតែជា pull request។ បន្ទាប់មក ការធ្វើតេស្តពេលដំណើរការ (DAST) ផ្ទៀងផ្ទាត់អ្វីដែលអាចទៅដល់បាន នៅពេលដែលកម្មវិធីដំណើរការ។ ការពឹងផ្អែកលើការធ្វើតេស្តពេលដំណើរការតែម្នាក់ឯងមានន័យថា ការជួសជុលនីមួយៗមានតម្លៃថ្លៃជាងការចាំបាច់។

តើគួរធ្វើបច្ចុប្បន្នភាពសារពើភ័ណ្ឌ API ញឹកញាប់ប៉ុណ្ណា?

ជាបន្តបន្ទាប់ តាមឧត្ដមគតិនៅគ្រប់ pull requestស្តុកទំនិញដែលបង្កើតឡើងម្តង និងត្រូវបានពិនិត្យឡើងវិញជារៀងរាល់ត្រីមាស គឺហួសសម័យហើយ នៅពេលដែលចំណុចបញ្ចប់ថ្មីត្រូវបានដឹកជញ្ជូន ដែលជាចន្លោះប្រហោងនៃការគ្រប់គ្រងស្តុកទំនិញមិនត្រឹមត្រូវ។

តើការអនុវត្តល្អបំផុតនៃការគ្រប់គ្រង API អនុវត្តចំពោះ API ផ្ទៃក្នុង មិនមែនចំពោះតែ API ដែលបង្ហាញជាសាធារណៈទេ?

មែនហើយ។ API ផ្ទៃក្នុងជារឿយៗត្រូវបានរក្សាទុកនៅក្នុងរបារសុវត្ថិភាពទាបជាង ពីព្រោះពួកវា "មិនត្រូវបានប៉ះពាល់នឹងអ៊ីនធឺណិត" ប៉ុន្តែពួកវានៅតែដោះស្រាយទិន្នន័យរសើប ហើយនៅតែអាចចូលប្រើបានដោយអ្នកណាដែលមានសិទ្ធិចូលប្រើបណ្តាញផ្ទៃក្នុង រួមទាំងគណនីដែលរងការលួចចូល ឬអ្នកនៅខាងក្នុងផងដែរ។

ឧបករណ៍វិភាគសមាសភាពកម្មវិធី sca
ផ្តល់អាទិភាព ដោះស្រាយ និងធានាសុវត្ថិភាពហានិភ័យផ្នែកទន់របស់អ្នក
ទទួលបានគណនីឥតគិតថ្លៃរបស់អ្នក។
មិនតម្រូវឱ្យមានកាតឥណទានទេ។

ធានាសុវត្ថិភាពនៃការអភិវឌ្ឍន៍ និងការដឹកជញ្ជូនកម្មវិធីរបស់អ្នក

ជាមួយឈុតផលិតផល Xygeni