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 mbstringPor 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:
mariadbetapa 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 -pNo 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 apache2Passo 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/.htaccessNo 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.