Безопасность Orion

замок.

“Безопасность через неясность – это совсем не безопасность.”

Популярный парафазинг американского слесаря Альфред Чарльз Хоббс в 1851 году, который легко выбрал замки Хрустального дворца во время лондонской выставки в том году. Мы полностью согласны с этим, и именно поэтому мы разработали концепцию для нашего механизма автоматизации Oracle Cloud Infrastructure (OCI). доступно на GitHub.

Безопасность инфраструктуры Orion

flowchart TB classDef borderless stroke-width:0px classDef darkBlue fill:#00008B, color:#fff classDef brightBlue fill:#6082B6, color:#fff classDef gray fill:#62524F, color:#fff classDef gray2 fill:#4F625B, color:#fff subgraph vcs[ ] A1[[Fort Lauderdale, FL]] B1[Air-Gapped Version Control Server] end class vcs,A1 gray subgraph vpn-us-east[ ] A2[[Reston, VA]] B2[OCI Edge Servers] end class vpn-us-east,A2 darkBlue subgraph vpn-us-west[ ] A3[[Phoenix, AZ]] B3[OCI Edge Servers] end class vpn-us-west,A3 darkBlue subgraph vpn-de-central[ ] A4[[Frankfurt, Germany]] B4[OCI Edge Servers] end class vpn-de-central,A4 darkBlue subgraph vpn-bz-west[ ] A5[[São Paolo, Brazil]] B5[OCI Edge Servers] end class vpn-bz-west,A5 darkBlue subgraph vpn-au-west[ ] A6[[Sydney, Australia]] B6[OCI Edge Servers] end class vpn-au-west,A6 darkBlue subgraph vpn-ap-west[ ] A7[[Hyderabad, India]] B7[OCI Edge Servers] end class vpn-ap-west,A7 darkBlue subgraph vpn-ap-east[ ] A8[[Seoul, South Korea]] B8[OCI Edge Servers] end class vpn-ap-east,A8 darkBlue class A1,A2,A3,A4,A5,A6,A7,A8 borderless vcs==vpn==>A2==ssh/vpn==>B2 vcs==vpn==>A3==ssh/vpn==>B3 vcs==vpn==>A4==ssh/vpn==>B4 vcs==vpn==>A5==ssh/vpn==>B5 vcs==vpn==>A6==ssh/vpn==>B6 vcs==vpn==>A7==ssh/vpn==>B7 vcs==vpn==>A8==ssh/vpn==>B8

 

Совместимое с FIPS 140-3 тройное шифрование W/MFA для служб с обратной передачей портов (HTTPS/SSH/IPsec). Пояс, подтяжки и помехи!


 

RBAC модель, перец с орфрус Контрольные задачи OTP/TOTP

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

Для доступа всех сотрудников к корпоративным компьютерам требуется интеграция PKI YubiKey с закрытыми ключами авторизации ECDSA-SHA-2-NISTP-256, хранящимися в слотах PKCS11 на Yubikey, или прямая интеграция смарт-карт с ключами ED25519-sk.

На дисках не сохранены фиксированные пароли. Это лимит автономная автоматизация использования sudo / RBAC, по уважительной причине. Однако мы имеем инструмент устранить труд реагируя на подсказки различных видов.

Выполнение в песочнице для сборок и сценариев CGI

Мы внедряем “общие – ничего” построение зон, по умолчанию равное нулю доступности сети. Это означает, что только то, что клиент может получить доступ или изменить, – это его собственные активы, а не любые другие клиенты или любые другие системные пути в самой зоне (кроме того, /tmp). Кроме того, только корпоративные и бизнес-клиенты имеют доступ к Интернету во время своих сборок, потому что они используют свои собственные уникальные зоны Solaris, которые могут быть точно адаптированы к их требованиям к сборке.

Ditto для сценариев CGI, которые полностью заблокированы с точки зрения доступа к записи для чего-либо, кроме /tmp.

Сквозное шифрование

Аспекты нулевого доверия

