Pergunta

Eu tenho um servidor de produção com apache2, php, mysql. Eu tenho apenas um site agora (mysite.com) como um host virtual. Eu quero colocar phpmyadmin, webalizer, e talvez webmin lá. Até agora, eu instalei phpmyadmin, e ele funciona, mas toda a internet pode ir para mysite.com/phpmyadmin

Como posso reduzir a visibilidade a dizer 192.168.0.0/16 por isso é apenas acessível para máquinas atrás da minha firewall?

Foi útil?

Solução

1) Você pode fazê-lo no nível Webserver.

Use permitir / negar regras para apache. Se você não tem acesso direto ao seu arquivo de configuração do apache, você pode usar um arquivo .htaccess.

<Directory /docroot>
    Order Deny,Allow
    Deny from all
    Allow from 10.1.2.3
</Directory>

2) Você pode fazê-lo no nível do aplicativo usando o arquivo phpmyadmin configuração.

O parâmetro de configuração é: $cfg['Servers'][$i]['AllowDeny']['rules']

Exemplos de regras são:

'all' -> 0.0.0.0/0
'localhost' -> 127.0.0.1/8
'localnetA' -> SERVER_ADDRESS/8
'localnetB' -> SERVER_ADDRESS/16
'localnetC' -> SERVER_ADDRESS/24

Você pode ver isso na documentação oficial configuração phpMyAdmin.

http://www.phpmyadmin.net/documentation/#servers_allowdeny_order

Outras dicas

Você usaria um módulo no Apache chamado mod_access

Você pode configurá-lo em seu arquivo de configuração do apache ou dentro de um arquivo .htaccess na raiz do diretório.

Aqui está um pequeno exemplo

<Directory /your_folder/location>
    Order Deny,Allow
    Deny from all
   Allow from 123.123.123.123
</Directory>

Use a directiva (ou no configuração do servidor ou se é permitido, no .htaccess). De lá, você pode usar Allow from para negar o acesso a todos os outros , exceto algum determinado fonte.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top