• 网络学院
  • IT资讯
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
教您如何安全的应用
  站点:
  • 首 页
  • 最新软件
  • 文章教程
  • 国内软件
  • 国外软件
  • 绿色软件
  • 源码下载
  • 字体下载
教您如何安全的应用 MySQL
软件发布 教您如何安全的应用 MySQL
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件 绿软下载
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回文章教程首页 >> 文章首页 >> 数据库类 >> MySQL Server >> 教您如何安全的应用 MySQL

教您如何安全的应用 MySQL

添加时间: 2006-2-19 19:20:53  作者: MySQL教程  阅读次数:36   来源: http://www.d9soft.com

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

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

  环境要求  

  1.系统环境  

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

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

  2.安全要求   

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

  (2)mysqld进程运行于一个独立的用户/用户组下,此用户和用户组没有根目录,没有Shell,也不能用于其它程序;

  (3)修改MySQL的root账号,并使用一个复杂的密码;

  (4)只允许本地连接MySQL,启动MySQL时网络连接被禁止掉;

  (5)保证连接MySQL的nobody账号登录被禁止;

  (6)删除test数据库。   

  安装MySQL   

  1.安装准备  

  安装MySQL之前,按照上述安全要求需要创建一个用于启动MySQL的用户和组。   

  #groupadd mysql

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

  2.编译和安装   

  下载MySQL源代码包:   

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

  解压缩:   

  #tar -zxvf mysql-4.0.16.tar.gz  

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

  #./configure --prefix=/usr/local/mysql \

  --with-mysqld-user=mysql \

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

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

  #make && 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  

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

  3.配置与启动   

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

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

  #chown root:sys /etc/my.cnf

  #chmod 644 /etc/my.cnf  

  启动MySQL,注意使用用户为mysql:   

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

  4.测试  

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

  #/usr/local/mysql/bin/mysql

  [root@ftp bin]# mysql

  Welcome to the MySQL monitor. Commands end with ; or \g.

  Your MySQL connection 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;

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

    Database  

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

    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示目录结构:   

  #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

  
图1></center>
<br/>
<br/>  (未完)
				</td>
			<td width=5></td>
			 </tr>
		  </table>
		
				<table width="90%" border="0" cellspacing="0" cellpadding="0" align="center">
			<tr>
				<td align="right">
				 				  第 
				 				
					 					  <font color="red">[1]</font>
					   			 	 				
					 					 						 	<a href="./A20040212285229_2.shtml">[2]</a> 
					 						   			 	 			 	 页			 	
				 				 	<a href="./A20040212285229_2.shtml">下一页</a> 				 
				 				</td>
			</tr>
		</table>
				<p id="adv_under_cont"></p>
		

					<a name="part2"/>
   
			       </td>
			  </tr>
	    	</table> 			
    	 </td>
         <td width="161" align="center" valign="top" style="border-left:1px solid #99AABE;border-right:1px solid #99AABE;border-top:1px solid #99AABE">
			<table width="99%" border="0" cellpadding="0" cellspacing="0">
	          <tr> 
	            <td height=1></td>
	          </tr>
	        </table> 
        		 		  
			 		   		  	  
 		   		 			       <table width="99%" border="0" cellspacing="0" cellpadding="0">
			        <tr> 
			          <td height="20" background="/home/images/v3/t_14.gif">
			          <font color="white"> >>本栏目最新文章</font></td>
			        </tr>
			      </table>
			      <table width="100%" border="0" cellpadding="4" cellspacing="1">
			        <tr> 
			          <td class="p12h"> 
			          
			          



<table width="100%" border="0" cellspacing="4" cellpadding="0">
<tr><td height="16">
· <a href="/article/2005/1013/A20051013461822.shtml" target="_blank">微软Sql2005及相关新品全国巡展</a><br>
</td></tr>
<tr><td height="16">
· <a href="/article/2005/1009/A20051009459913.shtml" target="_blank">MySQL中的mysqldump命令使用详解</a><br>
</td></tr>
<tr><td height="16">
· <a href="/article/2005/0421/A20050421410180.shtml" target="_blank">SQL Server数据库安全规划全攻略</a><br>
</td></tr>
<tr><td height="16">
· <a href="/article/2005/0315/A20050315398297.shtml" target="_blank">Oracle数据的异地自动备份</a><br>
</td></tr>
<tr><td height="16">
· <a href="/article/2005/0314/A20050314397785.shtml" target="_blank">远程数据库的访问</a><br>
</td></tr>
</table>
<!--wget finished successful flag-->

			          </td>
			        </tr>
			      </table>
				        		 
  <table width="99%" border="0" cellspacing="0" cellpadding="0" background="/home/images/v3/t_14.gif">
    <tr>
      <td> 
         <a href="/edu/" target="_blank"><font color="ffffff">校园快递</font></a> </td>
    </tr>
</table>
  <table width="100%"  border="0" cellpadding="0" cellspacing="0">
    <tr>
      
  <td width="100%" colspan="2" valign="top"  class="p14h"> 
    



