收藏 分享(赏)

mysql数据库.doc

上传人:scg750829 文档编号:7230335 上传时间:2019-05-10 格式:DOC 页数:8 大小:127.78KB
下载 相关 举报
mysql数据库.doc_第1页
第1页 / 共8页
mysql数据库.doc_第2页
第2页 / 共8页
mysql数据库.doc_第3页
第3页 / 共8页
mysql数据库.doc_第4页
第4页 / 共8页
mysql数据库.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、北京天融信网络安全技术有限公司北京天融信科技有限公司QM/TOPSEC-XX-XX-XX 版本编号1.1 MySQL 数据库加固方案1.1.1 系统基本信息基本信息设备所在地正式域名/主机名 主机用途外部 IP 地址 内部 IP 地址操作系统 版本号数据库系统版本 Mysql 5.1核心应用服务信息Mysql 5.1 门户网站核心数据库1.1.2 补丁管理编号 MySQL-01001名称 补丁管理系统当前状态:实施方案 程序下载地址:http:/系统升级方法:http:/ now();查询当前用户:select user();查询数据库版本:select version();查询当前使用的数据

2、库:select database();实施目的 确认系统版本为最新并解决安全问题实施风险 请慎重对系统打补丁及升级,补丁安装应当先在测试机上完成。补丁安装可能导致系统或某些服务无法工作正常。回退方案 卸载相关补丁1995-2010 北京天融信网络安全技术有限公司1安全加固方案 V1.0 模板1是否实施1.1.3 帐号策略管理编号 MySQL-02001名称 为 root 用户设置口令系统当前状态:实施方案 可以从命令行按照下述提示启动 MySQL 客户端(用 shell表示):shell MySQL -h host_name -u user_name -pyour_passmysql use

3、 mysql;Database changedmysql select Host,User,Password,Select_priv,Grant_priv from user;设置口令的方法有 3 种:1)在 shell 提示符下用 mysqladmin 命令来改 root 用户口令shellmysqladmin -uroot password test这样,MySQL 数据库 root 用户的口令就被改成 test 了。 (test 只是举例,我们实际使用的口令一定不能使用这种易猜的弱口令)2)用 set password 修改口令:mysql set password for rootlo

4、calhost=password(test);这时 root 用户的口令就被改成 test 了。3)直接修改 user 表的 root 用户口令mysql use mysql;mysql update user set password=password(test) where user=root;mysql flush privileges;实施目的 但是缺省 root 用户口令是空,防止系统弱口令,减少安全隐患。实施风险 如果应用程序中采用 ROOT 用户连接,请同步更改密码。回退方案 恢复默认配置1995-2010 北京天融信网络安全技术有限公司2安全加固方案 V1.0 模板2是否实施编

5、号 MySQL-02002名称 删除多余的用户系统当前状态:实施方案 如 user 为空的匿名用户,虽然它在 Unix 平台下没什么权限,但应该删除它:mysql delete from user where user=;mysql flush privileges;实施目的 但是缺省 root 用户口令是空,防止系统弱口令,减少安全隐患。实施风险 无回退方案 恢复默认配置是否实施编号 MySQL-02003名称 回收用户不必要的权限系统当前状态:实施方案 查询用户权限:格式:SHOW GRANTS FOR user 例如:查看 root 用户的权限 SHOW GRANTS FOR root

6、; 回收用户权限: 格式:REVOKE 权限名称 ON 数据库名.表名 FORM 用户名服务器地址 例如:撤回 cachefile 用户对本地访问 User 数据库所有表的 INSERT 权限 Mysql REVOKE INSERT ON User.* FORM cachefilelocalhost ; 实施目的 使用户权限保持最小原则,增加安全性实施风险 可能有些不清楚是否必要的权限被删除,影响应用1995-2010 北京天融信网络安全技术有限公司3安全加固方案 V1.0 模板3回退方案 恢复默认配置是否实施1.1.4 网络连接加固编号 MySQL-03001名称 更改 MYSQL 连接的默

7、认端口系统当前状态:实施方案 修改 /etc/f mysqld datadir=/var/lib/mysql port=3306 #修改成你自己想要的端口 socket=/var/lib/mysql/mysql.sock实施目的 增加恶意访问者探测的机会实施风险 如果应用程序或客户端中采用默认端口,需要同步更改。回退方案 恢复默认配置是否实施1.1.5 文件系统加固编号 MySQL-04001名称 配置文件权限加固系统当前状态:实施方案 在一个配置文件中存储你的密码。例如,在 Unix 中,你可在主目录的“f”文件中的client节列出你的密码:clientpassword=your_pass

8、如果你在“f”里面存储密码,除了你本人其它人不能访问该文件。保证文件的访问模式是 400 或 600。例如:1995-2010 北京天融信网络安全技术有限公司4安全加固方案 V1.0 模板4shell chmod 600 f实施目的 防止未经授权的人通过访问配置文件获得密码。实施风险 无回退方案 恢复默认配置是否实施编号 MySQL-04002名称 数据文件权限加固系统当前状态:实施方案 shellls -l /usr/local/mysqldrwx- 4 mysql mysql 4096 Feb 27 20:07 varshellls -l /usr/local/mysql/vardrwx-

