Todos hemos visto los titulares y sabemos lo malo que puede ser cuando las cosas van mal con la seguridad en los sitios web. Con eso en mente, aquí hay 10 cosas prácticas que puedes hacer para marcar una diferencia real en tu postura de seguridad.
1. Ejecute un escaneo de seguridad en su sitio
Puedes dejar que las máquinas hagan el trabajo duro simplemente usando una herramienta como NetSparker para escanear tu sitio. Conectas una URL, y la herramienta encuentra numerosas vulnerabilidades que pueden ser identificadas externamente. Si no quieres pagar por una herramienta comercial, entonces siempre puedes coger algo como el ZAP de OWASP que, aunque no tan completo, todavía encontrará un montón de cosas — y bono: es gratis.

2. Comprueba cómo se almacenan tus contraseñas
Si estás manejando las credenciales, tienes que hacerlo bien. El texto simple no es bueno y la encriptación no es mucho mejor (las claves privadas son a menudo obtenidas por los atacantes en una brecha). El hash es el comienzo correcto, pero el hash correcto también es importante, e incluso los hash salados pueden ser débiles contra los sofisticados ataques de hoy en día (Ashley Madison implementó los suyos muy pobremente). Echa un vistazo a la Hoja de Trampas de Almacenamiento de Contraseñas de OWASP y consigue un buen algoritmo de hashing adaptativo con una gran carga de trabajo.
3. Asegúrate de no filtrar los datos de los clientes
Aquí hay uno que atrapa a mucha gente: la mayoría de los sistemas con facilidades de administración de cuentas (es decir, la gente puede registrarse en un sitio web) filtran información sobre sus clientes. Por ejemplo, la función de restablecimiento de contraseña a menudo te dice si la dirección de correo electrónico para la que intentas restablecer la contraseña existe o no. Consulte mi curso sobre Fundamentos de la administración de cuentas seguras para saber cómo evitar este escollo.
4. Apagar todos los servicios no utilizados
Las configuraciones predeterminadas en los servidores web son un problema clásico. A menudo, la instalación «fuera de la caja» se despliega y todo tipo de cosas innecesarias se ejecutan en la caja. Por ejemplo, es posible que no necesite FTP si sólo se despliega mediante el Web Deploy de Microsoft, así que apague todo lo que no sea absolutamente esencial.
5. Compruebe sus credenciales de despliegue
Mientras hablo de FTP, no lo tienes abierto de par en par con acceso anónimo a cualquiera con una conexión a Internet, ¿verdad? Compruébalo, porque hay miles de sitios por ahí que se pueden descubrir fácilmente a través de simples búsquedas en Google que tienen una protección absolutamente nula contra cualquiera que se conecte y lea o modifique archivos.
6. Verifique su soberanía de datos
Una lección muy impactante que acabamos de aprender por cortesía de la brecha de Patreón es que es crítico asegurar que los datos de producción se mantengan en el lugar correcto y ese es el entorno de producción! Tantas veces he visto datos reales de clientes llegar a entornos de prueba o desarrollo que no están sujetos a los mismos controles rigurosos que la producción. Si los desarrolladores necesitan datos con los que hacer pruebas, generadlos con una herramienta como el Generador de Datos SQL de Red Gate; nunca toméis datos reales de los clientes.
7. Derechos de los promotores de auditorías
Puede sonar laborioso, pero una rápida comprobación de cuánto acceso tienen los desarrolladores puede dar resultados sorprendentes. ¿Tienen la capacidad de desplegarse en entornos reales? ¿Tienen acceso a las credenciales utilizadas para acceder a los entornos en vivo, como las cadenas de conexión de la base de datos? En algunos casos lo necesitarán, pero muy a menudo el acceso se ha concedido «por conveniencia» en lugar de «por necesidad».
8. Revise sus normas de codificación segura
Tienes estos, ¿verdad? En caso de que no los tengas, empieza con el OWASP Top 10 como un conjunto mínimo de riesgos de seguridad, para el cual debe haber estándares de codificación correspondientes para el lenguaje de programación de tu elección. Luego, también revise su Guía de Prácticas de Codificación Segura. Si ya tienes estándares, mira lo bien que se alinean con los riesgos actuales y las nuevas defensas, particularmente cosas como los encabezados de seguridad de los navegadores. Hablando de eso…
9. Endurecer sus sitios
La seguridad se trata de grados, de encontrar el nivel de protección adecuado para el esfuerzo adecuado. Afortunadamente, las cosas siguen evolucionando y cada vez tenemos mejores defensas para proteger nuestras valiosas cosas de la Web, a veces con muy poco esfuerzo para implementarlas. Aproveche la oportunidad de endurecer las defensas de su sitio web con prácticas como las cabeceras de seguridad de los navegadores que añaden defensas adicionales a las tradicionales. Los riesgos evolucionan, ¡así que sus defensas también deberían hacerlo!
10. Entrena a tus desarrolladores
Esto es sólo un poco de interés propio, dada la naturaleza de los cursos que escribo, pero entrenar a sus desarrolladores es el mejor golpe para su dinero de seguridad que jamás recibirá. El coste de rectificar los errores al principio del ciclo de desarrollo (¡o no tenerlos nunca!) es suficientemente menor que durante las últimas fases de la construcción del software, ¡y es mucho más barato que tratar con una brecha! El primer paso para asegurarse de que su seguridad es correcta es entrenar adecuadamente a la gente que construye el software.
Aprenda más sobre cómo mantener su compañía segura. Sintoniza mi reciente seminario web.
Mira ahora: Redada de seguridad cibernética: Las 6 principales violaciones de 2016
Contenidos
- 1. Ejecute un escaneo de seguridad en su sitio
- 2. Comprueba cómo se almacenan tus contraseñas
- 3. Asegúrate de no filtrar los datos de los clientes
- 4. Apagar todos los servicios no utilizados
- 5. Compruebe sus credenciales de despliegue
- 6. Verifique su soberanía de datos
- 7. Derechos de los promotores de auditorías
- 8. Revise sus normas de codificación segura
- 9. Endurecer sus sitios
- 10. Entrena a tus desarrolladores