Como proteger phpmyadmin?

9

Verifiquei meus logs do apache e, whooooaaa, ​​existem muitos bots tentando explorar o phpmyadmin. A primeira coisa que fiz foi mudar o nome do diretório para algo mais obscuro.

Mas, existem outras dicas para proteger o phpmyadmin?

(O próprio banco de dados está disponível apenas na rede local)

Boris Guéry
fonte
5
O próprio banco de dados pode estar acessível apenas localmente, mas se sua interface de gerenciamento (phpMyAdmin) estiver disponível publicamente, isso não fará diferença.
31909 John Gardeniers
4
A melhor maneira de proteger o phpMyAdmin é aprender a usar o cliente de linha de comando do MySQL e desinstalar o phpMyAdmin.
precisa saber é o seguinte
@MDMarra Concordo absolutamente com você, mas eu estava tendo uma missão para este cliente que precisava ter o PhpMyAdmin instalado, nunca o usei e sempre prefiro o SSH a ele. No entanto, para alguns usos, aprender SQL não é uma opção e uma GUI como PhpMyAdmin é bem-vinda por muitos usuários, mas deve ser protegida adequadamente por nós, especialistas e profissionais. É muito arrogante pensar o contrário.
Boris Guéry

Respostas:

13

Fazemos uma combinação de coisas:

  • Proteja o phpMyAdmin por meio da configuração .htaccess ou Apache, que solicita um login com nome de usuário / senha HTTP.
  • Proteja o phpMyAdmin através da configuração .htaccess ou Apache para permitir apenas o acesso de determinados endereços IP confiáveis
  • Coloque o phpMyAdmin em seu próprio VirtualHost e execute-o em uma porta não padrão
  • Permitir apenas conexões HTTPS ao phpMyAdmin, e não HTTP normal
  • Permitir apenas conexões a partir da LAN (use uma VPN para passar pelo firewall e permita conexões apenas se você estiver nessa LAN / VPN)
  • Não nomeie o diretório em algo óbvio como / phpMyAdmin /

Você também pode usar o encaminhamento de porta SSH para utilizar chaves SSH. Consulte https://stackoverflow.com/a/3687969/193494

Keith Palmer Jr.
fonte
6

Adicione um .htaccess que permita apenas o acesso IP local à pasta phpmyadmin.

gekkz
fonte
E se for para os clientes usarem? Muitos webhosts usam o PHPMyAdmin.
Luc
6

Disponibilize o phpmyadmin em um vhost acessível apenas a partir do host local e exija que os usuários usem ssh e encaminhamento de porta para obter acesso a ele.

Brian De Smet
fonte
2

Use .htaccess

Acabamos de lançar um arquivo .htaccess com proteção de nome de usuário / senha e (dependendo das circunstâncias) endereço IP.

Isso permite que os EUA acessem o recurso rápida e facilmente de computadores confiáveis, mas mantém os hackers afastados.

Outra observação ... não use o mesmo nome de usuário / senha para o seu .htaccess como para o PHPMyAdmin ... isso seria bobo. :-)

Espero que isto ajude.

KPWINC
fonte
2

Eu concordo com htaccess (/ w password) e https.

Você também pode considerar adicionar um segundo IP a esse servidor e criar um Apache virtualhost baseado em IP para phpmyadmin. Este poderia ser apenas um IP de rede local, portanto, seria protegido pelo firewall (e talvez você nem tenha uma regra nat para isso).

Quanto mais camadas (ou seja, htaccess + https + Virtualhost), melhor eu acho. Idealmente, os robôs não devem poder alcançá-lo em primeiro lugar.

Você também pode sempre colocar o phpmyadmin em uma caixa diferente também.

Kyle Brandt
fonte
1

Além das respostas fornecidas, também usamos o OSSEC de código aberto para monitorar nossos registros da web e alertar / bloquear essas verificações.

É muito simples de instalar e, por padrão, ele encontra seus logs da web e começa a monitorá-los.

Link: http://www.ossec.net

sucuri
fonte
1

Mova o phpmyadmin para um diretório cujo nome seja obscurecido da maneira que se espera que uma senha seja, por exemplo: combinação de letras maiúsculas e minúsculas e números (PhP01mY2011AdMin, por exemplo) e senha "segura" da mesma forma que protege o diretório com .htpasswd Faça o truque.

Por outro lado, se a segurança de seus bancos de dados mysql é vital para os seus negócios, é preciso perguntar "o que você está fazendo para tornar uma ferramenta administrativa como o phpmyadmin acessível à internet?" Mas ei, todo mundo tem suas razões para viver.

Desenhou
fonte
0
  • HTTPS
  • Tornar acessível somente via túnel VPN / SSH

O phpmyadmin é um animal muito difícil de proteger. Você precisaria de mod_security e de uma semana depurando os alertas apenas para desativar metade das regras para garantir a funcionalidade do phpmyadmin. Conclusão: não o torne acessível ao público.

pesado
fonte