¿Por qué y cómo proteger el punto final de la API?

¿Cómo estás asegurando tu API??


Es la era de la explosión de la economía digital, y se están canalizando cargas masivas de datos a través de API. Negocios, juegos, educación, ciencia, artes. . . lo que sea, todo funciona en las API. Para un mundo tan fundamentalmente dependiente de las API, sorprendentemente se presta poca atención a la seguridad.

Para los desarrolladores, los valores predeterminados de sus marcos son suficientes; o peor aún, cuando no se utilizan marcos, piensan que están siguiendo prácticas seguras. Para los administradores del sistema, la seguridad predeterminada que ofrecen su infraestructura o proveedor de servicios es en lo que confían.

No es una vista bonita, si me preguntas.

Fuente: developer.ibm.com

No hace falta decir que hay mucho en juego, de lo que nos damos cuenta solo cuando algo realmente terrible sucede.

Pero lo primero es lo primero. ��

Por qué proteger los puntos finales de la API?

Esto tiene que ser obvio, ¿verdad? Necesitamos asegurar puntos finales porque, bueno, de eso depende el negocio.

Si bien ese es un argumento suficientemente fuerte en sí mismo, quiero ampliar un poco el punto de vista y resaltar otras consecuencias relacionadas, pero igualmente mortales..

Pérdida de negocios

Este es el obvio. Si alguien logra meterse con sus puntos finales de la API, se detendrá todo. Las violaciones de seguridad también pueden tomar mucho tiempo para recuperarse, lo que se traduce en suicidio en términos comerciales. Si bien es cierto que la mayoría de las empresas probablemente no se verán afectadas por una o dos horas de tiempo de inactividad, para algunos no está permitido.

Imagine que un cambio de divisas está caído por unos minutos!

Cuestiones de cumplimiento

No proteger sus API correctamente puede ocasionarle serios problemas, dependiendo de las geografías o industrias con las que esté tratando. Por ejemplo, si está sirviendo a la industria bancaria (especialmente en la UE), el costo de ser descubierto sirviendo con API inseguras resultará en problemas legales y de cumplimiento masivos. Tanto que incluso podría significar el final de su negocio.

Pérdida de reputación

Ser pirateado es bastante doloroso en sí mismo, pero si las noticias salen al público, habrá una pérdida irrecuperable en su imagen de marca. Por ejemplo, Sony ha sido hackeado muy mal algunas veces, y en los círculos de seguridad, la compañía es una hazmerreír de algún tipo.

Incluso si no se incurre en una pérdida real de datos o dinero, buena suerte tratando de convencer a sus clientes. ��

Facturas de infraestructura infladas

Cuando su API se ejecuta en una infraestructura, consume recursos (ancho de banda, CPU y memoria, principalmente). Por ejemplo, cuando la API no está asegurada correctamente y los extraños maliciosos pueden interactuar con ella, es posible que obliguen a la API a seguir haciendo mucho trabajo sin sentido (ejecutando consultas pesadas de bases de datos, por ejemplo), que pueden dispararse sus facturas por razones.

En las plataformas donde está habilitado el escalado automático de recursos (como AWS), los resultados pueden ser impactantes (fuera del tema, pero si alguna vez te encuentras atrapado en una sopa como esta en AWS, entienden bastante la situación y renuncian rápidamente factura inflada – ¡al momento de escribir, al menos!).

Moral del equipo

Entonces, ¿podría estar pensando que el equipo que permitió que estos compromisos sucedan perderá la moral sobre ellos? Bueno, no del todo. Es posible que los compromisos se debieran a la débil seguridad de la infraestructura, lo que desanimará a los desarrolladores o viceversa..

Si esto sucede el tiempo suficiente, tendrás una cultura en tus manos de la que te arrepentirás de haber desarrollado.

Ganancias de la competencia

Entonces, digamos que hubo una violación pero no hubo una pérdida real. Sin embargo, sus competidores usarán el incidente para obtener su propia API y afirmar cuánto más segura es la suya (¡incluso si no lo es!). Una vez más, buena suerte tratando de convencer al mercado. ��

