PINAKAMAAYO NGA MGA PRACTICE SA API SECURITY

Labing Maayo nga Practice sa Seguridad sa API sa 2022

Pasiuna

Ang mga API kritikal sa kalampusan sa negosyo. Ang tumong mao ang pagsiguro sa ilang kasaligan ug seguridad. Kadaghanan sa mga respondents sa usa ka survey sa Salt Security sa 2021 nag-ingon nga nalangan nila ang paglansad sa usa ka app tungod sa Security sa API mga kabalaka.

Panguna nga 10 nga Mga Risgo sa Seguridad sa mga API

1. Dili igo nga pag-log ug pagmonitor

Kung ang usa ka tig-atake mosulay sa pagsulod sa usa ka sistema, makamugna sila og dili regular nga trapiko. Gigamit nila ang usa ka pamaagi sa pagpugos sa imong pag-authenticate batok sa imong mga input.

2. Dili Husto nga Pagdumala sa Assets

Ang mga API lagmit adunay daghang mga endpoint kaysa tradisyonal nga mga aplikasyon sa Web.   Ang tukma ug pinakabag-o nga dokumentasyon hinungdanon. Para malikayan ang outdated API mga bersyon ug gibutyag nga mga host kinahanglan nimo nga pagdumala sa mga host ug gihatag nga mga bersyon sa API. Kinahanglan nimong sulayan ang pagpakunhod sa mga endpoint sa debugger.

3. Pag-injection

Ang mga kahuyangan sa pag-injection sama sa SQL o command injection mahitabo kung ang dili kasaligan nga datos ipadala direkta sa usa ka tighubad isip bahin sa usa ka pangutana o pahayag. Isip resulta, ang mga tig-atake makalingla sa tighubad sa pagpatuman sa wala tuyoa nga mga pahayag o pag-access sa datos nga walay angay nga pagtugot.

4. Sayop nga Konfigurasyon sa Seguridad

Ang dili maayo nga mga pag-configure sa seguridad kasagaran tungod sa dili sigurado nga mga pag-configure sa default.

  • Dili kompleto nga ad hoc configurations
  • Ablihi ang cloud storage
  • Nasayop nga pag-configure sa mga ulohan sa HTTP
  • Mga pamaagi sa HTTP nga wala kinahanglana
  • Pagpaambit sa mga kapanguhaan gikan sa lainlaing mga gigikanan
  • Output sa mga detalyado nga mensahe sa sayup nga adunay kalabotan sa seguridad impormasyon

5. Asaynment sa Misa

Ang buluhaton sa masa mahitabo kung ang pagbugkos sa kliyente sa mga modelo sa datos nga wala’y husto nga pagsala sa mga kabtangan modala sa mass mapping. Mahimong usbon sa mga tig-atake ang mga kabtangan sa butang pinaagi sa pagtag-an niini.

6. Nabuak nga Function Level Authorization

Ang pagtugot sa lebel sa guba nga function mahimong mahitabo kung adunay komplikado nga mga palisiya sa pagkontrol sa pag-access nga adunay lainlaing mga hierarchy, grupo, ug mga tahas. Ang dili klaro nga panagbulag tali sa tagdumala ug mga gimbuhaton sa gumagamit nagdala sa mga kahuyang sa pagtugot. Ang mga tig-atake mahimong makakuha og access sa ubang mga tiggamit sa mga kapanguhaan o mga gimbuhaton sa administrasyon.

7. Broken User Authentication

Ang mga mekanismo sa pag-authenticate kasagaran nagtugot sa mga tig-atake nga ikompromiso ang mga token sa pag-authenticate o pahimuslan ang mga sayup sa pagpatuman aron temporaryo o permanente nga magpakaaron-ingnon sa ubang mga tiggamit.

8. Sobra nga Data Exposure

Mahitungod sa pangkinatibuk-ang paggamit sa mga API, ang mga developers lagmit nga ibutyag ang tanang butang nga mga hiyas. Mahimong ibutyag sa mga developer ang mga butang nga kinaiya kung dili nila tagdon ang pagkakompidensyal. Ang sobra nga pagkaladlad sa datos mahimong hinungdan sa pagsalig sa bahin sa kliyente aron masala ang datos sa dili pa kini ipakita sa tiggamit.

9. Kakulang sa kapanguhaan & Paglimite sa Rate

Ang kliyente o tiggamit mahimong hangyoon. Dili lamang ang kakulang sa kapanguhaan ug rate limiting makaapekto sa performance sa API server ug mosangpot sa pagdumili sa mga pag-atake sa serbisyo, apan nagbilin usab kini sa posibilidad sa mga kahuyang sa pag-authenticate.

