Безопасный PHPMyAdmin в Ubuntu Nginx - прямой доступ к index.php все еще существует

На веб-сервере Ubuntu - Nginx я пытаюсь защитить PHPMyAdmin.

Существует множество учебных пособий, которые распространяют информацию об использовании auth_basic или разрешают владеть / запрещать все другие IP-адреса и / или использовать запутывание путем переименования символической ссылки в PHPmyadmin. Это все хорошо, но если я использую эти методы, когда кто-то переходит на domainname.tld/phpmyadmin/index.php, по-прежнему появляется экран входа PHPmyadmin.

Что я могу сделать, чтобы обеспечить безопасность PHPmyadmin?

Файл конфигурации nginx sites-available содержит следующее:

set $allowed 0;
if ($remote_addr = my.ip.address) {
    set $allowed 1;
}
location /phpmyadmin {
    if ($allowed != 1) {
        rewrite ^ /404 break;
    }
}

1 ответ

Это, кажется, работает, добавил местоположение index.php и напрямую обрабатывает php в этом месте (в противном случае php не анализируется):

    set $allowed 0;
if ($remote_addr = my.ip.address) {
    set $allowed 1;
}
location /phpmyadmin {
    if ($allowed != 1) {
    rewrite ^ /404 break;
    }
}
location = /phpmyadmin/index.php {
    if ($allowed != 1) {
        rewrite ^ /404 break;
    }
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
Другие вопросы по тегам