Twake – сознательная безопасность

Когда дело доходит до эффективности команды, совместная работа и все действия, связанные с командной работой, такие как групповой обмен сообщениями, обмен документами и их хранение, управление задачами, групповой календарь, видеоконференции и совместное использование экрана, являются крайне важными инструментами.

Twake предоставляет эти важнейшие инструменты для совместной работы с самыми высокими стандартами надежности, конфиденциальности и безопасности. Twake обладает открытой и стабильной архитектурой, основанной на установленных технологиях, которая помогает лучше удовлетворить все эти потребности.
Сквозное шифрование
Ожидается в ближайшем будущем!
Чтобы сохранять высокий уровень безопасности, следующая версия Twake будет включать полное сквозное шифрование для прямых и частных каналов.
Двухточечное шифрование
Мы делаем все возможное для защиты ваших личных и профессиональных данных. Ваши данные шифруются перед отправкой в базу данных (шифрование при хранении), а для связи используется TLS (шифрование при передаче).
Расположены в Европе
Все серверы Twake, как и ваши данные, расположены во Франции. Мы используем OVH в качестве основного поставщика.
Безопасные протоколы
Безопасные протоколы Мы используем HTTPS для однонаправленного шифрования трафика и WSS для двунаправленного шифрования трафика в реальном времени. Пароли хэшируются с помощью PBKDF2. Файлы шифруются с помощью OpenSSL AES-256-CBC с ключом, состоящим из трех частей, которые хранятся в базе данных, в коде и в конфигурации сервера.
Связь через веб-сокет имеет дополнительный уровень безопасности, использующий внешнее шифрование AES со сменой случайных ключей. И, наконец, наша база данных зашифрована с помощью OpenSSL AES-256-CBC.
Безопасное сотрудничество в режиме реального времени

Веб-сокеты используются для совместной работы в реальном времени. Он используется в «Сообщениях» для обмена сообщениями в режиме реального времени, а также в «Диске», «Календарях» и «Задачах». Мы используем архитектуру PubSub: это означает, что клиент может подписаться на так называемую комнату, а затем будет получать любые данные, опубликованные другими пользователями в этой же комнате. Сервер PHP может сам отправлять данные в эту комнату, мы называем это действие «пушем» .
Чтобы обеспечить безопасность обмена данными через веб-сокеты и максимально упростить сервер веб-сокетов, мы обмениваемся зашифрованными данными только с помощью эволюционного ключа шифрования.
Только сервер PHP проверяет права доступа клиента и генерирует новый ключ для всех. Поскольку полный ключ никогда не отправляется через сервер веб-сокетов, единственный способ получить правильный ключ шифрования — это запросить сервер PHP.
Высокая масштабируемость и отказоустойчивость
Twake построен на масштабируемых технологиях и позволяет нам масштабироваться до миллионов пользователей, а также быть максимально отказоустойчивым. Мы определяем два вида репликации: аппаратную репликацию и программную репликацию.

Репликация оборудования в случае сбоя жесткого диска или проблем с сетью управляется нашим поставщиком инфраструктуры OVH. OVH распределяет данные по кластерам с тройной репликацией для каждого объекта. Эти реплики размещаются как на разных дисках, так и на серверах, чтобы обеспечить их долговечность. Вы можете найти дополнительную информацию о том, как решаются такие проблемы, по ссылкам ниже:
-
https://www.ovhcloud.com/en/public-cloud
Серверы: -
https://www.ovhcloud.com/en/public-cloud/object-storage/
Объектное хранилище и резервные копии:

Репликация программного обеспечения выполняется нами, и мы добавили в эту систему дополнительный уровень безопасности. Каждое промежуточное ПО и узел, используемые Twake, реплицируются не менее трех раз. В редких случаях сбоя узла наша система автоматически выдает предупреждение и начинает использовать оставшийся доступный узел, пока мы не задействуем и не исправим узел с поломкой.
Безопасное хранение файлов
Twake хранит зашифрованные двоичные файлы в документированном репозитории. В версии SaaS для хранения зашифрованных файлов мы используем OVH Swift Object Storage. В локальной версии вы можете использовать любого поставщика S3 или Swift Object Storage, например, MinIO.

Документы, загружаемые на диск Twake, шифруются с использованием стандарта AES-256 с ключом, состоящим из трех строк:
- Статическая соль в строке кода;
- Настроенная соль, определенная во время установки Twake;
- Для каждого документа генерируется случайный ключ, который сохраняется в базе данных.
Эти три строки необходимы для расшифровки двоичных документов, хранящихся на диске Twake или во вложенииях «Сообщений».
Серверы PHP проверяют права клиента перед каждой расшифровкой документов.
Шифрование базы данных

Данные хранятся в зашифрованных базах данных ScyllaDB, а объекты, доступные для поиска, будут храниться в Elastic Search, но через Elastic Search будут доступны только идентификаторы.

