怎样加固MySQL

原创 2011年01月13日 00:40:00

怎样加固MySQL 

 

前言

特别是 Web 应用上, MySQL 已经成为当前网络中使用最多的数据库之一。占据了中小型应用的绝对优势。这一切都源于它小巧易用、平安有效、开放式许可、多平台,更主要的与三大 Web 语言之 — PHP 完美结合。

使得装置 MySQL 服务器成为被经常攻击的对象。更严重的被攻击之后数据库往往遭破坏,但不幸的一个缺省安全的 MySQL 会因为 root 密码为空及顺序漏洞导致被溢出。造成灾难性的后果。下面将进入为了维护数据而进行的捍卫战中。

环境要求

1 .系统环境

系统装置了 GCC 及一些其它要求的软件包,一台 Red Hat 9.0 自定义安装的服务器。比方 Apach PHP 等。装置完系统后的第一件事就是升级系统的软件包。作为 Web 服务器,系统接受 PHP 脚本的请求, PHP 则使用下面将要装置的 MySQL 数据库作为动态发布的接触。

惟一不同之处在于后面建立的 /chroot 与 /tmp 要求在同一个分区上。 分区情况的要求和一般系统差不多。

2 .安全要求

1 MySQL 运行在一个独立的 Chroot 环境下;

2 mysqld 进程运行于一个独立的用户 / 用户组下。

没有 shell 也不能用于其它顺序; 此用户和用户组没有根目录。

并使用一个复杂的密码; 3 修改 MySQL root 帐号。

4 只允许外地连接 MySQL 启动 MySQL 时网络连接被禁止掉;

5 保证连接 MySQL nobodi 帐号登陆被禁止;

6 删除 test 数据库。

装置 MySQL

1 .安装准备

依照上述平安要求需要创建一个用于启动 MySQL 用户和组。 装置 MySQL 之前。

#groupadd mysql

#useradd mysql -c "start mysqld' account" -d /dev/nul -g mysql -s /sbin/nologin

2 .编译和安装

下载 MySQL 源代码包 :

#wget http://mysql.he.net/Downloads/MySQL...l-4.0.16.tar.gz

解压缩 :

#tar -zxvf mysql-4.0.16.tar.gz

如果有特殊要求,一般把 MySQL 装置在 /usr/local/mysql 下。也可自行调整。不过这样做意义不大,因为后面将 Chroot 时只是使用这里的客户工具而已,比方 mysql mysqladmin mysqldump 等。下面就开始编译装置吧。

#./configur --prefix=/usr/local/mysql

--with-mysqld-user=mysql

--with-unix-socket-path=/tmp/mysql.sock

--with-mysqld-ldflags=-all-static

#mak && make install

#strip /usr/local/mysql/libexec/mysqld

#scripts/mysql_install_db

#chown -R root /usr/local/mysql

#chown -R mysql /usr/local/mysql/var

#chgrp -R mysql /usr/local/mysql

惟一需要解释、和一般方法不同的地方在于 --with-mysqld-ldflags=-all-stat 因为需要用到 Chroot 环境,上面各步骤的具体作用在 MySQL 手册里已有介绍。而 MySQL 自身连接成静态后就无需再创建一些库环境了

3 .配置与启动

这几个模板文件位于源文件的 support-fil 目录, MySQL 配置文件需要手工选择、拷贝几个模板文件中的一个到 /etc 下。一共 4 个: small medium larg huge

#cp support-files/my-medium.cnf /etc/my.cnf

#chown root:si /etc/my.cnf

#chmod 644 /etc/my.cnf

启动 MySQL 注意使用用户为 mysql

#/usr/local/mysq/bin/mysqld_saf --user=mysql &

4 .测试

最好的方法就是用 MySQL 客户端来连接数据库。 为了测试装置的顺序是否正确及 MySQL 否已经启动正常。

#/usr/local/mysql/bin/mysql

[root@ftp bin]# mysql

Welcom to the MySQL monitor. Command end with ; or g.

Your MySQL connect id is 687 to server version: 3.23.58

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql>

mysql> show databases;

+--------------+

| Databas |

+--------------+

| mysql |

| test |

+--------------+

2 row in set 0.00 sec

