请选择 进入手机版 | 继续访问电脑版

[LINUX] 浅谈12 条用于 Linux 的 MySQL/MariaDB 安全最佳实践

[复制链接]
查看175 | 回复49 | 2021-9-5 06:31:14 | 显示全部楼层 |阅读模式

 MySQL 是天下 上最盛行 的开源数据库体系 ,MariaDB(一个 MySQL 分支)是天下 上增长最快的开源数据库体系 。在安装 MySQL 服务器之后,在默认设置 下是不安全的,确保数据库安全通常是通用数据库管理的基本使命 之一。

这将有助于加强 和提拔 整个 Linux 服务器的安全性,由于 攻击者总是扫描体系 恣意 部分的弊端 ,而数据库在过去是重点目标 地区 。一个常见的例子是对 MySQL 数据库的 root 暗码 的逼迫 破解。

在本指南中,我们将会讲解对开发 者有帮助的 MySQL/MariaDB 的 Linux 最佳安全实践。

1. 安全地安装 MySQL

这是安装 MySQL 服务器后第一个建议的步骤,用于保护数据库服务器。这个脚本可以帮助您进步 MySQL 服务器的安全性:

·假如 您在安装期间没有设置 root 帐户的暗码 ,立即 设置它

·通过删除可从本地主机外部访问的 root 帐户来禁用长途 root 用户登录

·删除匿名用户帐户和测试数据库,默认环境 下,全部 效 户、以致 匿名用户都可以访问这些帐户和测试数据库

  1. # mysql_secure_installation
复制代码

在运行上述下令 之后,设置 root 暗码 并通过输入 [Yes/Y] 和按下 [Enter] 键来回 答一系列标题 。

浅谈12 条用于 Linux 的 MySQL/MariaDB 安全最佳实践

安全安装 MySQL 环境 界面

2. 将数据库服务器绑定到 Loopback 地址

此设置 将限定 来自长途 机器的访问,它告诉 MySQL 服务器只担当 来自本地主机的毗连 。你可以在主设置 文件中举行 设置。

  1. # vi /etc/my.cnf [RHEL/CentOS]
  2. # vi /etc/mysql/my.conf [Debian/Ubuntu]
  3. OR
  4. # vi /etc/mysql/mysql.conf.d/mysqld.cnf [Debian/Ubuntu]
复制代码

在 [mysqld] 部分中添加下面这一行

  1. bind-address = 127.0.0.1
复制代码

3. 禁用 MySQL 的 LOCAL INFILE

作为安全性加强 的一部分,您必要 禁用 local_infile,使用 下面的指令以防止在 [mysqld] 部分从 MySQL 中访问底层文件体系 。

  1. local-infile=0
复制代码

4. 修改 MySQL 的默认端口

设置端口变量用于监听 TCP/IP 毗连 的 MySQL 端标语 。默认端标语 是 3306,但是您可以在 [mysqld] 中修改它。

  1. Port=5000
复制代码

5. 启用 MySQL 日志

日志 是相识 服务运行过程中发生了什么的最好的方法之一,在受到任何攻击的时间 都可以很轻易 的从日志 里看到任何入侵相干 的举动 。可以通过将下边的变量添加到设置 文件[mysqld]部分来开启mysql日志 功能。

  1. log=/var/log/mysql.log
复制代码

6. 设置合适的 MySQL 文件的访问权限

确保你已经为全部 的 mysql 服务文件和数据路径设置了合适的访问权限。文件 /etc/my.conf 只能由 root 用户修改,如许 就可以克制 其他用户修改数据库服务的设置 。

  1. # chmod 644 /etc/my.cnf
复制代码

7. 删除 MySQL shell 汗青

你在 MySQL shell 中实验 的全部 的下令 都会被 mysql 客户端保存到一个汗青 文件:~/.mysql_history。如许 是很伤害 的,由于 对于你创建过的任何用户账户,全部 的在 shell 输入过的用户名和暗码 都会记录到汗青 文件内里 。

  1. # cat /dev/null > ~/.mysql_history
复制代码

8. 不要在下令 行中运行 MySQL 下令

正如你所知道的,你在终端上输入的全部 下令 都会被存储在一个汗青 文件中,详细 取决于你正在使用 的shell(比方 bash 的 shell 汗青 文件放在 ~/.bash_history)。攻击者访问这个汗青 文件可以很轻易 地看到记录在那里 的任何暗码 。

非常不建议在下令 行内里 输入暗码 ,如下:

  1. # mysql -u root -ppassword_
