位置: IT常识 - 正文

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

编辑:rootadmin
这篇文章主要介绍了浅谈12 条用于 Linux 的 MySQL/MariaDB 安全最佳实践,小编觉得还是挺不错的,这里分享给大家,需要的朋友可以参考下... 18-01-17

推荐整理分享浅谈12 条用于 Linux 的 MySQL/MariaDB 安全最佳实践,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

MySQL 是世界上最流行的开源数据库系统,MariaDB(一个 MySQL 分支)是世界上增长最快的开源数据库系统。在安装 MySQL 服务器之后,在默认配置下是不安全的,确保数据库安全通常是通用数据库管理的基本任务之一。

这将有助于增强和提升整个 Linux 服务器的安全性,因为攻击者总是扫描系统任意部分的漏洞,而数据库在过去是重点目标区域。一个常见的例子是对 MySQL 数据库的 root 密码的强制破解。

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

1. 安全地安装 MySQL

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

·如果您在安装期间没有设置 root 帐户的密码,马上设置它

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

·删除匿名用户帐户和测试数据库,默认情况下,所有用户、甚至匿名用户都可以访问这些帐户和测试数据库

# mysql_secure_installation

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

安全安装 MySQL 情况界面

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] 中修改它。

Port=5000

5. 启用 MySQL 日志

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

log=/var/log/mysql.log

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

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

确保你已经为所有的 mysql 服务文件和数据路径设置了合适的访问权限。文件 /etc/my.conf 只能由 root 用户修改,这样就可以阻止其他用户修改数据库服务的配置。

# chmod 644 /etc/my.cnf

7. 删除 MySQL shell 历史

你在 MySQL shell 中执行的所有的命令都会被 mysql 客户端保存到一个历史文件:~/.mysql_history。这样是很危险的,因为对于你创建过的任何用户账户,所有的在 shell 输入过的用户名和密码都会记录到历史文件里面。

# cat /dev/null > ~/.mysql_history

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

正如你所知道的,你在终端上输入的所有命令都会被存储在一个历史文件中,具体取决于你正在使用的shell(例如 bash 的 shell 历史文件放在 ~/.bash_history)。攻击者访问这个历史文件可以很容易地看到记录在那里的任何密码。

非常不建议在命令行里面输入密码,如下:

# mysql -u root -ppassword_

使用密码连接 MySQL

当你查看命令行历史文件的最后的部分时,可以看到之前输入过的密码。

# history

查看命令行输入历史

推荐连接 MySQL 的方式是

# mysql -u root -pEnter password:

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

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

# mysql -u root -pMariaDB [(none)]> CREATE DATABASE osclass_db;MariaDB [(none)]> CREATE USER 'osclassdmin'@'localhost' IDENTIFIED BY 'osclass@dmin%!2';MariaDB [(none)]> GRANT ALL PRIVILEGES ON osclass_db.* TO 'osclassdmin'@'localhost';MariaDB [(none)]> FLUSH PRIVILEGES;MariaDB [(none)]> exit

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

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

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

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

11. 定期修改 MySQL 密码

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

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 包来获取最新的安全更新和错误改进。通常情况下操作系统中默认的包是过时的。

# yum update# apt update

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

# systemctl restart mariadb #RHEL/CentOS# systemctl restart mysql #Debian/Ubuntu

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

本文链接地址:https://www.jiuchutong.com/zhishi/274421.html 转载请保留说明!

上一篇:win10任务栏显示不全解决教程(win10任务栏显示年月日)