10. Awtorisasyon sa lebel sa Broken Object

Ang mga API lagmit nga ibutyag ang mga endpoint nga nagproseso sa mga identifier sa butang, nga nagmugna usa ka dako nga sulud sa pag-atake sa kontrol sa pag-access. Ang mga pagsusi sa pagtugot sa lebel sa butang kinahanglan nga maglakip sa pagpaandar nga maka-access sa usa ka tinubdan sa datos pinaagi sa input gikan sa user.

Giunsa Pagsiguro ang mga SOAP API

Ang SOAP usa ka detalye sa protocol nga nakigsulti sa mga panid sa web. Kini usa ka sumbanan sa industriya sa W3C, format nga XML. Ang SOAP nagpatuman sa usa ka stateful nga pagpasa sa mensahe. Ang SOAP nag-uban sa mga protocol sa WS-Security. Ang SOAP makagarantiya sa integridad ug kompidensyal sa mga naprosesong transaksyon nga adunay dugang nga encryption. Pinaagi sa paggamit sa XML, ang SOAP mao ang labing verbose nga istilo sa API.

Ang SOAP usa ka detalye sa protocol nga nakigsulti sa mga panid sa web. Kini usa ka sumbanan sa industriya sa W3C, format nga XML. Ang SOAP nagpatuman sa usa ka stateful nga pagpasa sa mensahe. Ang SOAP nag-uban sa mga protocol sa WS-Security. Ang SOAP makagarantiya sa integridad ug kompidensyal sa mga naprosesong transaksyon nga adunay dugang nga encryption. Pinaagi sa paggamit sa XML, ang SOAP mao ang labing verbose nga istilo sa API.

Giunsa ang Pag-secure sa mga Rest API

Ang REST usa ka estilo sa arkitektura sa API. Ang REST usa ka yano nga interface alang sa pagbalhin sa kasayuran. Sa pagpadala sa datos, walay yugto sa pagkakabig. Ang impormasyon nga gipadala sa orihinal nga porma adunay usa ka mapuslanon nga epekto sa load sa kliyente. Ang datos anaa sa JSON o XML nga mga format.

RESTful nga mga kinahanglanon sa arkitektura:

  • Dili maglangkob sa estado (walay estado)
  • Pag-cache. 
  • Komon Interface: Kini nagtugot sa usa ka makanunayon, aplikasyon-independent nga interaksyon sa webserver.

Sa REST, ang tanan nga komunikasyon naggamit sa mga pamaagi sa HTTP: GET, POST, PUT, PATCH, ug DELETE. Ang REST gigamit isip management API para sa CRUD (Paghimo, Pagbasa, Pag-update, ug Pagtangtang). I-install ang interaksyon sa mga kahinguhaan sa gaan nga mga serbisyo nga masukod. Ang usa ka kapanguhaan kasagaran usa ka butang nga modelo sa datos.

Ang Paglalang sa luwas nga RESTful nga mga API nagpahamtang usab sa piho nga mga kinahanglanon:

  • Gamit ang HTTPS protocol: ang operasyon sa crypto nagsiguro sa integridad sa gipasa nga datos. 
  • Rate-limits: Kinahanglang susihon ang load sa API. Pag-drop sa mga hangyo kung adunay sobra nga karga 
  • Pagpamatuod: Pag-ila sa tiggamit / aplikasyon / aparato. 
  • Log sa pag-audit: Pagrekord sa mga aksyon pinaagi sa paghimo og entry sa log file. 
  • Pagkontrol sa mga katungod sa pag-access: Pagdeterminar sa mga katungod sa pag-access alang sa pagtrabaho sa mga kapanguhaan.
  • Pag-access sa lohika sa negosyo sa aplikasyon.

Pinaagi sa laraw nga ang REST API wala magtipig bisan unsang mga rekord. Adunay usa ka pagdili sa pag-access pinaagi sa lokal nga mga endpoint. Kung nagtrabaho kauban ang arkitektura sa REST. Naandan ang pag-ila sa duha ka lebel sa seguridad:

  • Ang una nga lebel - pagkuha og access sa API
  • Ang ikaduha nga lebel - pagkuha access sa aplikasyon

Unsaon Pag-secure sa mga API

Aron masiguro ang seguridad sa API, ang mga organisasyon kinahanglan nga magtagad pag-ayo sa mga musunud nga lugar. 

  1. Pagkontrol sa access
  2. Proteksyon sa API
  3. Panalipod sa kadaut

Ang API Gateway Pattern

Ang labing kaayo nga praktis sa seguridad mao ang pag-offload sa mga responsibilidad sa seguridad sa usa ka gateway sa API. Ang API gateway nagpuyo taliwala sa API backend ug mga konsumidor. Kini makapugong sa tanan nga mga hangyo sa mga konsumedor ug magdumala sa mga aspeto sa seguridad.

