0

I have an Ubuntu Dapper 6.06 server. It's running MySQL 5.0. I want to enable clients to connect over SSL. However when I uncomment the ssl-* lines in /etc/mysql/my.cnf, I get the following errors:

[ERROR] /usr/sbin/mysqld: unknown variable 'ssl-ca=/etc/mysql/ca-cert.pem'

Which implies that SSL isn't available for this version. I'm not so keen on recompiling mysql, since I prefer doing things with the package manager.

How can I install SSL MySQL on ubuntu?

4 Answers 4

1

Sounds like compiling with SSL would be worth the effort.

Alternatively, you could open a SSL "proxy tunnel" from the client machine to the linux server box (using Putty ) and then your client will effectively encrypted. Just an idea if you cant get SSL into your MySQL.

2
  • Yeah, that's actually how I enable encrypted remote connections: tunnel SSH to the database host. Then the grants only need to allow localhost, too, which is nice. The MySQL site seems to mildly discourage SSL because of the high CPU overhead. I gather it's possible that SSH handles encryption with lower overhead than mysqld does.
    – user5336
    Aug 24, 2009 at 16:09
  • Yes I was thinking of that. But that introduces another layer of complexity and another thing that could go wrong, hence why I'm reluctant. Aug 24, 2009 at 16:19
1

I'm fairly certain that to get SSL support, you need to compile it yourself, which is a downer.

0

Do you have a certificate available at /etc/mysql/ca-cert.pem ? If not I would suggest getting at least a self signed cert. Such as This

1
  • Yes I followed all the steps on the MySQL documentation for creating certs & CAs Aug 24, 2009 at 16:18
0

Sorry, my last answer wasnt careful enough.

I think that the MySQL is looking for a "certificate authority" file. A CA is a file that has a cert in it that all clients need to match when they present their certs. Its kinda like the java cacerts KEYSTORE except that you export the cert outside of the keystore into a PEM format.

Then, if your MySQL clients are presenting a key that matches, the SSL connection will bind.

So, you need to pay attention to the key.pem that the client is using to connect with , since it will need to match the ca-cert.pem key on the server. If you can read the PEM files with a keytool then you can compare the cert serial numbers between the client and server to make sure they are correct.

Just follow the instructions here: http://dev.mysql.com/doc/refman/5.0/en/secure-create-certs.html

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .