API Təhlükəsizlik üzrə Ən Yaxşı Təcrübələr

API Təhlükəsizlik üzrə Ən Yaxşı Təcrübələr: Tərtibatçının Yoxlama Siyahısı

TL; DR

API pozuntularının əksəriyyəti ekzotik istismarlara deyil, pozulmuş avtorizasiyaya gedib çıxır. OWASP API Təhlükəsizlik üzrə Top 10-un ən yaxşı beş kateqoriyasından üçü avtorizasiya xətalarıdır, bunlara aşağıdakılar rəhbərlik edir: TOP.

Mövcudluğunu bilmədiyiniz bir şeyin təhlükəsizliyini təmin edə bilməzsiniz. Yanlış inventar idarəçiliyi özünün adlandırdığı OWASP risk kateqoriyasıdır və bütün digər nəzarətin əsasını təşkil edir.

Təsirə məruz qalma müddətini yerləşdirmədən əvvəl tutun, sonra yox. Kod və API spesifikasiyalarının statik təhlili, birində qırıq son nöqtə tapır pull request, birinin qiyməti üçün commit; iş vaxtı testi, hadisənin dəyəri üçün eyni problemi canlı olaraq tapır.

Bu, davamlı olaraq işlədilməli olan bir yoxlama siyahısıdır. Hər birində pull request, satışa çıxarılmadan əvvəlki baxış deyil: 10 təcrübəinventar və icazədən tutmuş dərəcənin məhdudlaşdırılmasına, cavab məlumatlarının açıqlanmasına və üçüncü tərəf etibarına qədər.

API hücum səthiniz hər dəfə böyüyür pull requestƏksər komandalar son nöqtənin açıq olduğunu yalnız o, aktiv olduqda və trafik götürdükdən sonra öyrənirlər, bu da bir nəfərə başa gələcək düzəliş deməkdir. commit İndi nəzərdən keçirilərkən hadisə hesabatı tələb olunur. Bu təlimat, istehsalda həqiqətən də davam edən API təhlükəsizlik təcrübələrini izah edir və bu gün heç kimin tətbiq etmədiyi mücərrəd prinsiplərin siyahısı kimi deyil, öz kod bazanızla işləyə biləcəyiniz yoxlama siyahısı kimi təşkil edilmişdir.

Niyə API Təhlükəsizlik üzrə Ən Yaxşı Təcrübələr İndi Fərqli Görünür

API-lər əvvəllər sistemlər arasında birləşdirici toxuma idi. İndi onlar demək olar ki, hər şey üçün əsas interfeysdir: mobil tətbiqlər, tərəfdaş inteqrasiyaları, süni intellekt agentləri, daxili mikroservislər. Bu dəyişiklik API qorunmasının ən yaxşı təcrübələrinin əhatə etməli olduğu şeyləri dəyişdirdi. Artıq sənədləşdirdiyiniz API-ni qorumaq üçün kifayət deyil; komandalarınızın qurduğu və yazmağı unutduğu API-ləri hesaba almalısınız.

Bunun nə üçün vacib olduğunu iki rəqəm izah edir. OWASP API Təhlükəsizlik Top 10 pozulmuş avtorizasiya problemlərini özünün ilk beş kateqoriyasından üçünə daxil edir, yəni real həyatda baş verən API hadisələrinin əksəriyyəti ekzotik sıfır günlərə deyil, bir neçə qarşısı alına bilən nümunələrə gedib çıxır. Və düzgün olmayan inventar idarəçiliyi özünün adlandırdığı risk kateqoriyası ilə eyni siyahıdadır: komandalar hələ də işlədiyini bilmədikləri API-lər vasitəsilə pozulurlar.

Bu, aşağıdakı hər bir bənddə öz əksini tapan mövzudur. Yaxşı API idarəetməsinin ən yaxşı təcrübələri yalnız sənədləşdirmək üçün yadda saxladığınızı qorumaqla deyil, nəyə sahib olduğunuzu bilməklə başlayır.

API Təhlükəsizlik üzrə Ən Yaxşı Təcrübələrə Qısa Baxış

Ətraflı yoxlama siyahısından əvvəl, qısa versiya belədir: nəyi tətbiq etməli, əslində nədən qorumalı və nə qədər təcili olmalıdır.

