Você está na página 1de 26

MySQL - BANCO DE DADOS

MySQL Workbench - Add User and Connect to Database


➢ CONFIGURAÇÃO DE
AUTENTICAÇÃO DE CLIENTE

By: Mario Pires, dr.


MySQL - BANCO DE DADOS
Configuração de Autenticação de Cliente

1. Conexão com Banco de Dados MySQL


2. Permissão de Acesso Remoto ao MySQL
3. Aumentar conexões simultâneas em MySQL
4. Limitar MySQL Max conexões por usuário
5. Conexão via rede (MySQL)

By: Mario Pires, dr.


MySQL - CONFIGURAÇÃO DE
AUTENTICAÇÃO DE CLIENTE
1 - Estabelecendo Conexão com BD MySQL
▪ Requisitos:
✓ O acesso remoto deve estar liberado
✓ Dados de acesso: host (dns da hospedagem),
usuário e senha do banco de dados

▪ Como conectar:
1.1 - No MySQL Workbench, no menu superior, clique
Database, depois em
Connect to Database:

By: Mario Pires, dr.


MySQL - CONFIGURAÇÃO DE
AUTENTICAÇÃO DE CLIENTE
1 - Estabelecendo Conexão com BD MySQL

By: Mario Pires, dr.


MySQL - CONFIGURAÇÃO DE
AUTENTICAÇÃO DE CLIENTE
1 - Estabelecendo Conexão com BD MySQL
▪ Como conectar:
1.2 - Na nova janela, clique sobre aba Parameters e
preencha os campos:
Hostname: o endereço do servidor da
hospedagem ou IP
Port: utilize a padrão 3306
Username: Nome do usuário do banco de dados
Depois, clique em OK

By: Mario Pires, dr.


MySQL - CONFIGURAÇÃO DE
AUTENTICAÇÃO DE CLIENTE
1 - Estabelecendo Conexão com BD MySQL

By: Mario Pires, dr.


MySQL - CONFIGURAÇÃO DE
AUTENTICAÇÃO DE CLIENTE
1 - Estabelecendo Conexão com BD MySQL
▪ Como conectar:
1.3 - Na nova janela, será exibido o Service e User.
No campo Password insira a senha
Em seguida, clique em OK

By: Mario Pires, dr.


MySQL - CONFIGURAÇÃO DE
AUTENTICAÇÃO DE CLIENTE
1 - Estabelecendo Conexão com BD MySQL
▪ Como conectar:
1.4 - Após a conexão, clique no menu inferior
Schemas para conseguir visualizar o seu BD

By: Mario Pires, dr.


MySQL - CONFIGURAÇÃO DE
AUTENTICAÇÃO DE CLIENTE
2 - Permitindo Acesso Remoto ao MySQL
▪ Por padrão, ao instalar, o MySQL não é habilitado
para acesso externo. Portanto, neste tutorial
mostraremos como permitir o acesso remoto em
abmientes Windows e Linux.
▪ Windows
2.1 - Abra o prompt de comando do MySQL;
2.2 - No prompt do MySQL, digite o seguinte
comando para garantir todos os privilégios de acesso
ao usuário root em todos oIPs: GRANT ALL ON *.*
TO IDENTIFIED BY 'senha root';

By: Mario Pires, dr.


MySQL - CONFIGURAÇÃO DE
AUTENTICAÇÃO DE CLIENTE
2 - Permitindo Acesso Remoto ao MySQL

▪ Note que é possível garantir privilégios a outro usuário


(modificando o 'root') em um determinado IP
(modificando o )

By: Mario Pires, dr.


MySQL - CONFIGURAÇÃO DE
AUTENTICAÇÃO DE CLIENTE
2 - Permitindo Acesso Remoto ao MySQL
▪ Windows
2.3 - Logo após use o comando: FLUSH PRIVILEGES;

▪ Desativar o Firewall (inseguro) ou liberar a porta utilizada pelo MySQL (ex:


3306) as exceções do Firewall.

By: Mario Pires, dr.


