Hola, ¿qué tal? ¿Cómo estás? Espero que todo vaya muy bien. Te saluda Alex Ávalos y te doy la bienvenida a Web en Línea,
el podcast que te enseña a elegir con criterio, desarrollar una web potente y lanzarla siguiendo las buenas prácticas que garantizan el éxito.
"Nah, mi web es chiquita" "A mí nadie me va a hackear si yo no soy nadie"
No te imaginás esta frase las veces que la he escuchado y la he escuchado tantas veces que incluso hasta ya perdí la cuenta.
Y cada vez que escucho esta frase sé que esa persona le va a tocar aprender por las malas.
Porque los hackers no discriminan, no les importa si tu web es grande o es pequeña, no les importa si tienes 10 visitas al día o 10 mil.
Los bots atacan todo automáticamente, sin pensar, sin elegir.
Es como creer que porque vivís en una casa pequeña no necesitas cerrar la puerta con llave.
Cualquiera podría decir, ah, total, ¿qué me va a robar a mí si mi casita es pequeña? Pero de repente dejas abierto de par en par y un día llegas y tus cosas todas revueltas, tu información comprometida y a estas alturas del partido, por supuesto, ya es demasiado tarde.
Con las webs pasa exactamente lo mismo. Y lo peor, la seguridad no es algo que puedes añadir después del desastre.
No es un plugin que instalas cuando de repente escuchaste algo y te quedaste un poco con temor.
La seguridad se construye desde el día cero. O la tenés desde el principio o estás en riesgo desde el principio.
En este episodio vamos a hablar de por qué la seguridad no es paranoia, es conciencia, es responsabilidad.
Primer punto, ¿por qué atacan tu web? ¿Por qué van a atacar tu web?
La respuesta te puede parecer muy simple, pero es esa.
Simplemente porque existís en internet.
Y esto, tenerlo claro, no es algo personal, es automatizado.
¿Y cómo funciona? Hay millones, miles de millones de bots recorriendo todo internet 24-7.
No duermen, no comen, no descansan, no pierden tiempo viendo TikTok.
Pasan trabajando 24-7-365.
a toda hora, todos los días, hasta domingos, feriados y azuetos.
Están programados para encontrar webs vulnerables. No buscan webs específicas, buscan vulnerabilidades.
Escanean puertos abiertos, prueban contraseñas comunes, buscan versiones desactualizadas de algún software e intentan exploit conocidos.
Cuando encuentran una vulnerabilidad, atacan automáticamente. Ahí, aunque uno pudiera parecer que no, no hay un hacker sentado frente a una computadora eligiendo tal o cual web.
No. Hay un script ejecutándose que de repente encontró que tu WordPress estaba desactualizado y explota una vulnerabilidad.
Sin pensarlo, sin dudarlo y sin ponerse a ver quién eres. No, no, no importa.
¿Qué buscan estos ataques? En resumen, buscan recursos. Y podríamos mencionar varios.
Por ejemplo, recurso número uno, poder de procesamiento.
Infectan tu servidor con malware para poder, por ejemplo, minar criptomonedas
Tu web sigue funcionando, pero ahora también está, además de funcionar, minando, por ejemplo, Bitcoin
Pero este Bitcoin no es tuyo, es de alguien más
Vos pagas el hosting, pagas el servidor y ellos se llevan su ganancia gracias a tus recursos
Recurso 2. Tu tráfico. Inyectan código malicioso para redirigir tus visitas a otros sitios de phishing, de publicidad maliciosa o de descarga de programas y virus. ¿Cuál es el resultado de esto? Tu reputación cae al suelo. Google te penaliza y tus usuarios, por supuesto, no van a confiar más en tu sitio web.
Recurso 3. Información. Datos de usuario, correos, contraseñas, información de tarjetas y si tienes un e-commerce, información de envío, direcciones, etc.
Toda esta información vale dinero en la Dark Web, en la Deep Web.
Recurso 4. Tu web como plataforma.
La usan para lanzar otro tipo de ataques como DDoS contra otros sitios.
Alojan contenido ilegal, envían spam masivo usando tu SMTP y a todo esto vos ni te enteras.
Puede ser que te vas a dar cuenta hasta que tu hosting te suspende tu cuenta o elimina tu web.
Y esto es lo más grave, porque la mayoría de webs hackeadas ni siquiera saben que han sido hackeadas,
porque funcionan aparentemente normal, pero ya tienen inyectado el código malicioso y están corriendo en segundo plano.
envían datos, están sirviendo contenido malicioso y están siendo parte, sin saberlo, de una botnet.
A todo esto puede ser que el dueño de la web, por supuesto, no tiene ni idea.
¿Y cómo se entera? Google marca tu sitio como peligroso, tu hosting te suspende la cuenta
o puede ser que tus usuarios te reporten que por tu web ellos se infectaron,
infectaron con virus o malware.
Tu web de repente aparece en listas negras y hasta ese momento trágico,
venís y te das cuenta.
¿Qué puedes hacer?
Hombre, el daño ya está hecho.
Por eso, la seguridad no es paranoia, es entender que no somos especiales,
Que somos objetivos, pero no somos objetivos específicos, sino que somos objetivos automáticos, como todos. Y si no te proteges, te van a hackear. Solo es cuestión de tiempo.
Segundo punto, hablemos de las vulnerabilidades más comunes.
Porque lo bueno de todo esto con el tema de las vulnerabilidades es que la mayoría de ataques exitosos
explotan errores básicos y errores que son fáciles de prevenir, que fácilmente nosotros podríamos prever y prevenir.
Vamos a ver, vulnerabilidad número uno, las contraseñas débiles.
Admin como usuario, 123456 como contraseña, password como contraseña, puede parecer y sonar hasta ridículo, pero el 20% de las webs hackeadas tenían contraseñas débiles o predecibles.
Los bots prueban listas de millones de contraseñas comunes en segundos, y si la tuya está en esa lista, te van a hackear en coma cero.
Solución. Contraseñas potentes, largas, únicas y aleatorias. Mínimo, 21 caracteres con combinación de letras, números y símbolos. Por supuesto, una contraseña segura y robusta es imposible de recordar. Por eso te recomiendo usar un gestor de contraseñas y nunca reutilizar una contraseña.
Por supuesto, en cada uno de los servicios que te lo permita, yo te recomiendo activar el segundo factor de autenticación en todo lo que sea posible.
Vulnerabilidad número 2. Software desactualizado.
Por ejemplo, WordPress, sus plugins, los temas, el PHP de tu servidor, el MySQL, cada actualización incluye parches de seguridad.
Si vos no actualizas, estás usando software con vulnerabilidades, algunas conocidas y publicadas, pero otras que solo los cibercriminales saben. Es como dejar la puerta abierta de tu casa con un cartel que diga, hey, queda abierto y no hay nadie hasta las 10 de la noche.
¿Cuál es la solución a esta vulnerabilidad? Actualizar. Todo, siempre y de preferencia regularmente. Tu servidor, tu CMS, tu stack, tu framework. Y si por ejemplo estás usando WordPress, el core, plugins, temas, plantillas, todo.
Si un plugin de WordPress no se actualiza hace meses, yo te recomiendo que busques una alternativa porque el software abandonado es software vulnerable.
Vulnerabilidad número 3. Inyección de código, SQL Injection, Cross-Site Scripting, XSS o Code Injections.
Esto pasa cuando tu web acepta input de los usuarios sin validarlo correctamente.
Y esto, ¿a dónde lo podemos ver? En los formularios, en los comentarios, en las URL, en cualquier lugar donde alguien puede escribir.
Si vos no validás y sanitizás ese input, un atacante puede inyectarte código malicioso.
Solución. Valida todo, sanitiza todo y escapa todo.
Nunca confíes en el input de un usuario.
Vulnerabilidad número 4. Archivos subidos sin restricción.
Si vos permitís que tus usuarios suban archivos, necesitas controlar qué pueden subir.
Porque si no, pueden subirte un script PHP disfrazado de imagen, ejecutar ese código en tu servidor y ya la hemos liado.
¿Cuál es la solución? Validar todos los tipos de archivos por contenido y no solo por extensión. Restringir qué tipos de archivos se pueden subir, almacenar los archivos subidos fuera del directorio de la web y renombrar archivos automáticamente para minimizar riesgos.
Vulnerabilidad número 5. Permisos de archivos incorrectos. En servidores Linux, los permisos de archivos controlan quién puede leer, quién puede escribir y quién puede ejecutar. Si tus archivos tienen permisos 777, todos pueden hacer todo y esto es el preámbulo a un desastre.
¿Cuál es la solución? Permisos correctos. En los directorios 755, en los archivos 644 y en los archivos de configuración 600.
6.0.0. Nunca, nunca, nunca usar 777 a menos, por supuesto, que sepas exactamente lo que estás haciendo.
Vulnerabilidad número 6. No usar HTTPS. Si tu web usa HTTP en vez de HTTPS, toda la comunicación va a viajar sin encriptarse. Contraseñas, datos personales, información de pago, todo va a ser visible. ¿Cuál es la solución? HTTPS obligatorio. Siempre.
Los certificados SSL del S-Encript son gratis. Redirigir todo el tráfico de HTTP a HTTPS lo puedes hacer en un clic en la mayoría de paneles y activar el HSTS es muy recomendado para forzar las conexiones seguras.
Y vulnerabilidad número 7. No tener backups.
Bueno, técnicamente esta no es una vulnerabilidad, pero es una muerte anunciada si no los tenés.
Si te hackean y no tenés backups, vas a perderlo todo.
¿Cuál es la solución? Backups automatizados diarios.
Por supuesto, almacenados fuera de tu servidor y te recomiendo probar periódicamente,
restaurar uno de tus backups para verificar que funcionen.
¿Por qué? Porque un backup que no funciona es no tener backups.
Todas estas vulnerabilidades, si lo ves, son fáciles de prevenir.
No se necesita ser un experto en seguridad.
Solo requiere de tu parte tener el cuidado, seguir las buenas prácticas,
tener la conciencia y, por supuesto, hacerlo de forma constante.
Estamos llegando al final del episodio y vamos a hablar sobre el tercer punto, las buenas prácticas.
Porque no necesitas ser un experto en ciberseguridad para tener una web segura. Necesitas las herramientas correctas y seguir las buenas prácticas.
Prácticas como cuáles. Por ejemplo, práctica número uno. Principio del mínimo privilegio. Cada usuario debe de tener solo los permisos justos y necesarios. No todos los usuarios necesitan ser administradores. No todos, por ejemplo, no todos los plugins necesitan todos los permisos y acceso a todas las carpetas. Mínimo necesario. Siempre.
Práctica 2. Seguridad por capas. No dependas de una sola medida de seguridad. Yo te recomiendo algo como Firewall más plugin de seguridad, más contraseñas fuertes, más segundo factor de autenticación, más backups. Si una capa falla, las otras te van a proteger.
Práctica 3. Auditoría regular.
Revisar los logs de acceso, monitorizar los intentos de login fallido,
verificar archivos modificados recientemente, escanear en busca del malware semanalmente.
Y como pro tips, también verificar las analíticas,
porque muchas veces los bots, lamentablemente para ellos,
van dejando rastros de las URL que tratan de atacar.
Entonces vos podés ver si podés, bueno, esa URL no debería estar abierta o accesible,
¡wa! la elimino.
Práctica cuatro, separación de ambientes.
Nunca trabajes directamente en producción.
Usa desarrollo local, staging y producción.
Proba cambios en staging antes de publicar.
Práctica 5. La documentación. Documenta qué plugins usas y por qué. Documenta cambios en las configuraciones. Documenta credenciales de forma segura. Si algo pasa, vas a necesitar saber qué hacer y dónde hacerlo.
Práctica 6. Educación continua. Las amenazas evolucionan. Las vulnerabilidades cambian. Lo que era seguro, por ejemplo, hace un año, ahora quizás ya no lo es. Te recomiendo mantenerte informado y aprender constantemente. ¿Por qué? Porque la seguridad no es un checklist que completas una vez y ya lo tienes hecho.
Es un proceso continuo, es vigilancia constante, es mantenimiento regular, es estar preparado para cuando algo falle, saber qué podemos hacer y saber con seguridad qué nos protege.
Porque te digo yo, algo va a fallar.
Y cuando falle, la diferencia entre un gran desastre o un inconveniente menor es lo bien que te has preparado.
preparado. Vamos ya cerrando el episodio y vamos a hacer un pequeño resumen. ¿Te parece? Número uno, te van a atacar. No porque seas especial, sino que simplemente porque has puesto algo público en internet y porque existís en internet. Al final del día, los bots no discriminan nada ni nadie.
2. La mayoría de ataques exitosos explotan vulnerabilidades muy básicas, que son, como ya viste, fáciles de prevenir. Contraseñas débiles, software desactualizado, falta de validación, etc.
Número tres, la seguridad no es una herramienta, es un conjunto de prácticas y vigilancia constante. La seguridad web no es paranoia, es conciencia y responsabilidad. Responsabilidad con tu proyecto, con tus usuarios y con la información que te han confiado.
Y esto se construye desde el día cero. No la añadir después, no la integras cuando quede tiempo, lo haces desde el principio.
En el próximo episodio vamos a hablar de rendimiento y vamos a evaluar por qué posiblemente tu web está lenta y pierde visitas, pierde dinero, pierde oportunidades.
Y vamos a evaluar algunas opciones de cómo hacerla realmente rápida, con un rendimiento óptimo.
Pero esto lo vamos a ver en el siguiente episodio.
Por hoy ya estamos listos para el commit y para hacer el push.
Si tenés alguna duda o querés ponerte en contacto, ya sabes que me encontrás en webenlinea.org/contacto
Te espero en el próximo episodio. Feliz viernes y feliz fin de semana. ¡Salú!