Безопасность Odoo
Ваша безопасность очень важна для нас! Вот краткое описание наших ежедневных действий, направленных на обеспечение сохранности ваших данных в Odoo, а также методов обеспечения безопасности при размещении в Odoo Cloud.

Первый уровень CSA STAR
Компания Odoo зарегистрирована в Cloud Security Alliance (CSA) и прошла проверку Security, Trust, Assurance and Risk (STAR).
Ответы Odoo на CAIQ версии 3.1
— Odoo Cloud (платформа) —
Резервные копии и аварийное восстановление
- Мы храним 14 полных резервных копий каждой базы данных Odoo не менее 3 месяцев: 1 в день в течение 7 дней, 1 в неделю в течение 4 недель, 1 в месяц в течение 3 месяцев.
- Резервные копии данных реплицируются как минимум в трех различных дата-центрах на двух континентах.
- Фактические расположения наших дата-центров можно найти на странице Политика конфиденциальности.
- Вы также можете в любой момент скачать резервные копии своих актуальных данных через панель управления.
- Вы можете обратиться в нашу службу поддержки, чтобы восстановить любую из этих резервных копий в вашей рабочей базе данных (или отдельно).
- Аварийное переключение: Для серверов Odoo Cloud, размещенных на выделенном «железе», предусмотрена срочная локальная репликация с мониторингом и процедурой аварийного переключения, занимающей менее 5 минут.
- Аварийное восстановление: В случае полного отказа дата-центра на длительный срок, что делает невозможным переключение на резервную площадку (этот сценарий пока не реализовывался на практике), мы следуем заранее определенному плану восстановления:
- Целевая точка восстановления (RPO) = 24 часа. Это означает, что вы можете потерять максимум 24 часа работы, если данные не будут восстановлены и нам потребуется восстановить вашу последнюю ежедневную резервную копию.
- Целевое время восстановления (RTO). Для платных подписок: 24 часа. Для бесплатных пробных версий, образовательных программ и freemium-пользователей: 48 часов. RTO – промежуток времени, в течение которого сервис должен быть восстановлен в альтернативном дата-центре в случае полного выхода из строя основного центра обработки данных.
- Как это обеспечивается: Мы активно мониторим ежедневные резервные копии, которые реплицируются в нескольких локациях на разных континентах. У нас автоматизировано развертывание сервисов в новых хостинг-локациях. Восстановление данных из резервных копий за предыдущий день может занять несколько часов (для самых крупных кластеров), при этом приоритет отдается пользователям с платными подписками.
Мы регулярно используем как ежедневные резервные копии, так и скрипты автоматического развертывания в повседневных операциях, поэтому обе части процедуры аварийного восстановления тестируются постоянно.
Безопасность баз данных
- Данные клиентов хранятся в отдельных базах данных, что обеспечивает их изоляцию.
- Правила контроля доступа к данным обеспечивают полную изоляцию между базами данных клиентов, работающими на одном кластере – доступ из одной базы данных к другой невозможен.
Обеспечение безопасности паролей
- Пароли клиентов защищены с использованием отраслевого стандарта шифрования PBKDF2+SHA512 (хеширование с "солью" и многократное хеширование).
- Сотрудники Odoo не имеют доступа к паролям пользователей и не могут их восстановить. Если пароль утерян, его можно только сбросить.
- Учетные данные для входа всегда передаются по защищенному HTTPS-соединению.
- Администраторы баз данных клиентов могутнастроить ограничение скоростии время блокировки при повторных неудачных попытках входа.
- Политика паролей: Администраторы базы данных могут задать минимальную длину паролей пользователей. Другие строгие требования к сложности паролей (например, обязательное использование различных классов символов) не поддерживаются по умолчанию, так как исследования показали их неэффективность. (Shay et al. 2016, а также NIST SP 800-63b).
Доступ сотрудников Odoo
- Сотрудники технической поддержки Odoo могут войти в ваш аккаунт для диагностики настроек, связанных с вашей заявкой. Они используют специальные служебные учетные данные и не имеют доступа к вашему паролю.
- Доступ сотрудников поддержки к аккаунтам клиентов повышает как эффективность, так и безопасность. Наши сотрудники могут быстро воспроизвести проблему, с которой вы столкнулись, и вам при этом не придется сообщать им свой пароль. Благодаря этой системе мы можем проводить аудит и контролировать действия каждого сотрудника!
- Сотрудники технической поддержки Odoo соблюдают вашу конфиденциальность и получают доступ только к тем файлам и настройкам, которые необходимы для диагностики и устранения проблемы.
Безопасность системы
- Все серверы Odoo Cloud работают на защищенных дистрибутивах Linux с актуальными исправлениями безопасности.
- Установки выполняются в минимальной конфигурации и настраиваются индивидуально, чтобы ограничить количество сервисов, которые могут содержать уязвимости (например, не используется стек PHP/MySQL).
- Только у нескольких доверенных инженеров Odoo есть удаленный доступ к серверам. Доступ возможен только через зашифрованный персональный SSH-ключ и только с компьютера, на котором включено полное шифрование диска.
Физическая безопасность
Серверы Odoo Cloud размещены в проверенных дата-центрах по всему миру (например, OVH, Google Cloud), которые соответствуют нашим высоким требованиям к физической безопасности:
- Ограниченный доступ: физический доступ разрешен только авторизованным сотрудникам дата-центра.
- Контроль физического доступа с использованием пропускных карт или биометрической идентификации.
- Видеонаблюдение в дата-центрах осуществляется круглосуточно.
- Сотрудники службы безопасности находятся на месте круглосуточно.
Защита данных банковских карт
- Мы не храним данные банковских карт на наших серверах.
- Информация о вашей банковской карте передается исключительно напрямую нашим эквайерам платежей, соответствующими стандарту PCI (см. список на странице Политика конфиденциальности ).
Шифрование данных
Данные клиентов всегда передаются и хранятся в зашифрованном виде (шифрование в состоянии передачи и в состоянии покоя).- Вся передача данных клиентам защищена передовым 256-битным SSL-шифрованием (HTTPS).
- Вся внутренняя передача данных между серверами Odoo также защищена современными методами шифрования (SSH).
- Наши серверы находятся под строгим контролем безопасности и всегда защищены от актуальных уязвимостей SSL и получают рейтинг «А» .
- Все наши SSL-сертификаты используют надежную 2048-битную модульную длину и полные цепочки сертификатов SHA-2.
- Все данные клиентов (содержимое базы данных и хранимые файлы) зашифрованы в состоянии покоя как в рабочих базах данных, так и в резервных копиях (AES-128 или AES-256)
Сетевая защита
- Все дата-центры, используемые в Odoo Cloud, обладают высокой пропускной способностью и спроектированы для противодействия крупным DDoS-атакам (Distributed Denial of Service). Системы автоматического и ручного подавления угроз могут обнаруживать и перенаправлять вредоносный трафик на границе много-континентальной сети, не допуская нарушений доступности сервиса.
- Файрволы (межсетевые экраны) и системы предотвращения вторжений на серверах Odoo Cloud помогают обнаруживать и блокировать угрозы, такие как брутфорс (атака полным перебором).
- Администраторы баз данных клиентов могут настроить ограничение скорости и время блокировки при повторных неудачных попытках входа.
— Odoo (программное обеспечение) —
Безопасность программного обеспечения
Odoo является системой с открытым исходным кодом, что позволяет сообществу пользователей и разработчиков по всему миру регулярно анализировать кодовую базу. Сообщения о найденных уязвимостях являются важным источником обратной связи. Мы поощряем аудит кода и рекомендуем разработчикам сообщать о проблемах с безопасностью.
В процессах R&D Odoo предусмотрены этапы рецензирования кода, включая анализ безопасности как для нового кода, так и для изменений, предлагаемых внешними контрибьюторами.
Концепция «безопасность по дизайну»
Система Odoo разработана таким образом, чтобы предотвращать появление большинства распространенных уязвимостей безопасности:
- SQL-инъекции предотвращаются за счет использования высокоуровневого API, который исключает необходимость написания SQL-запросов вручную.
- Атаки с использованием межсайтового скриптинга (XSS) предотвращаются использованием высокоуровневой системы шаблонов, которая автоматически экранирует вводимые данные.
- Фреймворк Odoo предотвращает доступ к приватным методам через RPC, что снижает риск эксплуатации уязвимостей.
Ознакомьтесь с разделом Основные уязвимости согласно OWASP , чтобы узнать, как система Odoo изначально разрабатывалась с учетом предотвращения подобных уязвимостей.
Независимые проверки безопасности
Odoo регулярно проходит проверки безопасности, проводимые независимыми компаниями по заказу клиентов и потенциальных пользователей. По результатам аудита команда безопасности Odoo принимает соответствующие корректирующие меры.
Однако мы не можем раскрывать результаты этих проверок, так как они являются конфиденциальными и принадлежат заказчикам. Пожалуйста, не спрашивайте ;-)
Вокруг Odoo сформировалось активное сообщество независимых исследователей кибербезопасности, которые постоянно анализируют исходный код и работают с нами над улучшением защиты системы. Наша программа обеспечения безопасности описана на странице Ответственное раскрытие информации .
Основные уязвимости согласно OWASP
Ниже приведен анализ устойчивости Odoo к наиболее критическим угрозам веб-приложений, определенным проектом OWASP (Открытый проект обеспечения безопасности веб-приложений) :
-
Уязвимости, связанные с инъекцией кода (Injection Flaws): SQL-инъекции – попытки изменить запрос к базе данных, широко распространены в веб-приложениях. Они возникают, когда пользовательские данные передаются интерпретатору в составе команды или запроса. Вредоносные данные атакующего могут заставить интерпретатор выполнить нежелательные команды или изменить данные.
Odoo использует объектно-реляционное отображение (ORM), которое автоматически формирует запросы, исключая возможность SQL-инъекций. Разработчики не создают SQL-запросы вручную – они генерируются ORM, а параметры корректно экранируются.
-
Межсайтовый скриптинг (XSS): Уязвимости XSS возникают, когда приложение принимает пользовательский ввод и передает его в веб-браузер без предварительной проверки или кодирования. XSS-атаки позволяют злоумышленникам выполнять скрипты в браузере жертвы, перехватывать пользовательские сессии, изменять содержимое веб-страниц или даже распространять вредоносные программы.
Фреймворк Odoo по умолчанию экранирует все выражения, отображаемые в интерфейсе, предотвращая XSS-атаки. Разработчики должны явно пометить данные как «безопасные» для их вставки в страницы без экранирования.
-
Подделка межсайтовых запросов (CSRF): CSRF-атака принуждает браузер авторизованного пользователя отправлять поддельный HTTP-запрос, включая cookie-файлы сеанса и другие автоматически передаваемые аутентификационные данные, в уязвимое веб-приложение. Таким образом, мошенник может заставить браузер пользователя отправлять запросы, которые веб-приложение воспримет как легитимные.
«Движок» сайта Odoo включает встроенный механизм защиты от подделки межсайтовых запросов (CSRF). Он предотвращает возможность отправки POST-запросов без соответствующего токена безопасности. Это рекомендованный метод защиты от CSRF-атак. Данный токен известен только пользователю, который действительно открыл соответствующую веб-форму, а злоумышленник не может сгенерировать запрос без него.
-
Исполнение вредоносных файлов: При эксплуатации уязвимости RFI, злоумышленник может включить удаленные файлы и использовать вредоносный код, что в свою очередь может привести к полной компрометации сервера.
Odoo не подвержена уязвимости, связанной с RFI-атаками (подключение удаленных файлов). Однако система позволяет привилегированным пользователям настраивать функциональность, добавляя кастомные выражения, которые интерпретируются платформой. Эти выражения выполняются в изолированной среде с механизмами фильтрации и контроля, что предотвращает возможность выполнения произвольного кода и ограничивает доступ только к разрешенным функциям.
-
Небезопасная прямая ссылка на объекты (IDOR) IDOR-уязвимость возникает, когда разработчик открыто передает в URL или параметры формы ссылку на внутренний объект (файл, директорию, запись базы данных, ключ и т. д.). Злоумышленники могут изменять такие ссылки и получать доступ к данным без авторизации.
В Odoo контроль доступа не осуществляется на уровне пользовательского интерфейса, поэтому нет риска раскрытия внутренних объектов в URL-адресах. Злоумышленники не могут обойти систему контроля доступа путем манипуляции с URL, так как каждый запрос все равно проходит проверку на уровне доступа к данным.
-
Небезопасное криптографическое хранилище: Многие веб-приложения неправильно используют криптографические функции, что ставит под угрозу безопасность данных и учетных записей. Злоумышленники могут использовать слабо защищенные данные для кражи личной информации и финансовых мошенничеств.
Odoo использует отраслевые стандарты хеширования паролей пользователей (по умолчанию PBKDF2 + SHA-512 с усложнением ключа) для их защиты. Также можно использовать внешние системы аутентификации, такие как OAuth 2.0 или LDAP, чтобы полностью исключить хранение паролей пользователей в локальной системе.
-
Небезопасные коммуникации: Приложения часто не шифруют сетевой трафик там, где это необходимо для защиты конфиденциальных данных.
Odoo Cloud по умолчанию использует HTTPS. Для локальных установок рекомендуется размещать Odoo за веб-сервером с поддержкой шифрования и проксирования запросов, например Apache, Lighttpd или nginx. Руководство по развертыванию Odoo включает в себя Контрольный список мер безопасности для более безопасного развертывания.
-
Отсутствие ограничения доступа к URL-адресам: Некоторые приложения защищают конфиденциальные функции только путем скрытия ссылок или URL-адресов от неавторизованных пользователей. Злоумышленники могут использовать эту уязвимость для доступа к этим URL-адресам и выполнения несанкционированных операций.
Контроль доступа в Odoo не реализован на уровне пользовательского интерфейса, а безопасность не зависит от скрытия специальных URL-адресов. Злоумышленники не могут обойти систему контроля доступа путем подмены или повторного использования URL, так как каждый запрос проходит через уровень проверки доступа к данным. В редких случаях, когда URL-адрес предоставляет неаутентифицированный доступ к конфиденциальным данным (например, специальные ссылки для подтверждения заказов), такие URL подписываются цифровыми токенами и отправляются только целевому получателю по электронной почте.
Сообщить об уязвимости системы безопасности
Если вам нужно сообщить об уязвимости в системе безопасности, пожалуйста, перейдите на страницу Ответственное раскрытие информации. Эти сообщения обрабатываются с высоким приоритетом, проблема немедленно оценивается и решается командой безопасности Odoo в сотрудничестве с заявителем, а затем со всей ответственностью доводится до сведения клиентов и пользователей Odoo.