复制代码

浅谈12 条用于 Linux 的 MySQL/MariaDB 安全最佳实践

使用 暗码 毗连 MySQL

当你查看下令 行汗青 文件的末了 的部分时,可以看到之前输入过的暗码 。

  1. # history
复制代码

浅谈12 条用于 Linux 的 MySQL/MariaDB 安全最佳实践

查看下令 行输入汗青

保举 毗连 MySQL 的方式是

  1. # mysql -u root -p
  2. Enter password:
复制代码

9. 定义特定应用的数据库用户

对于每一个在服务器上运行的应用,只设置一个与该应用相干 的数据库用户。比方 你有一个 wordpress 网站,如下创建一个 wordpress 的数据库用户:

  1. # mysql -u root -p
  2. MariaDB [(none)]> CREATE DATABASE osclass_db;
  3. MariaDB [(none)]> CREATE USER 'osclassdmin'@'localhost' IDENTIFIED BY 'osclass@dmin%!2';
  4. MariaDB [(none)]> GRANT ALL PRIVILEGES ON osclass_db.* TO 'osclassdmin'@'localhost';
  5. MariaDB [(none)]> FLUSH PRIVILEGES;
  6. MariaDB [(none)]> exit
复制代码

并且要记住对于不再使用 的数据库用户要删掉。

10. 使用 额外的安全插件和库

MySQL 包含很多 安全插件:验证客户端毗连 到 MySQL 服务器的哀求 、暗码 校验和敏感信息的安全存储等,这些都在免费版本中提供。

在这里可查看更多:https://dev.mysql.com/doc/refman/5.7/en/security-plugins.html

11. 定期修改 MySQL 暗码

定期修改暗码 是一个常见的信息/应用/体系 安全建议。多久修改一次暗码 由你内部的安全策略决定。定期修改暗码 可以克制 长期跟踪你的“窥伺 者”,获取你的暗码 ,登录你的 MySQL 服务器。

  1. MariaDB [(none)]> USE mysql;MariaDB [(none)]> UPDATE user SET password=PASSWORD('YourPasswordHere') WHERE User='root' AND Host = 'localhost';MariaDB [(none)]> FLUSH PRIVILEGES;
复制代码

12. 定期更新 MySQL Server 包

猛烈 建议定期从官方仓库更新 mysql/mariadb 包来获取最新的安全更新和错误改进。通常环境 下操作体系 中默认的包是过时的。

  1. # yum update
  2. # apt update
复制代码

在对 mysql/mariadb server 举行 任何修改之后,要重启服务。

  1. # systemctl restart mariadb #RHEL/CentOS
  2. # systemctl restart mysql #Debian/Ubuntu
复制代码

以上就是脚本之家分享给大家关于浅谈12 条用于 Linux 的 MySQL/MariaDB 安全最佳实践的全部内容,渴望 对大家有所帮助。感爱好 的朋侪 可以继续参阅本站其他相干 专题,如有不足之处,欢迎留言指出。感谢朋侪 们对本站的支持!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

admin楼主,我告诉你一个你不知道的的秘密,有一个牛逼的网站,影视频道的网站所有电影和连续剧都可以免费看的。访问地址:http://tv.mxswl.com
回复

使用道具 举报

avatar 彭832 | 2021-9-13 00:10:56 | 显示全部楼层
听admin楼主一席话,省我十本书!
回复

使用道具 举报

avatar 我的承诺只给你 | 2021-9-13 13:12:44 | 显示全部楼层
帖子很有深度!
回复

使用道具 举报

avatar 海鑫木业 | 2021-9-13 17:34:57 | 显示全部楼层
在这个版块混了这么久了,第一次看见这么给你的帖子!
回复

使用道具 举报

avatar 国留局劳 | 2021-9-19 01:42:01 | 显示全部楼层
谢谢admin楼主的分享!
回复

使用道具 举报

avatar 茹蕙zx | 2021-10-3 05:12:01 | 显示全部楼层
终于看完了,很不错!
回复

使用道具 举报

avatar Megatron832 | 2021-10-3 17:57:41 | 显示全部楼层
admin楼主,替我问候您主治大夫!
回复

使用道具 举报

avatar 瑞星卡卡卡卫 | 2021-10-4 13:34:41 | 显示全部楼层
记得吃药!
回复

使用道具 举报

avatar 后会无期846 | 2021-10-6 07:41:27 | 显示全部楼层
很有看点!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则