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

  • 支付宝收到转账的钱在哪里(支付宝收到转账红包钱去哪里了)

    支付宝收到转账的钱在哪里(支付宝收到转账红包钱去哪里了)

  • MacBook怎么开大写(MacBook怎么开大小写)

    MacBook怎么开大写(MacBook怎么开大小写)

  • 手机优酷如何下载视频(手机优酷如何下载视频到u盘)

    手机优酷如何下载视频(手机优酷如何下载视频到u盘)

  • 小红书怎么拉进度条(小红书怎么拉进群)

    小红书怎么拉进度条(小红书怎么拉进群)

  • incp是什么指令(incr是什么指令)

    incp是什么指令(incr是什么指令)

  • 芒果tv移动月卡是什么(芒果tv移动月卡怎么取消)

    芒果tv移动月卡是什么(芒果tv移动月卡怎么取消)

  • 云台摄像头什么意思(云台摄像头与普通摄像头有何区别)

    云台摄像头什么意思(云台摄像头与普通摄像头有何区别)

  • 新开淘宝店可以开通淘宝客吗(新开淘宝店可以自己打印快递单然后拿到站点寄吗)

    新开淘宝店可以开通淘宝客吗(新开淘宝店可以自己打印快递单然后拿到站点寄吗)

  • 抖音视频分享暂时无法下载为什么(抖音视频分享暂停怎么弄)

    抖音视频分享暂时无法下载为什么(抖音视频分享暂停怎么弄)

  • soul一般禁言多久(soul禁言是什么情况)

    soul一般禁言多久(soul禁言是什么情况)

  • 什么是办公自动化系统的关键设备(什么是办公自动化它包括哪些层次)

    什么是办公自动化系统的关键设备(什么是办公自动化它包括哪些层次)

  • 为什么qq取消特别关心还是会响(为什么qq取消特别关心发消息还是有显示)

    为什么qq取消特别关心还是会响(为什么qq取消特别关心发消息还是有显示)

  • 分页符的功能(分页符功能在哪里)

    分页符的功能(分页符功能在哪里)

  • 快手视频怎么保存到手机(快手视频怎么保存到相册不显示快手)

    快手视频怎么保存到手机(快手视频怎么保存到相册不显示快手)

  • 华为手机耳塞插孔在哪(华为手机耳机塞不进去)

    华为手机耳塞插孔在哪(华为手机耳机塞不进去)

  • ppt未保存如何找回(ppt未保存在哪里可以找回来)

    ppt未保存如何找回(ppt未保存在哪里可以找回来)

  • 电池beta是什么意思(电池batterylevel)

    电池beta是什么意思(电池batterylevel)

  • ps如何去皱纹和斑点(ps去皱纹)

    ps如何去皱纹和斑点(ps去皱纹)

  • 手机能上网却打不了电话是什么原因(手机能上网却打不了电话怎么回事)

    手机能上网却打不了电话是什么原因(手机能上网却打不了电话怎么回事)

  • 苹果6是否有nfc功能(苹果6是否有隔空投送功能)

    苹果6是否有nfc功能(苹果6是否有隔空投送功能)

  • 高通有5g芯片吗(高通有5g芯片吗苹果)

    高通有5g芯片吗(高通有5g芯片吗苹果)

  • qq极速版和qq有什么区别(极速版qq和qq有什么区别)

    qq极速版和qq有什么区别(极速版qq和qq有什么区别)

  • 高德地图突然导航不了怎么办(高德地图突然导航不动了)

    高德地图突然导航不了怎么办(高德地图突然导航不动了)

  • vivox27可以快充吗(vivox27手机快充怎么开启功能在哪里)

    vivox27可以快充吗(vivox27手机快充怎么开启功能在哪里)

  • 小米9屏幕是什么材料(小米9屏幕是什么的)

    小米9屏幕是什么材料(小米9屏幕是什么的)

  • 共享停车位app怎么开发(共享停车位app哪个好)

    共享停车位app怎么开发(共享停车位app哪个好)

  • AI:DeepSpeed Chat(一款帮用户训练自己模型的工具且简单/低成本/快 RLHF 训练类ChatGPT高质量大模型)的简介、安装、使用方法之详细攻略

    AI:DeepSpeed Chat(一款帮用户训练自己模型的工具且简单/低成本/快 RLHF 训练类ChatGPT高质量大模型)的简介、安装、使用方法之详细攻略

  • 什么是反避税税率
  • 缴纳企业所得税会计分录怎么做
  • 固定资产报废处置收入要交增值税吗
  • 期末资产负债
  • 无形资产净损失计入
  • 政府会计制度银行存款利息咋处理
  • 索赔怎么开票
  • 出口无法收汇怎么办
  • 简易计税收入会计分录
  • 建安企业会计处理
  • 行政单位应缴财政收入预算会计分录
  • 收到政府补助的固定资产的账务处理
  • 用金税盘怎样认证抵扣
  • 出口当月开票当月申报吗
  • 货运发票和提供建筑服务的专票备注怎么写?
  • 补助及救济费用
  • 绿化费用明细
  • 新购进的固定资产可以一次性抵扣
  • 办理对公账户手续流程
  • 累计折旧是备抵类科目吗
  • 个税申报错误怎么更改
  • mac怎么还原出厂设置
  • 旅游服务业账务处理办法
  • 单位给个人开票需要什么资料才能开
  • 添加VPN时提示已存在
  • 购买财务软件申请怎么写
  • php删除数组中重复的元素
  • php echo语句
  • centos7完整版安装
  • coco2017数据集介绍
  • 清明 哀思
  • php读取文件的一部分
  • php 文件上传类型限制
  • vuea
  • typescriptlang
  • sass和less的区别使用
  • 包工的人工费可以算工程款
  • 销售旧货怎么填写申报表
  • 小微企业所得税税率2.5% 10% 25%
  • php 用户
  • 前年度多交附加税怎么交
  • 收到增值税收入423300,款项已存入国库
  • mongodb分片技术
  • 耕地占用税通过税金及附加核算吗
  • 现金流量表存货增加额怎么算
  • 本年利润在明细里怎么填
  • 收到预付卡的发票是否可以报销呢?
  • 专项费用会计分录
  • 原材料结转下年怎么记
  • 工会经费计入科目
  • 出口货物退货需要交税吗
  • 工资油补也要交税吗
  • 接到国外的电话是怎么回事
  • mysql数据库中文
  • sql server数据导入导出的特点
  • win8系统忘记电脑开机密码怎么办
  • solaris syslog
  • 硬盘 linux
  • centos7(core)
  • win7如何打开远程桌面连接
  • win10麦克风加强没有了
  • centos安装编译环境
  • win10时间不见了怎么办
  • 跑酷游戏cs
  • javascript屏蔽元素
  • python怎么运作
  • node.js在网页制作中的作用
  • [置顶]游戏名:chivalry2
  • javascript数学函数
  • js圆形链
  • SQLite3中文编码 Python的实现
  • jquery 弹出页面
  • 浅析Python中MySQLdb的事务处理功能
  • 北京 国税局
  • 可以抵扣的消费税有哪些
  • 劳动仲裁受理通知
  • 2021年江苏省考常州职位表
  • 深圳宝安到揭阳大巴
  • 审计报告非标准意见
  • 小区活动宣传文案
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设