En general, hay consecuencias a las violaciones de seguridad que van más allá de perder dinero..

Mejores prácticas para asegurar puntos finales de API

Afortunadamente, hay ciertas prácticas fáciles de implementar y bien entendidas que puede aplicar a sus puntos finales API para protegerlos. Esto es lo que recomiendan la mayoría de los expertos en seguridad..

HTTPS siempre

Si sus puntos finales API permiten a los consumidores API hablar sobre http u otros protocolos no seguros, los está poniendo en gran riesgo. Las contraseñas, las claves secretas y la información de la tarjeta de crédito se pueden robar fácilmente como cualquier ataque de hombre en el medio o la herramienta sniffer de paquetes puede leerlos como texto sin formato.

Por lo tanto, siempre haga que https sea la única opción disponible. No importa cuán trivial pueda parecer un punto final, conectarse a través de http ni siquiera debería ser una opción. El certificado TLS no cuesta mucho, puede comprarlo por tan solo $ 20 Tienda SSL.

Hashing de contraseña unidireccional

Las contraseñas nunca deben almacenarse como texto sin formato, ya que en caso de que se produzca una violación de seguridad, todas las cuentas de usuario se verán comprometidas. Al mismo tiempo, se debe evitar estrictamente el cifrado simétrico, ya que cualquier atacante lo suficientemente ingenioso y persistente podrá romperlos..

La única opción sugerida son los algoritmos de cifrado asimétricos (o “unidireccionales”) para almacenar contraseñas. De esa forma, ni un atacante ni ningún desarrollador o administrador de sistemas dentro de la empresa podrán leer las contraseñas de los clientes..

Autenticación fuerte

Ahora, casi todas las API tienen una forma de autenticación, pero en mi opinión, el sistema OAuth2 funciona mejor. A diferencia de otros métodos de autenticación, divide su cuenta en recursos y solo permite un acceso limitado al portador del token de autenticación.

Al mismo tiempo, otra muy buena práctica para configurar los tokens para que caduquen cada 24 horas, por ejemplo, de modo que necesiten actualizarse. De esta forma, incluso si su ficha se filtra, existe la posibilidad de que el plazo de 24 horas reduzca el impacto de la violación.

Aplicar límite de velocidad

A menos que tenga una API que millones de personas utilizan cada minuto, es una muy buena idea imponer un límite de cuántas llamadas puede hacer un cliente a la API en un período de tiempo determinado.

Esto es principalmente para desalentar a los bots, que pueden seguir enviando cientos de solicitudes simultáneas cada segundo y hacer que su API consuma recursos del sistema sin una buena razón. Todos los marcos de desarrollo web vienen con un middleware que limita la velocidad (y si no, es bastante fácil agregarlo a través de una biblioteca) que demora aproximadamente un minuto en configurarse.

Validar entrada

Esto parece una obviedad, pero se sorprenderá de cuántas API caen en esto. Validar la entrada no solo significa verificar que los datos entrantes estén en un formato correcto, sino también que no hay sorpresas posibles. Un ejemplo simple es la inyección SQL, que puede borrar sus bases de datos si deja pasar las cadenas de consulta con poca o ninguna verificación.

Otro ejemplo es validar el tamaño de la solicitud POST y devolver un código de error y un mensaje adecuados al cliente. Intentar aceptar y analizar entradas ridículamente grandes solo servirá para hacer explotar la API.

Aplicar el filtrado de direcciones IP, si corresponde

Si está interesado en los servicios B2B y las empresas utilizan sus API desde ubicaciones establecidas, considere agregar una capa adicional de seguridad que restrinja la dirección IP que puede acceder a su API. Para cada nueva ubicación y nuevos clientes, la dirección IP deberá verificarse con la solicitud entrante.

Sí, agrega molestias a la incorporación, pero el resultado final es una seguridad mucho más estricta de lo que se puede lograr de otra manera.

Herramientas para aumentar la protección API

¿Existen herramientas que pueden ayudarnos a analizar la vulnerabilidad, o incluso mejor, que ofrecen la primera línea de defensa cuando se trata de proteger las API??