MySQL - CONFIGURAÇÃO DE
AUTENTICAÇÃO DE CLIENTE
2 - Como aumentar conexões simultâneas MySQL
▪ MySQL fornece uma configuração padrão que limita a
quantidade de conexões simultâneas permitidas no
servidor de banco de dados.
▪ O limite ajuda a parar muitas conexões que ocorrem,
o que pode retardar um servidor de banco de dados
MySQL .
▪ Se quiser aumentar o limite de conexão, deve alterar
a configuração no arquivo " CNF " armazenado no
diretório MySQL.

By: Mario Pires, dr.


MySQL - CONFIGURAÇÃO DE
AUTENTICAÇÃO DE CLIENTE
3 - Como aumentar conexões simultâneas MySQL
INSTRUÇÕES
3.1 - Clique no Windows botão "Iniciar" no computador
do servidor MySQL . Digite " my.cnf " na caixa de
pesquisa de texto e pressione " Enter". A janela de
resultado exibe o local do arquivo de configuração .
3.2 - botão direito do mouse " my.cnf " na janela de
resultados e selecione " Abrir com". Clique duas vezes
em "Notepad" para abrir o arquivo no editor de texto
padrão.

By: Mario Pires, dr.


MySQL - CONFIGURAÇÃO DE
AUTENTICAÇÃO DE CLIENTE
4 - Como limitar MySQL Max conexões
por usuário
4.1 - Max Conexões de usuário
▪ Esta variável faz exatamente o que o nome sugere –
define um limite para o número máximo de conexões
simultâneas que qualquer usuário individual pode ter
no seu banco de dados MySQL.
▪ Em sistemas de hospedagem compartilhada, esta é
uma configuração poderosa, você pode usá-la para
evitar que um único usuário use todas as conexões
do MySQL.
By: Mario Pires, dr.
MySQL - CONFIGURAÇÃO DE
AUTENTICAÇÃO DE CLIENTE
4 - Como limitar MySQL Max conexões
por usuário
4.2 - Definir Limites
▪ Em geral, sugire-se que você defina
max_user_connections para 50-75% de suas
configurações max_connections. Você define esse
valor na seção mysqld de seu my.cnf:

By: Mario Pires, dr.


4 - Como limitar MySQL Max conexões
por usuário

▪ Neste exemplo, temos 400 total de conexões permitidas


e um único usuário pode usar até 200 conexões.

By: Mario Pires, dr.


MySQL - CONFIGURAÇÃO DE
AUTENTICAÇÃO DE CLIENTE
5 - Conexão via rede (MySQL)
▪ Ao conectar servidor MySQL localmente, em sistema
bem configurado, já o pode considerar seguro.
▪ Ao disponibilizar o acesso via rede, criamos mais um
ponto de vulnerabilidade deixando o sistema à mercê
de ataques dos mais variados tipos.
▪ O simples fato de deixar uma porta aberta já aguça
certos usuários para tentar usar esta porta aberta
como entrada para derrubar serviços ou outras
formas de "atrapalhar" o funcionamento do sistema.

By: Mario Pires, dr.


MySQL - CONFIGURAÇÃO DE
AUTENTICAÇÃO DE CLIENTE
5 - Conexão via rede (MySQL)
▪ Em sua instalação padrão, o MySQL inicia permitindo
conexões locais e conexões via rede.
▪ Na seção anterior, vimos como permitir que um
usuário se conecte a partir de um host. O simples fato
de não permitir a conexão de um usuário não siginifica
que não teremos mais problemas porque a porta
continua aberta para a rede.
▪ Pensando nesta "porta aberta", é necessário
implementar mecanismos para que os dados que
trafegam nela, somente sejam lidos por client_server .

By: Mario Pires, dr.


MySQL - CONFIGURAÇÃO DE
AUTENTICAÇÃO DE CLIENTE
5 - Conexão via rede (MySQL)
▪ Para ajudar a decidir como "esconder" os dados de
crackers, devemos ter em mente como será
desenvolvido o aplicativo que vai usar o banco de
dados.
▪ Se for um ambiente web, onde o servidor web e o
MySQL estejam na mesma máquina, não há motivos
para liberar o acesso via rede.

