Securing MariaDB in 10 seconds

The first thing that we need to do after installing MariaDB is to run the mysql_secure_installation script. This useful tool is included with MariaDB, and it's found among the other tools and binaries that ship with MariaDB. Its sole purpose is to quickly and easily set up some basic security. To run it, open a command line and enter the following command:

mysql_secure_installation

The script will ask several questions. For nearly all of them, it's best to answer yes (y). The only question that we might want to answer no (n) to is when the script asks us to set a root user password. If we've already set a root password, we can safely skip this question (the script is helpful enough to tell us when it is safe to say no).

The other questions include removing the test database, removing the default anonymous user, and disallowing remote root user logins. The anonymous user and test database are included in the default MariaDB installation for testing purposes, but there's almost never a reason to keep them. We can always create a new test user and database, or several, for our testing needs.

The following is the output of a complete run of the script on a server running Ubuntu 14.04:

shell> mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL
      MariaDB SERVERS IN PRODUCTION USE!  PLEASE READ EACH
      STEP CAREFULLY!



In order to log into MariaDB to secure it, we'll need the current password for the root user.  If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB root user without proper authorization.

Set root password? [Y/n] y
New password: 
Re-enter new password: 

Password updated successfully!
Reloading privilege tables.
 ... Success!

By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without the need to have a user account created for them.  This is intended only for testing, and to make the installation go a bit smoother.
You should remove them before moving into a production environment.

Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from the 'localhost'. This ensures that nobody is able to guess the root password from the network.

Disallow root login remotely? [Y/n] y
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment.
Remove test database and access to it? [Y/n] y

 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB installation should now be secure.

Thanks for using MariaDB!

As the output of the script says, after running it, our MariaDB installation is now secure. In fact, if we run it immediately after installing MariaDB, the only user that will now be able to connect is the root user, and it will only be able to do so while logged in to or sitting in front of the actual computer that MariaDB is running on. This isn't very convenient and we don't want to give other users or applications the root user password, so we'll eventually have to add users and open things up at least a little; Chapter 4, Administering MariaDB, goes into this subject.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.217.254.118