PraktikaNədən qoruyurprioritet
HTTPS/TLS şifrələməMəlumatların ələ keçirilməsi, ortada olan hücumlarLazım
Doğrulama (OAuth 2.0, JWT)İcazəsiz giriş, şəxsiyyət saxtakarlığıLazım
Avtorizasiya və giriş nəzarətiİmtiyazların artması, məlumat sızmasıLazım
Giriş təsdiqlənməsiEnjeksiyon hücumları, səhv formalaşdırılmış sorğularLazım
Tam API inventarıSənədləşdirilməmiş və köhnəlmiş son nöqtələr açıq qalıbLazım
Məhdudiyyət dərəcəsiKobud güc hücumları, DDoS, sui-istifadəYüksək
API açar idarəetməsiEtimadnamə oğurluğu, icazəsiz istifadəYüksək
Qeydiyyat və monitorinqAşkarlanmamış pozuntular, insidentlərə yavaş reaksiyaYüksək
Yerləşdirmədən əvvəl statik analizEkspozisiya, kimsə nəzərdən keçirməzdən əvvəl istehsalata göndərildiYüksək
Təhlükəsizlik testi (SAST + DAST)Naməlum zəifliklər, reqressiyalarYüksək

"Tələb olunan" sətrini istənilən daxili və ya ictimaiyyətə açıq API üçün müzakirə olunmayan əsas xətt kimi qəbul edin. "Yüksək" prioritetli elementlər, problemləri aşkarlayan proqramı ayırd edən şeylərdir. pull request hadisə hesabatında aşkar edənlərdən biri.

API Təhlükəsizlik üzrə Ən Yaxşı Təcrübələr Yoxlama Siyahısı

1. Müdafiə qurmazdan əvvəl tam bir inventar yaradın

Mövcudluğunu bilmədiyiniz bir son nöqtəni qoruya bilməzsiniz. Hər bir API qorunması üzrə ən yaxşı təcrübələr səyinə real bir inventarla başlayın: hər bir son nöqtə, onun metodu, yolu, aid olduğu xidmət və modul və identifikasiya tələb edib-etməməsi. Bunu yalnız sənədlərdən deyil, mənbə kodundan və API spesifikasiyalarınızdan (OpenAPI, Swagger) birlikdə götürün, çünki ikisi arasındakı boşluq unudulmuş və yetim qalan son nöqtələrin gizləndiyi yerdir.

Xygeni uyğun olduğu yer: Xygeni API Təhlükəsizliyi Bu inventarı birbaşa tətbiqinizin mənbə kodundan və API spesifikasiyalarından qurur, komandanızın sənədləşdirdiyi və heç kimin etmədiyi son nöqtələri istehsalata çatmazdan əvvəl üzə çıxarır.

2. Obyekt və funksiya səviyyəsində avtorizasiyanı tətbiq edin

Obyekt səviyyəli və funksiya səviyyəli avtorizasiyanın pozulması OWASP API Təhlükəsizlik Top 10-luğunda ardıcıl olaraq birinci yerdədir. Ən yaxşı təcrübə "identifikasiya əlavə etmək" deyil, hər sorğuda yoxlanılmasıdır bu konkret istifadəçi daxil olmağa icazə verilir bu konkret obyekt, sadəcə onların ümumiyyətlə daxil olub-olmadıqları deyil. Doğrulama kiminsə kim olduğunu cavablandırır. Avtorizasiya onların toxunmasına icazə verilən şeylərə cavab verir və bu, hər dəfə yoxlanılmalıdır, etibarlı bir tokendən götürülməməlidir.

3. API-nin aldığı hər şeyi təsdiqləyin və dezinfeksiya edin

Əksi sübut olunana qədər hər bir parametr, başlıq və əsas sahə etibarsız girişdir. Ciddi sxem təsdiqini tətbiq edin, gözlənilməz sahələri rədd edin (bu, kütləvi təyinata qarşı müdafiənizdir) və giriş dairəsini və ya qiymət məntiqini müəyyən etmək üçün heç vaxt müştəri tərəfindən təmin edilən məlumatlara etibar etməyin.

4. Sürət limiti və qaz pedalı sonradan deyil, dizayna görə

Məhdudiyyətsiz resurs istehlakı tək bir müştəriyə infrastrukturunuzu tükəndirməyə və ya istifadə başına ödənişli arxa xidmətlər üzrə xərcləri artırmağa imkan verir. Hər son nöqtə, hər istifadəçi və hər API açarı üçün limitlər təyin edin və limitlərin hər yerdə tətbiq olunan sabit bir rəqəmlə deyil, əməliyyatın faktiki dəyəri ilə ölçüldüyünə əmin olun.

