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







