CryptPad — набор онлайн-инструментов с открытым кодом для коллективной работы (тексты, таблицы и др.) с бесплатным хранилищем файлов до 1 Гб. CryptPad обладает определенными возможностями анонимизации и шифрования и несколько отличается от привычных Google Docs. Мы уже рассказывали о CryptPad как таковом, а сейчас поговорим о том, как и зачем разворачивать копию на собственном сервере.
Что входит в CryptPad?
В CryptPad входит ряд компонентов:
- текстовый редактор, похожий на Google Docs;
- редактор для кода;
- инструмент управления задачами (канбан);
- средство создания слайдов;
- средство для работы с электронными таблицами;
- инструмент для создания опросов и анкет;
- средство для создания диаграмм и блок-схем;
- доска для рисования и мозговых штурмов;
- облачное хранилище файлов.
В разработке находятся более «крутые» сервисы для работы с документами и презентациями. Пользователю также доступны календарь, управление контактами, органайзер командной работы и другие важные инструменты.
Все данные этих приложений шифруются на стороне клиента (в браузере) перед их отправкой на сервер. Это значит, что получить доступ к документам могут только те, с кем вы ими поделились (сквозное шифрование). Расшифровать ваши данные не могут даже администраторы сервера. Существует несколько публично доступных установок CryptPad, но можно и создать собственную (self-hosted) версию.
Зачем мне может быть нужна self-hosted версия?
- Во-первых, как и с другими децентрализованными инструментами, self-hosted версия повышает конфиденциальность. Хотя CryptPad и так шифрует данные на стороне клиента, с self-hosted версией даже метаданные (информация о том, кто и когда редактировал документы) будут храниться на вашем собственном сервере.
- Во-вторых, защита от блокировки: если публичные сервисы CryptPad станут недоступны для пользователей в РФ, ваша self-hosted версия не пострадает.
- В-третьих, на своей копии вы можете более строго настроить управление доступом и пользователями (например, запретить гостевой доступ и ввести обязательную двухфакторную аутентификацию).
- В-четвертых, вы контролируете резервное копирование. Можно настроить частоту и количество копий. Так вы будете уверены, что данные не пропадут из-за технического сбоя (такое иногда случается с облачными сервисами).
Параметры сервера, документация по установке
Для установки self-hosted версии CryptPad вам понадобится сервер и специалист по администрированию (системный администратор или DevOps). Если у вас в команде нет такого специалиста, можно поискать его на платформе «IT-волонтер». Имейте в виду, что кроме изначальной установки, self-hosted решения требуют обновления и поддержки. Поэтому лучше сразу обсудить со специалистом, готов ли он/она заниматься этим в будущем.
Требования для сервера согласно документации:
- операционная система: Debian не старше 12-ой версии;
- процессор: 2+ ядра;
- оперативная память: минимум 2 Гб;
- дисковое пространство: зависит от объема данных, которые вы планируете хранить (минимум 20 Гб для базовой установки);
- дополнительно: возможность настроить резервное копирование данных, SSL-сертификаты для защиты соединений.
Аренда сервера с такими параметрами будет стоить от 5 евро в месяц (в зависимости от провайдера).
На сайте разработчика доступна документация по установке.
Два дополнения к инструкции от Теплицы:
- добавить в конфигурационный файл переменную `websocketPath: ‘/cryptpad_websocket’` (без нее не работает регистрация);
- запускать сразу с доменом (если сначала запустить по IP, потом невозможно подключить домен, надо переустанавливать заново).
Последняя версия CryptPad доступна на GitHub.
Базовые настройки безопасности
Ограничение регистрации и гостевого доступа
- Почему это важно. Если вы оставите свободную регистрацию на self-hosted версии CryptPad, любой человек, получивший доступ к вашему серверу, сможет создать учетную запись и использовать ее для размещения любых файлов, включая потенциально вредоносные или незаконные. В self-hosted установке администратор несет юридическую ответственность за файлы на сервере. Поэтому регистрацию лучше ограничить.
- Как это сделать. Закрыть регистрацию в административной панели. Разрешить регистрацию только по приглашениям. Гостевой доступ отключается через конфигурационный файл.
Ограничение размера файлов
- Почему это важно. Ограничение размера файлов помогает не перегружать сервер. Если у вас совсем небольшая установка на сервере с минимальными параметрами (например, для работы с текстовыми документами), то его легко перегрузить. Можно, конечно, напоминать коллегам, что тяжелые файлы складывать в ваш CryptPad не следует. Но проще ограничить размер файлов.
- Как настроить. В административной панели.
Защита от брутфорс-атак
- Почему это важно. С помощью брутфорс-атаки злоумышленники пытаются подобрать пароль пользователя путем перебора различных комбинаций. Без защиты от таких атак злоумышленник может получить доступ к учетным записям, особенно если кто-то из пользователей выбрал слишком простой или неуникальный пароль.
- Как настроить. Отдельно настраивать не надо. За логин в CryptPad отвечает функция scrypt, которая специально занимает много времени на вычисление. Это сделано, чтобы делать брутфорс-атаки долгими и дорогими. На Github доступно объяснение принципа работы функции scrypt. Она принимает три параметра: пароль, имя пользователя и специальную строку для шифрования (уникальна для сервера). Чтобы усложнить взлом, надо настроить эту строку через конфигурационный файл.
Настройка двухфакторной аутентификации
- Почему это важно. Двухфакторная авторизация снижает риск несанкционированного доступа. Даже если злоумышленник получит пароль от учетной записи (например, через упомянутую выше брутфорс-атаку).
- Как настроить. В административной панели.
Настройка резервного копирования
- Почему это важно. Self-hosted установки не только дают больше контроля над собственными данными, но и означают большую ответственность за их сохранность. Чтобы при технических неполадках не потерять документы, надо настроить резервное копирование. Подумайте, какая частота копирования подходит вам. Если вы активно работаете с файлами в вашем CryptPad, лучше копировать минимум раз в день.
- Как настроить. Через панель управления провайдера вашего сервера.