Что такое персональное облако NextCloud
В статье рассмотрим особенности и основные функции облачной платформы NextCloud, а также коснемся некоторых моментов, связанных с установкой и безопасным использованием сервиса.
NextCloud (или NC) — это ПО с открытым исходным кодом, которое позволяет организовать собственное облачное хранилище и контролировать хранение данных. Наиболее функциональной является веб-версия NextCloud, однако десктопные и мобильные приложения также предоставляют немало возможностей.
Возможности облака NextCloud: общий доступ и управление версиями
Среди основных возможностей облачной платформы — управление версиями файлов и предоставление общего доступа к ним. Также NextCloud — это кроссплатформенное ПО, которое поддерживает ряд функций планировщика.
Расскажем о них подробнее.
Управление версиями файлов. Система контроля версий дает возможность пользователю откатить файл до любой нужной версии. Также поддерживается автоматическое удаление старых версий файлов в соответствии с заданным пользователем шаблоном.
Общий доступ к файлам. Доступ предоставляется через веб-ссылку: создается URL, который, в зависимости от настроек, может быть доступен как зарегистрированным, так и не зарегистрированным пользователям NC.
Функции планировщика. Сюда относятся календарь, блок контактов, заметки, а также задачи. Синхронизация функций обеспечивается за счет расширений: для календарей это WebCAL, для контактов и задач – DAVDroid, а для заметок – NextCloud Notes. Добавим, что календарь дает возможность отображения задач и событий для разных групп пользователей, также можно импортировать календарь из других систем (например, из iOS через функцию Import Calendar в NC). Остальные функции выглядят вполне стандартно, но все вместе представляют достаточно удобное решение для планирования.
Кроссплатформенность. Все приложения и расширения NC одинаково стабильно работают из-под любой операционной системы, а удобное управление облачным хранилищем выполняется при помощи веб-интерфейса.
Особенности установки и настройки приложения NextCloud
Для установки NextCloud вам понадобится физический или виртуальный сервер с установленной операционной системой из семейства Linux (например, Ubuntu, Debian, CentOS) — их можно арендовать у хостинг-провайдера. Также не забудьте, чтобы на сервере был установлен PHP с нужными зависимостями (NC написан на PHP).
Разработчики ПО предлагают уже готовые решения:
- уже настроенный сервер NC; но такая услуга обойдется дороже, чем самостоятельная установка,
- ограниченный бесплатный вариант (demo NextCloud) с 8 ГБ свободного пространства, доступный после регистрации учетной записи на платформе.
Теперь рассмотрим некоторые моменты, связанные с установкой и запуском сервиса.
Установка SSL-сертификата от Let’s Encrypt. Если вы планируете хранить в облаке ценные или конфиденциальные данные, утечка которых нежелательна, потребуется установить SSL-сертификат. Для этого понадобится домен или IP-адрес (может предоставить облачный провайдер), который будет перенаправлять трафик на ваш сервер NC с установленным сертификатом. Далее необходимо зайти на сервер по SSH (из-под Windows это можно сделать с помощью интеграции дополнительного софта: PuTTY, Puttygen или Pageant). После у вас появится возможность установить там сертификат и секретный ключ. Также можно использовать простые инструкции Let’s Encrypt Certbot. При этом через него можно настроить автоматическое обновление сертификатов Let’s Encrypt с нужной периодичностью.
Настройка веб-сервера. Для этого можно использовать Apache, но, если планируются серьезные нагрузки на облако, лучше всего подойдет Nginx. Проще всего поставить Nginx через панель управления Webinoly, в которую он уже «вшит».
Распаковка NextCloud. Для этого через Webinoly создается директория для NC и конфигурационные файлы. Здесь поможет следующая инструкция в sudo: site url/ip -mysql=default, где вместо url/ip нужно поставить доменное имя сайта или цифровой адрес соответственно). Далее нужно будет придумать и пару логин/пароль. После установки SSL-сертификата (если это необходимо) скачивается и распаковывается архив NC. Разумеется, можно и просто скачать архив с NextCloud и распаковать его в нужную директорию (по умолчанию это обычно /var/www).
Кэширование. Для кэширования лучше всего использовать Redis – быструю и экономичную нереляционную СУБД. Если вы работаете в Windows и NC у вас периодически зависает, то в конфигурационном файле Redis обратите внимание на строку bulkupload.enabled и поменяйте ее значение с true на false.
Перенос каталога. Это понадобится для того, чтобы пользователи не смогли получить доступ к файлам путем перебора URL. Для этого можно отредактировать файл Nginx или переименовать и перенести каталог data на более высокий уровень, не забыв отредактировать путь в файле config.php (строка datadirectory).
Создание директории для файлов. Это делается с помощью кнопки + в панели управления NC. После нажатия появится меню, где нужно выбрать пункт Folder (папка).
MySQL. Базы данных также могут без проблем храниться в облачном хранилище NC. Но для работы с ними нужно установить на сервере MySQL (либо другую СУБД для работы с реляционными базами данных: PostgreSQL, MariaDB и т.п.). В панели управления Webinoly уже установлена СУБД MariaDB, которая довольно удобна и проста в освоении.
Простота использования
Как видим, настройка NextCloud может потребовать времени и некоторых специальных знаний, однако уже настроенный NC очень прост в размещении и использовании.
Для корпоративного использования NextCloud будет эффективнее интегрировать ПО с с офисным пакетом — например, ONLYOFFICE. Это также сервис с открытым исходным кодом.
Десктопное приложение
Файлы, помещенные в каталог NextСloud, доступны с любых устройств за счет синхронизации. Вы можете загрузить что-то с мобильного приложения, а после работать с файлами на десктопе — и наоборот. При этом можно выбрать, какие именно каталоги нужно синхронизировать.
Также перед загрузкой больших файлов можно настроить запрос подтверждения — так ли вам нужно загружать эти данные (пороговое значение можно установить самостоятельно). Для Windows также доступна функция расшаривания из меню, вызываемого правой кнопкой мыши.
Мобильное приложение
Есть полная поддержка Android и iOS, причем пользователи Android-устройств могут скачать NC и не через сервис Google. Из минусов мобильного приложения отметим отсутствие синхронизации по умолчанию, однако все можно настроить вручную, указав нужные директории.
Веб-интерфейс
Функции NextCloud в веб-интерфейсе целиком зависят от установленных приложений: напомним, что это может быть календарь, интерфейс для контактов и задач, заметки. Также пользователь с правами администратора может кастомизировать платформу как угодно, устанавливая и настраивая нужные расширения.
Сценарии использования облачного хранилища NextCloud
Существует три основных сценария работы с облаком NextCloud:
- Совместная работа с файлами. После установки расширения Collabora Online в NextCloud можно организовать совместную работу с файлами в различных форматах (документы, таблицы, презентации). Без установки этого инструмента доступно редактирование только файлов в текстовом формате.
- Потоковая передача мультимедиа-файлов. Серверных функций платформы достаточно для обеспечения потокового вещания. Также в приложении есть встроенный медиаплеер, а воспроизводить видеофайлы позволяют веб- и мобильная версии NextCloud.
- Автоматический импорт фотографий. Вы можете выгружать целые папки с изображениями со своего мобильного устройства и таким образом очищать память телефона.
Защита и конфиденциальность персонального облака
Вопросы безопасности уже частично были затронуты выше, когда мы писали о SSL-сертификатах. Теперь рассмотрим моменты, связанные с конфиденциальностью, и чуть подробнее остановимся на алгоритмах шифрования и защите при помощи 2FA.
Юрисдикция. NextCloud — продукт немецких разработчиков, но это неважно с точки зрения безопасности, поскольку NC — ПО с открытым исходным кодом. Однако при работе с платформой важно учитывать местное законодательство. В России это в первую очередь 152-ФЗ «О персональных данных», который регулирует обработку личных данных пользователей, включая cookie.
Если ваш проект подразумевает сбор, хранение и/или обработку персональных данных, то ПО должно отвечать требованиям российских законодательных актов. Проблема заключается в том, что NextCloud не входит в Единый реестр российских программ, что существенно ограничивает его использование в проектах, связанных с обработкой персональных данных.
Политика конфиденциальности. Компания-разработчик собирает статистику о пользователях NC, однако в обезличенном виде. Кроме того, данные никуда не отправляется. Тем не менее, если вы используете расширения, созданные другими разработчиками, необходимо ознакомиться с их политикой конфиденциальности.
Шифрование. По умолчанию все данные защищены при помощи протокола TLS, который использует HTTPS. Также возможно и шифрование на стороне сервера по протоколу AES-256, однако ключи шифрования хранятся совместно с данными в экземпляре NC и даже в оперативной памяти сервера. Это облегчает доступ к ключам в случае целенаправленных хакерских атак.
Кроме того, NC не шифрует имена файлов и дерево каталога. Поэтому при хранении конфиденциальных данных и для обеспечения законодательных требований нужно использовать полное шифрование в облаке и алгоритмы сквозного шифрования. Последнее есть и в NC, однако его нужно включать отдельно. Более подробно с возможностями сквозного шифрования в NC можно ознакомиться на сайте разработчиков. Добавим, что в NC не используется шифрование в браузере типа E2EE, что хорошо, так как эта технология уязвима.
2FA. Двухфакторная аутентификация подразумевает использование различных приложений для создания одноразовых паролей (типа TOTP или Yubikey). При этом платформа обеспечивает легкую и гибкую настройку 2FA. Для этого, например, можно поставить расширение Two Factor TOTP Provider, которое поддерживает Google Authenticator и FreeOTP.
Возможности бесплатной версии NextCloud
Версия NextCloud free, которую получает пользователь после регистрации на сайте, предлагает полный функционал. Но в ней есть ограничение на пространство диска. Тем не менее сама программа полностью бесплатна, и вы можете развернуть NC, если у вас есть сервер с установленным необходимым программным обеспечением. Готовый выделенный сервер по выгодной цене вы можете найти в Selectel.
Заключение
NextCloud — не самое простое в установке, но весьма функциональное программное решение. Способ развернуть собственное облачное хранилище фактически где угодно. А имеющиеся бесплатные расширения позволят вам кастомизировать сервис, добавив нужные функции.