下一篇:ADSL Modem看灯怎么判断故障?(adsl灯一直闪烁)

  • 支付宝在吗是什么东西(支付宝在吗是什么鬼)

    支付宝在吗是什么东西(支付宝在吗是什么鬼)

  • 华为nova7pro如何设置返回键(华为nova7pro如何关机)

    华为nova7pro如何设置返回键(华为nova7pro如何关机)

  • WPS如何做ppt幻灯片(wps怎样做幻灯片,用wps如何做ppt幻灯片?)

    WPS如何做ppt幻灯片(wps怎样做幻灯片,用wps如何做ppt幻灯片?)

  • 怎么看抖音我评论过的视频(怎么看抖音我评论过的作品)

    怎么看抖音我评论过的视频(怎么看抖音我评论过的作品)

  • 微信小店收银台是什么(微信收银台系统怎么开)

    微信小店收银台是什么(微信收银台系统怎么开)

  • XR怎么设置LIVE壁纸(苹果xr怎么弄壁纸)

    XR怎么设置LIVE壁纸(苹果xr怎么弄壁纸)

  • 连不上wifi怎么进入路由器设置(连不上wifi怎么迁移聊天记录)

    连不上wifi怎么进入路由器设置(连不上wifi怎么迁移聊天记录)

  • 取手机卡需要关机吗(取手机卡需要关机吗vivo)

    取手机卡需要关机吗(取手机卡需要关机吗vivo)

  • 一个手机可以注册几个快手号(一个手机可以注册几个qq号码)

    一个手机可以注册几个快手号(一个手机可以注册几个qq号码)

  • 开hd有什么坏处吗(开启hd有什么坏处)

    开hd有什么坏处吗(开启hd有什么坏处)

  • 抖音卸载了草稿箱视频可以找回吗(抖音卸载了草稿还在不在)

    抖音卸载了草稿箱视频可以找回吗(抖音卸载了草稿还在不在)

  • 错误代码-2什么意思(错误代码0×000000d)

    错误代码-2什么意思(错误代码0×000000d)

  • oppoa7和a7x有什么区别(oppoa7和a7x有什么区别 pubg)

    oppoa7和a7x有什么区别(oppoa7和a7x有什么区别 pubg)

  • 怎么下载安装抖音(下载安装抖音到桌面)

    怎么下载安装抖音(下载安装抖音到桌面)

  • windows10更新失败是怎么回事(windows10更新失败缺少重要的修复)

    windows10更新失败是怎么回事(windows10更新失败缺少重要的修复)

  • mtk6771是什么处理器(mtk6771参数)

    mtk6771是什么处理器(mtk6771参数)

  • 京东的闪购特卖什么意思(京东的闪购特卖会降价吗)

    京东的闪购特卖什么意思(京东的闪购特卖会降价吗)

  • ipad能插无线网卡吗(ipad可以插网线)

    ipad能插无线网卡吗(ipad可以插网线)

  • 天猫积分会清零吗(天猫积分会清零吗年底)

    天猫积分会清零吗(天猫积分会清零吗年底)

  • 微信公众号星标有什么用(微信公众号星标是什么意思)

    微信公众号星标有什么用(微信公众号星标是什么意思)

  • 内贸电商如何进行数据选品(外贸电商和内贸的区别)

    内贸电商如何进行数据选品(外贸电商和内贸的区别)

  • 淘宝的闲鱼平台在哪里(淘宝上面的闲鱼怎么样)

    淘宝的闲鱼平台在哪里(淘宝上面的闲鱼怎么样)

  • 抖音点赞有什么用(抖音点赞有什么用直播)

    抖音点赞有什么用(抖音点赞有什么用直播)

  • 银行已入账但未收到钱(银行已入账但未入账)

    银行已入账但未收到钱(银行已入账但未入账)

  • qq上耳朵标志是什么(qq上耳朵标志是啥意思)

    qq上耳朵标志是什么(qq上耳朵标志是啥意思)

  • 清除tpm会发生什么

    清除tpm会发生什么

  • 个人所得税汇算清缴截止日期
  • 牛奶的增值税税率
  • 税务账是什么意思
  • 如何成为一般纳税人的条件
  • 礼品的进项税能抵扣吗
  • 法人的垫资在现金流量表中怎么填写
  • 收到社保生育津贴摘要怎么写
  • 银行结息收入怎么做分录
  • 与收益相关的政府补助会计分录总额法
  • 开出增值税专用发票流程
  • 企业处置固定资产
  • 收到抵物广告费的会计处理怎么做?
  • 转让土地及地上建筑物
  • 企业所得税利润总额和财务报表利润总额不一致
  • 核定征收企业所得税率是多少
  • 期末余额全部转出的有哪些
  • 出售房产税收
  • 房地产开发公司取名
  • 如何区分劳务派遣和劳动合同
  • 房屋修缮发票能补开吗
  • 残保金工资总额怎么算
  • 电子汇票如何背书步骤
  • 收到投资款现金流量项目是什么
  • 小规模纳税人公司注销流程及费用
  • 企业代扣员工社保怎样做分录
  • 付临时工工资计入什么科目
  • 材料没入库的会计分录
  • 税务局查账补交所得税怎样处理
  • phpstorm如何运行
  • type3插件
  • 若依框架是谁写的
  • 应扣未扣税款对纳税人的处理
  • 企业销售商品怎么做分录
  • 企业以非货币性资产投资
  • 缴纳个税时怎么做分录
  • 利用漏洞每天获利万元
  • 电力行业增值税率
  • 政策性搬迁补偿收入
  • phpstudy目录
  • 企业其他应付款太多怎么办
  • vue设置背景图片透明度
  • 谷歌浏览器调试窗口怎么放下面
  • 电脑培训网络教学
  • 职工福利费属于短期薪酬吗
  • 电力系统培训计划
  • 航天金税税控盘运行环境
  • 自然人专项扣除填报
  • 代管资金支出怎么做账
  • 如何修改mysql
  • 母公司吸收合并全资子公司
  • 企业收到国债专项资金怎么记账
  • Keepalived+HAProxy实现MySQL高可用负载均衡的配置
  • 电子承兑汇票支付信用查询
  • 下列项目的进项税额可以从销项税额中抵扣的是()
  • 财政补助收入的账务处理
  • 长期待摊费用会计分录
  • 房地产企业暂估成本所得税汇算
  • 缴纳城市维护建设税的纳税人有哪些
  • 税金附加科目有哪些
  • 暂估入库结转成本
  • 民营医院的发票在哪里领
  • sql语句相似度计算
  • [视频回复]
  • 苹果mac系统怎么用
  • dotnetfx35有什么用
  • windows与linux的关系
  • win8怎么把开始调出来
  • xp如何改windows7
  • win10系统用正版有什么好处
  • libmysqlclient.so.10无法找到
  • ExtJS 2.0实用简明教程 之Ext类库简介
  • javascript有哪些常用的属性和方法
  • Node.js中的什么模块是用于处理文件和目录的
  • unity怎么创建空对象
  • jquery动态生成表格
  • 如何利用工具人
  • unity协程的工作原理
  • 残疾人就业保障金什么时候申报缴纳
  • 国企巡查都巡查哪些内容
  • 简并税率是什么意思
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设