Ang mga nag-develop sa API mahimong magpunting sa lohika sa negosyo nga mga gimbuhaton sa API. Ang gateway sa API nagdumala sa seguridad ug kontrol sa pag-access.

API Access Control

Ang kontrol sa pag-access sa API nagtumong sa proseso sa pagtino kung kinsa ang adunay access kung unsang mga API. Unsa nga gamit sa mga API ang gigamit sa ubang mga aplikasyon.

panghimatuud mahitungod sa pag-ila sa entidad nga nangayo og access sa API. Ang pag-ila mao ang pag-validate kung nahibal-an ba sa gumagamit ang usa ka password.

Sukaranan nga Pagkatinuod

Kini nga pamaagi naggamit sa proseso sa pag-authenticate sa HTTP. Ang mga kredensyal sa tiggamit gi-encode gamit ang base64 algorithm. Ang header sa HTTP gilakip kung nagpadala usa ka hangyo.

Ang sukaranan nga pag-authenticate dili igo aron mapanalipdan ang mga API batok sa tanan nga komplikado nga pag-atake sa seguridad. Labing menos duha ka tawo ang kinahanglang magpaambit sa username ug password. Ang ikatulo nga partido maka-access sa usa ka luwas nga serbisyo pinaagi sa pag-access sa mga kredensyal. Gitubag sa OAuth kini nga mga kahuyangan.

OAuth Token

OAuth naggamit ug access token. Ang mga kredensyal wala gipaambit sa direkta nga paagi. Kini nga timaan adunay tibuok kinabuhi. Kini nagpasabut nga bisan kana nga timaan dili kanunay. Kini makapamenos sa hulga sa pagpangawat. Ang token naggamit ug mga scope. Pag-access sa mga kapanguhaan base sa mga tahas nga gihatag sa tiggamit. Busa, ang OAuth alang sa pagsiguro sa mga API labi ka luwas kaysa usa ka password.

OIDC-based Authentication

OIDC - Pagkonektar sa OpenID. Kini nga authentication mao ang pagmatuod sa pagkatawo sa end-user. Kini gibase sa authentication nga gihimo sa usa ka authorization server. Nakuha niini ang mga detalye sa profile bahin sa tiggamit gamit ang mekanismo nga sama sa REST.

API Key-based Authentication

Ang API key kay usa ka string value nga gipasa sa client app ngadto sa APIM gateway. Ang yawe sa kliyente nagtipig impormasyon sa database sa aplikasyon. Ang server magpamatuod sa pagkatawo sa kliyente. Sa diha nga ang usa ka user magparehistro, ang programa makamugna og usa ka yawe.

Kini nga estratehiya nagdepensa batok sa dili gusto nga pag-access. Aron mapugngan ang gidaghanon sa mga hangyo sa API. Ang yawe sa API adunay daghang mga paagi, lakip ang usa ka parameter sa pangutana, sa ulohan sa pangutana, ug ingon usa ka kantidad sa cookie.

Cookie-Based Authentication

Ang paagi sa pagsusi sa sulod sa cookies nagtipig sa tanang impormasyon bahin sa sesyon. Gisugdan sa user ang usa ka hangyo sa pag-login. Nagpadala kini og tubag human maka-log in ang usa ka user. Sa ulohan niini nga tubag, adunay field nga Set-Cookies. Kini nga field adunay impormasyon bahin sa:

  • ang ngalan sa cookie field
  • ang bili sa cookie field
  • unsa ka dugay ang cookie molungtad

Sa sunod higayon nga ang user kinahanglan nga maka-access sa API. Ipasa niya ang bili sa na-save nga Cookie-field JSESSIONID nga adunay yawe nga "Cookie" sa header sa hangyo.

Pagpamatuod nga Gibase sa Token

Kini nga token ipadala dayon ngadto sa server sulod sa Authorization query header. Human madawat ang token, gi-validate kini sa server. Ang server mismo nagmugna og mga token alang sa mga bag-ong tiggamit. Ang yawe, sukwahi sa mga token, makatugot lamang sa pag-access sa mga tawag sa API nga walay abilidad sa pagkuha sa datos sa user.

JSON Web Tokens (JWT)

Usa ka mekanismo sa pag-authenticate base sa paggamit sa usa ka espesyal nga tipo sa token. Kini usa ka istruktura sa datos sa JSON. Ang usa ka timaan niini nga matang adunay usa ka ulohan nga adunay kinatibuk-ang kasayuran. Ang usa ka lawas adunay payload (user-id, grupo, data), ug usa ka cryptographic nga pirma.

