Безопасный 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;
}