Основная предпосылка архитектура нулевого доверия Во избежание проектирования сетевой безопасности вокруг физиологии моллюска: жесткий снаружи, но мягкий и свободный, как только вы входите. Мы не’t сделать это; каждый значимый привилегированный сетевой порт внутри различных локальных сетей точки присутствия (POP) подвергается воздействию только машины с голым металлом’интерфейс устройства s loopback lo0, и имеет смысл только в контексте (обратного) порта, пересылаемого SSH-соединения к нему.

Мы используем TCP-прокси, а не HTTP-прокси и бэкенды MSA, поэтому единственным хостом, который видит ваш незашифрованный веб-трафик TLS, является хост, который расшифровывает его. Те же правила применяются к трафику Subversion — только прямой сквозной трафик с шифрованием TLS в конечную точку сервиса видит ваши незашифрованные данные по проводу.

Удачи с уровнями MSA и уровнями конфиденциальности данных с другими поставщиками. Враг “нефункциональная инженерия” Это сложность. Гораздо проще обеспечить значимые обещания безопасности, когда ваш продукт является федерированным монолитом вместо массивного минного поля MSA, который является еще одним противоположным отличием между Orion и его областью конкурентов.

Эта инфраструктура полностью автоматизирована, как только регион будет подключен, но это’все, что мы можем публично рассказать об архитектуре (уравновешивание прозрачности Хоббса с военной мантрой) “свободные губы раковина корабли” больше искусства, чем науки). Будьте уверены — за пределами разрушения антипуфинга lo0 защита внутри Solaris 11’s (BSD) пакетный фильтр сам по себе, нет значимых средств получения доступа к этим услугам, даже для учетных записей клиентов.

Даже если главная учетная запись OCI скомпрометирована, конфиденциальность и целостность всех активов клиентов остаются неприкосновенными. Все, что может сделать черная шляпа, это создать беспорядок с веб-сайтом клиента доступность. В частности, они не могут получить доступ к записям данных службы Subversion. Мы можем восстановить всю инфраструктуру OCI с нуля за 48–72 часа, как только это станет плохим яблоком’s Доступ к OCI прекращен.


Ведение журналов, мониторинг и аудит

Мы рекомендуем корпоративным клиентам создать учетную запись Splunk, и мы доставим в вашу учетную запись блоги практически в режиме реального времени из всех глобальных POP, которые вам требуются. Журналы ошибок для сценариев CGI на стороне сервера также доступны для Splunk.

Мы отслеживаем доступность сервисов из всех наших POP OCI по всему миру и инициируем события HA (домен доступности) или регионального аварийного переключения, если перерыв в работе сервера длится более 30 секунд.

Аудит ACL может быть выполнен путем простого создания сайта’s Subversion HEAD с лицензией Apache Орион ССГ сценарий и изучение полученной сборки в www/acl файл в каталоге оформления заказа, в любое время. Обычно процесс сборки занимает менее 10-15 секунд на современном оборудовании.

Крюки фиксации на стороне сервера Subversion также настраиваются для ваших проблем с контролем. От простого отправителя фиксации до защищенного доступа к нашему демону svnpubsub, доступно любое количество пользовательских конфигураций.


Защита приложения Orion

Общественный SSR – это запах.

Управление ACL

digraph { "@path::acl" -> "authz-svn.conf" [label="svn"]; "@path::acl" -> "/**/.htaccess" [label="httpd"]; };

 

Орион’s модель безопасности централизованно управляется настройками, содержащимися в @path::акл как в lib/path.pm. Файлы конфигурации сервера Offshoot динамически генерируются при каждом созданном изменении.

Если вы понимаете модель безопасности файловой системы POSIX, вы будете дома с Orion’с mod_dav_svn модель авторизации и веб-сервер Apache HTTPd’элементы управления .htaccess, автоматически созданные с вашего сайта’с lib/acl.yml Конфигурация YAML.

OpenIDC Защита единого входа

