您当前的位置:首页>>数据库>>正文
 
加固你的MySQL
作者: 来源: 日期:2007-6-12 10:10:13  点击次数:

+--------------+
| mysql |
| test |
+--------------+
2 rows in set (0.00 sec)
mysql>quit

  连接成功,可以关闭数据库:

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

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

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

Chrooting

1.Chrooting环境

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

2.Chroot的准确工作

  首先,应当建立如图1示目录结构:

图1 目录结构
#mkdir -p /chroot/mysql/dev
#mkdir -p /chroot/mysql/etc
#mkdir -p /chroot/mysql/tmp
#mkdir -p /chroot/mysql/var/tmp
#mkdir -p /chroot/mysql/usr/local/mysql/libexec
#mkdir -p /chroot/mysql/usr/local/mysql/share/mysql/english

  然后设定目录权限:

#chown -R root:sys /chroot/mysql
#chmod -R 755 /chroot/mysql
#chmod 1777 /chroot/mysql/tmp

3.拷贝mysql下的程序和文件到chroot下

#cp -p /usr/local/mysql/libexec/mysqld /chroot/mysql/usr/local/mysql/libexec/
#cp -p /usr/local/mysql/share/mysql/english/errmsg.sys
/chroot/mysql/usr/local/mysql/share/mysql/english/
#cp -p /etc/hosts /chroot/mysql/etc/
#cp -p /etc/host.conf /chroot/mysql/etc/
#cp -p /etc/resolv.conf /chroot/mysql/etc/
#cp -p /etc/group /chroot/mysql/etc/
#cp -p /etc/passwd /chroot/mysql/etc/passwd
#cp -p /etc/my.cnf /chroot/mysql/etc/

4.编辑chroot下的passwd文件和group文件

#vi /chroot/etc/passwd

  删除除了mysql、root、sys的所有行


#vi /chroot/etc/group

  删除除了mysql、root的所有行

5.创建特殊的设备文件/dev/null

  参照系统的样子做即可:

#ls -al /dev/null
crw-rw-rw- 1 root root 1, 3 Jan 30 2003 /dev/null
#mknod /chroot/mysql/dev/null c 1 3
#chown root:root /chroot/mysql/dev/null
#chmod 666 /chroot/mysql/dev/null

6.拷贝mysql的数据库文件到chroot下

#cp -R /usr/local/mysql/var/ /chroot/mysql/usr/local/mysql/var
#chown -R mysql:mysql /chroot/mysql/usr/local/mysql/var

7.安装chrootuid程序

  下载chrootuid,然后RPM安装即可。

http://rpm.pbone.net/index.php3/stat/4/idpl/355932/com/
chrootuid-1.3-alt2.i586.rpm.html

 

8.测试Chroot环境下的MySQL配置

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

  如果失败请注意chroot目录下面的权限问题。

9.测试连接chroot下的MySQL


#/usr/local/mysql/bin/mysql --socket=/chroot/mysql/tmp/mysql.sock
..............
mysql>show databases;
mysql>create database wgh;
mysql>quit;
#ls -al /chroot/mysql/var/
...............

配置服务器

  为了更加安全地使用MySQL,需要对MySQL的数据库进行安全配置;并且由于Chroot的原因,配置文件也会有所不同。

1.关闭远程连接

  首先,应该关闭3306端口,这是MySQL的默认监听端口。由于此处MySQL只服务于本地脚本,所以不需要远程连接。尽管MySQL内建的安全机制很严格,但监听一个TCP端口仍然是危险的行为,因为如果MySQL程序本身有问题,那么未授权的访问完全可以绕过MySQL的内建安全机制。关闭网络监听的方法很简单,在/chroot/mysql/etc/my.cnf文件中的[mysqld]部分,去掉#skip-networking前面的“#”即可。

  关闭了网络,本地程序如何连接MySQL数据库呢?本地程序可以通过mysql.sock来连接,速度比网络连接更快。后文将提到关于mysql.sock的具体情况。

本新闻共4页,当前在第2页  1  2  3  4  


上一篇:MySQL数据库中关于网络安全的解决方案
下一篇:Oracle数据库安全性管理基本措施简介

  北京总部: 4006-505-808
  上 海 部: 021-58358765
  深 圳 部: 0755-83692929
  浙 江 部: 13666673722
  广 州 部: 020-83821091
  重 庆 部: 023-86870422
  昆 明 部: 15987117834
  哈尔滨部: 13946167430
  其它地区: 4006-505-808

经典案例
中国石油管理局-Oracle数据库恢
中国网通-IBM EXP300磁盘阵列数
大连鸿德经贸有限责任公司-SQL
中国地质环境监测院-HP LH3000
藁城市东街百货-EFS文件解密成
工商银行山东分行-AIX删除LV数
中央电视台新闻评论部-苹果分
promise乔鼎硬盘阵列数据恢复成
麒麟童文化-苹果分区无法打开,
NAS 8100服务器数据恢复成功 
解决方案
raid磁盘阵列OFFLINE后的应急方
磁盘未被格式化,是否格式化数据
误GHOST、误一键恢复灾难应急方
误删除、误格式化数据灾难应急
LINUX FSCK数据出错灾难应急方
北亚数据恢复 - 联系我们 - 关于北亚 - 友情链接 - 网站地图 - RSS聚合 
版权所有 北京北亚数据恢复中心
24小时免费咨询电话:4006-505-808 或 800-810-580
中关村部:北京市海淀区中关村大街11号E世界A座8层832B室
皂君庙部:北京市海淀区学院南路68号吉安大厦C座(汇智楼)528室