Millors pràctiques de seguretat de l'API

Pràctiques recomanades de seguretat de l'API: una llista de comprovació per a desenvolupadors

TL; DR

La majoria de les bretxes d'API es deuen a autoritzacions trencades, no a exploits exòtics. Tres de les cinc categories principals del Top 10 de seguretat de l'API d'OWASP són errors d'autorització, encapçalats per BOLA.

No pots assegurar allò que no saps que existeix. Gestió inadequada de l'inventari té la seva pròpia categoria de risc OWASP, i és la base de la qual depenen tots els altres controls.

Captura l'exposició abans del desplegament, no després. L'anàlisi estàtica del codi i les especificacions de l'API troba un punt final trencat en un pull request, pel cost d'un commit; les proves en temps d'execució troben el mateix problema en directe, pel cost d'un incident.

Aquesta és una llista de comprovació per executar-la contínuament. A tots pull request, no és una revisió prèvia al llançament: 10 pràctiques, des de l'inventari i l'autorització fins a la limitació de la velocitat, l'exposició de les dades de resposta i la confiança en tercers.

La superfície d'atac de la teva API creix amb cada pull requestLa majoria dels equips només descobreixen que un punt final està exposat un cop està en funcionament i rep trànsit, cosa que significa la solució que hauria costat un commit La revisió ara costa un informe d'incidents. Aquesta guia repassa les millors pràctiques de seguretat de l'API que realment es mantenen en producció, organitzades com una llista de comprovació que podeu executar amb la vostra pròpia base de codi avui mateix, no com una llista de principis abstractes que ningú implementa.

Per què les millors pràctiques de seguretat de les API tenen un aspecte diferent ara

Les API solien ser el teixit connectiu entre els sistemes. Ara són la interfície principal per a gairebé tot: aplicacions mòbils, integracions de socis, agents d'IA, microserveis interns. Aquest canvi va canviar el que les millors pràctiques de protecció d'API han de cobrir. Ja no n'hi ha prou amb assegurar l'API que has documentat; has de tenir en compte les que els teus equips van crear i es van oblidar d'escriure.

Dos números expliquen per què això és important. El Els 10 millors de seguretat de l'API d'OWASP inclou els problemes d'autorització trencada en tres de les seves cinc categories principals, cosa que significa que la majoria d'incidents d'API del món real es remunten a un grapat de patrons evitables, no a patrons exòtics de dia zero. I la gestió inadequada de l'inventari es troba a la mateixa llista que la seva pròpia categoria de risc: els equips són violats a través d'API que no sabien que encara estaven en funcionament.

Aquest és el tema que recorre tots els elements següents. Les bones pràctiques de gestió d'API comencen per saber què tens, no només per defensar el que has recordat documentar.

Resum de les millors pràctiques de seguretat de l'API

Abans de la llista de comprovació detallada, aquí teniu la versió curta: què cal implementar, contra què protegeix realment i amb quina urgència.

PràcticaContra què protegeixPrioritat
Xifratge HTTPS/TLSIntercepció de dades, atacs de tipus man-in-the-middleCal
Autenticació (OAuth 2.0, JWT)Accés no autoritzat, suplantació d'identitatCal
Autorització i control d'accésEscalada de privilegis, fuita de dadesCal
Validació d'entradaAtacs d'injecció, sol·licituds mal formadesCal
Inventari complet de l'APIPunts finals no documentats i obsolets que queden exposatsCal
Limitació de tarifesAtacs de força bruta, DDoS, abúsalt
Gestió de claus APIRobatori de credencials, ús no autoritzatalt
Registre i seguimentInfraccions no detectades, resposta lenta a incidentsalt
Anàlisi estàtica abans del desplegamentExposició enviada a producció abans que ningú la revisialt
Proves de seguretat (SAST + DAST)Vulnerabilitats desconegudes, regressionsalt

Tracteu la fila "Obligatòria" com la línia de base no negociable per a qualsevol API, interna o pública. Els elements de prioritat "Alta" són el que diferencia un programa que detecta problemes en un pull request d'algú que ho descobreix en un informe d'incidents.

