Protegendo o PHPMyAdmin no Ubuntu Nginx - o acesso direto ao index.php ainda existe

1

Em um servidor web Ubuntu-Nginx eu tento proteger o PHPMyAdmin.

Existem muitos tutoriais por aí, eles propagam o uso de auth_basic ou permitem a própria / negar todos os outros endereços IP e / ou usam ofuscação, renomeando o link simbólico para o PHPmyadmin. Tudo bem e bem, mas se eu usar esses métodos, quando alguém acessa domainname.tld / phpmyadmin / index.php, a tela de login do PHPmyadmin ainda aparece.

O que eu poderia fazer para manter o PHPmyadmin seguro?

O arquivo conf disponível nos sites nginx contém isto:

set $allowed 0;
if ($remote_addr = my.ip.address) {
    set $allowed 1;
}
location /phpmyadmin {
    if ($allowed != 1) {
        rewrite ^ /404 break;
    }
}
    
por C.A. Vuyk 12.06.2018 / 10:38

1 resposta

0

Isto parece funcionar, adicionado a localização do index.php e diretamente manipulando o php dentro daquele local (caso contrário o php não é analisado):

    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;
}
    
por 12.06.2018 / 11:34