Все файлы cookie сеанса OpenID отмечены флагом HttpOnly и Secure, поэтому попытки кражи сеанса JavaScript эффективно нейтрализуются редактором Orion Online.

Все учетные данные файлов cookie дополнительно зашифрованы AES-256 под хешем HMAC SHA-1.

Bcrypt для паролей Subversion

Регулируемое число раундов (в настоящее время по умолчанию равно 5).

Затронутые средства защиты данных

Все наши среды выполнения Perl имеют обязательные проверки краски, включенные с флагом -T; мощная, уникальная защита Perl от Remote Shell Exploits.

Вопросы Wiki

Безопасность Wiki включает в себя несколько факторов:

  1. Защита ИП/API

  2. Безопасность промежуточного ПО/бэкенда

  3. Защита от обхода шаблона

  4. Совместимость ACL ядра поиска

Мы подробно рассмотрим эти вопросы, как они касаются Ориона ниже.

Интерактивный редактор

Онлайн-редактор поддерживает пользовательский интерфейс JSON, просто задавая агента пользователя’s Заголовок Accept предпочитает приложение/json MIME-тип, поэтому элементы управления безопасностью одинаковы как для ИП, так и для API.

Нет административного ИП/API вне прямого доступа к Subversion.

ACL Subversion управляют доступом для чтения рабочих копий на стороне сервера

Каждый ресурс рабочей копии, доступный через пользовательский интерфейс, проверяется на соответствие спискам контроля доступа Subversion перед их представлением пользователю. Таким образом мы гарантируем, что доступ для чтения к неавторизованным ресурсам для активов, находящихся под контролем версий ( все).

Доступ к фиксации напрямую контролируется с помощью списков контроля доступа Subversion

Ничто не может быть построено и впоследствии просмотрено по сети без соответствующей авторизованной фиксации Subversion. Основная проблема здесь заключается в контроле того, какая информация доступна автору вики-страницы’s совершенные и построенные правки.

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

Часто, если вы настроены на это, отредактированная страница может объявлять свои собственные файлы зависимостей в заголовках страницы, что является чем-то, что следует думать, когда вы взвешиваете наборы функций против элементов безопасности в вашем Wiki’Информационная архитектура.

Хотя мы можем предложить руководство и поддержку, соответствующие вашим потребностям,’действительно зависит от вас, как сбалансировать масштабы для вашей организации’Предприятие Вики.

См. ниже раздел на Контроль внедрения зависимостей/ACL для более подробной информации, и проверить этот живой пример того, как легко ACL’s может быть сконфигурирован в lib/acl.yml:

- path: content
  rules:
    "@staff": rw
    "@svnadmin": rw
    "*": r

- path: content/orion
  rules:
    "@marketing": rw
    "@staff": rw
    "@svnadmin": rw
    "*": r

- path: lib
  rules:
    "@svnadmin": rw
    "@devops": rw

- path: lib/acl.yaml
  rules:
    "@svnadmin": rw
    "@security": rw

- path: templates
  rules:
    "@svnadmin": rw
    "@frontend": rw

- path: cgi-bin/search.pl
  rules:
    "@svnadmin": rw
    "*":

Авторы содержимого могут настраивать ограничения страницы на странице’с заголовки:

Title: Orion Security
Dependencies: *.md.en api/index.md.en
ACL: @staff=rw, *=r, joe=rw
Keywords: security,infosec,appsec,ipsec,devsecops,it,acl,svnauthz,zerotrust

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

Создать системные списки управления доступом?

Система сборки является всевидящей и всезнающей, но мы можем гарантировать, что ваши встроенные, защищенные активы будут видны только командам, которые вы управляете и контролируете в ACL Subversion.

Система сборки отобразит список имен файлов, созданных в среде IDE браузера после фиксации, но этот список основан только на пользователе’Доступ для чтения к ресурсам, зависящим от пользователя’добавьте, обновите или удалите действия с содержимым в фиксации.

Параметры обхода шаблона

