Devo instalar o PhpMyAdmin em um servidor de produção ou em um servidor diferente, acessando o banco de dados de produção através do fio?

2

(Esta questão está relacionada mas é diferente de instalar o phpmyadmin em um servidor web de produção? )

Eu quero usar o PhpMyAdmin para acessar meu banco de dados de produção. Eu prefiro não tê-lo instalado no servidor de produção. Seria razoável / seguro executá-lo em um servidor diferente, mas ter acesso ao meu banco de dados de produção pela Internet?

    
por julien_c 07.11.2011 / 16:58

4 respostas

1

Eu tenho um servidor de desenvolvimento interno em que eu executo o phpmyadmin e, em seguida, tenho túneis ssh de portas altas aleatórias no servidor dev para a porta 3306 em cada servidor de produção. Em seguida, aponto o phpmyadmin para a porta local de números altos.

autossh -C -M 0 -f -N -L 7650:localhost:3306 [email protected]

Esta é a configuração myphpmyadmin para cada host. Você pode duplicar isso quantas vezes precisar alterando o host e a porta. Quando você for para a página do phpmyadmin, você terá uma lista suspensa que permite selecionar qual host você deseja se conectar. Apenas certifique-se de que cada um esteja no arquivo hosts e aponte para localhost.

%pr_e%

$ i ++; $ cfg ['Servers'] [$ i] ['auth_type'] = 'cookie'; $ cfg ['Servers'] [$ i] ['host'] = 'MySite'; $ cfg ['Servers'] [$ i] ['porta'] = '7650'; $ cfg ['Servers'] [$ i] ['connect_type'] = 'tcp'; $ cfg ['Servers'] [$ i] ['compress'] = false; $ cfg ['Servers'] [$ i] ['extension'] = 'mysql'; $ cfg ['Servers'] [$ i] ['AllowNoPassword'] = false; $ cfg ['Servers'] [$ i] ['bs_garbage_threshold'] = 50; $ cfg ['Servers'] [$ i] ['bs_repository_threshold'] = '32M'; $ cfg ['Servers'] [$ i] ['bs_temp_blob_timeout'] = 600; $ cfg ['Servers'] [$ i] ['bs_temp_log_threshold'] = '32M';

    
por 07.11.2011 / 17:16
0

Se você estiver acessando o servidor de produção pela internet, eu recomendaria minimizar o número de portas abertas. Escusado será dizer que, quanto menos serviços forem expostos à internet, menor a probabilidade de você ter uma vulnerabilidade de segurança.

Dito isto, recomendo o seguinte:

  1. Se você já expõe as portas mySQL na internet, use o phpMyAdmin remotamente. Se você não fizer isso, você não deve arriscar a permissão de conexões externas com o banco de dados.
  2. Hospede o phpMyAdmin diretamente no servidor de produção, mas use um URL que não seja "típico". Os robôs examinam locais comuns, como / phpmyadmin /.
  3. Se você expuser o SSH (o que eu imagino que você faça), exponha o phpmyadmin apenas no localhost do servidor de produção e encapsule seu tráfego da web para o servidor por meio de uma conexão SSH. Você pode abrir uma conexão semelhante à seguinte e, em seguida, apontar seu navegador para o proxy de socks "localhost: 2000".
ssh -D 2000 user@production-server
    
por 07.11.2011 / 17:36
0

Aqui está minha preferência:

1) desautorizar conexões para o mysql de fora da sua rede 2) Execute o phpmyadmin em um servidor seguro ... https: // 3) Mantenha o mysql e phpmyadmin em servidores separados para manter a vulnerabilidade baixa em qualquer servidor 4) Não exponha o SSH fora da sua rede. Se você precisar acessar o SSH de fora, conecte a VPN à sua rede primeiro.

    
por 07.11.2011 / 17:51
0

Você pode simplesmente instalar o phpmyadmin no servidor de produção, mas várias coisas podem ser feitas para melhorar a segurança do seu sistema:

1- Execute o apache na porta não padrão.

2- Acesse as páginas da web usando https. Um certificado autoassinado deve ser suficiente.

3- Use as regras apropriadas allow / deny no apache para permitir apenas os ips confiáveis.

4- Altere a URL http padrão do phpmyadmin para algo não facilmente adivinhado.

5- Use senhas strongs.

    
por 07.11.2011 / 21:59

Tags