Pesquisa de site

Como instalar e proteger o phpMyAdmin no Debian 7


phpMyAdmin

phpMyAdmin é um software web gratuito para trabalhar com MySQL na web. Ele fornece um front-end visual conveniente para os recursos do MySQL.

Configurar

Antes de trabalhar com o phpMyAdmin, você precisa ter o LAMP instalado em seu servidor. Se você não tiver a pilha Linux, Apache, MySQL, PHP em seu servidor, poderá encontrar o tutorial para configurá-lo aqui.

Depois de ter o usuário e o software necessário, você pode começar a instalar o phpMyAdmin no seu VPS!

Instalar phpMyAdmin

A maneira mais fácil de instalar o phpmyadmin é através do apt-get:

sudo apt-get install phpmyadmin

Durante a instalação, o phpMyAdmin o guiará por uma configuração básica. Uma vez iniciado o processo, siga estas etapas:

  • Selecione Apache2 para o servidor
  • Escolha SIM quando perguntado se deseja Configurar o banco de dados para phpmyadmin com dbconfig-common
  • Digite sua senha do MySQL quando solicitado
  • Digite a senha que deseja usar para fazer login no phpmyadmin

Após a conclusão da instalação, adicione phpmyadmin à configuração do apache.

sudo nano /etc/apache2/apache2.conf

Adicione a configuração do phpmyadmin ao arquivo.

Include /etc/phpmyadmin/apache.conf

Reinicie o apache:

sudo service apache2 restart

Você pode acessar o phpmyadmin indo para seuipaddress/phpmyadmin. A tela deve ficar assim.

Segurança

Infelizmente, as versões mais antigas do phpMyAdmin tiveram sérias vulnerabilidades de segurança, incluindo permitir que usuários remotos eventualmente explorassem o root no servidor privado virtual subjacente. Pode-se evitar a maioria desses ataques por meio de um processo simples: bloquear todo o diretório com restrições nativas de usuário/senha do Apache, o que impedirá que esses usuários remotos tentem explorar versões mais antigas do phpMyAdmin.

Configurar o arquivo .htaccess

Para configurar isso, comece permitindo que o arquivo .htaccess funcione dentro do diretório phpmyadmin. Você pode fazer isso no arquivo de configuração do phpmyadmin:

sudo nano /etc/phpmyadmin/apache.conf 

Na seção do diretório, adicione a linha \AllowOverride All em \Directory Index, fazendo com que a seção fique assim:

<Directory /usr/share/phpmyadmin>
        Options FollowSymLinks
        DirectoryIndex index.php
        AllowOverride All
        [...]

Configurar o arquivo .htaccess

Com o arquivo .htaccess permitido, podemos configurar um usuário nativo cujo login seja necessário para acessar a página de login do phpmyadmin.

Comece criando a página .htaccess no diretório phpmyadmin:

sudo nano /usr/share/phpmyadmin/.htaccess

Siga configurando a autorização do usuário no arquivo .htaccess. Copie e cole o seguinte texto em:

AuthType Basic
AuthName "Restricted Files"
AuthUserFile /path/to/passwords/.htpasswd
Require valid-user

Abaixo você verá uma rápida explicação de cada linha:

  • AuthType: Refere-se ao tipo de autenticação que será usado para verificar as senhas. As senhas são verificadas via HTTP e a palavra-chave Basic não deve ser alterada.
  • AuthName: Este é o texto que será exibido no prompt de senha. Você pode colocar qualquer coisa aqui.
  • AuthUserFile: Esta linha designa o caminho do servidor para o arquivo de senha (que criaremos na próxima etapa.)
  • Require valid-user: Esta linha informa ao arquivo .htaccess que apenas os usuários definidos no arquivo de senha podem acessar a tela de login do phpMyAdmin.

Crie o arquivo htpasswd

Agora iremos em frente e criaremos as informações válidas do usuário.

Comece criando um arquivo htpasswd. Use o comando htpasswd e coloque o arquivo em um diretório de sua escolha, desde que não seja acessível a partir de um navegador. Embora você possa nomear o arquivo de senha como preferir, a convenção é nomeá-lo como .htpasswd.

sudo htpasswd -c /path/to/passwords/.htpasswd username

Um prompt solicitará que você forneça e confirme sua senha.

Depois que o par de nome de usuário e senha for salvo, você poderá ver que a senha está criptografada no arquivo.

Termine reiniciando o apache:

sudo service apache2 restart

Acessando o phpMyAdmin

O phpMyAdmin agora será muito mais seguro, pois apenas usuários autorizados poderão acessar a página de login. Acessar seuipaddress/phpmyadmin deve exibir uma tela como esta.

Preencha com o nome de usuário e a senha que você gerou. Depois de fazer login, você pode acessar o phpmyadmin com o nome de usuário e a senha do MySQL.