5. Hər cavabı potensial məlumat sızması kimi qəbul edin

Həddindən artıq məlumat ifşası, API müştərinin ehtiyac duyduğundan daha çox məlumat qaytardıqda və onu süzgəcdən keçirmək üçün ön tərəfə etibar etdikdə baş verir. Bu, nadir bir səhv deyil, bir vərdişdir və ən çox yayılmış API qorunması təcrübələrinin pozulması hallarından biridir, çünki kimsə göstərilən UI əvəzinə xam cavabları yoxlayana qədər görünməz olur.

Xygeni uyğun olduğu yer: Xygeni API Təhlükəsizliyi, müştəri və ya tənzimləyicinin bildirişlərindən sonra deyil, göndərilməzdən əvvəl həddindən artıq paylaşımı aşkar edərək, PII məruz qalmasını birbaşa API cavablarında qeyd edir.

6. Köhnəlmişlər də daxil olmaqla, dəqiq, cari API inventarını saxlayın

Yalnış inventar İdarəetmə, OWASP siyahısında öz adını daşıyan bir kateqoriyadır: köhnəlmiş API versiyaları və sənədləşdirilməmiş mərhələli mühitlər, mövcud olduqlarını xatırladıqdan sonra da, tez-tez hələ də əlçatandır və tez-tez hələ də həssasdır. API idarəetməsinin ən yaxşı təcrübələri proqramına yalnız kəşf deyil, istismardan çıxarılma da daxil edilməlidir.

7. API-nizin üçüncü tərəflərdən etibar etdiyi şeyləri diqqətlə araşdırın

Üçüncü tərəf API-lərinin təhlükəsiz istifadə edilməməsi qiymətləndirilməmiş bir riskdir. Tərtibatçılar istifadəçi girişindən daha çox başqa bir API-dən gələn məlumatlara etibar etməyə meyllidirlər, bu da tam əksinədir; üçüncü tərəf inteqrasiyası hələ də xarici, təsdiqlənməmiş mənbədir və eyni şəkildə təsdiqlənməlidir.

8. Tərtibatçıların qarşısına yalnız xəbərdarlıqlar deyil, dəlillər qoyun

"Bu son nöqtədə pozulmuş avtorizasiya" tapıntısı, düzəldilməyə başlamazdan əvvəl kiminsə araşdırmalı olduğu bir biletdir. Dəqiq faylı, sinfi, metodu və sətri göstərən bir tapıntı, tərtibatçının dərhal hərəkətə keçə biləcəyi bir şeydir. Bu, yalnız API üçün deyil, təhlükəsizlik proqramının özü üçün ən yaxşı təcrübədir: bərpadan əvvəl araşdırma tələb edən tapıntılar hər şeyi yavaşlatır.

Xygeni uyğun olduğu yer: Hər Xygeni API Təhlükəsizlik tapıntısı dəqiq işleyiciyə, fayla, sinfə, metoda və onu təqdim edən sətrə işarə edir, beləliklə, düzəliş tapıntının gəldiyi andan başlayır.

9. Təsirə məruz qalma müddətini yerləşdirmədən əvvəl tapın, sonra yox

Runtime API testi, son nöqtənin artıq trafikə xidmət göstərdikdən sonra açıqlandığını bildirir. Kod və API spesifikasiyalarının statik təhlili, hələ də a-da ikən eyni açıqlanmanı tapır pull request, təmir bir başa gəldikdə commit Hadisəyə cavab əvəzinə. Ən güclü API idarəetmə təcrübələri statik kəşfi birinci təbəqə kimi qəbul edir, icra müddəti testi isə artıq mövcud olanları tamamlayan ikinci yoxlama kimi qəbul edir.

Xygeni uyğun olduğu yer: Xygeni API Təhlükəsizliyi dizayn baxımından statikdir, buraxılışdan əvvəl kodu və spesifikasiyaları təhlil edir və eyni zamanda işləyir Xygeni DAST artıq istehsalda olan tətbiqlərin işləmə müddətini əhatə etməsi üçün.

10. API riskini tətbiq riskinizin qalan hissəsi ilə eyni yerdə saxlayın

