Seguridad de Odoo
¡Tu seguridad es muy importante para nosotros! Aquí está un resumen de lo que hacemos todos los días para garantizar que tus datos estén seguros con Odoo y de que implementamos las mejores practicas de seguridad en nuestra versión de alojamiento, Odoo Cloud.

Nivel 1 de STAR de la CSA
Odoo participa en el programa Security Trust Assurance and Risk (STAR) de la CSA.
Consulta nuestras respuestas en el cuestionario CAIQv3.1
— Odoo Cloud (la plataforma) —
Copias de seguridad y recuperación de desastres
- Contamos con 14 copias de seguridad para cada base de datos de Odoo por lo menos durante 3 meses: 1 al día durante 7 días, 1 ala semana durante 4 semanas, 1 al mes durante 3 meses.
- Las copias de seguridad se replican, cómo mínimo, en tres centros de datos diferentes y al menos dos continentes diferentes.
- Las ubicaciones exactas de nuestros centros de datos están especificados en nuestra Política de privacidad.
- También puedes descargar copias de seguridad manuales de tus datos en tiempo real en cualquier momento mediante el panel de control.
- Puedes contactar a nuestro Servicio de asistencia para restaurar cualquiera de esas copias de seguridad de tus bases de datos en tiempo real (o en copia paralela).
- Tolerancia a fallos de equipos: para servicios alojados en servidores físicos donde es posible que ocurra un fallo del equipo, implementamos una réplica local en modo de espera con supervisión y un procedimiento de tolerancia manual que tarda menos de 5 minutos.
- Recuperación ante desastres: en caso de desastre total de un centro de datos totalmente fuera de servicio durante un largo período de tiempo, que impida la tolerancia a fallos en nuestra réplica local en modo de espera en caliente (lo que no se ha producido hasta ahora, ya que éste es el peor escenario), tenemos los siguientes objetivos:
- RPO (objetivo del punto de recuperación) = 24 h. Esto significa que puedes 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 las suscripciones de pago, 48 h para las pruebas gratuitas, oferta educativa, usuarios freemium, etc. Este es el momento para restaurar el servicio en otro centro de datos en caso de desastre y cuando un centro de datos esté completamente caído.
- ¿Cómo lo logramos? Supervisamos de manera activa nuestras copias de seguridad diarias y estas se replican en múltiples ubicaciones en diferentes continentes. Disponemos de un sistema de 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 de pago.
Utilizamos regularmente tanto las copias de seguridad diarias como los scripts de aprovisionamiento para las operaciones cotidianas, de modo que ambas partes del procedimiento de recuperación de desastres se prueban todo el tiempo.
Seguridad de la base de datos
- Los datos de clientes se almacenan en una base de datos específica. No compartimos datos 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 cifrado PBKDF2+SHA512 de acuerdo con los estándares industriales (con adición de sal y reforzada por miles de iteraciones).
- 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 tienen la opción de configurar el factor límite de tasa y la duración de pausa en cuanto a los intentos repetidos de inicio de sesión.
- Política de contraseña: los administradores de la base de datos cuentan con una configuración integrada para fomentar que el usuario usa una contraseña con una longitud mínima. Otras políticas de contraseña como las clases de caracteres obligatorias no son compatibles por defecto porque se ha demostrado que son contraproducentes. Ve por 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 propias 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 inmediato el problema que has encontrado. ¡Nunca tendrás que compartir tu contraseña! Además, podemos auditar y controlar las acciones del personal por separado.
- Nuestro personal del servicio de asistencia se esfuerza para respetar tu privacidad tanto como es posible y 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 ad hoc y mínimas para reducir el número de servicios que podrían contener vulnerabilidades (por ejemplo, sin stack PHP/MySQL).
- Solo pocos ingenieros de confianza de Odoo tienen autorización para administrar los servidores a distancia. Además, solo es posible acceder mediante un par de claves SSH personales cifradas, desde un ordenador con cifrado de disco completo.
Seguridad física
Los servidores de la nube de Odoo están alojados en centros de datos fiables en diferentes partes del mundo (por ejemplo: OVH, Google Cloud) y todos deben superar 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 credenciales de seguridad o seguridad biométrica.
- Cámaras de seguridad que supervisan las ubicaciones de los centros de datos durante las 24 horas del día todos los días de la semana.
- Personal de seguridad en el sitio durante las 24 horas del día todos los días de la semana.
Seguridad en pagos con tarjeta de crédito
- Nunca almacenamos información sobre tarjetas de crédito en nuestros sistemas.
- La información de tu tarjeta de crédito siempre se transmite de manera segura y directa entre el titular de la tarjeta y nuestros proveedores de pago que cumplen con la normativa PCI (consulta la lista en nuestra página relativa a la Política de privacidad .
Cifrado de datos
Los datos de los clientes siempre se transmiten y almacenan de manera encriptada (cifrado 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) de última generación.
- Todas las comunicaciones internas de datos entre nuestros servidores también están protegidas con cifrado de última generación (SSH).
- Nuestros servidores están sujetos a una vigilancia estricta en cuanto a seguridad y siempre reciben parches contra las últimas vulnerabilidades SSL, con una calificación SSL de Grado A .
- 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 disponen de una red de capacidad muy alta 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 mitigació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 cortafuegos 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 tienen la opción de configurar el factor límite de tasa y la duración de pausa en cuanto a los intentos repetidos de inicio de sesión.
— 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 por parte de los usuarios de Odoo y contribuidores en todo el mundo. Los informes de errores por parte de la comunidad son una fuente importante de comentarios respecto a la seguridad. Invitamos a los desarrolladores a auditar el código e informar en caso de problemas de seguridad.
Los procesos de I+D de Odoo contienen pasos de revisión para los códigos que incluyen aspectos de seguridad, para los fragmentos de código nuevo y contribuido.
Diseñado con seguridad
Odoo ha sido diseñado para evitar que se inserten las vulnerabilidades de seguridad más comunes:
- Las inyecciones SQL se impiden gracias al uso de una API de nivel superior que no requiere de consultas SQL manuales.
- Los ataques XSS se impiden al utilizar un sistema de plantillas web de nivel superior que evita automáticamente los datos inyectados.
- La infraestructura impide el acceso RPC a métodos privados, haciendo mas difícil la introducción de vulnerabilidades explotables.
También consulta la sección de las Principales vulnerabilidades de OWASP para ver cómo Odoo ha sido diseñado desde cero para prevenir que aparezcan estas vulnerabilidades.
Auditorías de seguridad externas
Odoo recibe auditorías y pruebas de intrusión regulares por parte de empresas independientes que han sido contratadas por nuestros clientes y clientes potenciales. El equipo de seguridad de Odoo recibe los resultados e implementa las medidas correctivas adecuadas en caso de que sean necesarias.
Sin embargo, no podemos divulgar esos resultados ya que son confidenciales y pertenecen a los comisionados. Gracias por no solicitarlos ;-)
Además, Odoo cuenta con una comunidad muy activa de investigadores de seguridad independientes que revisan el código fuente con frecuencia. Trabajamos juntos para mejorar y reforzar la seguridad de Odoo. Nuestro programa de seguridad se detalla en la página de divulgación responsable .
Principales vulnerabilidades de OWASP
A continuación encontrarás la posición de Odoo sobre los principales problemas de seguridad de las aplicaciones web, tal como lo enumera el Open Web Application Security Project (OWASP):
-
Fallos de inyección: los fallos de inyección, en particular la inyección SQL, son comunes en aplicaciones web. La inyección ocurre cuando los datos proporcionados 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 mapeo relacional de objetos (ORM) que abstrae la construcción de solicitudes y impide la inyección de SQL pro defecto. Los desarrolladores no suelen crear solicitudes SQL manualmente. Estas solicitudes se generan por el ORM y los parámetros siempre se eluden correctamente.
-
Ataque de comandos entre sitios (XSS): los fallos de XSS ocurren siempre que una aplicación toma datos proporcionados 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, lo que impide los fallos de XSS. Los desarrolladores deben marcar las expresiones como “seguras” para incluirlas en las páginas renderizadas.
-
La falsificación de solicitudes en sitios cruzados (CSRF): Un ataque CSRF sucede cuando se fuerza al navegador de una víctima autenticada a enviar una solicitud HTTP falsificada, e incluye las cookies de sesión de la víctima y cualquier otra información de autenticación incluida automáticamente, 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 protección 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 sólo está presente cuando el usuario ha accedido de manera auténtica al formulario del sitio web correspondiente y un atacante no puede falsificar una solicitud sin token.
-
Ejecución de archivos maliciosos: el código vulnerable a la inclusión remota de archivos (RFI) permite a los atacantes incluir código y datos hostiles, lo que resulta en ataques devastadores, como la vulneración 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 pruebas aislado y limpio que solo permite el acceso a las funciones permitidas.
-
Referencia directa insegura a objetos: 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 un 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 eludir la capa de control de acceso mediante la manipulación de esas referencias, ya que 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 por ejemplo, fraude con tarjetas de crédito.
Odoo utiliza un método criptográfico seguro estándar de la industria para las contraseñas de usuario (PBKDF2 + SHA-512 por defecto, con estiramiento de clave) para proteger las contraseñas almacenadas. También es posible utilizar sistemas de autenticación externos, como por ejemplo OAuth 2.0 o LDAP, para evitar almacenar contraseñas de usuario localmente.
-
Comunicaciones inseguras: las aplicaciones fallan con frecuencia al cifrar el tráfico de red cuando es necesario proteger comunicaciones sensibles.
Odoo Cloud funciona por defecto en HTTPS. Para las instalaciones On-premise, se recomienda ejecutar Odoo mediante un servidor web que implementa el cifrado y que redirige las solicitudes 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 una implementación pública más segura.
-
Fallo en restringir el acceso a la URL: con frecuencia, una aplicación solo protege la funcionalidad sensible al evitar que se muestren los enlaces o las URL a usuarios no autorizados. Los atacantes pueden aprovechar esta vulnerabilidad para acceder y realizar operaciones no autorizadas accediendo directamente a esas URL.
El control de acceso de Odoo no se implementa en la interfaz de usuario y la seguridad no consiste en ocultar direcciones URL especiales. Los atacantes no pueden eludir la capa de control de acceso por medio de la reutilización o manipulación de cualquier URL porque cada solicitud siempre 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 digitalmente con tokens únicos y solo se envían por correo electrónico al destinatario.
Informes de vulnerabilidades de seguridad
Si necesitas informar sobre una vulnerabilidad de seguridad, consulta nuestra página sobre la divulgación responsable. A estos informes se les da un tratamiento prioritario, ya que el equipo de seguridad de Odoo evalúa y soluciona el problema de inmediato, con ayuda de la persona que ha informado de una vulnerabilidad. Después se divulga de manera responsable el problema con los usuarios y clientes de Odoo.