MySQL 操作系统加固配置

进入MySQL数据库:

命令:mysql -u root -p

账号

以普通账户安全运行mysqld,禁止mysql以管理员账号权限运行
操作指南
  • 参考配置操作
    Unix 下以通过在/etc/my.cnf中设置:

[mysql.server]
user=mysql

vim /etc/my.cnf
在这里插入图片描述

  • 补充操作说明
    计算机入侵数据库是非常危险的,因此必须要用普通用户登录数据库,来进行操作,因此有必要对一些主机操作权限
    如下图所示:授权给部分主机权限
    在这里插入图片描述
检查方法
  • 判定条件

各种操作系统下以管理员权限运行。
Unix 下禁止以 root 账号运行 mysqld;

  • 检测操作

检查进程属主和运行参数是否包含–user=mysql类似语句:

#ps -ef | grep mysqld
#grep -i user /etc/my.cnf

这两行命令自己下去敲去,看是否包含-user=mysql类似语句。

应按照用户分配账号,避免不同用户间共享账号
操作指南
  • 参考配置操作

//创建用户,并指定特定用户,特定IP登录数据库
create user xxx@‘指定ip地址’ identified by ‘asyaxy’;
这样就创建了一个名为xxx的用户,密码为asyaxy,然后登录。
登录:mysql -u xxx -p asyaxy -h 192.168.2.114

