La respuesta es no . A pesar de que la seguridad es un concepto relativo, debe considerarlo como un ecosistema completo: su aplicación web no es solo su código, sino también los medios para hacer que este código funcione, los medios para respaldar y exponer este código y los medios para interactuar con el usuario:
- Los navegadores web
- La red
- El código de la aplicación
- La pila de software
- El sistema operativo
- Los procedimientos de operación
Un código limpio de vulnerabilidades es un buen comienzo, pero en mi opinión no es suficiente para considerar que su aplicación web es 99% segura.
Repasemos cada componente.
- ¿Cuáles son los beneficios de escribir páginas web que dicen las cosas obvias sobre un tema?
- ¿Cuál es la diferencia entre un programador web y un desarrollador web?
- Cómo minimizar la carga sobre un programador que contrato y ahorrar dinero
- ¿Qué tecnología web debo aprender ahora para el futuro?
- ¿Cuál es la mejor alternativa a SharePoint 2010?
NAVEGADORES WEB
Si el navegador web no es seguro, un atacante puede robar credenciales o cookies de sesión para acceder a su aplicación.
Eche un vistazo a algunas vulnerabilidades conocidas de Firefox, incluidas las que se pueden usar para recopilar datos confidenciales de sitios en otras ventanas o inyectar datos o códigos en esos sitios, que no requieren más que acciones de navegación normales.
Avisos de seguridad de la Fundación Mozilla
Otro problema común es la instalación de extensiones maliciosas. Algunas extensiones del navegador pueden robar credenciales de los administradores de contraseñas:
Defectos de robo de contraseñas en las extensiones de LastPass Chrome y Firefox
Obligado a instalar una extensión de Chrome
RED
Quizás pueda proteger su infraestructura de red utilizando la última tecnología de CheckPoint, Palo-Alto, BlueCoat o cualquier otro fabricante, pero ¿qué pasa con los usuarios de su aplicación web? Un ataque no necesariamente puede ser contra su alojamiento, sino contra sus usuarios menos protegidos.
Si el atacante tiene acceso a la red WiFi de la víctima, puede lanzar un ataque de falsificación de ARP, el primer paso para los ataques de secuestro de sesión (robar ID de sesión y cookies, otorgar a los atacantes acceso a los datos privados de su aplicación web) o Man In The Middle ( MITM) para interceptar y modificar el tráfico entre su aplicación web y sus usuarios.
Spoofing ARP
CÓDIGO DE APLICACIÓN
Si de acuerdo con sus pruebas, el código puede considerarse SEGURO, me gustaría agregar la frase TAN LEJOS.
- Sus escáneres de vulnerabilidad también son software, por lo que pueden tener errores y darle algunos resultados falsos positivos, sin importar que sean ampliamente conocidos o que cuesten $ 3500.00
Voy a dar algunos ejemplos de algunos escáneres populares:
OpenVAS Bug Tracker
Problemas de NMAP
Problemas de SQLMap
- Tal vez su aplicación web sea más segura si escribió todo el código desde cero . Hoy en día es una práctica común usar marcos de software e incluso generadores de programas para crear aplicaciones web. No solo se trata de ahorrar costos y tiempo, sino también de hacer que el mantenimiento sea más barato adoptando estándares web y bibliotecas conocidas, reduciendo nuestras líneas de código y permitiéndonos centrarnos en los objetivos reales de la aplicación.
Pero también los marcos de software pueden tener errores y vulnerabilidades:
Vulnerabilidad de Apache Struts siendo explotada por atacantes
Vulnerabilidades de jQuery
Los 10 principales riesgos de seguridad para aplicaciones AngularJS – Kevin Hakanson
PILA DE SOFTWARE
Para que su código funcione, necesitará una pila completa de productos de software:
- Servidores web: la función principal de un servidor web es almacenar, procesar y entregar páginas web a los clientes. La comunicación entre el cliente y el servidor se lleva a cabo utilizando el Protocolo de transferencia de hipertexto (HTTP). Las páginas entregadas son documentos HTML con mayor frecuencia, que pueden incluir imágenes, hojas de estilo y scripts además del contenido de texto.
Vulnerabilidades del servidor web Apache
Vulnerabilidades de seguridad de Nginx
- Servidores de aplicaciones : un servidor de aplicaciones es un marco de software que proporciona instalaciones para crear aplicaciones web y un entorno de servidor para ejecutarlas. Son muy comunes para las aplicaciones empresariales de Java.
Vulnerabilidades de Apache Tomcat
Vulnerabilidades de JBOSS
- Servidores de bases de datos: Un servidor de bases de datos es un programa informático que proporciona servicios de bases de datos a otros programas informáticos o computadoras.
Vulnerabilidades MySQL
Vulnerabilidades de Microsoft SQL Server
Vulnerabilidades de la base de datos Oracle
- Certificados digitales : los certificados digitales son un componente vital de la infraestructura de clave pública de la Web. Se utilizan para autenticar sitios web y para cifrar las comunicaciones entre un sistema cliente y un servidor. Si un sitio web se ve comprometido o la clave de cifrado privada asociada con un certificado digital está expuesta, se supone que el certificado debe ser revocado para que otros no puedan usarlo para hacerse pasar por el sitio o para espiarlo.
Use un certificado válido de una Autoridad de certificación y asegúrese de que su infraestructura tenga las bibliotecas SSL / TLS correctas para evitar el error Heartbleed.
También puede revisar su certificado digital de acuerdo con esta guía:
Hoja de trucos de protección de la capa de transporte
Y verifique la solidez de sus certificados utilizando:
Prueba del servidor SSL (Desarrollado por Qualys SSL Labs)
SISTEMA OPERATIVO
Las fallas del sistema operativo pueden estar tanto en el lado del cliente como en el lado del servidor. Además, un mal uso del sistema operativo (principalmente en el lado del cliente) puede comprometer todas las aplicaciones.
Por ejemplo, en Android instalando aplicaciones desde repositorios no oficiales o operando en modo raíz (superusuario).
Los riesgos de rootear su teléfono Android – BullGuard
Aplicación falsa de Android Flash Player Malware dirigido a bancos, redes sociales
Si el sistema operativo de su servidor no tiene los últimos parches de seguridad, también puede tener una sorpresa muy desagradable:
Explotando Eternalblue para shell con Empire & Msfconsole – Tutoriales de piratería
Asegúrese de que los últimos parches de seguridad estén instalados de acuerdo con su sistema operativo:
Actualizaciones de seguridad de Microsoft
Aviso de seguridad de Ubuntu
Centro de seguridad de productos de Red Hat
PROCEDIMIENTOS DE OPERACIÓN
Los procedimientos operativos son muy importantes en seguridad. Le recomiendo que adopte una metodología de Riesgo de Seguridad y realice una Evaluación de Riesgo Empresarial:
Introducción al análisis de riesgos de seguridad y evaluación de riesgos de seguridad
“La evaluación de riesgos empresariales y los procesos de gestión de riesgos empresariales constituyen el corazón del marco de seguridad de la información. Estos son los procesos que establecen las reglas y pautas de la política de seguridad mientras transforman los objetivos de un marco de seguridad de la información en planes específicos para la implementación de controles y mecanismos clave que minimizan las amenazas y vulnerabilidades. “
Realizar una evaluación de riesgos de seguridad
Debe considerar su respuesta a incidentes de seguridad, porque su aplicación web tal vez no sea segura para siempre de acuerdo con las tendencias de seguridad global.
Por ejemplo, si los piratas informáticos malintencionados inician un ataque de denegación de servicio contra su infraestructura, debe pensar:
- ¿Cómo manejar los ataques de denegación de servicio?
- ¿Cómo proteger los datos de sus clientes?
- ¿Cómo comunicar el incidente a las autoridades, los medios o los clientes?
- ¿Cómo su proveedor de servicios de Internet o su empresa de alojamiento pueden ayudarlo a manejar el ataque?
6 consejos para combatir los ataques DDoS