加强mysql安全哪些办法有效_教你一步一步地加强MySQL的安全性(5)

6.本地化

如果主机上使用的默认语言不是英语,我们还应该拷贝合适的字符集,可以在目录/usr/local/mysql/share/mysql/charset下找到。

7.测试配置

现在,MySQL应该可以在chrooted环境中运行了。我们可以通过下面这个命令来验证一下它是否能正确的运行:

chrootuid /chroot/mysql mysql /usr/local/mysql/libexec/mysqld &

如果在执行了上面的命令后出现了错误,我们应该使用truss命令或者具有等价功能的命令如:ktrace/kdump、strace等等。这些命令可以帮助我们来找出和消除引起问题的原因。

(脚本小子:这里为了能够运行mysqld进程,使用的是chrootuid程序而不是chroot程序,因为假设是在Apache或者PHP的环境下,它们两个的主要不同在于chrootuid可以改变执行进程的所有者,在我们的例子里面,mysqld在一个chrooted环境下被执行的,但是进程的所有者不是root而是mysql用户,Chrootid在许多操作系统里并不是默认安装的,需要我们从网上下载下来,然后手动安装上去,可以到网址[url]ftp://ftp.porcupine.org/pub/security/chrootuid1.3.tar.gz[/url]下载。)

配置服务器

接下来的步骤,我们就要来配置数据库服务器,使之能够适合我们的安全性要求。

在假定MySQL进行默认安装的时候,主要的配置文件是/etc/my.cnf。然而,在我们的例子里,因为是在chrooted环境下运行服务,所以我们就要使用两个配置文件/chroot/mysql/etc/my.cnf和/etc/my.cnf。其中,前一个可以被MySQL服务器使用,而后一个要被MySQL工具(如mysqladmin,mysql,mysqldump等)使用。

1.禁止远程访问

我们知道,MySQL默认情况下使用TCP的3306端口,所以,我们首先要改变一下。因为,按照我们开始的设想,数据库仅仅是让本机的PHP应用程序访问,所以,我们可以将这个监听端口的功能禁止掉。这样就可以降低MySQL数据库遭受直接经由TCP/IP访问的外部主机攻击的可能性。而同时,本地的交互还可以通过mysql.sock套接字进行。为了能够禁止在3306端口上监听,我们要将参数skip-networking添加到/chroot/mysql/etc/my.cnf目录下[mysqld]部分。如果在有的时候还需要从外部访问数据库,可以按照如下方法使用SSH协议:

backuphost$ ssh mysqlserver /usr/local/mysql/bin/mysqldump -A > backup

2.提高本地安全性

接下来,为了防止对本地文件进行未授权的访问,我们还需要禁止掉对LOAD DATA LOCAL INFILE命令的使用。这对于有效防止当在PHP应用程序中发现了新的SQL注入漏洞是非常有效的。这里,我们需要对在目录/chroot/mysql/etc/my.cnf下的[mysqld]部分加一个参数set-variable=local-infile=0。

另外,为了更方便的使用数据库管理工具,我们还必须改变/etc/my.cnf目录[client]部分的参数设置为socket = /chroot/mysql/tmp/mysql.sock。这样,当我们以后再需要用到管理工具的时候,就不用每次都来使用带有socket=/chroot/mysql/tmp/mysql.sock参数的命令了。

3.改变管理员的密码

在加强MySQL安全性的这些步骤里,改变管理员的密码是很重要的一步,但是,这首先需要MySQL运行起来,可以通过如下命令实现:

chrootuid /chroot/mysql mysql /usr/local/mysql/libexec/mysqld &

用下面的命令改变管理员的密码:

/usr/local/mysql/bin/mysql -u root

mysql> SET PASSWORD FOR root@localhost=PASSWORD('new_password');

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值