Secure Remote Access to mySQL

Hi all
I currently have a remote web host that is running mySQL. Coming from a management point of view i would like to have access to my databases so that i can run apps like SQLyog and mySQL admin, thus i need remote access. Now, i suppose i could use phpmyadmin to manage the database, but trying to do something like that via a web interface becomes an absolute nightmare after a while.

Thus, to gain remote access for mySQL, typically i would need to open 3306 (note, from a security point of view i could choose a different point). Now i was talking to someone today and they said "...if you care about your data in a mySQL database you shouldn't allow remote access to your databases." Is this a real problem with mySQL or was this person just a mySQL basher??? Now i know that there will be some risks now that you have a port open but in my eyes the risk is no more than running phpmyadmin.

So is there anyway of having relatively secure remote access to my mySQL OR is there a better way of managing the db remotely whilst still being able to run these apps???
Thanks
ant
LVL 4
CVSmarcAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

 
todd_farmerCommented:
There certainly are ways to expose the MySQL server in a relatively secure manner.  Of course, MySQL is one more program that can (and does) have bugs that can be exploited to gain access both to the data residing in the server, but potentially to other data on the server as well.  There are guidelines published on the MySQL website that will get you started:

http://dev.mysql.com/doc/refman/5.0/en/security.html

An alternate approach to managing the content would be to manage a local copy of your database via SQLyog and then update the production database from your local copy.  This would work better if most of your modifications were inserts as opposed to updates or deletes, of course, but even that could be managed.  It gets much more complicated if you have to work with a team of people responsible for managing the content.
0

Experts Exchange Solution brought to you by ConnectWise

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
 
CVSmarcAuthor Commented:
Thanks for the quick response.
Is it common to find a web hosting company that allows remote connections like this to their client databases.
ant
0
 
todd_farmerCommented:
My experience has been pretty good here.  My first hosting company allowed remote connections - no questions asked.  The second hosting company did not allow remote connections to the server they initially configured me for, but when I specifically asked, they set up a new database for me on a publicly-accessible MySQL server instance.  A third company (cheap) provided remote access out of the box - no questions asked.
0
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
CVSmarcAuthor Commented:
lol... seems like a bit varied response there. Would you say that in your experience then, if you db is being hosted by a company that is allowing remote access to the database, that the databases are secure (as much as they can be at least and assuming that they take the security steps recommended for allowing people to remotely connect to the db).

Also is this any more and any lest secure than using SQLyog to connect to a mysql database via HTTP tunnel (note sure if you have had experience with this type of connection or not).
Thanks ant
0
 
todd_farmerCommented:
I think it runs the gamut.  Some hosting companies really know what they are doing and their databases are well-configured and managed in a secure manner.  Others just throw them up there, give you an account and password, and let you go to it.  I haven't used HTTP tunnel before.
0
 
CVSmarcAuthor Commented:
Well i suppose the question comes down to how will i be able to pick a host that "now what they are doing and their databases are well-configured and managed in a secure manner"??? Is there something that i should ask or be addressing, that would let one know whether the host is a host the is well managed and secure?
Thanks
ant
0
 
todd_farmerCommented:
For starters, look for a hosting company that is using current versions of MySQL (production version is currently 5.0).  Anything less than 4.1 is, in my book, unacceptable and a sign that they don't know or care to keep current with releases.  Ask what restictions are placed on remote access - I would be more comfortable with a host that provides remote access only upon request.  Many hosts probably won't answer a direct question of, "how have you hardened your MySQL installations?" - for pretty obvious reasons.
0
 
CVSmarcAuthor Commented:
Cool...
Thanks a lot for help.
ant
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.