Kini nga pamaagi mao ang labing maayo nga paagi aron mapugngan ang pag-access sa REST API. Usa kini sa labing luwas nga mekanismo sa pagpadala sa datos tali sa duha ka partido.

Ang JWT mao ang nag-unang teknik sa pagkontrol sa pag-access alang sa gibuhat nga aplikasyon. Ang serbisyo wala magsalig sa mga kapanguhaan sa ikatulo nga partido. Ang mga token yano nga gamiton, adunay usa ka kombenyente nga format sa paghulagway sa datos.

Ang paggamit sa HTTPS protocol inubanan sa usa ka cryptographic signature naghatag ug taas nga lebel sa seguridad.

Kung nagsiguro sa usa ka serbisyo sa web, ang pagkontrol sa input angay nga espesyal nga atensyon. Kinahanglan nimong sigurohon nga ang bisan unsang datos kung diin ang aplikasyon maglihok nagtagbo sa sumbanan sa API.

Ang komunidad sa developer nag-umol og pipila ka mga rekomendasyon sa dihang gi-validate ang input data:

  • Sa pagpahigayon sa data validation sa duha sa client-side ug sa server-side
  • Sa pagbutang sa dapit sa server pagtugot sa mga listahan, kinahanglan nimong gamiton ang mga built-in nga function 
  • Kanunay kinahanglan nga susihon ang tipo sa sulud, gidak-on, ug gitas-on sa pangutana
  • Gamita ang parameterized nga mga pangutana imbes nga manual nga mga pangutana sa database sa backend
  • Aron mapahimuslan ang mga lista sa pagtugot sa server
  • Aron matipigan ang mga talaan sa mga kasaypanan ug pagmonitor sa mga pagsulay sa pag-fuzz sa mga input sa datos

Awtorisasyon

Ang katuyoan sa pagtugot mao ang pagtino sa lebel sa pag-access.

Gibase sa XACML Access Control

Ang XACML kay XML-based, declarative access control policy nga pinulongan base sa XML. Makahatag kini og usa ka standardized nga paagi sa pag-validate sa mga hangyo sa pagtugot. Gihubit niini ang mga palisiya sa pagkontrol sa pag-access.

Open Policy Ahente OPA

Ang OPA usa ka open-source, general-purpose policy engine. Itakda sa OPA ang policy-as-code ug simple nga mga API aron i-offload ang pagdesisyon sa polisiya. Ang mga desisyon sa palisiya gihimo pinaagi sa pagtimbang-timbang sa input sa pangutana ug batok sa datos. Kini nga mga desisyon sa palisiya magtino kung kinsa nga mga tiggamit ang maka-access sa mga kapanguhaan.

Speedle+

Ang Speedle+ usa ka open-source nga proyekto aron matubag ang mga kinahanglanon sa pagkontrol sa pag-access. I-externalize ang access control logic sa usa ka policy engine gamit ang access control mechanism.

rate Pagpamenos

Ang pagtugot sa walay kinutuban nga pag-access sa mga API dili maayong praktis. Ang labing kaayo nga solusyon mao ang pagbaton sa usa ka mekanismo nga naglimite sa rate.

Ang paglimite sa rate aron mapanalipdan ang mga API makatabang sa mosunod nga mga paagi:

  • Paglikay sa mga pag-atake sa DDoS- Paglikay sa mga tig-atake sa pagbaha sa usa ka network nga adunay daghang trapiko. 
  • Ibutang ang mga plano sa paggamit sa API- Kini mahimong mapuslanon kung mag-monetize sa mga API. 
  • Ipatuman ang patas nga mga palisiya sa paggamit - Walay usa nga makakonsumo sa tanan nga gigahin nga mga kapanguhaan o bandwidth.
  • Paglikay sa sistema gikan sa sobra nga paggamit- Uban sa tukma nga rate-limitasyon. Posible nga mapanalipdan ang mga API ug backend gikan sa kalit nga sobrang paggamit ug paghangyo og mga spike.

Panapos

Ang mga API kinahanglanon na karon sa modernong internet ug digital app development. Ang mga app, mga serbisyo, ug mga platform sa software makagamit niini sa paghan-ay sa mga interaksyon. Ang RESTinterfaces nag-asoy sa kapin sa 80% sa tanang publiko ug proprietary nga mga API. Basaha ang among artikulo sa UNSA ANG API aron mas masabtan ang mahinungdanong kalainan tali sa REST ug SOAP API.

Magpabilin nga nahibal-an; magpabilin nga luwas!

Mag-subscribe Sa Among Senemanang Newsletter

Dawata ang pinakabag-o nga balita sa cybersecurity direkta sa imong inbox.