Como Instalar e Proteger o phpMyAdmin no Ubuntu 18.04 – All in One Linux Information
Como Instalar e Proteger o phpMyAdmin no Ubuntu 18.04
O phpMyAdmin foi criado para que os usuários possam interagir com o MySQL através de uma interface Web. Neste guia, vamos discutir como instalar e proteger o phpMyAdmin para que você possa usá-lo com segurança para gerenciar seus bancos de dados em um sistema Ubuntu 18.04.
Antes de começar com este guia, será necessário concluir alguns passos básicos.
Primeiramente, vamos supor que o seu servidor tenha um usuário não** rai**z com privilégios sudo, além de um firewall configurado com ufw, como descrito noGuia de configuração inicial do servidor para o Ubuntu 18.04.
Também vamos presumir que você completou a instalação do LAMP (Linux, Apache, MySQL e PHP) no seu servidor Ubuntu 18.04. Se ainda não tiver feito isso, siga este guia de Como instalar uma pilha LAMP no Ubuntu 18.04.
Finalmente, existem considerações de segurança importantes ao se usar software como o phpMyAdmin, uma vez que ele:
Por isso e também por ser um aplicativo PHP amplamente utilizado – sendo alvo frequente de ataque, nunca execute o phpMyAdmin em sistemas remotos em uma conexão HTTP simples. Se não tiver um domínio existente configurado com um certificado SSL/TLS, siga este guia de como proteger o Apache com o Let's Encrypt no Ubuntu 18.04. Isso irá exigir que você registre um nome de domínio, crie registros DNS para seu servidor e configure um host Virtual Apache.
Assim que terminar estes passos, você estará pronto para começar com este guia.
Para começar, instalaremos o phpMyAdmin a partir dos repositórios padrão do Ubuntu.
Isso é feito atualizando-se o índice de pacotes do seu servidor e, depois, usando o sistema de empacotament o apt para pegar os arquivos e instalá-los no seu sistema:
Aviso: quando o prompt surgir, o "apache2" estará destacado, mas não estará selecionado. Se você apertar a tecla SPACE para selecionar o Apache, o instalador *não *irá mover os arquivos necessários durante a instalação. Aperte as teclas SPACE, TAB e, então, ENTER para selecionar o Apache.
Para a seleção do servidor, escolha apache2
O processo de instalação adiciona o arquivo de configuração do Apache phpMyAdmin no diretório /etc/apache2/conf-enabled/, onde ele é lido automaticamente. A única coisa que você precisa fazer é habilitar explicitamente a extensão do PHP mbstring, o que pode ser feito digitando:
O phpMyAdmin agora está instalado e configurado. Entretanto, antes de fazer login e começar a interagir com seus bancos de dados do MySQL, será necessário garantir que seus usuários do MySQL tenham os privilégios necessários para interagir com o programa.
Nos sitemas Ubuntu que executam o MySQL 5.7 (e as versões posteriores), por padrão, o usuário root do MySQL é configurado para autenticar usando o plug-in auth_socket e não com uma senha. Isso permite maior segurança e usabilidade em muitos casos, mas também pode complicar as coisas quando for necessário permitir que um programa externo — como o phpMyAdmin — acesse o usuário.
Para fazer login no pspMyAdmin como seu usuário root do MySQL, será necessário mudar seu método de autenticação a partir do auth_socket para o mysql_native_password, se ainda não tiver feito isso. Para fazer isso, abra o prompt do MySQL do seu terminal:
Neste exemplo, é possível ver que o usuário root autenticou usando o plug-in auth_socket. Para configurar a conta root para autenticar com uma senha, execute o comando ALTER USER. Certifique-se de trocar a senha por uma senha forte de sua escolha:`
Então, execute o comando FLUSH o qual diz para o servidor recarregar as tabelas de permissões e colocar as suas alterações em vigor:
Verifique novamente os métodos de autenticação utilizados pelos seus usuários para confirmar que *o raiz *já não autentica utilizando o plug-in auth_socket:
Através dessa saída é possível ver que o usuário raiz passará a autenticar usando uma senha. Agora, é possível fazer login na interface phpMyAdmin como seu usuário *raiz *com a senha que você definiu para ele aqui.
Nota: se tiver a autenticação de senha habilitada, como descrito na seção anterior, será necessário usar um comando diferente para acessar a shell do MySQL. A sintaxe abaixo executará o seu cliente MySQL com privilégios regulares de usuário. Você somente terá privilégios de administrador dentro do banco de dados através desta autenticação:
Agora que é capaz de se conectar e interagir com o phpMyAdmin, tudo o que resta a se fazer é fortalecer a segurança dos seus sistemas para protegê-los de ataques.
Devido a sua onipresença, o phpMyAdmin é alvo conhecido de ataque. Você deverá tomar cuidado extra para evitar o acesso não autorizado. Uma das maneiras mais fáceis de fazer isso é colocar um gateway na frente do aplicativo inteiro, utilizando as funcionalidades integradas do Apache para autenticação e dautorização, ou seja, .htaccess.
Para fazer isso, primeiro você deve habilitar o uso do arquivo .htaccess, editando seu arquivo de configuração do Apache.
Edite o arquivo vinculado que foi colocado no seu diretório de configuração do Apache:
Adicione uma diretiva de AllowOverride All na seção <Directory /usr/share/phpmyadmin> do arquivo de configuração, desta forma:
Quando tiver adicionado essa linha, salve e feche o arquivo.
Agora que o .htaccess foi habilitado para seu aplicativo, será necessário criar um arquivo que realmente implemente alguma segurança.
Se quiser inserir um usuário adicional, será necessário fazer isso *sem *o sinalizador -c, desta maneira:
Após digitar a autenticação do Apache, você será levado para a página de autenticação regular do phpMyAdmin para digitar suas credenciais do MySQL. Esta configuração adiciona uma camada adicional de segurança, o que é desejável considerando que o phpMyAdmin sofreu vulnerabilidades no passado.
Agora, você deve ter o phpMyAdmin configurado e pronto para usar no seu servidor Ubuntu 18.04. Ao utilizar esta interface, conseguirá criar facilmente bancos de dados, usuários, tabelas etc. e realizar operações usuais como excluir e modificar estruturas e dados.