Seguridad de Odoo
¡Tu seguridad es muy importante para nosotros! Aquí está un resumen de lo que hacemos todos los días para garantizar la seguridad de tus datos en Odoo y, además, que aplicamos las mejores practicas de seguridad en nuestra versión de alojamiento que es la nube de Odoo.
Nivel 1 de STAR de CSA
Odoo participa en el programa Seguridad, Confianza, Garantía y Riesgo (STAR) de la Alianza por la seguridad en la nube (CSA).
Revisa nuestras respuestas del cuestionario CAIQv3.1
— La nube de Odoo (la plataforma) —
Copias de seguridad / Recuperación de desastres
- Contamos con 14 respaldos completos para cada base de datos de Odoo hasta un máximo de 3 meses: 1 al día por 7 días, 1 a la semana por 4 semanas, 1 al mes por 3 meses.
- Las copias de seguridad se replican en al menos tres centros de datos diferentes, en al menos dos continentes distintos.
- Las ubicaciones reales de nuestros centros de datos están especificadas en nuestra Política de privacidad.
- También puedes descargar respaldos manuales de tus datos en tiempo real en cualquier momento desde el panel de control.
- Puedes contactar a nuestro Servicio de asistencia para restaurar cualquiera de esos respaldos de tus bases de datos activas (o las alternas).
- Conmutación por error de hardware: en los servicios alojados en hardware físico, donde es posible que ocurran errores con el hardware, implementamos una replicación local en modo de espera con monitoreo y un procedimiento de conmutación manual que lleva menos de 5 minutos.
- Recuperación en caso de daños: tenemos los siguientes objetivos a seguir en caso de un desastre total en un centro de datos cuyas funciones han sido afectadas por un periodo prolongado, para prevenir el fallo completo en el conmutador (este es solo un ejemplo extremo en una situación hipotética):
- RPO (Objetivo del punto de recuperación) = 24 h. Esto significa que puede perder un máximo de 24 horas de trabajo si los datos no se pueden recuperar y necesitamos restaurar tu última copia de seguridad diaria.
- RTO (Objetivo del tiempo de recuperación) = 24 h para suscripciones de pago, 48 h para pruebas gratuitas, oferta educativa, usuarios freemium, etc. Este es el momento para restaurar el servicio en un centro de datos distinto si ocurre un desastre y un centro de datos está completamente caído.
- ¿Cómo lo logramos? Monitoreamos de manera activa nuestras copias de seguridad diarias y estas se replican en múltiples ubicaciones en diferentes continentes. Tenemos aprovisionamiento automatizado para implementar nuestros servicios en una nueva ubicación de alojamiento. La restauración de los datos basados en nuestras copias de seguridad del día anterior se puede hacer en unas pocas horas (para los conjuntos de datos más grandes), dando prioridad a las suscripciones pagadas.
De manera rutinaria usamos tanto las copias de seguridad diarias como los scripts de aprovisionamiento para las operaciones cotidianas, por lo que ambas partes del procedimiento de recuperación de desastres se prueban todo el tiempo.
Seguridad de la base de datos
- La información de los clientes es almacenada en una base de datos exclusiva - no utilizamos bases de datos compartidas entre clientes.
- Las reglas de control de acceso a los datos implementan un aislamiento completo entre las bases de datos de los clientes que se ejecutan en el mismo grupo, el acceso de una base de datos a otra no es posible.
Seguridad de la contraseña
- Las contraseñas de los usuarios están protegidas con una encriptación de industria estándar como PBKDF2+SHA512 (con adición de sal + y reforzada por miles de rondas)
- El personal de Odoo no tiene acceso a tu contraseña y no puede recuperarla por ti, la única opción que tienes en caso de perderla es reestablecerla.
- Las credenciales de inicio de sesión siempre se transmiten de manera segura a través de HTTPS.
- Los administradores de la base de datos del cliente incluso tienen la opción de configurar el factor límite de tasa y la duración del plazo de espera después de que se hayan hecho varios intentos de inicio de sesión.
- Políticas de contraseña: los administradores de la base de datos cuentan con un ajuste integrado para fomentar que el usuario use una contraseña con una longitud mínima. Otras políticas de contraseña como las clases requeridas de caracteres no son compatibles de manera predeterminada, pues se ha demostrado que son contraproducentes. Consulte el ejemplo [Shay et al. 2016]), así como NIST SP 800-63b.
Acceso del personal
- El personal de servicio de asistencia de Odoo puede iniciar sesión en tu cuenta para acceder a los ajustes relacionados con tu problema. Para hacer esto, utilizan sus credenciales y no tu contraseña (pues no tienen manera de saberla).
- Este acceso especial para el personal mejora la eficiencia y seguridad: pueden reproducir de manera inmediata el problema que estás viendo. ¡Nunca tendrás que compartir tu contraseña y podemos auditar y controlar las acciones del personal por separado!
- Nuestro personal del servicio de asistencia se esfuerza por respetar tu privacidad tanto como es posible, solo accede a los archivos y ajustes necesarios para diagnosticar y resolver tu problema.
Sistema de Seguridad
- Todos los servidores de la nube de Odoo ejecutan distribuciones mejoradas de Linux con parches de seguridad actualizados.
- Las instalaciones son específicas y mínimas para reducir el número de servicios que podrían contener vulnerabilidades (por ejemplo, sin stack PHP/MySQL).
- Solo algunos ingenieros de confianza de Odoo tienen autorización para administrar de forma remota los servidores. Además, solo es posible acceder mediante un par de claves SSH personales cifradas, desde una computadora con cifrado total de disco.
Seguridad física
Los servidores de la nube de Odoo están alojados en centros de procesamiento de datos confiables en varias regiones del mundo (por ejemplo: OVH, Google Cloud) y todos deben cumplir con nuestros criterios de seguridad física:
- Perímetro restringido, con acceso físico solo para los empleados autorizados del centro de datos.
- Control de acceso físico con gafetes de seguridad o seguridad biométrica.
- Cámaras de seguridad monitoreando las ubicaciones de los centros de datos 24/7.
- Personal de seguridad en el sitio 24/7.
Seguridad en pagos con tarjeta de crédito
- Nunca guardamos información de las tarjetas de crédito en nuestro sistema.
- La información de tu tarjeta de crédito siempre se transmite de manera segura y directa entre tú y nuestros adquirientes de pago en cumplimiento con el PCI (consulta la lista en nuestra página de Política de privacidad ).
Encriptación de datos
La información de los clientes siempre es transferida y almacenada de manera encriptada (encriptación en tránsito y en reposo).- Todas las comunicaciones de datos a las instancias del cliente están protegidas con el cifrado SSL de 256 bits (HTTPS) más avanzado.
- Todas las comunicaciones internas de datos entre nuestros servidores también están protegidas con cifrado de última generación (SSH).
- Mantenemos nuestros servidores bajo una estricta observación de seguridad y siempre reciben parches contra las últimas vulnerabilidades SSL, cuenta con Grado A puntuaciones SSL en todo momento.
- Todos nuestros certificados SSL utilizan módulos robustos de 2048 bits con cadenas completas de certificados SHA-2.
- Todos los datos del cliente (contenido de la base de datos y archivos almacenados) se cifran en reposo, tanto en producción como en las copias de seguridad (AES-128 o AES-256).
Defensa de la red
- Todos los proveedores de centros de datos utilizados por la nube de Odoo tienen una gran capacidad de red y su infraestructura está diseñada para hacer frente a los peores ataques de denegación de servicio (DDOS, por sus siglas en inglés). Sus sistemas de atenuación automáticos y manuales pueden detectar y desviar el tráfico de ataque en el borde de sus redes multicontinentales, antes de que tenga la oportunidad de interrumpir la disponibilidad del servicio.
- Los firewalls y sistemas de prevención de intrusiones en los servidores de Odoo Cloud ayudan a detectar y bloquear amenazas como ataques de fuerza bruta para descrifrar contraseñas.
- Los administradores de la base de datos del cliente incluso tienen la opción de configurar el factor límite de tasa y duración de enfriamiento por varios intentos de acceso.
— Odoo (el software) —
Seguridad del software
Odoo es de código abierto, así que la base de código completa está bajo examinación constante de los usuarios de Odoo y contribuidores en todo el mundo. Los reportes de bugs por parte de la comunidad son una fuente importante de comentarios respecto a la seguridad, alentamos a los desarrolladores a auditar el código y reportar problemas de seguridad.
Los procesos de Odoo R&D contienen pasos de revisión para los codigos que incluyen aspectos de seguridad, para fragmentos de código nuevo y contribuido.
Diseño inherentemente seguro
Odoo está diseñado de manera que impide que se inserten las vulnerabilidades de seguridad más comunes:
- La inyección de SQL se previene gracias al uso de una API de mayor nivel que no requiere de consultas SQL manuales.
- Los ataques XSS se previenen al utilizar un sistema de plantillas web de alto nivel que automáticamente evita datos inyectados.
- La infraestructura previene el acceso de RPC a metodos privados, haciendo mas difícil la introducción de vulnerabilidades explotables.
También consulte la sección de las Vulnerabilidades principales de OWASP para entender cómo Odoo está diseñado desde cero para evitar que surjan estas vulnerabilidades.
Pruebas de seguridad independientes
Odoo recibe auditorías de forma regular por parte de las empresas independientes que nuestros clientes y prospectos contratan, así como también pruebas de penetración. El equipo de seguridad de Odoo recibe los resultados e implementa las medidas correctivas apropiadas cuando es necesario.
Sin embargo, no podemos divulgar esos resultados. Son confidenciales y le pertenecen a los comisionados, así que no preguntes. ;-)
Además, Odoo tiene una comunidad muy activa de investigadores de seguridad independientes que revisan el código fuente con frecuencia. Trabajamos juntos para mejorar y fortalecer la seguridad de Odoo. Nuestro Programa de seguridad se describe en la página de Divulgación responsable .
Vulnerabilidades principales de OWASP
En este aspecto Odoo se sobresale en lo que respecta al problema de seguridad principal para aplicaciones web, tal como lo enumera el Proyecto de seguridad de aplicaciones web abiertas (OWASP por sus siglas en inglés): Proyecto de seguridad de aplicaciones web abiertas (OWASP):
-
Vulnerabilidades de Inyección: las vulnerabilidades de inyección, en particular la inyección SQL, son comunes en aplicaciones web. La inyección ocurre cuando los datos suministrados por el usuario se envían a un intérprete como parte de un comando o consulta. Los datos malintencionados del atacante engañan al intérprete para ejecutar comandos no deseados o cambiar datos.
Odoo se basa en un entorno de trabajo de mapeo objeto-relacional (ORM) que abstrae la construcción de consultas y evita la inyección de SQL de forma predeterminada. Por lo general, los desarrolladores no crean consultas SQL de forma manual, sino que estas se generan por el ORM y los parámetros siempre escapan correctamente.
-
Ataque de scripting entre sitios (XSS por sus siglas en inglés): Las vulnerabilidades de XSS ocurren siempre que una aplicación toma datos suministrados por el usuario y los envía a un navegador web sin validar ni codificar previamente ese contenido. Este tipo de ataque permite a los atacantes ejecutar scripts en el navegador de la víctima, los cuales pueden secuestrar sesiones de usuario, desfigurar sitios web, posiblemente introducir gusanos informáticos, entre otros.
Por defecto, la infraestrcutura de Odoo evita todas las expresiones renderizadas en vistas y páginas, evitando el XSS. Los desarrolladores tienen que ser cuidadosos en marcar las expresiones como "seguras" para su inclusión pura en páginas renderizadas.
-
La falsificación de petición en sitios cruzados (CSRF por sus siglas en inglés): Un ataque CSRF sucede cuando se fuerza al navegador de una víctima a enviar una solicitud HTTP falsificada, e incluye la cookie de sesión de la víctima y cualquier otra información de autenticación que se incluida de manera inmediata, a una aplicación web vulnerable. Esto permite que el atacante fuerce al navegador de la víctima a generar solicitudes que la aplicación vulnerable considera realizadas de manera legítima por parte de la víctima.
El motor del sitio web de Odoo incluye un mecanismo de proteccion contra el CSFR. Previene que cualquier controlador HTTP reciba una solicitud POST sin el token de seguridad correspondiente. Esta es la técnica recomendada para la prevención de CSFR. Este token de seguridad solo esta presente cuando el usuario accedió de manera auténtica al formulario del sitio web relevante y un atacante no puede falsificar una solicitud sin él.
-
Ejecución malintencionada de archivos: el código vulnerable a la inclusión remota de archivos (RFI por sus siglas en inglés) permite a los atacantes incluir código y datos hostiles, lo que resulta en ataques devastadores, como la compromiso total del servidor.
Odoo no expone funciones para realizar la inclusión remota de un archivo. Sin embargo, permite a los usuarios privilegiados personalizar características mediante la adición de expresiones personalizadas que serán evaluadas por el sistema. Estas expresiones siempre son evaluadas por un entorno de prueba aislado y limpio que solo permite el acceso a las funciones permitidas.
-
Referencia directa a objetos insegura: una referencia directa a objetos ocurre cuando un desarrollador expone una referencia a un objeto de implementación interno, como un archivo, directorio, registro de base de datos o clave, como una URL o parámetro de formulario. Los atacantes pueden manipular esas referencias para acceder a otros objetos sin autorización.
El control de acceso de Odoo no se implementa a nivel de interfaz de usuario, así que no hay riesgo de exponer referencias a objetos internos en las URL. Los atacantes no pueden burlar la capa de control de acceso al manipular esas referencias, pues cada solicitud aún debe pasar por la capa de validación de acceso a los datos.
-
Almacenamiento criptográfico inseguro: las aplicaciones web rara vez utilizan correctamente las funciones criptográficas para proteger datos y credenciales. Los atacantes utilizan datos débilmente protegidos para cometer robo de identidad y otros delitos, como el fraude con tarjetas de crédito.
Odoo utiliza un cifrado seguro estándar de la industria en las contraseñas de los usuarios (PBKDF2 y SHA-512 de forma predeterminada, con estiramiento de claves) para proteger las contraseñas almacenadas. También es posible utilizar sistemas de autenticación externos como OAuth 2.0 o LDAP para evitar almacenar contraseñas de usuario de forma local.
-
Comunicaciones inseguras: las aplicaciones fallan con frecuencia al cifrar el tráfico de red cuando es necesario proteger comunicaciones sensibles.
La nube de Odoo se ejecuta en HTTPS de forma predeterminada. Para instalaciones locales, se recomienda ejecutar Odoo detrás de un servidor web e implementar el cifrado y la solicitud de servidor intermediario a Odoo, por ejemplo Apache, Lighttpd o nginx. La guía de implementación de Odoo incluye una Lista de verificación de seguridad para despliegues publicos más seguros.
-
Fallo en restringir el acceso a la URL: Con frecuencia, una aplicación solo protege la funcionalidad sensible al evitar que se muestren enlaces o URLs a usuarios no autorizados. Los atacantes pueden aprovechar esta debilidad para acceder y realizar operaciones no autorizadas accediendo directamente a esas URLs.
El control de acceso a Odoo no se implementa a nivel de interfaz de usuario y nuestra seguridad no consiste en ocultar direcciones URL especiales. Los atacantes no pueden burlar la capa de control de acceso solo con reutilizar o manipular cualquier URL, pues cada solicitud aún debe pasar por la capa de validación de acceso a los datos. Con poca frecuencia, cuando una URL proporciona acceso no autenticado a datos confidenciales, como las que utilizan los clientes para confirmar un pedido. Estas URL se firman de forma digital con tokens únicos y solo se envían por correo electrónico al destinatario previsto.
Reporte de vulnerabilidades informáticas
Para reportar una vulnerabilidad informática consulte nuestra página sobre la divulgación responsable. Los reportes de vulnerabilidades son la prioridad del equipo de seguridad de Odoo, quienes de inmediato evaluarán y solucionarán el problema con ayuda de la persona que lo reportó. Después se divulgará el problema con los usuarios y clientes de Odoo de manera responsable.