Центр доверия
Это центр доверия для базового движка NextPDF. Начните с четырёх документов: модель угроз движка, модель безопасности подписи и шифрования, поведение при обработке данных и персонально идентифицируемой информации (PII) и политика раскрытия уязвимостей. Каждая страница описывает отдельную часть поведения библиотеки, а также показывает, где заканчивается зона ответственности библиотеки и начинается зона ответственности вашего развёртывания.
Граница. Эта страница и страницы, на которые она ссылается, описывают инженерную позицию проекта: проектные решения, значения по умолчанию и средства защиты, встроенные в базовый движок и проверенные его набором тестов. Они не являются сертификацией, отчётом об аудите или юридической гарантией. Ни одно из приведённых здесь утверждений не заявляет, что библиотека “защищена” в вашем развёртывании. Безопасность — это свойство всей системы: хранение ваших ключей, ваша политика проверки, ваша сеть и ваши эксплуатационные практики, а не отдельной зависимости.
Установка
Заголовок раздела «Установка»Описанная здесь позиция доверия относится к базовому движку:
composer require nextpdf/core:^3Для чтения этих страниц дополнительный пакет не нужен. Набор тестов ядра, поставляемый в том же пакете, проверяет описанное в них поведение.
Концептуальный обзор
Заголовок раздела «Концептуальный обзор»Центр доверия построен на простом принципе: страница документации должна ясно показывать, что движок делает и чего он не обещает. Четыре подстраницы разбивают эту область:
- Модель угроз — классы атак, которые учитывает движок (подделка запросов на стороне сервера (SSRF), обработка внешних сущностей XML (XXE), бомбы декомпрессии, обход путей и внедрение содержимого), запрет по умолчанию и встроенные в код средства защиты, снижающие риск для каждого класса. Она документирует учтённые угрозы. Она не утверждает, что уязвимостей нет.
- Модель безопасности — криптографическая поверхность: 256-битное шифрование документов по стандарту Advanced Encryption Standard (AES-256), кооперативный характер битов разрешений Portable Document Format (PDF), зависящих от поведения средства просмотра, и путь подписания Cryptographic Message Syntax (CMS)/PDF Advanced Electronic Signatures (PAdES) B-B и B-T. Она объясняет, почему поддержка механизма не равнозначна безопасности в вашем развёртывании.
- Обработка данных — какие данные библиотека читает, хранит в памяти и записывает; преобразование для очистки PII, применяемое к пакетам аудита; а также включаемый только с согласия путь телеметрии с нулевыми накладными расходами. Она описывает поведение библиотеки, а не размещение данных на уровне развёртывания.
- Раскрытие — процесс скоординированного раскрытия уязвимостей: закрытые каналы приёма, целевые сроки реагирования и модель эмбарго. Это обязательство по процессу, а не гарантия результата.
Каждая страница представляет свои нормативные утверждения в виде таблицы “утверждение → идентификатор пункта + reference_id”, сформированной из блока citations: в её front-matter. Вы можете проследить нормативную основу каждого утверждения.
Поверхность API
Заголовок раздела «Поверхность API»Неприменимо. Центр доверия — это документация. Программные интерфейсы (API), на которых основано описанное поведение, рассматриваются на страницах справочника модулей (/modules/core/security/, /modules/core/audit/) и здесь повторно не перечисляются. Эта страница ссылается на аспекты доверия, а не на символы.
Пример кода — быстрый старт
Заголовок раздела «Пример кода — быстрый старт»Неприменимо. Это страница-указатель. Она не заявляет исполняемого поведения. Подстраницы, описывающие поведение во время выполнения, содержат примеры кода там, где ядро может его продемонстрировать.
Пример кода — продакшен
Заголовок раздела «Пример кода — продакшен»Неприменимо. См. подстраницы.
Граничные случаи и подводные камни
Заголовок раздела «Граничные случаи и подводные камни»- Страница доверия не является договором. Чтение этих страниц не даёт гарантий. Действует лицензия (Apache-2.0), и содержащийся в ней отказ от гарантий применяется в полном объёме.
- Позиция привязана к версии. Описанные здесь значения по умолчанию и средства защиты относятся к текущей стабильной мажорной версии. Более старая мажорная версия может использовать более слабое значение по умолчанию. Политика безопасности фиксирует, какие мажорные версии получают исправления.
- “Поддержка” — это повторяющаяся ловушка. Во всём центре доверия поддержка профиля или механизма никогда не равнозначна соответствию этому профилю или безопасности в вашем развёртывании. Каждая страница по-своему заново проводит эту границу.
Производительность
Заголовок раздела «Производительность»Неприменимо. Документация не добавляет затрат во время выполнения. Соответствующие страницы модулей документируют диапазон производительности базовых операций безопасности.
Замечания по безопасности
Заголовок раздела «Замечания по безопасности»Центр доверия явно проводит границы безопасности, а не оставляет их подразумеваемыми. На каждой странице действуют две общие границы:
- Значения по умолчанию срабатывают по принципу запрета при отказе, но не защищают от ошибок. Каждый объект политики в движке по умолчанию использует самую строгую позицию, которую допускает публичный API. Её ослабление требует явного согласия со стороны вызывающего кода. Значение по умолчанию с запретом при отказе снижает вероятность случайного раскрытия. Оно не снимает с вас ответственности за проверку выбранной вами конфигурации. Это отражает принцип базовой конфигурации из National Institute of Standards and Technology (NIST) Special Publication (SP) 800-53 Rev. 5 CM-7 (
nist_sp_800_53r5#x4.x182.p14): минимизированная базовая конфигурация — это отправная точка. Любое ослабление — это явное, зафиксированное решение. - Документированные требования, а не всеобъемлющие заверения. Центр доверия проверяет поведение на соответствие документированным требованиям безопасности в духе Open Worldwide Application Security Project (OWASP) Application Security Verification Standard (ASVS) 5 (
owasp_asvs_5#x165): стандарт верификации измеряет соответствие перечисленным требованиям. Он не удостоверяет, что ничего не было упущено.
Соответствие
Заголовок раздела «Соответствие»Неприменимо как профиль. Этот указатель не реализует профиль соответствия. Если подстраница затрагивает стандарт (International Organization for Standardization (ISO) 32000-2 для шифрования и подписей, ISO/IEC 29147/30111 совместно с International Electrotechnical Commission (IEC) для раскрытия, General Data Protection Regulation (GDPR) Европейского союза (EU) / ISO/IEC 29100 для обработки данных), она ссылается на конкретный пункт и reference_id в своём собственном front-matter. Она сама формирует таблицу “утверждение → пункт”.