Задать вопрос
Ответы пользователя по тегу Информационная безопасность
  • Может ли CSS файл содержать вредоносный код?

    SerafimArts
    @SerafimArts
    Senior Notepad Reader
    Внутрь css можно встраивать JS для IE и FF.

    body {
      behavior:url(script.htc);
    }
    
    // ....
    
    <public:component tagname="xss">
       <public:attach event="ondocumentready" onevent="main()" literalcontent="false" />
    </public:component>
    <script>
    function main() {
        alert("HTC script executed.");
    }
    </script>


    body {
      -moz-binding: url(script.xml#mycode);
    }
    
    // ....
    
    <?xml version="1.0"?>
    <bindings xmlns="http://www.mozilla.org/xbl" xmlns:html="http://www.w3.org/1999/xhtml">
        <binding>
            <implementation>
                <constructor>
                    alert("XBL script executed.");
                </constructor>
            </implementation>
        </binding>
    </bindings>


    Так что в теории, любые куки без флагов http-only могут улететь на сторонний сайт.
    Ответ написан
  • Какие прорехи в безопасности могут быть в конфигурации nginx?

    SerafimArts
    @SerafimArts
    Senior Notepad Reader
    1) Отсутствует hsts заголовок
    2) Не указаны SSL протоколы, стоит явно прописать TLS, т.к. остальные потенциально не безопасные
    3) Отсутствует перечисление ciphers (потенциально допустимы слабые и небезопасные алгоритмы)
    4) Отсутствует ключик диффи
    5) Используется потенциально небезопасная и устаревшая версия PHP
    6) Включена (не отключена) передача заголовков сервера (т.е. информация о том, что используется nginx)
    7) Отсутствуют OCSP Stapling настройки (насколько я помню - могут возникнуть проблемы с отозванными сертификатами x.509)

    По поводу настройки самих урлов - хз. Самая лучшая защита и самая адекватная - это просто хранить в web-корне только то, что может быть доступно наружу, как делают все адекватные фреймы, например: https://github.com/laravel/laravel/tree/master/public
    Это значит, что в вашем случае их всего два должно быть - это index и json (второй просто прикрыт по айпишнику), остальные вариант ничего не гарантируют.

    Тоже самое и с phpmyadmin. Зачем он? Неужели workbench, phpstorm или ещё что с соединением сквозь ssh туннель по сертификату будет менее удобен или безопасен? Не верю.

    С админкой, соглашусь, но там, кажется, всё в пределах нормы. Только, кажется, имеет смысл перенастроить каким-нибудь таким (не обязательно прям так, ибо я не проверял как работает пример) образом:
    location ~ /admin/*.\.php$ {
        try_files $uri $uri/ /admin/index.php?$query_string =404;
        // ...
    }

    Т.е. чтобы любой запрос куда-либо отправлял на его index. Не?
    Ответ написан
    1 комментарий