Любые данные (кроме незначительных данных, таких как идентификаторы, даты и счетчики), хранящиеся в ScyllaDB, шифруются с использованием OpenSSL AES-256-CBC.

Мы предоставляем расширенные функции поиска для нашего продукта Twake, используя Elastic Search для индексации объектов. Единицы трансляции не хранятся в Elastic Search, и если серверы Elastic Search будут скомпрометированы, будут доступны только индексы.
Jitsi


Jitsi
Мы используем Jitsi для видеоконференций. Jitsi — это доступное программное обеспечение, которое использует компоненты URL для создания уникального имени видеоконференции. Каждая конференция, сгенерированная в Twake, представляет собой длинный токен, используемый в качестве уникального имени комнаты, и хранится только в нашей базе данных.
В версии SaaS серверы Jitsi управляются самим Twake. В локальной версии Jitsi можно отключить, если он не используется, или установить локально или напрямую с серверов Jitsi.
ONLYOFFICE


ONLYOFFICE
Мы используем офисный пакет ONLYOFFICE для совместной работы и редактирования документов Microsoft Office и Open Office в режиме реального времени. ONLYOFFICE предоставляет API, который используется для связи с нашим сервером хранения документов через PHP-сервер.
Когда пользователь хочет открыть документ Office, производится запрос к серверу PHP. Этот сервер проверяет права доступа и генерирует новый случайный токен. Этот токен отправляется пользователю, который может создать новый URL-адрес, используемый ONLYOFFICE для получения документа. Этот URL-адрес отправляет запрос на сервер PHP, который проверяет токен, указанный в этом же URL-адресе, и возвращает запрошенный документ в ONLYOFFICE. ONLYOFFICE помещает этот документ в кеш для редактирования в реальном времени и после этого уничтожает. Тот же процесс повторяется при сохранении документа.
В версии SaaS серверы ONLYOFFICE управляются самим Twake. В локальной версии ONLYOFFICE можно отключить, если он не используется, установить локально или использовать в рамках предложения ONLYOFFICE SaaS.
Генерация случайных токенов

Для генерации случайных токенов мы используем встроенную в PHP функцию random_bytes с bin2hex, если это необходимо на стороне PHP. В дополнение к этому мы используем криптобиблиотеку с randomBytes от NodeJS и интерфейсную часть.
Безопасное хранение паролей и аутентификация

Пароли не хранятся в открытом виде, в базе данных хранится только их хэш. Мы используем метод hash_pbkdf2 со случайно сгенерированной солью для каждого пользователя.
Внедрение SQL-кода

Во время каждого доступа к базе данных перед записью или чтением используется санация Doctrine ORM, мы никогда не используем настраиваемый доступ к базе данных, чтобы снизить риск внедрения. Мы разработали промежуточное ПО для использования базы данных ScyllaDB, но оно работает после санации Doctrine ORM.
Чтобы сохранить этот уровень безопасности, мы также внедрили ORM для всего доступа к базе данных в NodeJS.
Часто задаваемые вопросы
Где я могу найти последнюю версию документации по вопросам безопасности Twake?
Чтобы получить последнюю версию документации по вопросам безопасности, посетите сайт twake.app. В документации показано, как Twake управляет безопасностью данных. Поскольку мы постоянно совершенствуем наши алгоритмы безопасности, некоторые спецификации в настоящее время могут быть развернуты в рабочей среде или запланированы.
Как вы можете связаться с нами?
Пожалуйста, не стесняйтесь обращаться к нам по адресу helpdesk@twake.app по любым вопросам.
Как вы управляете резервными копиями?
Мы делаем резервную копию нашей зашифрованной базы данных и ваших зашифрованных документов в объектном хранилище OVH. Мы сохраняем резервную копию каждого месяца и резервную копию последних семи дней.
Как вы управляете безопасностью с помощью сторонних приложений и модулей?
Мы не можем гарантировать безопасность данных, которые вы отправляете в сторонние приложения и модули. Если вы работаете с внешним приложением, таким как Zapier или Giphy, у них будет иметься доступ к некоторой вашей информации. Вы можете увидеть область доступа приложения, прежде чем использовать его в работе.
Что делать, если я хочу экспортировать все свои данные?
Мы не предоставляем функцию экспорта в самом программном обеспечении. Но мы можем экспортировать ваши данные по запросу. Мы можем экспортировать ваши данные в течение 2 рабочих дней, в зависимости от того, как вы использовали Twake и сколько данных вам нужно экспортировать (файлы, календари, метаданные и т. д.). У нас нет прямого доступа к вашим файлам, но вы сможете загрузить их, используя идентификаторы файлов, сгенерированные в экспортированных файлах, и вашу учетную запись Twake.
