¿Cinco consejos para usar JavaAPI?
¡A los programadores les encanta usar API! Por ejemplo, crear API para aplicaciones o como parte de una arquitectura de microservicios. Por supuesto, la premisa de utilizar API es facilitar su trabajo. Los esfuerzos por simplificar el desarrollo y aumentar la productividad a veces significan encontrar nuevas bibliotecas o procesos (o reducir procesos). A muchos equipos de desarrollo les lleva mucho tiempo administrar la autenticación y el control de acceso de sus aplicaciones y API, por lo que necesitamos compartir algunos consejos que pueden ahorrarle tiempo, reducir la cantidad de escritura de código y hacer que sus aplicaciones sean más seguras. Fácil de mantener. ?
Primero introduzca los conocimientos previos mencionados en este artículo: Okta es una aplicación Java basada en REST y JSONAPI, construida con el marco Spring. Las aplicaciones de nuestra empresa almacenan la identificación de los usuarios y datos sensibles de otras empresas, por lo que para nosotros la seguridad es lo más importante. Entonces, mi primer requisito para estas habilidades es que puedan ayudar a que sus aplicaciones Java sean más seguras. ?
Estas sugerencias deben ser comunes a cualquier tipo de aplicación Java. Le ayudarán a escribir código más rápido, pero con menos código y más seguridad: ¡es beneficioso para todos! ?
1. ¿No implementas el marco de seguridad tú mismo?
En serio, no intentes implementar un código seguro tú mismo, es demasiado difícil. ?
Casi todo el mundo sabe que se debe evitar implementar cifrado y otros algoritmos. Del mismo modo, el resto de la pila de seguridad de su aplicación es la misma, lo que puede resultar costoso y arriesgado. Puedes cometer algunos errores. Desde 1999, se han liberado 89.373 CVE (Vulnerabilidades y Exposiciones Públicas). Y la mayoría de los descubridores descubiertos son personas muy inteligentes. ?
Se podría pensar que manejar un caso de uso simple (como validar la contraseña de un usuario) es una cuestión sencilla: todo lo que hay que hacer es comparar un par de cadenas. Es un error pensar eso. Debe verificar los hash de contraseña, verificar la cantidad de intentos de inicio de sesión y mitigar los ataques de diccionario. Esto es sólo la punta del iceberg. Su mejor opción es utilizar bibliotecas o marcos maduros existentes, como Shiro o Spring Security de Apache, y dejar que estos marcos manejen varios problemas de seguridad complejos. ?
2. ¡Útil, siempre útil! ¡Asegúrese de utilizar TLS! ?
Estamos en 2017 y todos los sitios web deben utilizar HTTPS, incluso las intranets de las empresas. ¡Deje que sencrypt haga que HTTPS sea simple y fácil, lo que significa que ya no podrá usar claves autofirmadas inseguras! Incluso puedes configurar una instancia certificada de Tomcat o Nginx localmente. ?