Перейти к содержанию

Политика безопасности

Область применения

xferry — инструмент контролируемого security testing, а не hardened service для произвольных Internet clients. Поддерживаются релизы 2.x; deprecated пакет src сохраняется до 3.0.

Сообщить об уязвимости

Не публикуйте vulnerability в открытом issue. Создайте private GitHub Security Advisory с версией, конфигурацией, воспроизведением и оценкой влияния. Не прикладывайте реальные credentials или пользовательские данные.

Ответ и исправление выполняются best effort: подтверждение обычно в течение трёх рабочих дней, первичная оценка — семи.

Границы режимов

  • local и local-secure предназначены для loopback/trusted-local работы.
  • Managed VPS и public-direct требуют внешней security boundary.
  • Launch presets меняют defaults и validation posture, но не включают и не скрывают методы.

Managed setup никогда не включает UFW автоматически. Оно меняет только 80/tcp и 443/tcp, только когда UFW уже активен и оператор явно указал --firewall allow. Обычный uninstall сохраняет config, credentials, data и ACME state; удаление требует --purge-data и confirmation либо --yes.

Минимум для внешнего доступа

Перед публикацией обязательны одновременно:

  1. real TLS с проверяемым hostname;
  2. strong Basic Auth только из file-backed secret;
  3. firewall/reverse proxy, finite timeouts и request/header/body caps;
  4. конечная upload capacity через application limits или hard external quota;
  5. exact allowlist browser origins — wildcard не разрешает mutations;
  6. proxy-side per-client throttling, если client identity теряется за proxy;
  7. container/process resource limits и monitoring;
  8. immutable verified artifact, backup и проверенный rollback;
  9. только тестовые или явно разрешённые данные.

TLS, Auth или bind address по отдельности не делают сервис безопасным для произвольного интернета. Исполняемая процедура находится в public-direct.

Данные и cryptography

Secure Notepad хранит encrypted blob, но сервер не сохраняет client-derived AES key. Durable recovery material сейчас отсутствует; durable recovery out of scope. Потеря client session key делает старую заметку невосстановимой даже при сохранённом volume.

XOR/HMAC в Advanced Upload и XOR-защита SMUGGLE — test framing/obfuscation, а не современная конфиденциальность. Для sensitive data используйте TLS и подходящий application-level authenticated encryption вне этих режимов.

Основные ограничения

  • Basic Auth передаётся в каждом запросе и безопасен только поверх TLS.
  • Direct runtime видит TCP peer; forwarded IP headers не становятся trusted автоматически.
  • Каждый WebSocket занимает worker на всё время соединения.
  • Body budget не является RSS ceiling.
  • Filesystem может быть изменён внешним процессом; quotas и listings требуют корректного operator-owned storage boundary.
  • SMUGGLE URL одноразовый: preload, scanner или HEAD может поглотить его до пользователя.
  • ACME account keys и certificate private keys являются secret material.

Полная техническая декомпозиция находится в модели угроз.