【51CTO.com快译】贵企业的数据中心很可能依赖一两台MySQL数据库服务器。如果真是这样,你应该确保自己的数据库是在着眼于安全的情况下安装和构建起来的。
幸好,MySQL提供了一个使用方便的命令,这个命令对于加强安装的MySQL的安全大有帮助。单单这个命令具有下列功能:
·更新密码插件;
·为根帐户设置密码(如果已经有了一个密码,你可以选择保留密码或更改密码);
·删除可以从本地主机外面访问的根帐户;
·删除匿名用户帐户
·删除测试数据库和允许任何人访问名称以 test_开头的数据库的权限。
虽然上述任务并不过于复杂,但是它们很容易被忽视,如果你有许多数据库,很耗费时间。
我们不妨加固安装的MySQL服务器的安全。
运行命令
开始加固过程的命令如下:
sudo mysql_secure_installation
一旦运行该命令,会提示你输入MySQL管理员命令。一旦成功输入了密码,加固过程就会开始。然后会要求你同意或不考虑下列操作(见图A)。
1. 更新密码插件(在键盘上按Y代表“确定”,并按回车键)。
2. 选择你想要启用的密码验证政策级别(0 = 弱,1 = 中等,2 = 强)。重要说明:在文章的后面,我给出了关于这个政策级别的警示细节。
3. 更改根密码(若不考虑该选项,按N,那样该工具就不会更改MySQL的管理员密码)。
4. 删除匿名用户(按Y即可删除)。
5. 不允许远程根登录(按Y即可禁止)。
6. 删除测试数据库(按Y即可删除)
图A
运行一系列简单的问题,即可加固你安装的MySQL。
回答上述问题后,会提示你按Y,重新装入权限表。就是这样――你安装的MySQL数据库服务器变得更安全了。可以使用mysql -u root -p命令,登录进入到MySQL外壳,然后运行命令SHOW DATABASES,即可看到测试数据库已被删除。
关于密码验证政策的重要说明
选择密码验证政策的级别时要慎重,因为这可能会给已经创建的任何用户带来问题,比如使用WordPress等运行中服务的数据库用户。如果这带来了问题,你得为遇到问题的那个服务/用户更改数据库用户密码。为此,运行下列命令(USER是用户名,NEWPASSWORD是所要使用的新密码):
mysqladmin -u USER -p password NEWPASSWORD
会提示你输入最新的用户密码。一旦身份验证成功,密码就会被更改。
为了测试根用户的远程访问,你将不得不设置MySQL服务器以便接受远程连接;我们会在以后介绍MySQL的远程连接。
可以使用更安全的MySQL数据库了
恭喜你!你安装的MySQL变得更安全了。只要你的主机平台很可靠,又经常确保操作系统及各服务器是最新版本,应该可以比较放心:你的数据比较安全,远离攻击。
原文标题:How to harden MySQL security with a single command,作者:Jack Wallen
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】