Como instalar e proteger o phpMyAdmin no Ubuntu 14.04
Introdução
Embora muitos usuários precisem da funcionalidade de um sistema de gerenciamento de banco de dados como o MySQL, eles podem não se sentir à vontade para interagir com o sistema apenas a partir do prompt do MySQL.
O phpMyAdmin foi criado para que os usuários possam interagir com o MySQL através de uma interface web. Neste guia, discutiremos como instalar e proteger o phpMyAdmin para que você possa usá-lo com segurança para gerenciar seus bancos de dados no Ubuntu 14.04.
Observação: o phpMyAdmin pode ser instalado automaticamente no seu Droplet adicionando este tutorial para saber mais sobre os dados do usuário do Droplet.
Pré-requisitos
Antes de começar com este guia, você precisa ter algumas etapas básicas concluídas.
Primeiro, assumiremos que você está usando um usuário não root com privilégios sudo, conforme descrito nas etapas 1 a 4 na configuração inicial do servidor do Ubuntu 14.04.
Também vamos supor que você concluiu uma instalação LAMP (Linux, Apache, MySQL e PHP) em seu servidor Ubuntu 14.04. Se isso ainda não estiver concluído, você pode seguir este guia sobre como instalar uma pilha LAMP no Ubuntu 14.04.
Depois de concluir essas etapas, você estará pronto para começar com este guia.
Primeiro Passo — Instale o phpMyAdmin
Para começar, podemos simplesmente instalar o phpMyAdmin dos repositórios padrão do Ubuntu.
Podemos fazer isso atualizando nosso índice de pacotes local e usando o sistema de empacotamento apt
para baixar os arquivos e instalá-los em nosso sistema:
sudo apt-get update
sudo apt-get install phpmyadmin
Isso fará algumas perguntas para configurar sua instalação corretamente.
Quando o primeiro prompt aparece, apache2 é realçado, mas não selecionado. Se você não pressionar \SPACE para selecionar Apache, o instalador não moverá os arquivos necessários durante a instalação. Pressione \SPACE, \TAB e depois \ENTER para selecionar Apache.
- Para a seleção do servidor, escolha apache2.
- Selecione sim quando perguntado se deseja usar
dbconfig-common
para configurar o banco de dados - Você será solicitado a fornecer a senha do administrador do banco de dados
- Você será solicitado a escolher e confirmar uma senha para o aplicativo
phpMyAdmin
em si
O processo de instalação realmente adiciona o arquivo de configuração Apache phpMyAdmin no diretório /etc/apache2/conf-enabled/
, onde ele é lido automaticamente.
A única coisa que precisamos fazer é habilitar explicitamente a extensão php5-mcrypt
, que podemos fazer digitando:
sudo php5enmod mcrypt
Depois, você precisará reiniciar o Apache para que suas alterações sejam reconhecidas:
sudo service apache2 restart
Agora você pode acessar a interface da web visitando o nome de domínio do seu servidor ou endereço IP público seguido por /phpmyadmin
:
Agora você pode entrar na interface usando o nome de usuário root
e a senha administrativa que você configurou durante a instalação do MySQL.
Ao fazer login, você verá a interface do usuário, que será mais ou menos assim:
Etapa dois — Proteja sua instância do phpMyAdmin
Conseguimos colocar nossa interface phpMyAdmin em funcionamento com bastante facilidade. No entanto, ainda não terminamos. Devido à sua onipresença, o phpMyAdmin é um alvo popular para invasores. Precisamos proteger o aplicativo para ajudar a evitar o uso não autorizado.
Uma das maneiras mais fáceis de fazer isso é colocar um gateway na frente de todo o aplicativo. Podemos fazer isso usando as funcionalidades de autenticação e autorização .htaccess
integradas do Apache.
Configurar o Apache para permitir substituições de .htaccess
Primeiro, precisamos habilitar o uso de substituições de arquivo .htaccess
editando nosso arquivo de configuração do Apache.
Vamos editar o arquivo vinculado que foi colocado em nosso diretório de configuração do Apache:
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
Precisamos adicionar uma diretiva AllowOverride All
dentro da seção
do arquivo de configuração, assim:
Depois de adicionar esta linha, salve e feche o arquivo.
Para implementar as alterações feitas, reinicie o Apache:
sudo service apache2 restart
Crie um arquivo .htaccess
Agora que habilitamos o uso de .htaccess
para nosso aplicativo, precisamos criar um para realmente implementar alguma segurança.
Para que isso seja bem-sucedido, o arquivo deve ser criado dentro do diretório do aplicativo. Podemos criar o arquivo necessário e abri-lo em nosso editor de texto com privilégios de root digitando:
sudo nano /usr/share/phpmyadmin/.htaccess
Dentro deste arquivo, precisamos inserir as seguintes informações:
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
Vamos ver o que cada uma dessas linhas significa:
- AuthType Basic: Esta linha especifica o tipo de autenticação que estamos implementando. Este tipo implementará autenticação de senha usando um arquivo de senha.
- AuthName: define a mensagem para a caixa de diálogo de autenticação. Você deve manter isso genérico para que usuários não autorizados não obtenham nenhuma informação sobre o que está sendo protegido.
- AuthUserFile: define a localização do arquivo de senha que será usado para autenticação. Isso deve estar fora dos diretórios que estão sendo servidos. Criaremos este arquivo em breve.
- Exigir usuário válido: Especifica que somente usuários autenticados devem ter acesso a este recurso. Isso é o que realmente impede a entrada de usuários não autorizados.
Quando terminar, salve e feche o arquivo.
Crie o arquivo .htpasswd para Autenticação
Agora que especificamos um local para nosso arquivo de senha por meio do uso da diretiva AuthUserFile
em nosso arquivo .htaccess
, precisamos criar esse arquivo.
Na verdade, precisamos de um pacote adicional para concluir esse processo. Podemos instalá-lo a partir de nossos repositórios padrão:
sudo apt-get install apache2-utils
Posteriormente, teremos disponível o utilitário htpasswd
.
O local que selecionamos para o arquivo de senha foi \/etc/phpmyadmin/.htpasswd
. Vamos criar este arquivo e passá-lo a um usuário inicial digitando:
Você será solicitado a selecionar e confirmar uma senha para o usuário que está criando. Depois, o arquivo é criado com a senha hash que você digitou.
Se você quiser inserir um usuário adicional, precisará fazê-lo sem o sinalizador -c
, assim:
Agora, ao acessar seu subdiretório phpMyAdmin, você será solicitado a fornecer o nome de conta adicional e a senha que acabou de configurar:
Depois de inserir a autenticação do Apache, você será direcionado para a página normal de autenticação do phpMyAdmin para inserir suas outras credenciais. Isso adicionará uma camada adicional de segurança, já que o phpMyAdmin sofreu vulnerabilidades no passado.
Conclusão
Agora você deve ter o phpMyAdmin configurado e pronto para uso em seu servidor Ubuntu 14.04. Usando esta interface, você pode facilmente criar bancos de dados, usuários, tabelas, etc., e executar as operações usuais como deletar e modificar estruturas e dados.
Para saber como proteger ainda mais suas interações com o servidor criptografando sua comunicação com SSL, confira nosso artigo sobre como configurar certificados SSL com phpMyAdmin.