ЧАСТНАЯ ИНФРАСТРУКТУРА / БЕЗ IDПрочитать доктрину приватности
Заметки о поле KoalaVPS

Ваш дом Matrix с пониманием федерации.

Домашний сервер управляет пространством имён учётных записей и участвует в более широкой сети. Планируйте идентичность, хранение и администрирование до приглашения пользователей.

Выберите имя сервера

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

Используйте поддерживаемый стек

Synapse обычно использует PostgreSQL для производственных данных, а вспомогательные сервисы зависят от масштаба и конфигурации. Следуйте актуальным рекомендациям upstream. Согласуйте тайм-ауты воркеров, базы данных и обратного прокси с нагрузкой.

Сохраняйте точность заявлений о шифровании

Сквозное шифрование защищает содержимое в поддерживаемых зашифрованных комнатах между участвующими клиентами. Домашний сервер по-прежнему может обрабатывать метаданные и незашифрованное содержимое. Резервное копирование ключей клиента, проверка и восстановление аккаунта требуют отдельного объяснения.

Обслуживайте экземпляр

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

Тестируйте клиентские и федеративные пути отдельно

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

Сохраняйте долговечный идентификационный материал

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

Отделите имя аккаунта от хостинговой конечной точки

Определите server_name Matrix до создания учётной записи: он становится частью идентификаторов пользователей и комнат. Веб-имя хоста, обслуживающее Synapse, может отличаться при правильной настройке обнаружения/делегирования. Спланируйте и клиентское обнаружение, и обнаружение между серверами, действительный сертификат и фактически доступное семейство адресов. Element — это клиент, а не замена домашнему серверу. Сохраняйте независимый маршрут администратора и контакт для восстановления вне домашнего сервера.

  • Выберите поддерживаемый выпуск Synapse и развёртывание PostgreSQL, подходящее для продакшена.
  • Держите базу данных и административные слушатели закрытыми.
  • Явно определите политику регистрации и федерации.

Включите обнаружение и прокси в состав сервиса

Сгенерируйте конфигурацию для выбранного релиза, сохраните ключ подписи и базу данных и настройте прокси согласно официальным рекомендациям Synapse. Внешне видимый origin, пересылаемые заголовки и пути запросов должны совпадать. Если используется делегирование, отдавайте требуемые well-known документы с домена идентификации. Не открывайте необработанный внутренний порт API, чтобы решить ошибку прокси. Держите секреты регистрации вне конфигурации браузерного клиента.

Проверьте клиентскую сессию и сессию федерации

Создайте тестовый аккаунт, подключите поддерживаемый клиент, отправьте локальное сообщение и загрузите небольшой файл. Проверьте обнаружение клиента независимо от обнаружения федерации, затем протестируйте комнату с другим разрешенным сервером, если федерация предполагается. В зашифрованной комнате проверьте верификацию и процесс восстановления ключей клиента. Резервная копия домашнего сервера не восстанавливает автоматически каждый ключ расшифровки, хранящийся на клиенте. Объясните, какие метаданные сервер сохраняет и какие комнаты зашифрованы.

# Discovery checks use your identity domain and HTTPS:
curl --fail https://example.com/.well-known/matrix/client
curl --fail https://example.com/.well-known/matrix/server

Используйте местоположение ошибки, чтобы сузить область исправления

Если Element не может обнаружить сервер, проверьте ответ well-known клиента и источник TLS. Если локальный обмен сообщениями работает, а федерация — нет, проверьте делегирование федерации, доступные адреса, сертификаты и политику. Повторяющиеся сбои медиа могут быть связаны с лимитами загрузки или хранилищем. Согласованно сохраняйте базу данных, медиа, конфигурацию и ключи подписи; сначала тестируйте восстановление без включённой федерации, чтобы учения не создали конкурирующую копию рабочей идентичности.

НАСТРОЙТЕ СВОЮ ИНФРАСТРУКТУРУ

Возьмите контроль.
Развёртывайте на своих условиях.

Без документов об идентификации. Полный доступ администратора. Оплата в криптовалюте.