introdução
enquanto muitos usuários precisam da funcionalidade de um sistema de gerenciamento de banco de dados como o MySQL, eles podem não se sentir confortáveis interagindo com o sistema apenas a partir do prompt MySQL.
phpMyAdmin foi criado para que os usuários possam interagir com 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 suas bases de dados a partir de um sistema Ubuntu 16.04.
pré-requisitos
Antes de começar com este guia, você precisa ter alguns passos básicos concluídos.
Primeiro, vamos assumir que você está usando um usuário não-root com privilégios de sudo, como descrito nos passos 1-4 na configuração inicial do servidor do Ubuntu 16.04.
também vamos assumir que você completou uma instalação de lâmpada (Linux, Apache, MySQL e PHP) no seu servidor Ubuntu 16.04. Se isto ainda não estiver concluído, você pode seguir este guia sobre a instalação de uma pilha de lâmpadas no Ubuntu 16.04.
Finalmente, existem considerações de segurança importantes ao utilizar o software, como phpMyAdmin, desde que:
- se Comunica diretamente com a sua instalação do MySQL
- Alças de autenticação usando o MySQL credenciais
- Executa e retorna os resultados para consultas SQL arbitrária
Por estas razões, e porque ele é amplamente implantado aplicação PHP que é frequentemente alvo de ataque, você nunca deve executar o phpMyAdmin em sistemas remotos através de uma simples conexão HTTP. Se não tiver um domínio existente configurado com um certificado SSL/TLS, poderá seguir este guia sobre a segurança do Apache com o ‘Let’s Encrypt on Ubuntu 16.04’.
Uma vez terminado com estes passos, você está pronto para começar com este guia.
Passo Um-instalar o phpMyAdmin
para começar, iremos instalar o phpMyAdmin a partir dos repositórios Predefinidos do Ubuntu.
Podemos fazer isso atualizando nosso índice de pacotes local e, em seguida, usando o apt
sistema de embalagem para puxar os arquivos e instalá-los em nosso sistema:
- sudo apt-get update
- sudo apt-get install phpmyadmin php-mbstring php-gettext
Isto irá fazer-lhe algumas perguntas a fim de configurar a sua instalação correctamente.
Aviso: quando a primeira linha de comandos aparece, o apache2 está realçado, mas não está seleccionado. Se não carregar no espaço para seleccionar o Apache, o instalador não irá mover os ficheiros necessários durante a instalação. Carregue em espaço, Tab e depois indique para seleccionar o Apache.
- para a seleção do servidor, escolha apache2.
- Seleccione sim quando perguntado se deseja usar
dbconfig-common
para configurar o banco de dados - Você será solicitado para o seu banco de dados de senha do administrador
- em seguida, Você será solicitado a escolher de e confirme uma senha para o
phpMyAdmin
próprio aplicativo
O processo de instalação, na verdade, acrescenta o phpMyAdmin arquivo de configuração Apache para o /etc/apache2/conf-enabled/
diretório, onde é ler automaticamente.
A única coisa que precisa fazer é ativar explicitamente o PHP mcrypt
e mbstring
extensões, o que podemos fazer, escrevendo:
- sudo phpenmod mcrypt
- sudo phpenmod mbstring
Depois, você precisará reiniciar o Apache para que as alterações sejam reconhecidas:
- sudo systemctl restart apache2
agora Você pode acessar a interface da web visitando o seu nome de domínio do servidor ou endereço IP público seguido de /phpmyadmin
:
https://domain_name_or_IP/phpmyadmin
pode agora entrar na interface usando o root
username e a senha administrativa que criou durante a instalação MySQL.
Quando você log in, você verá a interface de usuário, que será algo parecido com isso:
segundo Passo — Segura seu phpMyAdmin Exemplo
Nós fomos capazes de chegar a nossa interface do phpMyAdmin e correr bastante facilmente. No entanto, ainda não acabámos. Por causa de sua ubiquidade, phpMyAdmin é um alvo popular para os atacantes. Devemos tomar medidas adicionais para impedir o acesso não autorizado.
uma das maneiras mais fáceis de fazer isso é colocar um gateway na frente de toda a aplicação. Podemos fazer isso usando o Apache built-in .htaccess
funcionalidades de autenticação e autorização.
configurar o Apache para permitir .htaccess sobrepõe
Em primeiro lugar, precisamos permitir o uso de .htaccess
substituições de arquivos, editando o nosso arquivo de configuração Apache.
Vamos editar o arquivo vinculado, que tenha sido colocado no nosso configuração do Apache directory:
- sudo nano /etc/apache2/conf-available/phpmyadmin.conf
precisamos adicionar um AllowOverride All
diretiva dentro de <Directory /usr/share/phpmyadmin>
seção do arquivo de configuração, como este:
<Directory /usr/share/phpmyadmin> Options FollowSymLinks DirectoryIndex index.php AllowOverride All . . .
quando tiver adicionado Esta linha, grave e feche o ficheiro.
para implementar as alterações que fez, reinicie o Apache:
- sudo systemctl restart apache2
crie um.htaccess
Agora que temos habilitado .htaccess
usar para a nossa aplicação, precisamos criar uma para realmente implementar alguma segurança.
para que isso seja bem sucedido, o arquivo deve ser criado dentro do diretório da aplicação. Podemos criar o arquivo necessário e abri-lo no nosso editor de texto com privilégios de root digitando:
- sudo nano /usr/share/phpmyadmin/.htaccess
neste arquivo, precisamos inserir as informações a seguir:
AuthType BasicAuthName "Restricted Files"AuthUserFile /etc/phpmyadmin/.htpasswdRequire valid-user
vamos rever o que cada uma destas linhas significa:
-
AuthType Basic
: esta linha especifica o tipo de autenticação que estamos a implementar. Este tipo irá implementar a autenticação de senha usando um ficheiro de senha. -
AuthName
: isto define a mensagem para a janela de autenticação. Você deve manter este genérico para que os usuários não autorizados não ganhem nenhuma informação sobre o que está sendo protegido. -
AuthUserFile
: isto define a localização do ficheiro de senha que será usado para Autenticação. Isto deve estar fora dos directórios que estão a ser servidos. Vamos criar este arquivo em breve. -
Require valid-user
: indica que apenas os utilizadores autenticados devem ter acesso a este recurso. Isto é o que realmente impede os usuários não autorizados de entrar.
Quando terminar, grave e feche o ficheiro.
Crie o .htpasswd file for Authentication
the location that we selected for our password file was “/etc/phpmyadmin/.htpasswd
“. Podemos agora criar este ficheiro e passar-lhe um utilizador inicial com o htpasswd
utilitário:
- sudo htpasswd -c /etc/phpmyadmin/.htpasswd username
ser-lhe-á pedido para seleccionar e confirmar uma senha para o utilizador que está a criar. Depois disso, o arquivo é criado com a senha que você introduziu.
Se você deseja inserir um usuário adicional, você precisa fazer isso sem o -c
bandeira, como este:
- sudo htpasswd /etc/phpmyadmin/.htpasswd additionaluser
Agora, quando você acessar o phpMyAdmin subdiretório, você será solicitado para o nome de conta e palavra-passe que você acabou de configurar:
https://domain_name_or_IP/phpmyadmin
Depois de introduzir a autenticação Apache, você será levado para a página de autenticação regular do phpMyAdmin para introduzir as suas outras credenciais. Isto irá adicionar uma camada adicional de segurança já que phpMyAdmin sofreu de vulnerabilidades no passado.
conclusão
deve agora ter o phpMyAdmin configurado e pronto a usar no seu servidor Ubuntu 16.04. Usando esta interface, você pode facilmente criar bancos de dados, Usuários, tabelas, etc., e executar as operações habituais, como apagar e modificar estruturas e dados.