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.