Como instalar e proteger phpMyAdmin no Debian 9

Existem várias soluções que podemos tomar para aumentar as possibilidades de dimensionamento dos nossos servidores e das aplicações que aí se hospedam, com o objetivo de melhorar as alternativas para cada utilizador da organização.
Dentro de todo esse mundo de aplicações, temos um segmento que se destaca e é o de bancos de dados, embora hoje seja normal fazer uso de um sistema de gerenciamento de banco de dados como o MariaDB, muitos usuários e programadores não estão totalmente confortáveis ​​com sua interface e por isso eles opte por usar outro dos aplicativos mais populares, como phpMyAdmin.

Através deste tutorial, Solvetic irá explicar como instalar e proteger a instalação do phpMyAdmin no Debian 9 e assim obter o máximo de seus recursos e ao mesmo tempo proteger sua integridade de acesso não autorizado.

O que é phpMyAdminO phpMyAdmin foi desenvolvido como uma ferramenta de software livre escrita em PHP e cujo objetivo é ajudar a melhorar a administração do MySQL através da web.

O phpMyAdmin é compatível com várias operações em MySQL e MariaDB, nesta área, todas as operações mais utilizadas como administração de bases de dados, tabelas, colunas, relacionamentos, índices, usuários, permissões, podemos realizá-las através da interface e ao mesmo tempo será possível usar diretamente qualquer instrução SQL.

CaracteristicasAlguns dos recursos que encontramos quando usamos o phpMyAdmin são

  • Interface intuitiva da web
  • Ele tem suporte para muitos dos recursos do MySQL, como explorar e excluir bancos de dados, tabelas, visualizações, campos e índices, criar, copiar, renomear e alterar bancos de dados, tabelas, campos e índices, executar tarefas de manutenção do servidor, bancos de dados, tabelas e muito mais.
  • Podemos executar, editar e marcar qualquer instrução SQL, incluindo consultas em lote
  • Facilita o gerenciamento de contas e privilégios de usuário MySQL
  • Gerenciar procedimentos armazenados e gatilhos
  • Executa pesquisas globais em um banco de dados ou um subconjunto destes
  • Você pode criar gráficos de banco de dados em vários formatos
  • Você é capaz de criar consultas complexas usando Query-by-example (QBE)
  • Ele pode transformar dados armazenados em qualquer formato com base em um conjunto de funções predefinidas
  • Pode gerenciar vários servidores
  • phpMyAdmin pode exportar dados para vários formatos como CSV, SQL, XML, PDF, ISO / IEC 26300 - Texto e planilha OpenDocument, Word, LATEX e mais
  • Pode importar dados de CSV e SQL

Requisitos anterioresAntes de saber como instalar e proteger o phpMyAdmin, devemos atender aos seguintes requisitos:

Tenha a instalação do LAMP (Linux, Apache, MariaDB e PHP) no servidor Debian 9, para nos guiar neste processo podemos visitar o seguinte link:

Além disso, devemos ter um firewall configurado com ufw.

Como atualizar o sistemaO primeiro passo é atualizar os pacotes do Debian 9, para isso executamos o seguinte comando:

 atualização apt

1. Como instalar phpMyAdmin Debian 9

Passo 1
Assim que o sistema for atualizado, procedemos à instalação do PHP junto com algumas dependências executando o seguinte comando:

 apt install phpmyadmin php-mbstring php-gettext

Passo 2
Lá inseriremos a letra S para confirmar o download e instalação do PHP e durante este processo será exibido o seguinte:

etapa 3
Lá selecionamos apache2 como o servidor web, para esta seleção pressionamos a tecla Espaço e com a tecla Tab selecionamos OK, pressionamos Enter para continuar com o processo de instalação:

Passo 4
Posteriormente, devemos definir a senha do aplicativo MySQL:

Etapa 5
Pressionamos Enter e devemos confirmar:

Etapa 6
Em seguida, confirmaremos a senha do usuário root para o banco de dados. Isso conclui o processo de instalação do phpMyAdmin.

O processo de instalação se encarrega de adicionar o arquivo de configuração phpMyAdmin Apache no diretório / etc / apache2 / conf-enabled /, que é lido automaticamente.

Etapa 7
Agora devemos habilitar explicitamente a extensão mbstring do PHP, que é usada para gerenciar strings não ASCII e converter strings para codificações diferentes. Fazemos isso executando o seguinte:

 phpenmod mbstring
Por fim, reiniciamos o serviço para aplicar as alterações:
 systemctl restart apache2

2. Como configurar usuários e privilégios do phpMyAdmin Debian 9


Ao instalar o phpMyAdmin no servidor, um usuário de banco de dados chamado phpmyadmin foi criado automaticamente, o qual pode executar certos processos subjacentes para o programa, por razões de segurança é ideal, em vez de fazer login com este usuário e a senha administrativa que foi definida durante a instalação, assine com uma conta diferente.