Llista de comprovació de les millors pràctiques de seguretat de l'API

1. Fes un inventari complet abans de construir una defensa

No podeu protegir un punt final que no sabeu que existeix. Comenceu cada esforç de bones pràctiques de protecció d'API amb un inventari real: cada punt final, el seu mètode, la seva ruta, el servei i el mòdul al qual pertany, i si requereix autenticació. Extreieu-ho del codi font i de les especificacions de la vostra API (OpenAPI, Swagger) junts, no només de la documentació, perquè la bretxa entre els dos és exactament on s'amaguen els punts finals oblidats i orfes.

On encaixa Xygeni: Seguretat de l'API de Xygeni crea aquest inventari directament a partir del codi font de l'aplicació i les especificacions de l'API, fent emergir els punts finals que el vostre equip ha documentat i els que ningú ha documentat, abans que cap d'ells arribi a producció.

2. Aplicar l'autorització a nivell d'objecte i funció

L'autorització trencada a nivell d'objecte i a nivell de funció encapçala constantment el Top 10 de seguretat d'API d'OWASP. La millor pràctica no és "afegir autenticació", sinó comprovar, a cada sol·licitud, si aquest usuari específic té permís per accedir aquest objecte específic, no només si han iniciat sessió. L'autenticació respon a qui és algú. L'autorització respon a què pot tocar, i s'ha de comprovar cada vegada, no s'ha de suposar a partir d'un token vàlid.

3. Validar i sanejar tot el que rep l'API

Tots els paràmetres, capçaleres i camps de cos són entrades no fiables fins que es demostri el contrari. Apliqueu una validació estricta de l'esquema, rebutgeu camps inesperats (aquesta és la vostra defensa contra l'assignació massiva) i no confieu mai en les dades proporcionades pel client per determinar l'abast de l'accés o la lògica de preus.

4. Límit de velocitat i acceleració per disseny, no com una idea a posteriori

El consum de recursos sense restriccions permet que un sol client esgoti la vostra infraestructura o augmenti els costos dels serveis de backend de pagament per ús. Establiu límits per punt final, per usuari i per clau d'API, i assegureu-vos que els límits s'adaptin al cost real de l'operació, no a un nombre fix aplicat a tot arreu.

5. Tracta cada resposta com una possible filtració de dades

L'exposició excessiva de dades es produeix quan una API retorna més del que el client necessita i depèn del frontend per filtrar-ho. Això és un hàbit, no un error estrany, i és una de les violacions més comunes de les millors pràctiques de protecció d'API perquè és invisible fins que algú inspecciona les respostes en brut en lloc de la interfície d'usuari renderitzada.

On encaixa Xygeni: Xygeni API Security marca l'exposició a PII directament a les respostes de l'API, detectant l'excés de dades compartides abans de l'enviament en lloc de després que un client o un regulador ho noti.

6. Mantingueu un inventari d'API precís i actualitzat, incloses les obsoletes

Inadequat inventari La gestió té la seva pròpia categoria amb nom a la llista OWASP per una raó: les versions d'API obsoletes i els entorns de proves no documentats sovint encara són accessibles, i sovint encara vulnerables, molt després que algú recordi que existeixen. Un programa de bones pràctiques de gestió d'API ha d'incloure la desactivació, no només el descobriment.

7. Examineu en què confia la vostra API respecte a tercers

El consum no segur d'API de tercers és un risc infravalorat. Els desenvolupadors tendeixen a confiar més en les dades que provenen d'una altra API que en l'entrada de l'usuari, cosa que és exactament a l'inrevés; una integració de tercers continua sent una font externa i no verificada, i s'ha de validar de la mateixa manera.

8. Posar proves davant dels desenvolupadors, no només alertes

