Seguridad en capas: Protección de aplicaciones.

Uno de los principales puntos de contacto de las organizaciones con el mundo exterior son sus aplicativos web, donde los usuarios pueden desde buscar información del negocio hasta realizar compras utilizando diferentes medios de pago, por esta razón debemos asegurarnos de que nuestras plataformas son lo suficientemente seguras para generar la confianza en nuestros clientes.

Si bien en la actualidad la mayoría de los negocios delegan el desarrollo de sus aplicativos web debemos asegurarnos de que estos aplicativos son programados utilizando técnicas de programación segura, algunas de las cuales se listan a continuación: 

  • Validación de los datos: Si bien esta es una de las prácticas más comunes en los ambientes de desarrollo, se sigue encontrando falta de validaciones en los campos o dichas validaciones solamente se realizan del lado del cliente y no del servidor dejando brechas de seguridad que podrían ser aprovechados para llevar a cabo ataques de inyección sql contra nuestros aplicativos.
  • Almacenar solamente la información necesaria: En la actualidad se recopila una gran cantidad de información ya sea métricas, cookies, datos en duro del usuario, por esa razón debemos tener claro qué deseamos almacenar y porqué, así mismo establecer una medida de cifrado de contraseña de modo que no sea visible para el administrador del sistema.
  • No inventar el agua tibia: Si bien es muy probable que deseemos crear un sistema de 0 con las que nosotros consideramos las mejores prácticas de seguridad y programación, debemos tomar lo que esté disponible en la industria como: frameworks, librerías, código reutilizado, que además de ayudarnos en la seguridad nos ahorra tiempo en el desarrollo.
  • Pruebas de QA: En muchas ocasiones pensamos que nuestro desarrollo es el más limpio y correcto y que nos podemos saltar ciertas pruebas de estrés y validación del mismo, por lo cual es recomendable realizar pruebas o testing en diferentes puntos del desarrollo para asegurar su correcto funcionamiento.


Ejemplo de ciclo de vida de software.

Fuente:Belatrixsf.

Luego de la fase de desarrollo y pruebas del sistema, viene la prueba de fuego real, la cual consiste en exponer nuestro desarrollo al consumo de los clientes finales(Visitantes de nuestro sitio, consumidores, clientes finales, proveedores, etc.), para lo cual se debe asegurar la integridad de la información que se ingresa(logins, tarjetas de crédito, etc), que el usuario final sepa que somos la empresa u organización  que decimos representar para que tenga la confianza en utilizar nuestros servicios, es por ello que debemos tomar las siguientes consideraciones de seguridad antes de poner en producción nuestro aplicativo web de cara al público:

  • Instalación de certificado SSL: Si bien el uso de certificados SSL es una práctica que se ha ido adoptando con el paso del tiempo, aún es posible encontrar muchos sitios y aplicaciones web que no cuentan con uno, lo que los hace un blanco fácil de atacar por los hackers ya que toda la información que transita por el sitio viaja a través de la red en texto plano, esto permite fácilmente su recuperación por un tercero con solo colocar un sniffer durante se utilice la página.
  • Aseguramiento del servidor donde está alojado el aplicativo: En caso de tener nuestro aplicativo alojado en nuestros servidores internos debemos asegurarnos de que estos cumplen con las medidas de seguridad establecidas en la industria algunas de las cuales son: deshabilitar SSLv2 y v3, deshabilitar TLS 1.0 y 1.2, utilizar ciphers de cifrado seguros etc, se puede utilizar el sitio ssllabs.com para conocer el estado de nuestro servidor.
  • Restricciones de login: Debemos establecer medidas necesarias para evitar los ataques de fuerza bruta combinados con el uso de contraseñas robustas para mantener a salvo tus accesos administrativos al sitio.
  • Realiza copias de seguridad de tu sitio: Siempre es necesario contar con una copia de seguridad de tus equipos, si es de tus aplicaciones web aún más ya que en ellas se almacena información de tus usuarios y del negocio y en caso de incidente es recomendable contar con un punto de recuperación.  
  • Realizar pruebas de pentesting: Si bien muchas organizaciones cuentan con análisis de seguridad internos, los aplicativos web son de los más olvidados, por lo que es recomendable  realizar pruebas de pentesting a fin de identificar vulnerabilidades en nuestro aplicativo.
  • Utilizar WAF: Un último paso para tener 100% asegurados nuestros aplicativos web es el uso de un web application firewall, esta debe ser capaz de protegernos contra el top 10 amenazas de OWASP.

Adicional a estos consejos podemos guiarnos de las configuraciones que debemos proteger  brindadas por OWASP, algunas de las cuales se listan a continuación: 

  • Injection : Inyección SQL, NoSQL, OS, and LDAP, la cual ocurre cuando un atacante envía data no validada al sistema y es capaz de realizar consultas a la base de datos con el fin de obtener información del sistema.
  • Broken Authentication: Una mala configuración en el manejo de sesiones de los usuarios puede permitir a los atacantes ganar el acceso al sistema, tokens de acceso, llaves etc
  • Broken Access Control: La restricción sobre qué accesos deben tener los usuarios debe ser controlada basándose en el principio de mínimos privilegios para evitar que los usuarios tengan permisos que no deberían.
  • Using Components with Known Vulnerabilities: Utilizar librerías o plugins con vulnerabilidades conocidas facilitará mucho el trabajo de los atacantes por lo cual se deben utilizar los componentes más seguros al momento de ejecutar el proyecto.
  • Insufficient Logging & Monitoring: Monitoreo y análisis de los logs de forma insuficiente, como es conocido la mayoría de empresas tardan hasta 200 días en darse cuenta de una vulnerabilidad, por lo que un adecuado manejo de logs nos ayudará a reducir esta brecha de forma considerable.

Estas y otras técnicas pueden ser encontradas en el sitio de OWASP : https://owasp.org/www-project-top-ten/

Siguiendo estas recomendaciones nos aseguramos de que en términos de seguridad nuestros clientes confíen en nuestras aplicaciones, evitando perder la reputación de nuestra organización por un incidente de seguridad.

En Agrega podemos apoyarte con soluciones que ayuden a proteger tus aplicativos web, te dejamos algunas:

  1. Certificados digitales.
  2. Cloud WAF.
  3. Backup en la nube.

Si necesitas más información de nuestros servicios puedes contactarte a :

ventas@agrega.com

info@agrega.com

+504 2269-0133.

Referencias.

https://www.campusmvp.es/recursos/post/5-cuestiones-sobre-seguridad-en-programacion-que-siempre-deberias-tener-en-cuenta.aspx

https://www.belatrixsf.com/blog/seguridad-desarrollo-software.

https://www.caterinadigital.com/blog/seguridad-en-paginas-web-para-cuidar-tu-seo/.

https://owasp.org/www-project-top-ten/

¿Qué tan útil ha sido este blog?

¡Haz clic en una estrella para calificarla!

Table of Contents

Facebook
Twitter
LinkedIn