By: Mario Pires, dr.


MySQL - CONFIGURAÇÃO DE
AUTENTICAÇÃO DE CLIENTE
5 - Conexão via rede (MySQL)
▪ Neste caso o servidor deve ser iniciado com a opção -
-skip- networking que faz com que o MySQL funcione
apenas com conexões locais via sockets.
▪ Se o aplicativo estiver em uma máquina e o servidor
em outra como em ambientes cliente/servidor, ou
mesmo web onde o servidor web está em uma
máquina e o servidor MySQL em outra, esta opção
não pode ser utilizada.

By: Mario Pires, dr.


MySQL - CONFIGURAÇÃO DE
AUTENTICAÇÃO DE CLIENTE
5 - Conexão via rede (MySQL)
▪ Nos casos onde o acesso a rede deve ser necessário,
a primeira providência a ser tomada é permitir
conexões aos usuários apenas das máquinas de onde
eles têm permissão para acessar o banco de dados.
Isto deve ser feito através dos comandos GRANT e
REVOKE.
▪ A segunda providência é estabelecer uma conexão
segura com o servidor. A senha no momento da
autenticação não é transmitida em texto plano, porém
o algoritmo de criptografia não é forte e pode ser
facilmente quebrado.
By: Mario Pires, dr.
MySQL - CONFIGURAÇÃO DE
AUTENTICAÇÃO DE CLIENTE
5 - Conexão via rede (MySQL)
▪ Outro problema com a conexão estabelecida entre
cliente e servidor é que todos os dados (requisições
SQL e retorno dos dados) trafegam em texto plano e
qualquer um rodando um sniffer pode ver o diálogo
entre o servidor e o cliente.
▪ Existem pelo menos duas soluções para este
problema. A partir da versão 4.0.0, o MySQL tem
suporte a SSL, que é um protocolo que utiliza
diferentes algoritmos de criptografia para assegurar
que os dados recebidos por uma rede pública são
confiáveis.
By: Mario Pires, dr.
MySQL - CONFIGURAÇÃO DE
AUTENTICAÇÃO DE CLIENTE
5 - Conexão via rede (MySQL)
▪ Outra solução é criar uma VPN usando aplicativos
como SSH que criam um túnel criptográfico entre dois
hosts e o host remoto passa a enxergar o servidor
como se estivesse rodando localmente.
▪ Usando o MySQL com suporte a SSL, você pode, ao
criar um usuário, informar ao servidor que este
usuário precisa ser autenticado usando também
atributos do SSL além dos dados padrão (usuário,
senha, nome/IP do host). Basta para isto acrescentar
a cláusula REQUIRE no comando GRANT.

By: Mario Pires, dr.


MySQL - CONFIGURAÇÃO DE
AUTENTICAÇÃO DE CLIENTE
5 - Conexão via rede (MySQL)
▪ Exemplificando, vamos fazer com que a autenticação
do usuário Alfredo seja feita com SSL.
➢ GRANT ALL PRIVILEGES ON expedicao.* TO Alfredo@localhost
IDENTIFIED BY ’senha_do_alfredo’
REQUIRE SSL;

O manual do MySQL dá todas as informações passo a


passo para criar certificados para o MySQL e como
configurar o MySQL para utilizar acesso seguro via SSL.

By: Mario Pires, dr.


MySQL - CONFIGURAÇÃO DE
AUTENTICAÇÃO DE CLIENTE
5 - Conexão via rede (MySQL)
▪ Se o servidor MySQL deve ser visto só na rede local, o
acesso externo deve ser bloqueado. Pode fazer isto
com o próprio esquema de privilégios, mas assim só o
acesso ao banco de dados estará restrito e a porta
continuará aberta para a rede externa.
▪ A melhor alternativa para evitar este acesso indesejado
é com a implementação de um firewall. Se a rede
externa não deve acessar o MySQL o próprio firewall
se encarrega de filtrar o acesso. Dessa forma a porta
de acesso ao MySQL será fechada para conexões
externas.

By: Mario Pires, dr.


THE END

By: Mario Pires, dr.

Você também pode gostar