См. sanitize_relative_path:

sub sanitize_relative_path {
  for (@_) {
    s#^[\\/]+##g;
    s/^\w+://g; #Windows GRR
    s#([\\/])+#$1#g;
    s#/\./#/#g;
    1 while s#[\\/][^\\/]+[\\/]\.\.[\\/]#/#;
    s#^(?:\.\.?[\\/])+##;
  }
}

Этот код применяет правила, которые приведены ниже в этом разделе.

включать и расширять теги

Все целевые файлы находятся в подпапке /шаблоны/ папке, и на нее должны ссылаться как на абсолютные пути, укорененные в этой папке.

тег ssi

Все целевые файлы находятся в подпапке /контент/ папке, и на нее должны ссылаться как на абсолютные пути, укорененные в этой папке.

Если целевой путь не настроен в @path::шаблоны с настройкой соответствия, позволяющей либо архивировать, либо классифицировать целевой путь, си операция завершится сбоем.

Это потому, что си поддержка является необходимым условием для этих наборов функций, чтобы сохранить ваш сайт’тегет permalinks.

Контроль внедрения зависимостей/ACL

Контролируется lib/path.pm импорт.

либ/{путь, просмотр}ACL Subversion .pm

Это’разумно контролировать доступ к этим ресурсам для записи, ограничивая их людьми, как компетентными в кодовой базе, так и уполномоченными внедрять средства контроля безопасности для всего набора активов под контролем версий (также называемого все).

Это также хорошая идея, чтобы включить @svnadmin группы с доступом для чтения-записи, но’Это не обязательно, даже если вам нужно вручную сбросить ваши ACL Subversion.

Динамически созданные правила через @путь::acl

Система сборки принимает к сведению ваше lib/path.pm импортирует либо (или оба) из seed_file_deps() и seed_file_acl(), и переносит этот выбор вперед в своей внутренней обработке изменений фиксации Subversion, которые приводят к инкрементной сборке.

Отслеживание миграции контролируемого контента

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

В противном случае материал может быть случайно выставлен историческому исследователю без необходимых разрешений**.

Орион CMS’s логика отслеживания перемещения/удаления обрабатывает это без проблем.

Пользовательские элементы управления для функции seed_file_deps() и использования функции seed_file_acl() в lib/path.pm

Помимо импорта этих символов в lib/path.pm, есть также выбор в том, как и к каким файлам вы хотите применить их, во время выполнения блока кода walk_content_tree (). В конце концов, это’не просто конфигурационный файл, а кодовая база, со всеми функциями Turing Перл мы’Приходите знать и ценить!

Созданные файлы .htaccss веб-сайта и файлы авторизации Subversion синхронизированы с @path::acl мгновенно при фиксации

Автоматическая защита ACL для эфемерных ветвей. Требуется нулевая дополнительная конфигурация.

Встроенные средства управления поисковой системой PCRE

Такая же ситуация, как и универсальный пользовательский интерфейс: он перекрестно проверяет сервер Subversion из пользовательского интерфейса.

На действующем сайте поисковая система будет делать то же самое, когда вы включаете поиск по разметке (дерево источника). В противном случае он будет запускать подзапросы httpd на ваш действующий сайт, чтобы проверить, разрешен ли пользователю доступ к этому активному файлу (при условии, что вы защитили свою поисковую систему паролем, чтобы у нее были данные пользователей для работы).

Политики защиты содержимого

Google и/или LinkedIn.

Данные должны быть доставлены с наших серверов.

Контент должен быть доставлен с наших серверов.

Код JavaScript должен быть доставлен с наших серверов.

CSS должен быть доставлен с наших серверов.

Текущий PDF’Только с.

Совместное использование ресурсов между источниками

Зависимости третьих сторон

Замечательно короткие и проверенные временем зависимости; основные компоненты которых охватываются Технология Orion страница.

Спецификация программного обеспечения (SBOM) доступна по запросу

Контакты для более подробной информации.


Индекс