Каталог ядра в открытом доступе в Modx
Часто в панели администрирования MODX можно увидеть предупреждение с заголовком «Каталог ядра в открытом доступе». Согласно нему следует, что содержимое каталога «core» доступно для чтения. Это является уязвимостью, поэтому следует прислушаться к рекомендациям движка.
А движок рекомендует следующее. В корне «core» каталога лежит конфигурационный файл Apache — ht.access. Внутри него прописаны правила, которые запрещают просмотр содержимого каталога и удалённый доступ к файлам. Чтобы активировать конфигурационный файл, следует переименовать его в .htaccess.
В большинстве случаев надпись «Каталог ядра в открытом доступе» при такой защите не пропадает. Проблема в том, что многие хостинговые площадки используют связку Apache + Nginx, где Apache отвечает за отдачу содержимого html страницы, а Nginx — статичных файлов. Modx для проверки закрытия доступа к каталогу «core» проверяет доступность файла «core/docs/changelog.txt», за отдачу которого отвечает Nginx. И так как на Nginx правила из htaccess не действуют, он благополучно отдаёт его содержимое.
То есть текстовые файлы остаются всё равно доступны, что не является критичным, а значит сообщение можно игнорировать. Либо переимновать файл «changelog.txt», тем самым обманув движок. Сообщение будет скрыто.
так как это взаимно заменяемые службы, но во первых при фильтрации потока(какой тип файла чем обрабатывать) прийдется плясать с бубном(писать его отдельно) так как не там не там перенаправления на другой сервер(а именно так по сути для Apache Nginx именно ВНЕШНИЙ сервер) нет из коробки… а доступ к парсеру и в Apache и в Nginx устроен одинаково…
что касается угрозы то если у вас движок выдает сие предупреждение
не по ленитесь «ручками» проверить доступность файлов… и если действительно core доступен для простого гостя из сети то не исправить значит позволить исполнять ЛЮБОЙ код из доступного для modx.(по сути это как доступ к консоли сервера(со всеми там make))