mysql> mysql> insert into
mysql.user(Host,User,Password,ssl_cipher,x509_issuer,x509_subject)values(“localhost”,“pppadmin”,password(“passwd”),",",");
这样就创建了一个名为:phplamp密码为:1234的用户。

//然后登录一下。

mysql>exit;

@>mysql -u phplamp -p
@>输入密码
mysql>登录成功

  • 补充操作说明
    具体操作跟着上面那些命令敲一下即可
检测方法
  • 判定条件
    不用名称的用户可以连接数据库

  • 检测操作
    使用不同用户连接数据库

应删除或锁定与数据库运行、维护等工作无关的账号
操作指南
  • 参考配置操作

DROP USER 语句用于删除一个或多个MySQL账户。要使用 DROP USER,必须拥有mysql 数据库的全局 CREATEUSER 权限或 DELETE 权限。
账户名称的用户和主机部分与用户表记录的User和Host列值相对应。
使用 DROPUSER,您可以取消一个账户和其权限,操作如下: DROP USER user;
该语句可以删除来自所有授权表的帐户权限记录。

先对账户进行筛选,找出无用账户,并删除
查看筛选:select user , host , password from mysql.user;
删除用户:drop user ‘’@‘mysql’, ‘’@‘localhosy’, ‘root’@’::1’,‘root’@‘mysql’;
再次查看是否删除成功

  • 补充操作说明

要点:
DROP USER 不能自动关闭任何打开的用户对话。而且,如果用户有打开的对话,此时取消用户,则命令不会生效,直到用户对话被关闭后才生效。一旦对话被关闭,用户也被取消,此用户再次试图登录时将会失败。

检测方法
  • 检测操作:

mysql 查看所有用户的语句
输入指令
select user();
select user ,host ,password from mysql.user;
依次检查所列出的账户是否为必要账户,删除无用户或过期账户。
在这里插入图片描述
注:无关的账号主要指测试帐户、共享帐号、长期不用账号(半年以上不用)等

口令

检查帐户默认密码和弱密码
操作指南
  • 参考配置操作
    修改帐户弱密码
    如要修改密码,执行如下命令:

在这里插入图片描述

mysql> update user set password=password(test!p3’) where user=root’;
mysql> flush privileges;

  • 补充操作说明、
检测方法
  • 判定条件
    密码长度至少8位,并包括数字、小写字母、大写字母和特殊符号4类中至少3类。
    四分之三原则

  • 检测操作
    检查本地密码:(注意,管理帐号 root 默认是空密码)

mysql> use mysql;
mysql> select Host,User,Password,Select_priv,Grant_priv from user;

授权

在数据库权限配置能力内,根据用户的业务需要,配置其所需的最小权限。
操作指南
  • 参考配置操作
    合理设置用户权限,撤销危险授权

  • 补充操作说明

检测方法
  • 判定条件
    确保数据库没有不必要的或危险的授权
  • 检测操作
    查看数据库授权情况:
    SHOW GRANTS FOR ; ‘xxx’@‘localhost’
    授权并创建用户,给定密码:
    grant 权限 on 权限范围 to 用户 identified by ‘密码’
    移除访问权:
    REVOKE SELECT ON 库名. 表名 FROM ‘xxx’@‘localhost’;
    FLUSH PRIVILEGES;

mysql> use mysql;
mysql> select * from user;
mysql> select * from db;
mysql> select * from host;
mysql> select *from tables_priv;
mysql>select * from columns_priv;

回收不必要的或危险的授权,可以执行revoke命令:

mysql> help revoke
Name: ‘REVOKE’
Description:
Syntax:
REVOKE
priv_type [(column_list)]
[priv_type[(column_list)]]…
ON [object_type]
{
*
| .
| db_name.*
| db_name.tbl_name
| tbl_name
| db_name.routine_name

            } 
    FROM user [,user]...

日志

数据库应配置日志功能
操作指南

mysql 有以下几种日志:

错误日志: -log-err
查询日志: -log (可选)
慢查询日志:-log-slow-queries (可选)
更新日志:-log-update
二进制日志: -log-bin

在mysql 的安装目录下,打开my.ini,在后面加上上面的参数,保存后重启 mysql 服务就行了。

例如:
#Enter a name for the binary log. Otherwise a default name will be used.
#log-bin=
#Enter a name for the query log file.Otherwise a default name will be used.
#log=
#Enter a name for the error log file.Otherwise a default name will be used.
log-error=
#Enter a name for the update log file. Otherwise a de fault name will be used.
#log-update=
上面只开启了错误日志,要开其他的日志就把前面的“#”去掉

  • 补充操作说明
    1、show variables like ‘log_%’;查看所有的log命令
    2、show variables like ‘log_bin’;查看具体的log命令
检测方法
  • 判定条件
    启用审核记录对数据库的操作,便于日后检查

  • 检测操作
    打开/etc/my.cnf文件,查看是否包含如下设置(没有加上就行):

[mysqld]
log = filename

补丁

系统安装了最新的安全补丁 (注:在保证业务及网络安全的前提下,经过兼容性测试后)
操作指南
  • 参考配置操作
    下载并安装最新mysql安全补丁

  • 补充操作说明
    安全答报和补丁下载网址是htp://www.mysql.com

检测方法
  • 判定条件
    确保数据库为企业版,并且安装了最新安全补丁。如果是不安全的社区版,建议替换为企业版(收费)
  • 检测操作
    使用如下命令查看当前补丁版本:

mysql> SELECT VERSION();

网络连接

禁止网络连接,防止猜解密码攻击,溢出攻击和嗅探攻击。(仅限于应用和数据库在同一台主机的情况)
操作指南
  • 参考配置操作
    如果数据库不需远程访问,可以禁止远程tcp/ip连接,通过在mysqld 服务器中参数中添加 --skip-networking 启动参数来使mysql 不监听任何TCP/IP连接,增加安全性。
    强迫MySQL仅监听本机,方法是在my.cnf的[mysqld]部分增加下面一行:
    bind-address=127.0.0.1
  • 补充操作说明
检测方法
  • 判定条件

远程无法连接

  • 检测操作

#cat /etc/my.cnf
#ps -ef | grep -i mysql

或从客户机远程 telnet mysqlserver 3306

可信IP地址访问控制

通过数据库所在操作系统或防火墙限制,只有信任的IP地址才能通过监听器访问数据库。
操作指南
  • 参考配置操作
    执行命令:mysql> GRANT ALL PRIVILEGES ON db.*
    一> 一> TO 用户名@’IP子网/掩码’;
    只有通过指定 IP地址段的用户才可以登录

  • 补充操作说明

检测方法
  • 判定条件
    在非信任的客户端以数据库账户登陆被提示拒绝。

  • 检测操作
    用户从其它子网登录,将被拒绝

禁止非授权用户访问本地文件

禁用”LOAD DATA LOCAL INFILE”命令
以防止sql注入

  • 在某些情况下,LOCAL INFILE命令可被用于访问操作系统上的其它文件(如/etc/passwd),应使用下现的命令:
    mysql> SELECT load_file("/etc/passwd")
  • 为禁用LOCAL INFILE命令,应当在MySQL的/etc/my.cnf的配置文件的[mysqld]部分增加下面的参数:
    set-variable=local-infile=0

连接数设置

根据机器性能和业务需求,设制最大最小连接数。
操作指南
  • 参考配置操作
    编辑 MySQL 配置文件:my.cnf 或者是 my.ini
    在[mysqld]配置段添加:
    max_connections=1000
    保存,重启MySQL 服务。
检测方法
  • 检测操作
    用命令:SHOW [FULL] PROCESSLIST 显示哪些线程正在运行
    mysql admin -uroot -p variables
    输入 root 数据库账号的密码后可看到
    |max connections | 1000 |

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
童装英文外贸网站系统特点: 1、具备传统企业网站基本、高级用户交互功能;(关于我们、产品中心、新闻动态、帮助中心、在线留言、联系我们); 2、网站系统同时带响应式模板 3、后台有广告管理可以更新前台广告图 4、缩略图和图片水印功能; 5、伪静态和动态, 6、后台模板文件夹管理 7、多语言功能; 童装英文外贸网站系统安装环境要求 操作系统:Linux/Unix/Windows 软件环境:Apache/Nginx/IIS + PHP 5.5~7.1 + MySQL 5.0 及以上 本地电脑推荐使用PHPstudy安装,及安装在合适的网站空间、虚拟主机上。 默认后台 域名/login.php 童装英文外贸网站系统v1.5.5更新日志 1、[安全]进一步加固整站源码的安全性; 2、[新增]腾讯云短信; 3、[新增]文档属性支持自定义配置; 4、[新增]批量取消审核文档的功能; 5、[新增]下载模型的文件服务器名可以快捷设置点选; 6、[新增]权限组增多一项管理员发布文档默认是审核或待审核; 7、[新增]友情链接分组; 8、[新增]支持第二套会员中心模板; 9、[新增]后台皮肤主题色配置; 10、[新增]后台站内通知; 11、[新增]积分管理,提前布局积分逻辑,以便后续扩展; 12、[优化]发布/编辑文档的Tag常用标签选择; 13、[优化]移除后台功能开关入口,更换位左侧菜单的更多功能入口; 14、[优化]文档页的点击数标签可以在内页重复调用显示; 15、[优化]整体后台用户体验与布局; 16、[优化]附件设置新增默认浏览数与下载数的设置; 17、[优化]自定义变量的名称为空时,就不保存入数据库;
优优博客系统是一款开源的THinkphp5.0 的 Blog系统,其衍生于优秀的内容管理系统 易优cms。 优优 Blog系统秉承了易优CMS的先进设计理念,并且专注于个人博客系统。 易优 Blog系统使用十分便捷,便捷到您只需直接开始博客写作就可以了。  优优博客系统特点: 简单方便 优优博客系统 安装十分方便,只需输入域名,然后再点两次鼠标,期间填入一些必要的安装信息就可以轻松完成整个安装过程。 使用十分便捷,安装后进后台,直接写博客内容就可以了,无需事先进行任何设置操作。 要进行网站设置也十分简单,几分钟就可以完成。 优优博客系统功能介绍: 1、会员系统 2、支付功能 3、标签功能 4、熊掌号提交功能 5、文章发布功能 6、SEO设置功能 7、多语言版(后台一键开启) 8、插件功能 优优博客系统安装环境要求: 操作系统:Linux/Unix/Windows 软件环境:Apache/Nginx/IIS + PHP 5.5~7.1 + MySQL 5.0 及以上 本地电脑推荐使用PHPstudy安装,及安装在合适的网站空间、虚拟主机上。 默认后台 域名/login.php 优优博客系统更新日志: bulid0220 1、[安全]进一步加固整站源码的安全性; 2、[新增]腾讯云短信; 3、[新增]文档属性支持自定义配置; 4、[新增]批量取消审核文档的功能; 5、[新增]下载模型的文件服务器名可以快捷设置点选; 6、[新增]权限组增多一项管理员发布文档默认是审核或待审核; 7、[新增]友情链接分组; 8、[新增]支持第二套会员中心模板; 9、[新增]后台皮肤主题色配置; 10、[新增]后台站内通知; 11、[新增]积分管理,提前布局积分逻辑,以便后续扩展; 12、[优化]发布/编辑文档的Tag常用标签选择; 13、[优化]移除后台功能开关入口,更换位左侧菜单的更多功能入口; 14、[优化]文档页的点击数标签可以在内页重复调用显示; 15、[优化]整体后台用户体验与布局; 16、[优化]附件设置新增默认浏览数与下载数的设置; 17、[优化]自定义变量的名称为空时,就不保存入数据库;

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值