MySQL 是世界上最风行的开源数据库体系,MariaDB(一个 MySQL 分支)是世界上增长最快的开源数据库体系。在安装 MySQL 办事器之后,在默认设备下是不安然的,确保数据库安然平日是通用数据库治理的根本义务之一。
这将有助于加强和晋升全部 Linux 办事器的安然性,因为进击者老是扫描体系随便率性部分的马脚,而数据库在以前是重点目标区域。一个常见的例子是对 MySQL 数据库的 root 暗码的强迫破解。
在本指南中,我们将会讲解对开辟者有赞助的 MySQL/MariaDB 的 Linux 最佳安然实践。
1. 安然地安装 MySQL
这是安装 MySQL 办事器后第一个建议的步调,用于保护数据库办事器。这个脚本可以赞助您进步 MySQL 办事器的安然性:
- 如不雅内涵安装时代没有设置 root 帐户的暗码,立时设置它
- 经由过程删除可大年夜本地主机外部拜访的 root 帐户来禁用长途 root 用户登录
- 删除匿名用户帐户和测试数据库,默认情况下,所有效户、甚至匿名用户都可以拜访这些帐户和测试数据库
- # mysql_secure_installation
在运行上述敕令之后,设置 root 暗码并经由过程输入 [Yes/Y] 和按下 [Enter] 键来答复一系列问题。
对于每一个在办事器上运行的应用,只设置一个与该应用相干的数据库用户。例如你有一个 wordpress 网站,如下创建一个 wordpress 的数据库用户:
2.将数据库办事器绑定到 Loopback 地址
此设备将限制来自长途机械的拜访,它告诉 MySQL 办事器只接收来自本地主机的连接。你可以在主设备文件中进行设置。
- # vi /etc/my.cnf [RHEL/CentOS]
- # vi /etc/mysql/my.conf [Debian/Ubuntu]
- OR
- # vi /etc/mysql/mysql.conf.d/mysqld.cnf [Debian/Ubuntu]
在 [mysqld] 部分中添加下面这一行
- bind-address = 127.0.0.1
3. 禁用 MySQL 的 LOCAL INFILE
作为安然性加强的一部分,您须要禁用 local_infile ,应用下面的指令以防止在 [mysqld] 部分大年夜 MySQL 中拜访底层文件体系。
- local-infile=0
【限时免费】岁尾最强一次云计算大年夜会,看传统、社区、互联网企业若何碰撞?
4. 修改 MySQL 的默认端口
设置端口变量用于监听 TCP/IP 连接的 MySQL 端标语。默认端标语是 3306,然则您可以在 [mysqld] 中修改它。
5、启用 MySQL 日记
日记是懂得办事运行过程中产生了什么的最好的办法之一,在受到任何进击的时刻都可以很轻易的大年夜日记里看到任何入侵相干的行动。可以经由过程将下边的变量添加到设备文件[mysqld]部分来开启mysql日记功能。
- log=/var/log/mysql.log
6、设置合适的 MySQL 文件的拜访权限
确保你已经为所有的 mysql 办事文件和数据路径设置了合适的拜访权限。文件 /etc/my.conf 只能由 root 用户修改,如许就可以阻拦其他用户修改数据库办事的设备。
- # chmod 644 /etc/my.cnf
7、删除 MySQL shell 汗青
你在 MySQL shell 中履行的所有的敕令都邑被 mysql 客户端保存到一个汗青文件:~/.mysql_history。如许是很危险的,因为对于你创建过的任何用户账户,所有的在 shell 输入过的用户名和暗码都邑记录到汗青文件琅绫擎。
- # cat /dev/null > ~/.mysql_history
在对 mysql/mariadb server 进行任何修改之后,要重启办事。
8.不要在敕令行中运行 MySQL 敕令
- Port=5000
正如你所知道的,你在终端上输入的所有敕令都邑被存储在一个汗青文件中,具体取决于你正在应用的shell(例如 bash 的 shell 汗青文件放在 ~/.bash_history )。进击者拜访这个汗青文件可以很轻易地看到记录在那边的任何暗码。
异常不建议在敕令行琅绫擎输入暗码,如下:
- # mysql -u root -ppassword_
推荐阅读
【限时免费】岁尾最强一次云计算大年夜会,看传统、社区、互联网企业若何碰撞?已经用了两三年 Coding.NET 了,以前码币轻易挣的时刻,还换了件 T 恤,开端是小我应用,后来推广到团队应用,出了企业版>>>详细阅读
本文标题:12条用于Linux的MySQL/MariaDB安全最佳实践
地址:http://www.17bianji.com/lsqh/40221.html
1/2 1