Author’s note: For the most up-to-date directions on setting up LDAP authentication using PAM and user or group mapping with MariaDB, please see the relevant MariaDB documentation page. In this blog post, I will demonstrate how to configure MariaDB to use LDAP authentication and group mapping. I have previously written blog posts about configuring PAM authentication and user mapping with ... Read More
Security auditing plays important role in the process of securing a database system. Thanks to the MySQL Enterprise Audit extension, we can record all activities, such as client connections and execution of queries into a single log file, for later inspection.…
Security these days is bigger than ever. This statement needs no proof. It seems like it is getting easier and easier to get access to ‘secure data’. As system grows it becomes really hard to secure all endpoints. This is why encrypting data is now the hot topic in the database world.…
Removing users in MySQL is an easy task, but there are some drawbacks to check carefully before dropping a user. Not taking these possible issues into consideration can render your application unusable.
First it is important to understand the concept of user in MySQL. A user has three main functions: authentication, privileges and resources. This is different from other databases: in MySQL users don’t own objects. An object belongs to a database and there is no direct relationship between objects and users. This simplifies the process of deleting a user because no objects will be erased.
But users, as I wrote before, have an associated set of privileges that define what database sessions can do, and the privileges applied both in stored programs and view execution.
At the same time, procedures, functions, triggers, and views have two possible security contexts: invoker and definer. If they are created using the invoker …
[Read more]MariaDB 10.1 introduced Data at Rest Encryption. By default we provide a file_key_management plugin. This is a basic plugin storing keys in a file that can be itself encrypted. This file can come from a usb stick removed once keys have been brought into memory. But this remains a basic solution not suitable for security ...continue reading "MariaDB AWS Key Management Service (KMS) Encryption Plugin"
I’ve previously evaluated MariaDB’s 10.1 implementation of data encryption at rest (https://www.pythian.com/blog/data-encryption-rest), and recently did the same for Oracle’s implementation (https://dev.mysql.com/doc/refman/5.7/en/innodb-tablespace-encryption.html) in their MySQL 5.7.
First, here’s a walkthrough of enabling encryption for MySQL 5.7:
1. Install keyring plugin.
1a. Add the following to the [mysqld] section of /etc/my.cnf:
View the code on Gist.
1b. Restart the server:
... service mysqld restart
1c. Verify:
... …[Read more]
Oracle University recently unveiled a new online training offering – the MySQL Learning Subscription. The combination of freely-accessible and compelling paid content makes this an exciting development to me, and should prove valuable to the community and customer base alike. This post will briefly explore this new MySQL educational resource.
Organization
The subscription content is organized into topical “channels”. Current top-level channels are:
- Getting Started
- Development
- Administration
- Security
These channels have sub-channels as well – for example, the Getting Started channel includes Getting Started With MySQL New Features and MySQL For Beginners, …
[Read more]
Recently we’ve received an alert from one of our clients that
running threads are high on one of their servers. Once we logged
in, we noticed that all the selects were waiting for table level
read lock. We scrolled through the process list, and found the
selects which were causing the problems. After killing it,
everything went back to normal.
At first we couldn’t understand why the query took so long, as it
looked like all the others. Then we noticed, that one of the
WHERE clauses was strange. There, we found a SLEEP(3) attached
with OR to the query. Obviously, this server was the victim of a
SQL injection attack.
What is SQL injection?
I think most of us know what SQL injection is, but as a
refresher, SQL injection is when someone provides malicious input
into WHERE, to run their own statements as well.
Typically this occurs when you ask a user for input, like
username, but instead of a real name they give you a …
Recently a serious vulnerability called DROWN was found. The vulnerability exists in systems that support SSLv2. There is flaw in SSLv2 that could be used to decrypt information over newer SSL protocols such as TLS. More information about the DROWN vulnerability with CVE number CVE-2016-0800 can be found here: The DROWN attack Mitre CVE dictionary […]
The post MariaDB itself is NOT affected by the DROWN vulnerability appeared first on MariaDB.org.
The MySQL team has been maintaining a MySQL image on Docker. They have been listening to requests from the community and reacting quickly. So far, they have fixed two bugs that I reported and introduced a feature request that I suggested to make the server more secure.
Thanks, folks!
My latest request was about password management in a MySQL container. I have mentioned in previous posts the compatibility problems introduced by MySQL 5.7 security enhancements. Let me recap the main issues here:
MySQL is secure by default.
The recommended method to install MySQL is mysqld
--initialize
, which will generate a random password that the DBA will
then use to access the …