Una troballa que diu "autorització trencada en aquest punt final" és un tiquet que algú ha d'investigar abans de poder començar a solucionar-lo. Una troballa que apunta al fitxer, la classe, el mètode i la línia exactes és quelcom sobre el qual un desenvolupador pot actuar immediatament. Aquesta és una pràctica recomanada per al programa de seguretat en si, no només per a l'API: les troballes que requereixen investigació abans de la correcció ho alenteixen tot.

On encaixa Xygeni: Cada troballa de seguretat de l'API de Xygeni apunta al controlador, fitxer, classe, mètode i línia exactes que l'han introduït, de manera que la correcció comença en el moment en què arriba la troballa.

9. Trobeu l'exposició abans del desplegament, no després

Les proves de l'API en temps d'execució indiquen que un punt final està exposat un cop ja està servint trànsit. L'anàlisi estàtica del codi i les especificacions de l'API troba la mateixa exposició mentre encara es troba en un pull request, quan la reparació costa un commit en lloc d'una resposta a incidents. Les millors pràctiques de gestió d'API més sòlides tracten la descoberta estàtica com la primera capa, amb les proves en temps d'execució com una segona comprovació complementària del que ja està en funcionament.

On encaixa Xygeni: La seguretat de l'API de Xygeni és estàtica per disseny, analitza el codi i les especificacions abans del llançament i funciona juntament amb Xygeni DAST per a la cobertura en temps d'execució d'aplicacions que ja estan en producció.

10. Mantingueu el risc de l'API al mateix lloc que la resta del risc de l'aplicació

Les API no fallen de manera aïllada. Una vulnerabilitat d'API sovint es troba a continuació d'un problema de dependència, una configuració incorrecta pipeline, o un secret filtrat. Tractar la seguretat de l'API com una eina separada amb la seva pròpia consola significa perdre aquest context just quan més importa.

On encaixa Xygeni: La seguretat de l'API es troba al costat de SAST, SCA, Secrets, IaCi DAST en una sola plataforma Xygeni, de manera que una troballa d'API sigui visible al costat del codi i el risc de dependència que l'ha produït, no en un fitxer separat login.

Convertir la llista de verificació en un hàbit

Les millors pràctiques de seguretat de l'API només funcionen com a pràctica contínua, no com a revisió prèvia al llançament. Executeu inventari i anàlisi estàtica a cada pull request, no un cop al trimestre. Tracteu un punt final nou i sense documentar de la mateixa manera que tractaríeu una dependència nova i sense documentar: com una cosa que cal investigar immediatament, no eventualment. I mesureu les vostres millors pràctiques de protecció d'API de la mateixa manera que mesureu qualsevol altra part del SDLC, per la rapidesa amb què detectes el problema, no només per si l'has detectat.

Respostes ràpides: preguntes i respostes sobre les millors pràctiques de seguretat de l'API

QüestióRespondre
Quina és la millor pràctica de seguretat de l'API més important?Autenticació i autorització fortes, aplicades a tots els punts finals, no només als que heu recordat protegir.
Les API internes haurien d'utilitzar HTTPS?Sí. Xifra tot el trànsit de l'API, inclosa la comunicació entre serveis, no només els punts finals que s'obren al públic.
Són suficients les claus API per a la seguretat?No. Les claus API identifiquen una aplicació, no un usuari. Combina-les amb OAuth 2.0 o JWT per a una autenticació real.
Què és BOLA?Autorització a nivell d'objecte trencada: una API no verifica que un usuari tingui permís per accedir a un recurs específic. Ha ocupat el lloc número 1 al Top 10 de seguretat d'API d'OWASP des del 2019.
Amb quina freqüència he de rotar les claus API?Regularment, cada 60 a 90 dies, i immediatament després de qualsevol sospita de compromís.
Quin codi d'estat hauria de limitar la taxa de retorn?429 Massa sol·licituds, amb una capçalera Retry-After que indica al client quan ho ha de tornar a intentar.
Hauria de validar l'entrada al servidor, fins i tot darrere d'una passarel·la?Sempre. Valida a la capa de l'API independentment del que ja hagi comprovat un client o una passarel·la aigües amunt.
Com puc provar la seguretat de l'API a CI/CD?Comproveu l'autenticació, l'autorització, la validació d'entrada i la limitació de velocitat a cada pull request, no només abans d'un llançament, i automatitzar-ho en lloc de dependre de la revisió manual.

