Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
synapse — Synapse: домашний сервер Matrix, написанный на Python/Twisted. | Kitploit
Инструменты/GitHubGitHub/matrix-org/synapse
Аутентификация и авторизацияИнструменты шифрования/дешифрованияСетевая безопасностьКонфиденциальностьУправление идентификацией и доступом (IAM)Безопасность APIArchived
GitHubmatrix-org/synapse

synapse

Synapse: домашний сервер Matrix, написанный на Python/Twisted.

Репозиторий
12.1k2.1k92 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Сайт

Synapse |support| |development| |documentation| |license| |pypi| |python|

Synapse сейчас активно поддерживается в element-hq/synapse <https://github.com/element-hq/synapse>_

Synapse — это сервер Matrix с открытым исходным кодом, разрабатывавшийся с 2019 по 2023 год в рамках Фонда Matrix.org. Фонд Matrix.org не может обеспечить ресурсы для поддержки Synapse, и он продолжает разрабатываться компанией Element; кроме того, у вас есть выбор других серверов Matrix.

Смотрите запись в блоге «The future of Synapse and Dendrite» для получения дополнительной информации.

=========================================================================

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

.. contents::

Установка и настройка

Документация Synapse описывает, как установить Synapse. Мы рекомендуем использовать образы Docker или пакеты Debian от Matrix.org.

.. _federation:

Synapse имеет множество параметров конфигурации, которые можно использовать для настройки его поведения после установки. Дополнительные сведения о настройке Synapse для федерации можно найти здесь.

.. _reverse-proxy:

Использование обратного прокси с Synapse

Рекомендуется размещать обратный прокси-сервер, например nginx, Apache, Caddy, HAProxy или relayd, перед Synapse. Одно из преимуществ этого заключается в том, что вы можете открыть порт https по умолчанию (443) для клиентов Matrix без необходимости запускать Synapse с правами root. Информацию о настройке такого прокси см. в документации по обратному прокси.

Обновление существующего Synapse

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

.. _the upgrade notes: https://matrix-org.github.io/synapse/develop/upgrade.html

Платформенные зависимости

Synapse использует ряд платформенных зависимостей, таких как Python и PostgreSQL, и стремится следовать поддерживаемым версиям вышестоящих проектов. Подробнее см. политику устаревания.

Примечание по безопасности

Matrix предоставляет необработанные пользовательские данные в некоторых API — в частности, в конечных точках репозитория контента.

.. _content repository endpoints: https://matrix.org/docs/spec/client_server/latest.html#get-matrix-media-r0-download-servername-mediaid

Хотя мы прилагаем разумные усилия для смягчения XSS-атак (например, с помощью CSP), сервер Matrix не должен размещаться на домене, на котором размещены другие веб-приложения. Это особенно касается совместного использования домена с веб-клиентами Matrix и другими чувствительными приложениями, такими как веб-почта. См. https://developer.github.com/changes/2014-04-25-user-content-security для получения дополнительной информации.

.. _CSP: https://github.com/matrix-org/synapse/pull/1021

В идеале сервер должен находиться не просто на другом поддомене, а на совершенно другом зарегистрированном домене (также известном как сайт верхнего уровня или eTLD+1). Это связано с тем, что некоторые атаки все еще возможны, пока два приложения используют один и тот же зарегистрированный домен.

.. _registered domain: https://tools.ietf.org/html/draft-ietf-httpbis-rfc6265bis-03#section-2.3

.. _some attacks: https://en.wikipedia.org/wiki/Session_fixation#Attacks_using_cross-subdomain_cookie

Чтобы проиллюстрировать это на примере: если ваш Element Web или другое чувствительное веб-приложение размещено на A.example1.com, в идеале вам следует разместить Synapse на example2.com. Некоторую защиту обеспечивает размещение на B.example1.com, поэтому в некоторых сценариях это также приемлемо. Однако не следует размещать Synapse на A.example1.com.

Обратите внимание, что все вышесказанное относится исключительно к домену, указанному в настройке public_baseurl Synapse. В частности, это не влияет на домен, упоминаемый в MXID, размещенных на этом сервере.

Следование этому совету гарантирует, что даже если в Synapse будет найдена XSS-уязвимость, ее влияние на другие приложения будет минимальным.

Тестирование новой установки

Самый простой способ опробовать новую установку Synapse — подключиться к ней из веб-клиента.

Если вы не запускаете тестовый экземпляр Synapse на локальной машине, как правило, вам потребуется включить поддержку TLS, прежде чем вы сможете успешно подключиться с клиента: см. сертификаты TLS.

Простой способ начать — войти или зарегистрироваться через Element по адресу https://app.element.io/#/login или https://app.element.io/#/register соответственно. Вам нужно будет изменить сервер, на который вы входите, с matrix.org и указать URL-адрес домашнего сервера https://<server_name>:8448 (или просто https://<server_name>, если вы используете обратный прокси). Если вы предпочитаете использовать другой клиент, обратитесь к нашему обзору клиентов.

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