Em novas instalações em sistemas Debian 9, o usuário root MariaDB é configurado para autenticar usando o plugin unix_socket por padrão em vez de uma senha, uma vez que o phpMyAdmin requer que os usuários se autentiquem com uma senha, uma nova conta terá que ser criada MariaDB para acessar o interface da web do aplicativo.

Passo 1
Podemos verificar o acesso ao phpMyAdmin executando a seguinte sintaxe em um navegador da web:

 https: // Server_IP / phpmyadmin

Passo 2
Lá entramos com o usuário padrão e teremos acesso à plataforma phpMyAdmin. Podemos criar um novo usuário para phpMyAdmin inserindo a seguinte linha no terminal Debian 9:

 mariadb
etapa 3
No caso de ter a autenticação de senha ativa, vamos executar o seguinte comando para obter privilégios de administrador dentro do banco de dados:
 mariadb -u user -p
No console do banco de dados, inseriremos o seguinte:

Passo 4
Vamos criar o usuário e atribuir a senha desejada:

 CRIAR USUÁRIO 'usuário @' localhost 'IDENTIFICADO POR' senha ';
Agora, concedemos ao novo usuário os privilégios corretos:
 GRANT ALL PRIVILEGES ON *. * TO 'user' @ 'localhost' WITH GRANT OPTION;
Deixamos o banco de dados:
 saída

Etapa 5
Agora podemos acessar o phpMyAdmin com o novo usuário criado:

Etapa 6
Clique em Continuar e este será o ambiente phpMyAdmin:

PROLONGAR

Até este ponto teremos acesso à plataforma phpMyAdmin e seu pior ambiente ainda é inseguro.

3. Como proteger a instância phpMyAdmin


O phpMyAdmin tornou-se um alvo tradicional e frequente de atacantes devido à sua facilidade de acesso, para evitar isso, podemos implementar um Gateway para a aplicação que fará uso das funcionalidades integradas de autenticação e autorização .htaccess do Apache

Passo 1
Para fazer isso, vamos habilitar o uso de substituições de arquivo .htaccess editando o arquivo de configuração do Apache através da seguinte linha:

 sudo nano /etc/apache2/conf-available/phpmyadmin.conf

Passo 2
Lá, inseriremos a seguinte linha na seção:

 AllowOverride All

etapa 3
Salvamos as alterações usando a combinação de teclas Ctrl + O e saímos do editor usando as teclas Ctrl + X.
Depois disso, reiniciamos o servidor Apache executando o comando:

 systemctl restart apache2
Passo 4
Habilitamos o uso de .htaccess para a aplicação phpMyAdmin, agora vamos criar um usuário para implementar a segurança geral do ambiente, este arquivo deve ser criado dentro do diretório do aplicativo, para isso vamos criar o arquivo e abra-o com o editor desejado da seguinte maneira:
 sudo nano /usr/share/phpmyadmin/.htaccess
No novo arquivo, colaremos o seguinte:
 AuthType Basic AuthName "Arquivos restritos" AuthUserFile /etc/phpmyadmin/.htpasswd Requer usuário válido

Etapa 5
Salvamos as alterações com a combinação de teclas Ctrl + O e saímos do editor com as teclas Ctrl + X.

As linhas que inserimos representam:

AuthType BasicEspecifique o tipo de autenticação que estamos implementando; este tipo de parâmetro implementará a autenticação de senha usando um arquivo de senha.

AuthNameEsta linha estabelece a mensagem para a caixa de diálogo de autenticação que será exibida, o ideal é manter este formulário genérico para que usuários não autorizados não tenham acesso a nenhuma informação dos dados protegidos.

AuthUserFileEsta linha define a localização do arquivo de senha que será usado para autenticação.

Requer usuário válidoEsta opção especifica que apenas usuários autenticados podem acessar este recurso, evitando assim o acesso não autorizado.

O local que selecionamos para o arquivo de senha é /etc/phpmyadmin/.htpasswd, vamos criar este arquivo e atribuí-lo a um usuário inicial usando o utilitário htpasswd:

 htpasswd -c /etc/phpmyadmin/.htpasswd "usuário"

Etapa 6
Entramos com a senha desejada e desta forma este novo usuário terá acesso seguro ao phpMyAdmin. Agora, quando tentarmos acessar o phpMyAdmin novamente através do navegador, a seguinte janela pop-up será exibida:

Etapa 7
Lá inserimos as credenciais do usuário que criamos e clicando no botão Acessar estaremos no ambiente phpMyAdmin:

PROLONGAR

Desta forma, aprendemos a instalar e proteger o phpMyAdmin no Debian 9.

wave wave wave wave wave