Я пытаюсь создать надежную и безопасную политику безопасности контента в nginx, используя сервер LEMP на базе wordpress. Я полагаю, что использую модуль ngx_pagespeed.so и реализовал FastCGI на своем сервере.Я считаю, что одна из этих функций преобразует мои изображения jpeg в изображения webP на лету.
В моей директиве политики безопасности контента для Nginx я пытаюсь устранить XSS-атаки, но по-прежнему поддерживаю использование изображений webP, созданных либо модулем скорости страницы, либо FastCGI.
Однако, чтобы CSP разрешил изображения webP, мне нужно поставить img-src 'собственные' данные:;
в моей директиве заголовка политики безопасности контента, например:
add_header Content-Security-Policy "default-src 'self'; script-src 'self'; данные img-src 'self':;";
Проблема в том, что включение данные:
block делает мой веб-сайт уязвимым для XSS-атак, что фактически делает политику безопасности контента бессмысленной. Таким образом, кажется, что у меня может быть либо сверхбезопасный, но медленный веб-сайт, использующий обычные jpeg, либо я могу иметь супернебезопасный, но быстрый веб-сайт, использующий изображения webP, отображаемые сервером.
Мой вопрос: есть ли способ указать, что в директиве CSP разрешены только изображения webP? img-src 'собственные' данные;";
? В идеале я хочу сказать nginx, что изображения webP должны быть одобрены в CSP, но любые другие изображения за пределами моего сайта или формата webP должны быть заблокированы.
Это возможно? Если нет, то кажется, что CSP довольно бесполезен по крайней мере для 50% серверов. Если да, то не могли бы вы помочь мне разобраться и дать мне знать, как я могу реализовать директиву, которая определяет webP как разрешенный формат в моем CSP?
Спасибо за любую помощь!