API-lər təcrid olunmuş şəkildə uğursuz olmur. API zəifliyi çox vaxt asılılıq probleminin, səhv konfiqurasiya edilmiş problemin arxasında durur. pipeline, və ya sızdırılmış sirr. API təhlükəsizliyinə öz konsolu olan ayrı bir vasitə kimi yanaşmaq, ən vacib olduğu anda həmin konteksti itirmək deməkdir.

Xygeni uyğun olduğu yer: API Təhlükəsizliyi yanında yerləşir SAST, SCA, Sirlər, IaCvə DAST tək bir Xygeni platformasında mövcuddur, buna görə də API tapıntısı ayrı bir platformada deyil, onu yaradan kodun və asılılıq riskinin yanında görünür login.

Yoxlama siyahısını vərdişə çevirmək

API təhlükəsizlik üzrə ən yaxşı təcrübələr yalnız davamlı təcrübə kimi işləyir, işə salmadan əvvəl yoxlama kimi deyil. Hər birində inventar və statik təhlil aparın. pull request, rübdə bir dəfə deyil. Yeni, sənədləşdirilməmiş son nöqtəyə yeni, sənədləşdirilməmiş asılılığa necə yanaşırsınızsa, elə yanaşın: dərhal araşdırılacaq bir şey kimi, nəticədə yox. Və API qorumasının ən yaxşı təcrübələrini digər hissələrini ölçdüyünüz kimi ölçün. SDLC, problemi nə qədər erkən aşkarladığınıza görə, sadəcə onu ümumiyyətlə aşkar edib-etmədiyinizə görə deyil.

Tez Cavablar: API Təhlükəsizlik Ən Yaxşı Təcrübələri Sual-Cavab

SualCavab
Ən vacib API təhlükəsizlik təcrübəsi hansıdır?Güclü identifikasiya və avtorizasiya, yalnız təhlükəsizliyinizi yadda saxladığınız nöqtələrdə deyil, hər bir son nöqtədə tətbiq olunur.
Daxili API-lər HTTPS istifadə etməlidirmi?Bəli. Yalnız ictimaiyyətə açıq son nöqtələri deyil, xidmətlərarası rabitə də daxil olmaqla bütün API trafikini şifrələyin.
API açarları təhlükəsizlik üçün kifayətdirmi?Xeyr. API açarları istifadəçini deyil, tətbiqi müəyyən edir. Həqiqi identifikasiya üçün onları OAuth 2.0 və ya JWT ilə birləşdirin.
BOLA nədir?Obyekt Səviyyəsində Səlahiyyətin Pozulması: API istifadəçinin müəyyən bir resursa daxil olmasına icazə verildiyini yoxlaya bilmir. API 2019-cu ildən bəri OWASP API Təhlükəsizlik üzrə Top 10-luqda 1-ci yeri tutur.
API açarlarını nə qədər tez-tez çevirməliyəm?Mütəmadi olaraq, hər 60-90 gündən bir və şübhəli kompromisdən dərhal sonra.
Hansı status kodu məhdudlaşdırıcı gəliri qiymətləndirməlidir?429 Çoxlu Sorğu, müştəriyə nə vaxt yenidən cəhd etməli olduğunu bildirən Retry-After başlığı ilə.
Girişi serverdə, hətta şlüz arxasında belə yoxlamalıyam?Həmişə. Yuxarı axın klientinin və ya şlüzünün nəyi yoxladığından asılı olmayaraq, API səviyyəsində doğrulayın.
API təhlükəsizliyini necə sınaqdan keçirə bilərəm CI/CD?Hər birində identifikasiyanı, avtorizasiyanı, giriş doğrulamasını və sürət məhdudiyyətini yoxlayın pull request, yalnız buraxılışdan əvvəl deyil və əl ilə nəzərdən keçirməyə etibar etmək əvəzinə, onu avtomatlaşdırın.

