Pesquisa de site

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.

Por Justin Ellingwood