Редактировал(а) Ирина Сафонова 22.03.2024, 15:16

От версии 78.1
отредактировано Ирина Сафонова
на 07.04.2023, 13:18
Изменить комментарий: К данной версии нет комментариев
К версии 76.1
отредактировано Ирина Сафонова
на 07.04.2023, 12:59
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

Свойства страницы
Содержимое
... ... @@ -95,7 +95,6 @@
95 95  1. Перейдите в **Настройки** -> **Список ролей**.
96 96  1. Нажмите кнопку **Добавить новую запись**.
97 97  1. В открывшейся экранной форме введите название роли и задайте ей права (доступен множественный выбор).
98 -1. При необходимости добавьте пользователей на вкладке **Список пользователей**.
99 99  
100 100  == Добавление пользователей в группу доступа ==
101 101  
... ... @@ -167,3 +167,59 @@
167 167  3. Поле предложения, которое может содержать произвольный текст, добавить к предложению WHERE сгенерированного оператора SQL. Таким образом, вы даже можете настроить фильтр //За последние 30 дней// и применить его к определенной роли с таким предложением, как {{code language="none"}}date_field > DATE_SUB(NOW(), INTERVAL 30 DAY){{/code}}. Фильтр также может поддерживать несколько условий: {{code language="none"}}client_id = 6{{/code}} И {{code language="none"}}advertiser="foo"{{/code}} и так далее.
168 168  
169 169  Все соответствующие фильтры безопасности на уровне строк будут объединены вместе (внутри различные предложения SQL объединяются с помощью операторов AND). Это означает, что можно создать ситуацию, когда две роли конфликтуют таким образом, что подмножество таблиц может быть пустым. Например, фильтры** **{{code language="none"}}client_id=4{{/code}} и {{code language="none"}}client_id=5{{/code}}, примененные к роли, приведут к тому, что пользователи этой роли будут иметь {{code language="none"}}client_id=4{{/code}} и {{code language="none"}}client_id=5{{/code}}, добавленные к их запросу, что никогда не может быть правдой.
169 +
170 +== Политика безопасности контента ==
171 +
172 +**Политика безопасности контента** — это дополнительный уровень безопасности, который помогает обнаруживать и смягчать определенные типы атак, включая [[межсайтовые скриптинги>>https://wiki.dfcloud.ru/bin/view/Glossary/%D0%9C%D0%B5%D0%B6%D1%81%D0%B0%D0%B9%D1%82%D0%BE%D0%B2%D1%8B%D0%B9%20%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%B8%D0%BD%D0%B3]] (XSS) и атаки с внедрением данных.
173 +
174 +Политика безопасности контента позволяет администраторам серверов уменьшить или устранить векторы, по которым может происходить XSS, указав домены, которые браузер должен рассматривать как допустимые источники исполняемых скриптов. В этом случае браузер, совместимый с политикой, будет выполнять только сценарии, загруженные в исходные файлы и полученные из этих разрешенных доменов, игнорируя все остальные сценарии (включая встроенные сценарии и HTML-атрибуты обработки событий).
175 +
176 +Политика описывается с помощью ряда директив, каждая из которых описывает политику для определенного типа ресурса или области политики. Описание директив доступно по ссылке.
177 +
178 +Важно коррректно настроить политику безопасности контента при развертывании Cloud BI, чтобы предотвратить многие типы атак. Cloud BI предоставляет две переменные в config.py для развертывания:
179 +
180 +* {{code language="none"}}TALISMAN_ENABLED{{/code}} по умолчанию имеет значение //False//. Установите для этого параметра значение //True//
181 +* {{code language="none"}}TALISMAN_CONFIG{{/code}} содержит фактическое определение политики
182 +
183 +При работе в продуктивном режиме Cloud BI при запуске проверяет наличие настройки политики. Если она не будет найдена, то система выдаст предупреждение, что есть угроза безопасности. Для сред, в которых политики безопасности определены вне Cloud BI с помощью другого программного обеспечения, администраторы могут отключить это предупреждение с помощью ключа {{code language="none"}}CONTENT_SECURITY_POLICY_WARNING{{/code}} в {{code language="none"}}config.py{{/code}}.
184 +
185 +=== Требования к политике безопасности контента ===
186 +
187 +Требования следующие:
188 +
189 +* Укажите ключевые слова {{code language="none"}}'unsafe-eval'{{/code}} и {{code language="none"}}'unsafe-inline'{{/code}}:
190 +
191 +{{code language="none"}}
192 +default-src 'self' 'unsafe-eval' 'unsafe-inline'
193 +{{/code}}
194 +
195 +* Некоторые дашборды загружают изображения с использованием URI данных:
196 +
197 +{{code language="none"}}
198 +img-src 'self' data:
199 +{{/code}}
200 +
201 +* Диаграммы MapBox используют воркеры и должны подключаться к серверам MapBox:
202 +
203 +{{code language="none"}}
204 +worker-src 'self' blob:
205 +connect-src 'self' https://api.mapbox.com https://events.mapbox.com
206 +{{/code}}
207 +
208 +Ниже пример {{code language="none"}}TALISMAN_CONFIG{{/code}}, который реализует вышеуказанные требования, использует {{code language="none"}}'self'{{/code}} для ограничения содержимого тем же источником, что и сервер Cloud BI, и запрещает устаревшие элементы HTML, устанавливая для {{code language="none"}}object-src{{/code}} значение {{code language="none"}}'none'{{/code}}.
209 +
210 +{{code language="none"}}
211 +TALISMAN_CONFIG = {
212 + "content_security_policy": {
213 + "default-src": ["'self'", "'unsafe-inline'", "'unsafe-eval'"],
214 + "img-src": ["'self'", "data:"],
215 + "worker-src": ["'self'", "blob:"],
216 + "connect-src": ["'self'", "https://api.mapbox.com", "https://events.mapbox.com"],
217 + "object-src": "'none'",
218 + }
219 +}
220 +{{/code}}
221 +
222 +== Сообщение об уязвимостях ==
223 +
224 +Если у вас есть опасения относительно безопасности Cloud BI или вы обнаружите уязвимость или потенциальную угрозу, свяжитесь с технической поддержкой Cloud BI. В письме настоятельно рекомендуется указать способ воспроизведения проблемы и показать пример. Техническая поддержка обязательно с вами свяжется после оценки и анализа результатов возникшей уязвимости.