.. _client-user-reg:

Регистрация нового пользователя с помощью клиента

По умолчанию регистрация новых пользователей через клиенты Matrix отключена. Чтобы включить ее:

  1. В разделе конфигурации регистрации установите enable_registration: true в homeserver.yaml.

  2. Затем либо:

    a. настройте CAPTCHA, или b. установите enable_registration_without_verification: true в homeserver.yaml.

Мы настоятельно рекомендуем использовать CAPTCHA, особенно если ваш домашний сервер доступен из публичного интернета. Без него любой может свободно регистрировать учетные записи на вашем сервере. Этим могут воспользоваться злоумышленники для создания спам-ботов, нацеленных на остальную федерацию Matrix.

Ваше новое имя пользователя будет частично сформировано из server_name, а частично из локальной части (localpart), которую вы укажете при создании учетной записи. Ваше имя будет иметь вид::

root@kitploit:~
@localpart:my.domain.name

(произносится «эт локальпарт он май дот домейн дот нейм»).

Как и при входе, вам нужно будет указать «Пользовательский сервер». Укажите желаемую локальную часть в поле «Имя пользователя».

Устранение неполадок и поддержка

В FAQ администратора содержатся советы по решению некоторых распространенных проблем. Для получения дополнительной информации см. расширенную документацию Synapse.

Для получения дополнительной поддержки по установке или управлению Synapse, пожалуйста, обращайтесь в комнату поддержки сообщества |room|_ (при необходимости используя учетную запись matrix.org). Мы не используем вопросы GitHub для запросов поддержки, только для сообщений об ошибках и запросов функций.

.. |room| replace:: #synapse:matrix.org .. _room: https://matrix.to/#/#synapse:matrix.org

.. |docs| replace:: docs .. _docs: docs

Серверы идентификации

Серверы идентификации отвечают за сопоставление адресов электронной почты и других сторонних идентификаторов (3PID) с идентификаторами пользователей Matrix, а также за проверку владения 3PID перед созданием этого сопоставления.

Они не являются местом хранения учетных записей или учетных данных — они находятся на домашних серверах. Серверы идентификации предназначены только для сопоставления сторонних идентификаторов с идентификаторами Matrix.

Этот процесс очень чувствителен с точки зрения безопасности, поскольку существует очевидный риск спама, если слишком легко зарегистрироваться в Matrix или собирать данные 3PID. В долгосрочной перспективе мы надеемся создать децентрализованную систему для управления этим (matrix-doc #712), но тем временем роль управления доверенными идентификаторами в экосистеме Matrix передана группе известных доверенных партнеров экосистемы, которые запускают «Серверы идентификации Matrix», такие как Sydent, чья роль заключается исключительно в аутентификации и отслеживании входов по 3PID и публикации открытых ключей конечных пользователей.

Вы можете разместить собственную копию Sydent, но это помешает вам связываться с другими пользователями в экосистеме Matrix по их адресу электронной почты и помешает им найти вас. Поэтому мы рекомендуем пока использовать один из централизованных серверов идентификации по адресу https://matrix.org или https://vector.im.

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

Разработка

Мы приветствуем вклад сообщества в Synapse! Лучшее место для начала — наше руководство для участников. Это часть нашей более крупной документации, которая включает информацию как для разработчиков Synapse, так и для администраторов Synapse. Разработчиков могут особенно заинтересовать:

  • схема базы данных Synapse,
  • заметки о деталях реализации Synapse и
  • как мы используем git.

В дополнение ко всему этому, присоединяйтесь к нашему сообществу разработчиков в Matrix: #synapse-dev:matrix.org <https://matrix.to/#/#synapse-dev:matrix.org>_, где есть настоящие люди!

.. |support| image:: https://img.shields.io/matrix/synapse:matrix.org?label=support&logo=matrix :alt: (получить поддержку в #synapse:matrix.org) :target: https://matrix.to/#/#synapse:matrix.org

.. |development| image:: https://img.shields.io/matrix/synapse-dev:matrix.org?label=development&logo=matrix :alt: (обсудить разработку в #synapse-dev:matrix.org) :target: https://matrix.to/#/#synapse-dev:matrix.org

.. |documentation| image:: https://img.shields.io/badge/documentation-%E2%9C%93-success :alt: (Готовая документация на GitHub Pages) :target: https://matrix-org.github.io/synapse/latest/

.. |license| image:: https://img.shields.io/github/license/matrix-org/synapse :alt: (проверить лицензию в файле LICENSE) :target: LICENSE

.. |pypi| image:: https://img.shields.io/pypi/v/matrix-synapse :alt: (последняя версия, выпущенная на PyPi) :target: https://pypi.org/project/matrix-synapse

.. |python| image:: https://img.shields.io/pypi/pyversions/matrix-synapse :alt: (поддерживаемые версии Python) :target: https://pypi.org/project/matrix-synapse

Скачать инструмент