Kolibërs Group
  • Inicio
  • Servicios


    • PenTest & VA

      • PenTest Web
      • PenTest Red
      • Vulnerabilidad Web
      • Vulnerabilidad Red
    • Desarrollo seguro
      • Code review
      • Cloud Security
      • Security Architecture
      • Desarrollo Web
    • Seguridad Empresarial
      • NIST CSF
      • dev-sec-ops
      • Iso 27001
    • Hacking Ético
    • CISO On-Demand
    • Awareness
    • Training
    • Seguridad FinTech
  • Blog
  • Contacto
  • Acerca

Zero Trust en APIs

Contraseñas seguras   14 de Enero, 2022

¿Qué es Zero Trust o Confianza Cero?

Comencemos con una breve explicación de los conceptos principales. Definamos, ¿qué es Zero Trust?

Básicamente Confianza Cero quiere decir que nuestras arquitecturas deben ser creadas para no confiar en nada ni en nadie; todos los usuarios, dispositivos IoT, móviles, redes, etc. deben ser autenticados y autorizados antes de poder transaccionar en nuestras redes.

El concepto de Confianza Cero, no es un concepto nuevo ya que desde mucho antes del 2010 los que nos dedicamos a pruebas de seguridad venimos pregonando que no se debe confiar en usuarios, dispositivos, etc., simplemente porque están dentro de lo que se considera el perímetro, "de este lado del Firewall", erróneamente mucha gente de IT piensa en términos de fuera del perímetro y dentro del perímetro y que el Firewall nos protege de todo lo que hay afuera, una vez dentro no hay de que preocuparse, pues ya han pasado los "estrictos" controles de que se tienen para protegernos de lo externo. Una y otra vez nos damos cuenta que esto está muy alejado de la realidad.

Sin embargo decir no confíes en nada ni en nadie se dice fácil, pero implementarlo no lo es. Zero Trust no es un producto es un paradigma, así que ningún vendor podría decir que tiene toda la solución para convertir a las organizaciones en Zero Trust, implementar este nuevo paradigma conlleva muchas cuestiones en este artículo vamos a hablar en específico de Microservicios. Ahora bien.

¿Qué son los Microservicios?

Los Microservicios son un estilo de arquitectura que descompone las aplicaciones en fragmentos pequeños al contrario de hacer una aplicación que haga todo el trabajo por sí misma, lo que se conoce como monolito. Este paradigma promete hacer que los desarrollos de software sean más fáciles de crear, sean más integrados y sean más fáciles de mantener.

Los micro servicios son:

Altamente mantenibles y testeables Tienen un bajo grado de acoplamiento Desplegables independientemente Organizado en torno a las capacidades del negocio Pertenecen a un equipo pequeño

Es lo contrario a aplicaciones monolíticas donde toda la funcionalidad esta dentro de una "gran" aplicación si algo falla, toda la aplicación falla, si hay que cambiar algo, se debe detener todo, etc.

Ambos paradigmas de monolitos y microservicios tienen sus pros y contras y sus casos de uso, dependiendo de las necesidades y ecosistema.

Los microservicios no son la panacea pero, para cierto tipo de aplicaciones han venido a revolucionar la industria del software.

¿Qué son las APIs?

Regularmente se emplea indistintamente Microservicio con APIs, pero no son los mismo, la definición de API es: Application Programming Interface o Interfaz de Aplicación Programable, es como las aplicaciones se comunican entre sí, las APIs son el medio por el cual se comunican algunos microservicios, las APIs han existido desde el inicio de la informática, los Sistemas Operativos utilizan API calls por ejemplo.

Para abonar a la confusión, también a veces se usa indistintamente API con Web Service y tampoco son lo mismo, un API puede no ser un Web Service pero un Web Service siempre es un API. :)

Cada vez que usas Facebook, envías un mensaje, checas el clima, haces una transferencia, estas usando APIs.

¿Pero cómo protejo mis APIs en mi red interna?

Habíamos mencionado que en Confianza Cero realmente debemos dejar de pensar en red interna y red externa, todo deber ser considerado inseguro hasta que se demuestre lo contrario, no importa de donde venga o de quien venga todo deber autenticarse y autorizarse explícitamente para poder operar.

Una buena practica para asegurar las APIs es emplear mTLS o mutual TLS para autentificación mutua y JWTs (JSON Web Token).

¿Qué es mTLS?

Creo que la mayoría estamos familiarizados con el funcionamiento de TLS que son los certificados que nos aparece en nuestro browser y nos dicen que la página que estámos visitando es quien dice ser y además cifra los datos en tránsito. En el caso de nuestro browser solo un participante se autentifica: el servidor o sitio con el que nos estamos comunicando, pero nosotros no nos autentificamos con él, en cambio con mTLS como su nombre lo dice la autentificación es mutua, de este modo ambas partes saben que están hablando con alguien autorizado pues cuentan con los certificados criptográficos para probarlo.

¿Que es un JWT?

Ya resolvimos la parte de la autentificación entre APIs con mTLS, ahora para la parte de autorización donde le decimos al cliente que tipo de permisos tiene o cuál es su nivel de acceso. Emplearemos JWTs, que simplemente son archivos de texto en formato JSON que son firmados digitalmente lo que asegura la integridad de lo que se comunica, los JWT también pueden ser cifrados pero con mTLS regularmente no es necesario.


Conclusión:

Con mTLS y JWTs podremos lograr una arquitectura de Confianza Zero y proveer autentificación y autorización con un alto grado de confianza para nuestras APIs y microservicios.

Estén atentos pues planeamos llevar a cabo una demostración empleando Python de como lo llevamos a la practica y puedan usar este mismo patrón con cualquier lenguaje.


Escrito Por:

Luis Moreno
Security Architect

Kolibërs PenTest de red

PenTest a Infraestructura

Conoce nuestro servicio de PenTest de Red. Probamos tu infraestructura de forma interna o externa con o sin credenciales para ayudarte a identificar vulnerabilidades en cualquier dispositivo en tu red.

  • Conocer más

Kolibërs entrenamiento en ciberseguridad

Entrenamiento en seguridad

Contamos con un programa de entrenamiento tanto para personal IT como para personas interesadas en el mundo de la ciberseguridad. Nuestros planes de estudio están enfocados en situaciones reales con una orientación practica y didáctica, impartidos por profesionales altamente calificados y experiencia en la vida real.

  • Conocer más

Agenda una visita

Visítanos o síguenos en nuestras redes sociales para que estes informado sobre cuestiones de seguridad y como proteger a tu organización.

  • Dirección:

    Tamaulipas 141 Piso 3
    Colonia Condesa
    Cuauhtémoc
    CDMX. C.P. 06140

  • Teléfono

    (55) 8421 4636

  • Email

    ventas@kolibers.com







© Kolibërs Group SAS de CV. Todos los derechos reservados.
Términos de uso |Política de Cookies | Política de privacidad | Contacto

Política de Cookies

Utilizamos cookies propias y de terceros para analizar la interacción en el sitio y mejorar la experiencia del usuario. Leer más.