Cómo mejorar la seguridad en el desarrollo sin servidor
- Gestión de IT
Seguir las mejores prácticas, como no confiar nunca en ninguna información, fallar de forma segura y respetar el principio de privilegio mínimo, sigue siendo importantes en el desarrollo sin servidor.
El problema de la confianza significa que el cifrado como medio para proteger secretos, como la API y las claves de cifrado, las configuraciones y las credenciales de acceso a la base de datos, es esencial: no se deben almacenar secretos en texto plano. Preferiblemente, deben almacenarse solo cuando sea estrictamente necesario, preferiblemente, una variedad de sistemas de administración de secretos están disponibles. Los datos de cualquier función o servicio también deben cifrarse para evitar la acumulación de una cadena de funciones frágiles; Un eslabón débil rompe la cadena de seguridad.
El privilegio mínimo significa que solo se deben otorgar privilegios suficientes para el comportamiento deseado, lo que ayuda a evitar, por ejemplo, la ejecución de funciones de nivel de sistema. Esto implica una autenticación robusta: el control de acceso se debe aplicar de forma generalizada a desencadenadores, funciones y eventos, según corresponda.
Este entorno complejo también puede ser un desafío para monitorear, visualizar y depurar, que es otro peligro para la seguridad. Por lo tanto, el registro adecuado para ayudar con la depuración en este entorno complejo es esencial, ya que es probable que la visibilidad de las funciones individuales sea necesariamente limitada. El registro detallado también mejorará la visibilidad de las acciones de los intrusos y ayudará a prevenir violaciones.
Además, la complejidad de los entornos sin servidor significa que es altamente recomendable verificar las dependencias de las bibliotecas externas y los recursos web para detectar vulnerabilidades. Y, por supuesto, la validación de entrada sigue siendo esencial.
Sin embargo, serverless no es todo pesimismo. Hay beneficios de seguridad para la tecnología. Aparte de los mencionados anteriormente, como la capacidad de dejar los problemas de asegurar la infraestructura al proveedor de FaaS, porque una función sin servidor se activa, hace su trabajo y reduce rápidamente lo que significa que será menos vulnerable a los ataques de larga duración, como como DDOS.
Las funciones tienden a ser piezas de código relativamente pequeñas, lo que facilita la definición exacta de lo que hará y lo que no hará, lo que ayuda a reducir la superficie de ataque. De la misma manera, sin embargo, es muy fácil implementar una función, y otras aplicaciones pueden volverse dependientes de ella, lo que hace que su eliminación sea arriesgada, lo que a su vez significa que puede terminar con muchas funciones en la implementación con conexiones mal definidas.
Descubre la innovación
Para asegurar el éxito empresarial, ahora y a futuro, es imprescindible maximizar el retorno de la inversión existente en software, a la vez que innovar y adoptar nuevas tecnologías. Los retos que hay abordar para competir en un mundo de TI Híbrida incluyen DevOps, Seguridad, Gestión de riesgos y Análisis predictivo. Puedes obtener más información sobre cómo abordar estos retos e innovar en este enlace.