9、 2 mysql mysql 4096 Feb 27 20:08 mysqldrwx- 2 mysql mysql 4096 Feb 27 20:08 testshellls -l /usr/local/mysql/var/mysqltotal 104-rw- 1 mysql mysql 0 Feb 27 20:08 columns_priv.MYD-rw- 1 mysql mysql 1024 Feb 27 20:08 columns_priv.MYI-rw- 1 mysql mysql 8778 Feb 27 20:08 columns_priv.frm-rw- 1 mysql mysql

10、 302 Feb 27 20:08 db.MYD-rw- 1 mysql mysql 3072 Feb 27 20:08 db.MYI-rw- 1 mysql mysql 8982 Feb 27 20:08 db.frm-rw- 1 mysql mysql 0 Feb 27 20:08 func.MYD-rw- 1 mysql mysql 1024 Feb 27 20:08 func.MYI-rw- 1 mysql mysql 8641 Feb 27 20:08 func.frm1995-2010 北京天融信网络安全技术有限公司5安全加固方案 V1.0 模板5-rw- 1 mysql mysq

11、l 0 Feb 27 20:08 host.MYD-rw- 1 mysql mysql 1024 Feb 27 20:08 host.MYI-rw- 1 mysql mysql 8958 Feb 27 20:08 host.frm-rw- 1 mysql mysql 0 Feb 27 20:08 tables_priv.MYD-rw- 1 mysql mysql 1024 Feb 27 20:08 tables_priv.MYI-rw- 1 mysql mysql 8877 Feb 27 20:08 tables_priv.frm-rw- 1 mysql mysql 428 Feb 27 20

12、:08 user.MYD-rw- 1 mysql mysql 2048 Feb 27 20:08 user.MYI-rw- 1 mysql mysql 9148 Feb 27 20:08 user.frm如果这些文件的属主及属性不是这样,请用以下两个命令修正之:shellchown -R mysql.mysql /usr/local/mysql/varshellchmod -R go-rwx /usr/local/mysql/var实施目的 只有启动数据库的用户可以读写数据库文件,保证了本地数据文件的安全。实施风险 某些系统自定义的备份脚本可能无法访问数据文件回退方案 恢复默认配置是否实施1.

13、1.6 日志文件维护编号 MySQL-05001名称 日志文件维护系统当前状态:实施方案 MySQL 服务器可以创建各种不同的日志文件,从而可以很容易地看见所进行的操作。但是,你必须定期清理这些文件,确保日志不会占用太多的硬盘空间。当启用日志使用 MySQL 时,你可能想要不时地备份并删除旧的日志文件,并1995-2010 北京天融信网络安全技术有限公司6安全加固方案 V1.0 模板6告诉 MySQL 开始记入新文件。在 Linux (Redhat)的安装上,你可为此使用 mysql-log-rotate 脚本。如果你从 RPM 分发安装 MySQL,脚本应该自动被安装了。在其它系统上,你必须

14、自己安装短脚本,你可从 cron 等入手处理日志文件。你可以通过 mysqladmin flush-logs 或 SQL 语句 FLUSH LOGS 来强制 MySQL开始使用新的日志文件。日志清空操作做下列事情: 如果使用标准日志(-log)或慢查询日志(-log-slow-queries),关闭并重新打开日志文件。(默认为 mysql.log 和hostname-slow.log)。 如果使用更新日志(-log-update)或二进制日志(-log-bin),关闭日志并且打开有更高序列号的新日志文件。 如果你只使用更新日志,你只需要重新命名日志文件,然后在备份前清空日志。例如,你可以这样做

15、:shell cd mysql-data-directoryshell mv mysql.log mysql.oldshell mysqladmin flush-logs然后做备份并删除“mysql.old”。实施目的 防止日志文件过过占用磁盘空间实施风险 无回退方案 恢复默认配置是否实施1.1.7 安全性增强编号 MySQL-06001名称 禁止 history 文件记录密码系统当前状态:实施方案 有些用户在本地登陆或备份数据库的时候为了图方便,有时会在命令行参数里直接带了数据库的密码,如:1995-2010 北京天融信网络安全技术有限公司7安全加固方案 V1.0 模板7shell/usr/

16、local/mysql/bin/mysqldump -uroot -ptest testtest.sqlshell/usr/local/mysql/bin/mysql -uroot -ptest这些命令会被 shell 记录在历史文件里,比如 bash 会写入用户目录的.bash_history 文件,如果这些文件不慎被读,那么数据库的密码就会泄漏。用户登陆数据库后执行的 SQL 命令也会被 MySQL 记录在用户目录的.mysql_history 文件里。如果数据库用户用 SQL 语句修改了数据库密码,也会因.mysql_history 文件而泄漏。所以我们在 shell 登陆及备份的时候不要在-p 后直接加密码,而是在提示后再输入数据库密码。另外这两个文件我们也应该不让它记录我们的操作,以防万一。shellrm .bash_history .mysql_historyshellln -s /dev/null .bash_historyshellln -s /dev/null .mysql_history上门这两条命令把这两个文件链接到/dev/null,那么我们的操作就不会被记录到这两个文件里了。实施目的 防止未经授权的人通过访问日志文件获得密码。实施风险 无回退方案 恢复默认配置是否实施

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报