Я пытаюсь установить очень строгий CSP на своем сайте при переходе с WordPress на Ghost, и мне кажется, что я упускаю что-то очень очевидное.

Я просмотрел документацию и делаю то, что должен, но что-то не работает. Мой CSP проверяется на валидаторе CSP Google, и когда я проверяю сумму скриптов, выполняя curl | sha256sum Я получаю ту же контрольную сумму, которую я добавил в свою политику. Однако при просмотре сайта скрипты отклоняются, потому что они не проверяются.

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

Я использую последнюю версию NGINX и новую версию Ghost на Ubuntu 18.04 с MariaDB.

Заголовки CSP, которые я добавляю на сайт, находятся в файле conf NGINX для сайта, но они следующие. Это представлено ниже в читабельной форме, в моем текущем конфигурационном файле NGINX все находится на одной строке, потому что в противном случае я получаю ошибки протокола HTTPS:

    add_header Content-Security-Policy "base-uri 'self' https://beta.robbiecrash.me;
    default-src 'self' https://beta.robbiecrash.me; 
    object-src 'none';
    connect-src 'self';
    font-src 'self';
    frame-src www.youtube.com;
    img-src 'self';
    script-src 'strict-dynamic'
        'sha256-QT9FPilWNRx81jNnzwGg8aKVftFHsTMs7UcdGqgPGBY='
        'sha256-DfwnDueq8Kk23IWsFe1JOHznwCCIIYaJcBnt+SCv7y8='
        'sha256-bj/JlIND2F1ZRARRwS8t4d22whMq5QMxT2rGs/hyGKg='
        'sha256-psNZvEVSwudZCmMthmvN/ol/ZqTA/e6EBRnRmxq0gyU='
        'sha256-BSJSoYL3U/h9xfMICRiRZw/GId8TxSgDkqr3/yGkXaM='
        'sha256-G1YPIho+4GJ3Mx5AW5VrOE1e94MKZDtODCVxibet+Ic='
        'sha256-VXclGR1TDdlJWafKXNnziC4NWnKSUF5eCMGLHBXTwOs='
        'sha256-ToHDftw1HI6v/zp4y9Ua7GWD/lduxaBPhYXOpJ+pheY='
        'sha256-EbIleRp3k4KblfrrVZx2y5CZ6W+uPnYpuvdugay1SLE='
        'sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4='
        'sha256-jTGzLAqOAcOL+ALD2f2tvFY7fs6dwkOeo88xiuVHaRk='
        'sha256-uURSbWfSLHhi+UpdPjpowvdJK8c/9pV7tbNDEvSL6cM='
        'sha256-Ch5rv5tgAdVMCh7Wqb0UOcXkQAHNFSezi+0v/0z6xfw='
        'sha256-Cnsy1D8mpJ5y4oRYZnhMnNxD51Cc1hHiQX33Jckfcn0='
        'unsafe-inline'
        inline: 'self';
    style-src
        'sha256-N1K43s+8twRa+tzzoF3V8EgssdDiZ6kd9r8Rfgg8kZU='
        'sha256-+UKXHR4SMd37yUxqCERfCWTT8gUc3QPJ/UXlvgcE74A='
        'sha256-J5oxR0L06zUscYq2mIlVVL5xpZ+Y5NBcit/F+Zh7ei4='
        'sha256-Drj3vHAhMI5tuKJTEjwJwQRAsZDcF463bO0KllBipH0=' 
        'sha256-T8cuZtWj79tY0DXOgszGq42DByRWbdRQULuIYGfFx6s='
        inline: 'self';
    script-src-elem cdnjs.cloudflare.com code.jquery.com inline: 'self';
    style-src-attr inline: 'self';
    style-src-elem cdnjs.cloudflare.com 'self' inline: 'self';";

Например, скрипт:https://beta.robbiecrash.me/public/ghost-sdk.min.js?v=9f1aeb2053

Когда я сверну его, контрольные суммы для:

413f453e2956351c7cd63367cf01a0f1a2957ed147b1332ced471d1aa80f1816

Который преобразует в Base64 следующее:

QT9FPilWNRx81jNnzwGg8aKVftFHsTMs7UcdGqgPGBY=

Который является первым sha256-записью в моем скрипте-src. Сайт, каким он сейчас является, доступен по адресу https://beta.robbiecrash.me.

Я полностью не понял, как должен быть настроен CSP? Это потому, что я устанавливаю новые директивы, но не полностью заполняю их? Chrome сообщает, что эти директивы игнорируются, потому что я не включил их в chrome://flags.

0