Recomendaciones de seguridad online

Hoy en día, todo el mundo debería de seguir unas pautas seguras en su vida digital para evitar peligros como estafas, suplantaciones, engaños, etc. Hay algunas que son muy fáciles de seguir y que cualquiera puede incorporar en su día a día:

  • Usar contraseñas fuertes.
  • No reusar contraseñas en distintos sitios.
  • No utilizar información personal como contraseña (nombres de hijos, mascotas, parejas, cumpleaños, etc.).
  • Usar un gestor de contraseñas o una simple libreta para almacenarlas.
  • Activar la autenticación en dos pasos en todas las plataformas que lo permitan (correo, redes sociales…).
  • Mantener todos los dispositivos con el software actualizado.
  • Activar el bloqueo de pantalla automático cuando no usamos un dispositivo.
  • No dejar un dispositivo sin vigilancia al alcance de terceros.
  • Tapar las webcams cuando no las estemos usando.
  • Usar filtros para el fondo cuando hacemos videoconferencias.
  • Ajustar los niveles de privacidad de las plataformas sociales a lo que necesitemos (quizá no todo tenga que ser público).
  • Leer y comprobar los permisos que nos piden las aplicaciones y pensar si tienen sentido.

Otras, como el abandono de las redes sociales propietarias pasando a federadas o auto-alojadas, puedes ser más traumáticas, pero necesarias en el entorno actual en el que las propias empresas no europeas admiten no poder cumplir la ley manteniendo a salvo los datos de los usuarios:

  • Usar software libre en lugar de software pirateado.
  • Usar servicios de correo electrónico encriptados.
  • Usar servicios de almacenamiento en la nube encriptados.
  • Usar servicios europeos. Incluso si no eres de Europa, tus datos estarán más seguros.
  • Evitar las redes sociales propietarias como Facebook, Twitter, Instagram, Telegram…
  • Configurar y usar como buscador por defecto un buscador seguro en lugar de Google.
  • Si usas redes wifi públicas de cafeterías, hoteles, etc. usar VPNs.

Además, hay ciertas medidas que ,quizá no todo el mundo pero que al menos los profesionales, deben de tener en cuenta. Por ejemplo al realizar OSINT (investigación de fuentes públicas -el stalkeo de toda la vida-) y otras labores online:

  • Evitar usar cuentas personales y crear unas para tal fin.
  • Evitar usar los dispositivos que usas en tu día a día.
  • Usar VPNs. Siempre. Todo el rato.
  • Usar máquinas virtuales como sandbox para controlar posibles infecciones.
  • Compórtate como haría un usuario (horas de acceso, número de clicks, tiempo en página…)

Mi recomendación es que intentes cumplir las menos exigentes del primer apartado, antes de centrarte en las más avanzadas. Pensar y preguntar a profesionales (o a mi mismo) por qué son necesarias, ya que una vez lo entiendas e interiorices te costará menos aplicarlas. Y sobre todo ir pasito a pasito, es más importante navegar en la dirección correcta que ir muy rápido.

Desarrollo seguro: OWASP

Recientemente, he estado repasando los cursos que hay online, en universidades y en otras entidades sobre desarrollo seguro, viendo que casi todos se centran en OWASP (Open Web Application Segurity Project), lo cual está muy bien, pero se quedan en hablar del Top 10 de vulnerabilidades, y en realidad hay mucho más.
security photo

Está muy bien saber cómo se puede originar un fuego, pero es mucho más importante saber cómo actuar en cada caso o cómo se puede evitar que el fuego llegue a iniciarse ¿no? Con la seguridad en el desarrollo pasa lo mismo.

En el PDF que resume las vulnerabilidades, se pueden ver unos anexos con las responsabilidades de cada perfil (manager, developer y tester), y una pequeña guía para que una organización sea  segura. Esos anexos son muy importantes, puesto que nos ayudarán a ver si estamos haciendo las cosas bien o no.

Y bien, sabiendo los problemas que pueden surgir y la responsabilidad de cada uno para tener una empresa que practique desarrollo seguro ¿qué hacemos? Llegamos al que para mi es uno de los compendios más importantes que realiza este proyecto: OWASP Proactive Controls. En él se resumen las buenas prácticas que hay que realizar para funcionar de un modo seguro y evitar la mayoría de los incendios. Este es su propio Top 10:

  1. Verificar la seguridad pronto y a menudo
  2. Parametrizar las queries
  3. Codificar los datos
  4. Validar todas las entradas
  5. Implementar controles de autenticación y de identidad
  6. Implementar controles de acceso apropiados
  7. Proteger los datos
  8. Implementar logging y detección de intrusos
  9. Aprovechar frameworks y librerías de seguridad
  10. Manejo de errores y excepciones

¿Pones todos esos puntos en práctica? Sé que puede parecer difícil, pero profundizando un poco más, podréis ver que tienen también guías específicas de cómo hacerlo con cada tecnología, porque no es lo mismo estar haciendo una app para Android, que una web en PHP, y siguiéndolas podréis de un modo sencillo aseguraros de que estáis poniendo todo de vuestra parte para que vuestros desarrollos sean seguros.