Cinco consejos para utilizar JavaAPI
Cinco consejos para usar la API de Java
No implementes el marco de seguridad tú mismo
Casi todo el mundo sabe que se debe evitar implementar cifrado y otros algoritmos. Del mismo modo, el resto del conjunto de seguridad de su aplicación puede resultar costoso y arriesgado. Lo más probable es que cometas algunos errores. Desde 1999, se han liberado 89.373 CVE (vulnerabilidades y exposiciones públicas). Y los descubridores de la mayoría de ellos son personas muy inteligentes.
Podría pensar que manejar un caso de uso simple (como validar la contraseña de un usuario) sería trivial: todo lo que debe hacer es comparar un par de cadenas. Sería un error pensar así. Necesita verificar los hashes de contraseñas, auditar los intentos de inicio de sesión, mitigar los ataques de diccionario y eso es solo 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. ¡Usa TLS, siempre! ¡Utiliza siempre TLS!
¡Solo se necesita una simple línea de código para que tu aplicación requiera TLS (HTTPS/SSL), y todo el mundo debería hacerlo! ! Si usa el marco Apache Shiro, solo necesita configurar el atributo: [urls]/**=ssl. Si usa Spring Security, solo necesita llamar a un método al configurar HttpSecurity. http.requiresChannel()anyRequest().requiresSecure(), en Spring Boot, solo necesita configurar algunas propiedades, de la siguiente manera: server.port=8443 server.ssl.key-store=classpath: keystore.jks server.ssl. clave-almacenamiento-contraseña=servidor secreto.ssl.clave-contraseña=otro-secreto.
3. Utilice Spring Booti para crear servicios web
Spring Boot: es una simplificación de la plataforma Spring, que puede hacer que escribir aplicaciones Spring sea muy simple, por ejemplo, puede usar muy pequeño código Escriba los puntos mencionados en el artículo "12 factores a considerar en las aplicaciones de aplicaciones". Si todavía estás codificando creando paquetes War, entonces vale la pena aprender Spring Boot. Se pueden usar aplicaciones complejas y diferentes tipos usando Spring Booti, por ejemplo, se pueden usar anotaciones simples.
(@EnableResourceServer)) para construir un servidor de recursos OAuth, o cambiar su puerto a través de un atributo simple: server.port 8090. Si no te gusta usar SpringBoot, puedes usar Dropwizard para construir un Pila de tecnología JAX-RS.
4. Monitorear aplicaciones e indicadores de rendimiento
Es difícil encontrar errores en el programa sin ningún dato. Spring Booti facilita la recopilación de datos de indicadores mediante Actuator. Solo necesita agregar una dependencia a la aplicación, de la siguiente manera: lt;dependencylt;groupldgt;org.springframework.bootlt;/groupldgt;.
lt;artifactldgt;spring-boot-starter-actuatorlt;/artifactldgt;.
lt;/dependencygt;.
Luego podrás verificar el estado de salud o indicadores de la aplicación a través del navegador, ingresando /health o /metrics luego de acceder a la dirección de la aplicación. El marco Dropwizard implementa la misma funcionalidad a través de Healthcheck y /metrics.
5. Proteja la información confidencial
La gente piensa que las claves API son inseguras, y esto es cierto. Las claves se envían por correo electrónico o se controlan mediante un sistema de gestión de código fuente. Quizás por eso parecen menos seguras que las contraseñas, pero son igual de sensibles. Si necesita almacenar la clave AP Chuan en un archivo, asegúrese de otorgar acceso limitado al archivo.
Por ejemplo, recomendamos almacenar los archivos YAML de Okta en un directorio privado y otorgar al propietario del archivo permisos de solo lectura. chmod u=r, go-rwx ~/.okta/okta.yaml Si estás creando una API para los usuarios que usan tu APP, recuerda recordarles que si los permisos no están configurados, el archivo SSH se coloca en tu ~ / Directorio .ssh, si los permisos no están establecidos. GitHub los coloca en "zonas de peligro" para recordarles a los usuarios, lo cual es muy útil.