Afortunadamente si. Hay varias herramientas que puede usar, pero tenga en cuenta que, al final del día, ninguna estrategia de seguridad es perfecta. Dicho esto, estas herramientas pueden aumentar la seguridad de su API muchas veces, por lo que se recomiendan.

Metasploit

Metasploit es un marco de código abierto extremadamente popular para pruebas de penetración de aplicaciones web y API. Puede escanear su API en varios parámetros diferentes y hacer una exhaustiva auditoría de seguridad para los diferentes niveles de vulnerabilidades presentes.

Por ejemplo, el análisis de seguridad realizado por Metasploit puede decirle si sus firmas de API regalan las tecnologías subyacentes y el sistema operativo o no; ocultar esto es a menudo la mitad de la batalla ganada en seguridad API.

Si bien el marco básico de código abierto generalmente es suficiente, existen excelentes productos pagos construidos sobre Metasploit que merecen una mirada. El plan profesional es excelente si desea soporte premium y utilizará el marco en profundidad, pero generalmente no es necesario si su equipo tiene suficiente experiencia.

Flama de nube

No solo CDN sino Flama de nube ofrece muchas funciones de seguridad como WAF, limitación de velocidad, protección DDoS que será esencial para proteger su API de las amenazas en línea.

Netsparker

Netsparker viene con un USP de “escaneo basado en pruebas”. En términos más simples, a menudo es posible que las condiciones irregulares de la red o algunos comportamientos de API menos conocidos se interpreten como lagunas de seguridad, que más tarde se descubrieron como incorrectas.

Esto desperdicia recursos, ya que todas las vulnerabilidades informadas deben analizarse nuevamente manualmente para confirmar que no son falsos positivos. Netsparker dice que la herramienta puede proporcionarle una prueba de concepto lo suficientemente sólida para los informes, eliminando dudas sobre los enlaces débiles encontrados.

Con compañías como Sony, Religare, Coca-Cola, Huawei, etc., en su lista de clientes, puede estar seguro de que estas personas están haciendo algo bien. �� Por cierto, también tienen una increíble blog de seguridad web que deberías seguir.

SoapUI Pro

Creado por SmartBear, SoapUI Pro es una forma intuitiva y fácil de crear pruebas de API y obtener informes precisos basados ​​en datos sobre ellas. También se integra perfectamente con su canalización de CI / CD, asegurándose de que las nuevas incorporaciones de código no comprometan la seguridad de su API.

SoapUI puede trabajar con Swagger, OAS y otros estándares API populares, reduciendo significativamente el tiempo para comenzar. Con clientes como Microsoft, Cisco, MasterCard, Oracle, etc., y planes que comienzan en $ 659 por año, esta es una herramienta valiosa para API más seguras.

Trustwave

Trustwave es un conjunto de soluciones centradas en el escaneo y fortalecimiento de la seguridad. Una de las cosas únicas de este servicio es que no solo realiza una detección precisa de amenazas en su API, sino que también lo ayuda a comprender cómo solucionarlos.

Trustwave realiza lo que llama exploración sensible al contexto, lo que significa que una vez que se ha detectado un sistema operativo o infraestructura subyacente, el servicio realiza una serie de comprobaciones relacionadas para asegurarse de que no haya agujeros de seguridad desagradables relacionados con esa plataforma..

También cuentan con un fuerte equipo de investigadores de seguridad que continuamente actualizan las capacidades del servicio. Si eres grande en el cumplimiento, Trustwave es una buena solución.

Si vive según los números y desea disfrutar de funciones como la respuesta a amenazas, la repetición de pruebas con un solo clic después de las correcciones, etc., no busque más!

Hay Sin escasez de herramientas de seguridad API disponibles en el mercado, ya sea de código abierto, gratis o comercial, o cualquier combinación de estas. Siéntase libre de explorar más, y si encuentra algo aún mejor, ¡escríbalo en los comentarios y estaré encantado de incluirlo! ��

TAGS:

  • API

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map