Logins da GUI do Ubuntu MySQL com certificado / chave

6

Eu me conectarei ao MySQL no ubuntu cloud server diariamente com as ferramentas Mysql Administrator e Mysql Query Browser GUI e me sinto muito lento em responder. Eu sei que é possível se conectar com o ssh inserindo o comando abaixo no terminal e, em seguida, usando as ferramentas da GUI do Mysql.

ssh -L 3307:127.0.0.1:3306 mysql-server-ip

Mas isso não é fácil para todos executarem o comando acima no terminal e depois usarem as ferramentas de gui.

O comando ssh acima também é bom e eu senti como se estivesse trabalhando em bancos de dados locais, mas seria melhor e fácil para todos se tivesse uma opção para especificar o comando ssh nas próprias ferramentas mysql gui.

Além disso, estou pensando em remover restrições baseadas em ip, já que estou usando as regras do iptables apenas para permitir o mysql e outras portas para os IPs específicos no servidor em nuvem.

Existe alguma maneira melhor e mais fácil de se conectar ao mysql, como o uso do certificado junto com as ferramentas mysql gui?.

Finalmente, o que estou esperando é com as ferramentas de GUI do MySQL (Administrador e Pesquisador):

  • Eu quero conectar-me facilmente ao mysql com algum certificado / chave
  • Eu quero remover a restrição baseada em ip para que quem tiver chave / certificado possa se conectar ao mysql

Alguém tem alguma ideia? Obrigada!

    
por user53864 28.05.2011 / 18:00

2 respostas

2

Simplesmente eu poderia fazer isso com a ajuda do SSH e MySQL Workbench . Os downloads do Workbench estão disponíveis para várias versões do ubuntu em este link . Para evitar restrições baseadas em ip, abra a porta ssh para todos e desative o login de senha ssh e, em vez disso, use logins de chave ssh. Apenas aqueles que são permitidos no firewall podem se conectar ao mysql, mas ter a chave privada ssh pode se conectar ao mysql com a ajuda de MySQL Workbench , independentemente da localização, regras de firewall, endereços IP e assim por diante via ssh.

Veja estes links:

link

link

Abaixo estão algumas imagens mostrando as opções para se conectar ao mysql com o Workbench:

Para evitar restrições baseadas em ip com o MySQL Query Brower & Aministrador, eu não sei além do encaminhamento de porta ssh.

Eu não tentei sua resposta, vou tentar um dia. Demoro mais tempo para entender. Obrigada!

    
por 09.06.2011 / 04:15
1

Eu tive o mesmo problema recentemente. Não consegui encontrar suporte para SSL nas ferramentas MySQLgui. Eu também não consegui encontrar um proxy MySQL com suporte SSL que eu poderia instalar na minha rede da seguinte forma, ou seja,

Me/Anyone else in my net---------->MySQL Proxy host in my network------->MySQL over TLS-------->MySQL remote endpoint.

Minha solução final foi usar stunnel e ter:

Me/Anyone else in my net----------->Stunnel host in my net:3306-------->MYSQL in a TLS tunnel----->Stunnel in remote net:3307----->MySQL remote endpoint

A extremidade stunnel remota também pode ser o servidor mysql. Você pode usar diferentes portas para se difundir em diferentes servidores MySQL remotos.

Atualização: Isto é o que tenho trabalhado para mim:

Fim do cliente

local-stunnel# cat /etc/stunnel/stunnel.conf |grep -v ';'


sslVersion = SSLv3

chroot = /var/lib/stunnel4/
setuid = stunnel4
setgid = stunnel4
pid = /stunnel4.pid

socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1



debug = 2
output = /var/log/stunnel4/stunnel.log

client = yes


[mysqlc]
accept  = 13306
connect = remote.example.net:3307

Remoto / final do servidor:

remote-stunnel# cat /etc/stunnel/stunnel.conf |grep -v ';'

cert = /etc/pki/tls/certs/stunnel.pem

chroot = /var/run/stunnel/
setuid = nobody
setgid = nobody
pid = /stunnel.pid

socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1



debug = 3
output = /var/log/stunnel/stunnel.log



[mysqls]
accept  = 3307
connect = 3306

Um certificado e uma chave devem ser gerados e associados a um arquivo (stunnel.pem). O meu parece com isso

# cat /etc/pki/tls/certs/stunnel.pem 
-----BEGIN RSA PRIVATE KEY-----
MII.....
....
-----END RSA PRIVATE KEY-----

-----BEGIN CERTIFICATE-----
MIID....
....
-----END CERTIFICATE-----

Então meu túnel parece:

ME------Plaintext MySQL----->local-stunnel:13306-----TLS--->remote-stunnel:3307---Plaintext MySQL--->127.0.0.1:3306

Claro que você pode mudar o connect = 3306 no ponto final remoto para outro host: 3306

    
por 29.05.2011 / 09:49