Качественные модули для DLE
с приятными ценами

Правила безопасности для DataLife Engine на базе NGINX

Главная / Статьи / Правила безопасности для DataLife Engine на базе NGINX
92 просмотра
Месяц и Неделю назад

 

В этой статье мы добавим немного безопасности нашим файлам DataLife Engine под управлением веб-сервера NGINX.


В официальном файле с правилами для NGINX от разработчиков DLE, по какой-то причине не закрыты доступы к важным директориям и файлам. А именно:

  • Директория с бэкапами.
  • Директория с кэшем.
  • Доступ к файлам шаблона.
  • Доступ к файлам в папке /engine/data/
  • Доступ к php файлам в критических директориях.

location ~* \.(tpl)$ {
    deny all;
    return 404;
}

location /backup/ {
    deny all;
}

location ~* (uploads|uploads/fotos|uploads/posts|templates|language|language/Russian|language/Ukrainian|language/English|engine/data)/.+\.php {
    deny all;
}

location ~* (engine/cache) {
    deny all;
}

location ~* (engine/data)/.+\.txt {
    deny all;
}

location ~ /\.ht {
    deny all;
}

Добавив эти правила, вы обезопасите себя и свой сайт от прямого доступа к важным директориям, файлам и возможным уязвимостям.


Дополнительно

Если у вас есть подобное правило

location ~ [^/]\.ph(p\d*|tml)$ {
    try_files /does_not_exists @php;
}

То необходимо добавить внутрь него следующее правило, в противном случае запуск php файлов напрямую всё также будет работать.

location ~* (uploads|uploads/fotos|uploads/posts|templates|language|language/Russian|language/Ukrainian|language/English|engine/data)/.+\.php {
    deny all;
}

Выйдет по итогу

location ~ [^/]\.ph(p\d*|tml)$ {
    location ~* (uploads|uploads/fotos|uploads/posts|templates|language|language/Russian|language/Ukrainian|language/English|engine/data)/.+\.php {
        deny all;
    }

    try_files /does_not_exists @php;
}
Комментарии (0)