Key Takeaways

  • İnventar müdafiədən əvvəl gəlir. Mövcudluğunu bilmədiyiniz bir son nöqtəyə avtorizasiya, dərəcə limitləri və ya məlumat nəzarəti tətbiq edə bilməzsiniz və inventarın düzgün idarə edilməməsi OWASP API Təhlükəsizlik Top 10-da öz adı ilə adlandırılmış riskdir.
  • Ən çox pozuntuların baş verdiyi yer təkcə identifikasiya deyil, həm də avtorizasiyadır. OWASP API təhlükəsizlik risklərinin beş əsasından üçü avtorizasiya xətalarıdır. Kiminsə kim olduğunu yoxlamaq, onun nəyə toxuna biləcəyini yoxlamaqla eyni deyil.
  • Statik analiz, iş vaxtı testinin çox gec aşkarladığını müəyyən edir. Birində məruz qalma tapmaq pull request bir başa gəlir commitİstehsalda tapmaq bir hadisəyə başa gəlir.
  • Hər bir cavab potensial məlumat sızmasıdır. Həddindən artıq məlumatların açıqlanması nadir bir səhv deyil, bir vərdişdir və kimsə göstərilən UI əvəzinə xam API cavablarını yoxlayana qədər görünməzdir.
  • API təhlükəsizlik üzrə ən yaxşı təcrübələr yalnız davamlı vərdiş kimi işləyir, hər dəfə işləyin pull request, rüblük icmal və ya satışa çıxarılmadan əvvəlki yoxlama siyahısı deyil.
  • API riski ayrı bir alətdə yaşamamalıdır. Ən faydalı API qoruma təcrübələri API tapıntılarını kod, asılılıq və digər risklərin bir hissəsi kimi qəbul edir. pipeline security, təcrid olunmuş konsol deyil.

FAQ

Başlamaq üçün ən vacib API təhlükəsizlik təcrübələri hansılardır?

İnventarlaşdırma ilə başlayın. Mövcudluğunu bilmədiyiniz bir son nöqtəyə avtorizasiya yoxlamaları, dərəcə limitləri və ya məlumatların açıqlanmasına nəzarət tətbiq edə bilməzsiniz, buna görə də hər bir API son nöqtəsinin tam və dəqiq inventarı bu yoxlama siyahısındakı hər şeyin əsasını təşkil edir.

API təhlükəsizlik təcrübələri ilə ümumi tətbiq təhlükəsizliyi təcrübələri arasında fərq nədir?

API-lər ümumi AppSec təcrübələrinin tam əhatə etmədiyi riskləri ortaya çıxarır: obyekt və funksiya səviyyəli avtorizasiya miqyasda, üçüncü tərəf API cavablarına etibar etməyin spesifik təhlükəsi və köhnəlmiş və ya sənədləşdirilməmiş son nöqtələri izləmək çətinliyi. API təhlükəsizliyinin ən yaxşı təcrübələri hücum səthinin unutulması ən asan olan hissələrinə tətbiq olunan tətbiq təhlükəsizliyinin ən yaxşı təcrübələridir.

API təhlükəsizlik testi yerləşdirilmədən əvvəl, yoxsa sonra aparılmalıdır?

Hər ikisi, lakin ən yüksək təsir nöqtəsi əvvəldir. Kod və API spesifikasiyalarının statik təhlili hələ də ifşa olunduğu zaman aşkar edir pull requestİcra müddəti testi (DAST) tətbiq işə düşdükdən sonra nəyin əslində əlçatan olduğunu təsdiqləyir. Yalnız icra müddəti testinə etibar etmək o deməkdir ki, hər bir düzəliş lazım olduğundan daha baha başa gəlir.

API inventarı nə qədər tez-tez yenilənməlidir?

Davamlı olaraq, ideal olaraq hər birində pull requestBir dəfə toplanan və rüblük olaraq nəzərdən keçirilən inventar yeni bir son nöqtənin göndərildiyi anda artıq köhnəlmiş olur və bu da inventar idarəetməsinin səhv istismarının nəticəsidir.

API idarəetməsinin ən yaxşı təcrübələri yalnız ictimaiyyətə açıq olanlara deyil, daxili API-lərə də tətbiq olunurmu?

Bəli. Daxili API-lər tez-tez daha aşağı təhlükəsizlik səviyyəsinə endirilir, çünki onlar “internetə açıq deyillər”, lakin onlar hələ də həssas məlumatları idarə edir və daxili şəbəkə girişi olan hər kəs, o cümlədən pozulmuş hesab və ya insayder tərəfindən əlçatandır.

sca-tools-proqram-kompozisiya-analiz-alətləri
Proqram təminatı risklərinizi prioritetləşdirin, aradan qaldırın və təhlükəsizləşdirin
Pulsuz Hesabınızı əldə edin.
Kredit kartı tələb olunmur.

Proqram təminatınızın hazırlanması və çatdırılmasını təmin edin

Xygeni Məhsul Dəsti ilə