Comments on: MySQL security top wish list https://shlomi-noach.github.io/blog/mysql/mysql-security-top-wish-list Blog by Shlomi Noach Tue, 03 Sep 2013 14:33:12 +0000 hourly 1 https://wordpress.org/?v=5.3.3 By: Todd Farmer https://shlomi-noach.github.io/blog/mysql/mysql-security-top-wish-list/comment-page-1#comment-218358 Tue, 03 Sep 2013 14:33:12 +0000 https://shlomi-noach.github.io/blog/?p=6492#comment-218358 In thinking about roles, I remembered that Workbench has some concept of “roles”. Although it’s managed outside the database rather than inside, I think it could prove useful for managing common permissions across many user accounts. In order to do so, though, WB needs to allow users to create custom “role” definitions:

http://bugs.mysql.com/bug.php?id=70227

If you think that would be useful to you, be sure to let the WB team know.

]]>
By: shlomi https://shlomi-noach.github.io/blog/mysql/mysql-security-top-wish-list/comment-page-1#comment-218291 Mon, 02 Sep 2013 20:01:58 +0000 https://shlomi-noach.github.io/blog/?p=6492#comment-218291 Peter,
I did not know – thanks for this info! Will take a look

]]>
By: Peter (Stig) Edwards https://shlomi-noach.github.io/blog/mysql/mysql-security-top-wish-list/comment-page-1#comment-218289 Mon, 02 Sep 2013 19:55:49 +0000 https://shlomi-noach.github.io/blog/?p=6492#comment-218289 Hello Shlomi,
If you didn’t know already, Vicențiu Ciorbaru is working on a project to implement roles for MariaDB as part of GSoC 2013
https://mariadb.atlassian.net/browse/MDEV-4397
Mark Callaghan added a comment in MDEC-4397 pointing to https://code.google.com/p/google-mysql-tools/wiki/MysqlRoles
http://cvicentiu.wordpress.com/
https://code.launchpad.net/~cvicentiu/maria/gsoc

]]>
By: James Day https://shlomi-noach.github.io/blog/mysql/mysql-security-top-wish-list/comment-page-1#comment-218218 Sun, 01 Sep 2013 13:31:13 +0000 https://shlomi-noach.github.io/blog/?p=6492#comment-218218 Thanks. I agree that there’s still a lot to cover.

More Todd and Joro’s area than mine, though I have some input on various aspects of it and always keep my eyes open for issues or opportunities. And I try to inform and clarify.

One good question to ponder from time to time is:”how can we protect the uninformed or unlucky from attacks or issues by default, without also making life unduly hard?”

]]>
By: shlomi https://shlomi-noach.github.io/blog/mysql/mysql-security-top-wish-list/comment-page-1#comment-218176 Sat, 31 Aug 2013 18:19:57 +0000 https://shlomi-noach.github.io/blog/?p=6492#comment-218176 @James & @Todd,

Well done on moving things in security! I will humbly maintain my position that MySQL is at the moment still weak about security, without invalidating your hard & appreciated work (and I agree on dropping the “very little work done… part”). It’s a thing that has been neglected for years, I think there’s a lot yet to cover.
Great that you are making progress: enforecement of (strong & strongly hashed) passwords is excellent. I will publicly cheer you up on further progress!

]]>
By: James Day https://shlomi-noach.github.io/blog/mysql/mysql-security-top-wish-list/comment-page-1#comment-218152 Sat, 31 Aug 2013 10:15:21 +0000 https://shlomi-noach.github.io/blog/?p=6492#comment-218152 Re “Unfortunately, this is a field where MySQL is in particular weak, and with very little work done in the many years I’ve been working with MySQL”.

I think we made that claim obsolete in 5.6. 🙂 You might find it useful to read these things:

http://www.mysqlperformanceblog.com/2013/08/17/mysql-5-6-security-vs-ease-of-use/

Randomly assigned root password instead of blank, then forced to change that before you can use the account. Seems like quite an improvement.

How about the password validation plugin, described at http://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html ?

Or perhaps the SHA-256 authentication plugin for more secure password hashing: http://dev.mysql.com/doc/refman/5.6/en/sha256-authentication-plugin.html ?

And maybe the removal of passwords from logging: http://dev.mysql.com/doc/refman/5.6/en/password-logging.html ?

There’s more, of course. What we’re trying to do is get it more secure by default.

The greater focus on security mostly started to become visible in 5.6 though of course that means the work started a couple of years earlier. Easy enough to miss it if you didn’t look at the security changes in 5.6.

We do still have an education challenge, of course. One part of which is helping people like you to know what we’re doing so you can pass the word on and get more people using the improved security capabilities.

There’s still more to do and Todd has been coming up with some really good more secured by default ideas that I hope to see in 5.7.

]]>
By: shlomi https://shlomi-noach.github.io/blog/mysql/mysql-security-top-wish-list/comment-page-1#comment-218131 Sat, 31 Aug 2013 04:57:39 +0000 https://shlomi-noach.github.io/blog/?p=6492#comment-218131 Todd,

This is very interesting! I’ll need to test this with some authentication plugin (or write my own “reject plugin”). If this turns out to work well – it’s a good enough solution for me!

Thanks

]]>
By: James Day https://shlomi-noach.github.io/blog/mysql/mysql-security-top-wish-list/comment-page-1#comment-218115 Fri, 30 Aug 2013 21:43:39 +0000 https://shlomi-noach.github.io/blog/?p=6492#comment-218115 In theory we’re all supposed to have an only my views disclaimer of similar form to the one I use, that references the correct place to go to for an official view. But it’s possible that I’m the only one of us who has both read the rule and tries to follow it a bit. 🙂

I probably wouldn’t usually want to manage most users to user-specific database accounts and that isn’t how Wikipedia does it. But I would want to split read, write and higher permissions by database account, so only the portions of the application code that need the permissions are vulnerable to attacks that might abuse the higher permissions.

In general I agree about topology and I think that most places would be happy with one user name and multiple locations and would choose not to have the same user name being a different person or password when coming from different locations. But I can see that restriction being irritating in a multiple office large environment where it could end up blocking people from using preferred names because of naming conflicts with those in other offices. Probably not enough DBAs for it to matter in most businesses.

I think you’re doing a good job of describing the most common cases and wants. An interesting challenge for us is making that easy while also not blocking the others.

]]>
By: Todd Farmer https://shlomi-noach.github.io/blog/mysql/mysql-security-top-wish-list/comment-page-1#comment-218111 Fri, 30 Aug 2013 21:24:22 +0000 https://shlomi-noach.github.io/blog/?p=6492#comment-218111 Hi Shlomi,

FYI, one can implement host blacklists today:

http://mysqlblog.fivefarmers.com/2013/08/30/implementing-a-host-blacklist-with-mysql-privileges/

Be warned, though: it relies on the behavior that treats the same user as different accounts when the matching host differs. 🙂

Todd

]]>
By: » Implementing a host blacklist with MySQL privileges Todd's MySQL Blog https://shlomi-noach.github.io/blog/mysql/mysql-security-top-wish-list/comment-page-1#comment-218110 Fri, 30 Aug 2013 21:18:16 +0000 https://shlomi-noach.github.io/blog/?p=6492#comment-218110 […] I saw Shlomi’s recent post which asked (in part) for blacklist support in MySQL, I started thinking about ways in which this […]

]]>