<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td height="16">
·<a href="/article/2006/0217/A20060217502160.shtml" target="_blank">开奔驰宝马的女大学生都好样的</a><br>
</td></tr>
<tr><td height="16">
·<a href="/article/2006/0217/A20060217502165.shtml" target="_blank">父母打工12岁少女怀孕5月</a><br>
</td></tr>
<tr><td height="16">
·<a href="/article/2006/0217/A20060217502166.shtml" target="_blank">大学生一撂行李先直奔网吧</a><br>
</td></tr>
<tr><td height="16">
·<a href="/article/2006/0217/A20060217502106.shtml" target="_blank">在网上遇到了女朋友她老妈</a><br>
</td></tr>
<tr><td height="16">
·<a href="/article/2006/0216/A20060216501763.shtml" target="_blank">绝对爆笑!全国老婆一览表</a><br>
</td></tr>
<tr><td height="16">
·<a href="/article/2006/0216/A20060216501764.shtml" target="_blank">幼师班的美眉教师(美图)</a><br>
</td></tr>
</table>
<!--wget finished successful flag-->
</td>
    </tr>
</table>      <table width="99%" border="0" cellspacing="0" cellpadding="0" background="/home/images/v3/t_14.gif">
<tr> 
  <td>
  <font color="ffffff"> 网络学院焦点文章</font></td>
</tr>
</table>

<script language="JavaScript">
var elady_step=3;	//1:small, 3:middle, 5:big
var elady_speed=50;	//20:fast, 50:middle, 80:slow
var e_tp=new Array();
var e_tplink=new Array();
var adNum_elady1=0;  

e_tplink[0]="http://www.enet.com.cn/article/2005/0228/A20050228393856.shtml";
e_tp[0]="/eschool/includes/gdtup/tu1/998762432279877545324.gif";
e_tplink[1]="http://www.enet.com.cn/eschool/inforcenter/T20040902339845.html";
e_tp[1]="/eschool/includes/gdtup/tu1/1.gif";
e_tplink[2]="http://www.enet.com.cn/article/2005/0218/A20050218391088.shtml";
e_tp[2]="/eschool/includes/gdtup/tu1/kuaisuchongkd.gif";
e_tplink[3]="http://www.enet.com.cn/eschool/zhuanti/photoshopcs2/";
e_tp[3]="/eschool/includes/gdtup/tu1/photoshopcs2145110.gif";

var currentimage=new Array();   
for (i=0;i<=3;i++){currentimage[i]=new Image();
      currentimage[i].src=e_tp[i];
         }
         function elady1_set(){   if (document.all)
         {      e_tprotator.filters.revealTrans.Transition=Math.floor(Math.random()*23);
               e_tprotator.filters.revealTrans.apply();   }
               }
               function elady1_playCo()
               {   if (document.all)      e_tprotator.filters.revealTrans.play()
               }function elady1_nextAd(){   if(adNum_elady1<e_tp.length-1)adNum_elady1++ ;
                     else adNum_elady1=0;
                        elady1_set();
                           document.images.e_tprotator.src=e_tp[adNum_elady1];
                              elady1_playCo();
                                 theTimer=setTimeout("elady1_nextAd()", 4000);}
                                 function elady1_linkurl(){   jumpUrl=e_tplink[adNum_elady1];
                                    jumpTarget="); document.write(''); document.write(''); document.write("

 

上下文章:

 

上一篇文章: MySQL数据库备份 下一篇文章: 网络数据库设计入门(七)ODBC与ADO对象1

相关文章:

  • 卡巴斯基全功能安全软件2009白皮书
  • 教你如何用零框架技术加密网页
  • PS教程:看看如何用Photoshop把照片演变成水墨画
  • Photoshop教程:教你如何创出发丝的炫彩莹亮效果
  • Linux之父:最烦安全人士大肆宣扬软件漏洞

相关软件:

  • 奇虎360安全卫士 4.3.0.1002 标准版
  • 奇虎360安全卫士 4.3.0.1002 豪华版
  • 还原精灵安全保镖 V5.0
  • 瑞星卡卡上网安全助手 6.0.0.29 正式版
  • windown 2000/XP安全助手 v0.9 build 1212
  • McAfee Internet Security 2006(麦咖啡网络安全特警) v8.0 汉化版

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

数据库类分类导航

  • SQL Server
  • MySQL Server
  • DB2
  • Oracle
  • ACCESS
  • Foxpro
  • PowerBuilder
  • Sybase

本类经典文章推荐

  • 怎样在vc、delphi中使用mysql(mys...
  • MySQL数据导入与导出之二
  • 如何实现MySQL中的用户管理?
  • win 2000 安装 mysql-shareware-3...
  • Mysql字段长度
  • 如何把ACCESS的数据导入到Mysql中
  • 如何为用户设置密码(MYSQL)
  • 如何恢复MYSQL的ROOT口令
  • MySQL数据库备份
  • MYSQL初学者使用指南 上篇

MySQL Server阅读排行

  • MySQL中的SQL-- TEXT、DATE、和SE...
  • MYSQL初学者使用指南 上篇
  • 怎样在vc、delphi中使用mysql(mys...
  • MySQL数据导入与导出之二
  • MYSQL初学者使用指南 下篇
  • 如何为用户设置密码(MYSQL)
  • 如何把ACCESS的数据导入到Mysql中
  • Mysql字段长度
  • MySQL数据库技术(01)
  • MySQL数据库简介

数据库类阅读总排行

  • MySQL中的SQL-- TEXT、DATE、和SE...
  • MYSQL初学者使用指南 上篇
  • 怎样在vc、delphi中使用mysql(mys...
  • MySQL数据导入与导出之二
  • MYSQL初学者使用指南 下篇
  • SQL Server数据库技术(96)
  • SQL Server数据库技术(98)
  • SQL Server数据库技术(60)
  • 精通数据库系列之入门-基础篇
  • 如何为用户设置密码(MYSQL)

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有