mysql>quit

可以关闭数据库: 连接胜利。

#/usr/local/mysql/bin/mysqladmin -uroot shutdown

如果连接失败则需要仔细分析出错原因:

#more /usr/local/mysql/var/`hostname`.err

Chrooting

1 . Chroot 环境

建立会将其与主系统几乎完全隔离, Chroot Unix/ 类 Unix 一种手段。也就是说,一旦遭到什么问题,也不会危及到正在运行的主系统。这是一个非常有效的方法,特别是配置网络服务顺序的时候。

mysql常见安全加固策略

常见Mysql配置文件:linux系统下是my.conf,windows环境下是my.ini; 数据库整体安全需求:机密性、完整性、可用性; 下面以mysql 5.7版本为例,介绍mysql常见的...
  • ilnature2008
  • ilnature2008
  • 2017年01月17日 21:36
  • 4472

android-加固方案对比

android-加固方案对比 加固 应用安全 移动安全
  • u011216417
  • u011216417
  • 2017年04月21日 00:42
  • 1734

sqlserver安全加固

sqlserver必要的安全加固,避免使用普通用户登录后获取到不应该看见的系统信息....
  • yangzhawen
  • yangzhawen
  • 2015年03月13日 14:02
  • 1350

加强MySQL用户安全

很多亲们在安装好了MySQL数据库之后,对于mysql用户表并没有做任何特殊的处理,因此缺省情况下,存在密码为空的用户,也有很多用户名和密码都为空的情形,我们称之为双空用户。这种情形下的登录,在此统称...
  • robinson_0612
  • robinson_0612
  • 2015年09月30日 14:30
  • 2415

Android中的Apk的加固(加壳)原理解析和实现(转)

一、前言 今天又到周末了,憋了好久又要出博客了,今天来介绍一下Android中的如何对Apk进行加固的原理。现阶段。我们知道Android中的反编译工作越来越让人操作熟练,我们辛苦的开发出一个apk...
  • lostinai
  • lostinai
  • 2016年03月15日 19:13
  • 2130

APP加固新方向——混淆和瘦身

在阿里云云栖社区举办的在线培训中,来自阿里移动安全部的陵轩带来了题为《APP加固新方向——混淆和瘦身》的精彩分享。本次分享的主要内容包括APP加固的发展历程以及阿里内部对移动安全加固最新的研究——混淆...
  • mergerly
  • mergerly
  • 2017年03月15日 20:39
  • 1596

如何使用百度加固服务

如何使用百度加固服务 首先必须有在百度上线的app 申请应用加固服务 按照提示下载有关帮助文档及工具 下载通过加固服务还没有进行签名的apk 使用下载的签名工具对下载的apk签名并生成渠道包 最后对个...
  • u012501724
  • u012501724
  • 2016年11月25日 09:37
  • 1127

Android中的Apk的加固(加壳)原理解析和实现

一、前言今天又到周末了,憋了好久又要出博客了,今天来介绍一下Android中的如何对Apk进行加固的原理。现阶段。我们知道Android中的反编译工作越来越让人操作熟练,我们辛苦的开发出一个apk,结...
  • jiangwei0910410003
  • jiangwei0910410003
  • 2015年09月13日 13:58
  • 102633

360一代加固脱壳方法总结

首先我觉得脱壳是逆向水平的一个综合考察,不仅要对Android中系统源码和加载流程有熟悉的认识,还要对在脱壳中的反调试又敏锐的察觉,当然锲而不舍的精神也是很关键的,很多同学上来就脱最新的壳,或者找脱壳...
  • feibabeibei_beibei
  • feibabeibei_beibei
  • 2017年05月26日 21:17
  • 1687

论Android代码加固的意义和hook

加固的意义从安卓2.x版本起,加固技术就逐渐火了起来。最初,只有一些创业型公司涉及加固领域;随着安卓应用的逐渐升温,诸如阿里、腾讯、百度等大型互联网公司逐渐涉及该领域。那么为什么要对APP进行加固呢?...
  • xiangzhihong8
  • xiangzhihong8
  • 2016年12月05日 23:38
  • 1723
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:怎样加固MySQL
举报原因:
原因补充:

(最多只允许输入30个字)