位置: 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灯一直闪烁)

  • 苹果13mini怎么用Safari浏览器长截图(苹果13mini怎么用两个微信号)

    苹果13mini怎么用Safari浏览器长截图(苹果13mini怎么用两个微信号)

  • 爱奇艺手机端怎么一起看(爱奇艺手机端怎么取消自动续费)

    爱奇艺手机端怎么一起看(爱奇艺手机端怎么取消自动续费)

  • 苹果11和11 pro的区别(苹果11和11 Pro的钢化膜通用吗)

    苹果11和11 pro的区别(苹果11和11 Pro的钢化膜通用吗)

  • snkrs付款出错了,请稍后重试(snkrs处理付款方式遇到问题)

    snkrs付款出错了,请稍后重试(snkrs处理付款方式遇到问题)

  • 苹果语音通话设备启动不成功(苹果语音通话设置在哪)

    苹果语音通话设备启动不成功(苹果语音通话设置在哪)

  • ipadmini5长和宽(ipadmini5长和宽多少)

    ipadmini5长和宽(ipadmini5长和宽多少)

  • melsoft是什么软件(mer是什么软件)

    melsoft是什么软件(mer是什么软件)

  • iphonex辅助触控自动消失怎么解决(iphone x 辅助触控)

    iphonex辅助触控自动消失怎么解决(iphone x 辅助触控)

  • 扫描件和照片的区别(扫描件和照片的法律效力)

    扫描件和照片的区别(扫描件和照片的法律效力)

  • ip53能达到什么程度防水(ip53和ip54)

    ip53能达到什么程度防水(ip53和ip54)

  • 爱奇艺下载的视频怎么保存到本地(爱奇艺下载的视频怎么转换成mp4)

    爱奇艺下载的视频怎么保存到本地(爱奇艺下载的视频怎么转换成mp4)

  • OPPO k5怎么关闭屏幕自动旋转(oppo k5怎么关闭弹出手机弹出的广告)

    OPPO k5怎么关闭屏幕自动旋转(oppo k5怎么关闭弹出手机弹出的广告)

  • 天猫超市不能退货吗(天猫超市申请了退款现在不想退完要怎么办)

    天猫超市不能退货吗(天猫超市申请了退款现在不想退完要怎么办)

  • 抖音作品怎么设为私密(抖音作品怎么设置不让别人下载)

    抖音作品怎么设为私密(抖音作品怎么设置不让别人下载)

  • 苹果手表怎么查询国行(苹果手表怎么查是不是国行)

    苹果手表怎么查询国行(苹果手表怎么查是不是国行)

  • 物联卡能永久使用吗(物联卡能永久使用)

    物联卡能永久使用吗(物联卡能永久使用)

  • tpc数据线是什么意思(tpc数据线谁的专利)

    tpc数据线是什么意思(tpc数据线谁的专利)

  • 小米手机怎么显示帧数(小米手机怎么显示电量百分比)

    小米手机怎么显示帧数(小米手机怎么显示电量百分比)

  • 现在手机内存最多多大(现在手机内存最大多少g)

    现在手机内存最多多大(现在手机内存最大多少g)

  • nova5i电池容量(nova5的电池容量)

    nova5i电池容量(nova5的电池容量)

  • 华为p20音量突然变小(华为p20音量突然变大)

    华为p20音量突然变小(华为p20音量突然变大)

  • 电脑蓝屏0x000007f(电脑蓝屏0X0000007E是怎么回事)

    电脑蓝屏0x000007f(电脑蓝屏0X0000007E是怎么回事)

  • ps怎么无损降噪(ps里面怎么降噪)

    ps怎么无损降噪(ps里面怎么降噪)

  • 苹果MAC有哪些秘密功能?苹果电脑中隐藏的10个秘密功能介绍(苹果macmimi)

    苹果MAC有哪些秘密功能?苹果电脑中隐藏的10个秘密功能介绍(苹果macmimi)

  • 前端数据加密的几种方式(前端数据加密的三种方式)

    前端数据加密的几种方式(前端数据加密的三种方式)

  • 【路径规划】A*算法方法改进思路简析(路径规划原理)

    【路径规划】A*算法方法改进思路简析(路径规划原理)

  • Sublime Text 4 (Build 4143) 注册方法STEP BY STEP

    Sublime Text 4 (Build 4143) 注册方法STEP BY STEP

  • 城建税和教育费附加怎么写分录
  • 残疾人就业保障金
  • 小规模企业每月能开多少专票
  • 每月长摊金额如何分摊
  • 固定资产盘点账务处理
  • 资产减值损失跟信用减值损失能合并
  • 企业报废固定资产的净损失应确认为企业的费用
  • 结转损益类账户余额
  • 2018年城镇医保
  • 公司管理层的作用
  • 外币账户的银行信息在哪查询
  • 当月费用没结账的能先预估计提吗?
  • 境外公司付款给国内公司人民币
  • 如何少交点税
  • 增值税发票开票限额怎么申请?
  • 增值税的免征增值税范围
  • 纳税人备案信息包括
  • 积分小技巧
  • 盈余公积为0说明什么问题
  • 文化事业建设费税率
  • 员工借款收不回来账务处理
  • 所得税年报流程
  • 收到投资者投入设备一台,价值100000元
  • 委托代销中受托方账务处理
  • 公司税务风险怎么解决
  • 购买国外技术需要缴纳什么税
  • 以产品抵债会计分录
  • 外贸出口企业退税计算
  • 运杂费计入什么科目
  • 无法找到脚本文件vbs怎么办
  • Msssrv.exe - Msssrv是什么进程 有什么用
  • 题管理录入新内容
  • eclipse中创建webgis项目
  • 融资租入资产的入账价值可能是()
  • ValueError: The device should not be ‘gpu‘, since PaddlePaddle is not compiled with CUDA问题解决(Paddle)
  • 苏尼亚尼
  • Win11 Build 23435 预览版今日发布: 文件管理器引入图库功能
  • 货物退回会计分录怎么做
  • php css教程下载
  • 员工安全培训费可以计入安全费用吗
  • 购买垃圾桶计入什么科目
  • 人工费没有发票咋入帐
  • 普通发票添加货品名称步骤
  • 补充医疗相关政策
  • 固定资产清理怎么报税呢
  • 员工旅游的费用账务处理
  • 新会计制度固定资产对应科目
  • 更正申报季度企业所得税
  • 职工福利按工资的实付还是应付提取
  • 企业给员工交公积金怎么办理
  • 工程预收款税票
  • 并购 投资
  • 增值税及附加是什么税
  • 购进材料入库,其价税款通过银行支付
  • 产权交易所交易流程
  • 会计制度和会计准则科目转换
  • 影响折旧的因素有哪三个方面
  • 新成立的公司发朋友圈文案
  • sql server语句查询
  • centos编译器
  • win10周年版
  • 怎样让windows media player播放mkv文件
  • mac系统怎么画图
  • win8如何打开开始菜单
  • scardsvr32.exe - scardsvr32是什么进程 有什么用
  • fedora 图形界面
  • node.js安装后自带哪个工具
  • linux dev/sr0
  • dos改时间
  • unity text
  • 两个Collider遮挡的解决办法
  • 文件管理android访问限制
  • android缓存机制
  • jQuery+ajax实现滚动到页面底部自动加载图文列表效果(类似图片懒加载)
  • 微信扫码开票的记录怎么查询
  • 医保参保应保尽保
  • 上海市浦东新区公租房
  • 潍坊税务局上班时间表
  • 买新车的注意事项有哪些比较重要的
  • 公司财务专用章的用途
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设