Sortides de claus

  • L'inventari va per davant de la defensa. No podeu aplicar autoritzacions, límits de velocitat o controls de dades a un punt final que no sabeu que existeix, i una gestió inadequada de l'inventari és un risc propi al Top 10 de seguretat de l'API d'OWASP.
  • L'autorització, no només l'autenticació, és on es produeixen la majoria de les infraccions. Tres dels cinc riscos de seguretat de l'API d'OWASP més importants són els errors d'autorització. Comprovar qui és algú no és el mateix que comprovar què té permís per tocar.
  • L'anàlisi estàtica detecta allò que les proves en temps d'execució detecten massa tard. Trobar exposició en un pull request costa un commitTrobar-ho en els costos de producció és un incident.
  • Cada resposta és una possible filtració de dades. L'exposició excessiva de dades és un hàbit, no un error estrany, i és invisible fins que algú inspecciona les respostes de l'API en brut en lloc de la interfície d'usuari renderitzada.
  • Les millors pràctiques de seguretat de les API només funcionen com un hàbit continu, s'executen a cada pull request, no una revisió trimestral ni una llista de comprovació prèvia al llançament.
  • El risc de l'API no hauria de residir en una eina separada. Les pràctiques recomanades de protecció d'API més útils tracten les troballes de l'API com a part del mateix panorama de riscos que el codi, la dependència i pipeline security, no una consola aïllada.

FAQ

Quines són les millors pràctiques de seguretat de l'API més importants per començar?

Comença amb l'inventari. No pots aplicar comprovacions d'autorització, límits de velocitat o controls d'exposició de dades a un punt final que no saps que existeix, per la qual cosa un inventari complet i precís de cada punt final de l'API és la base de la qual depèn tot el que hi ha en aquesta llista de comprovació.

Quina diferència hi ha entre les millors pràctiques de seguretat de l'API i les millors pràctiques de seguretat d'aplicacions generals?

Les API introdueixen riscos que les pràctiques generals d'AppSec no cobreixen completament: l'autorització a nivell d'objecte i funció a escala, el perill específic de confiar en les respostes de l'API de tercers i el repte de fer un seguiment dels punts finals obsolets o no documentats. Les millors pràctiques de seguretat de les API són les millors pràctiques de seguretat de les aplicacions, aplicades a les parts de la superfície d'atac que són més fàcils d'oblidar.

Les proves de seguretat de l'API s'han de fer abans o després del desplegament?

Tots dos, però el punt de major influència és abans. L'anàlisi estàtica del codi i les especificacions de l'API detecta l'exposició mentre encara és una pull requestLes proves en temps d'execució (DAST) validen el que realment es pot assolir un cop l'aplicació està en funcionament. Confiar només en les proves en temps d'execució significa que cada correcció costa més del que caldria.

Amb quina freqüència s'ha d'actualitzar un inventari d'API?

Contínuament, idealment a cada pull requestUn inventari creat una vegada i revisat trimestralment ja està obsolet en el moment en què s'envia un nou punt final, que és exactament la bretxa que explota una gestió inadequada de l'inventari.

Les millors pràctiques de gestió d'API s'apliquen a les API internes, no només a les que són públiques?

Sí. Les API internes sovint tenen un nivell de seguretat més baix perquè "no estan exposades a Internet", però tot i així gestionen dades sensibles i qualsevol persona amb accés a la xarxa interna, inclòs un compte compromès o una persona interna, encara hi pot accedir.

sca-tools-software-composition-analyse-tools
Prioritzar, solucionar i protegir els riscos del programari
Obtén el teu compte gratuït.
No es requereix cap targeta de crèdit.

Assegura el desenvolupament i el lliurament del teu programari

amb el paquet de productes Xygeni