《PHP、MySQL和Apache入门经典(第5版)》一2.7 基本安全规则

2.7 基本安全规则

PHP、MySQL和Apache入门经典(第5版)
不管是在Windows、Linux/UNIX还是Mac OS X上运行MySQL,也不管是管理自己的服务器还是使用Internet服务提供商所提供的系统,你都必须理解基本安全规则。如果你通过Internet服务提供商访问MySQL,需要注意几个服务器安全性的方面。例如,一个非root用户不能够修改或绕过身份验证。不幸的是,很多Internet服务提供商对安全规则毫不在意,让他们的客户暴露在外,并且在很大程度上,他们没有意识到风险。

2.7.1 启动MySQL

增强MySQL的安全性从服务器的启动阶段就开始了。如果你不是服务器的管理员,就不能改变服务器的安全设置,但是,你肯定可以查看服务器的安全性,并且向Internet服务提供商报告弱点。

如果MySQL安装在Linux/UNIX或Mac OS X上,主要关心的问题应该是MySQL守护程序的所有者,它不应该是root。把守护程序作为一个非root用户的进程运行,例如mysql或database,将会限制恶意用户获得访问服务器或者覆盖文件的能力。

提示:

可以在Linux/UNIX或Mac OS X系统上使用ps(进程状态)命令来验证进程的所有者。
如果看到MySQL在系统上作为root用户运行,应立即联系你的Internet服务提供商并且提出意见。如果你是一个服务器管理员,应该作为非root用户启动MySQL进程,或者在启动命令行里指定首选的用户名。

例如,如果你想要作为用户mysql运行MySQL,使用如下命令。

然而,启动MySQL的推荐方法是通过MySQL安装的bin目录中的mysqld_safe启动脚本来进行。

2.7.2 增强MySQL连接的安全

你可以以几种不同的方式连接到MySQL监视器或者其他的MySQL应用程序,每种方式都有安全性风险。如果你的MySQL安装在自己的工作站上,和那些必须使用一个网络链接连接到他们的服务器的用户相比,你可以少些担忧。

如果MySQL安装在工作站上,最大的安全风险就是MySQL监视器或MySQL GUI管理工具没有关注到工作站的启动和运行。在这种情况下,任何人都可以利用并删除数据,插入假的数据,或者关闭服务器。如果你必须让工作站在一个公共领域内保持无监控状态,就使用一个带有密码的屏幕保护或锁定屏幕的机制。

如果MySQL安装在你的网络之外的一个服务器上,连接的安全性应该受到关注。就像任何通过Internet的数据传输一样,数据可能被截获。如果传输是未加密的,截获数据的人就可以将它们拼接起来并使用信息。假设未加密传输的数据是你的MySQL登录信息,一个恶意者现在就可以伪装成你来访问数据库了。

防止这种情况发生的一种方法,就是通过一个安全的链接(例如,Secure Shell,即SSH)来连接到MySQL。通过SSH,所有到远程机器的传输和来自远程机器的传输都是加密的。类似地,如果你使用一个基于Web的管理界面,例如phpMyAdmin(参见http://www.phpmyadmin.net/以了解更多信息,注意,phpMyAdmin在第1章所介绍的基于XAMPP的快速安装中,已经安装过了),或者你的Internet服务提供商所使用的另一种工具,请通过一个安全的HTTP连接来访问该工具。

在下一节中,你将会了解到MySQL的权限系统,这有助于使服务器获得更深层次的安全保护。

时间: 2024-09-24 02:03:53

《PHP、MySQL和Apache入门经典(第5版)》一2.7 基本安全规则的相关文章

《PHP、MySQL和Apache入门经典(第5版)》一2.8 MySQL权限系统简介

2.8 MySQL权限系统简介 PHP.MySQL和Apache入门经典(第5版) MySQL权限系统总是起作用的.当你第一次尝试连接MySQL服务器的时候,并且对于每一个后续的动作,MySQL都会检查以下3件事情. 你从哪里访问(你的主机)? 你说你是谁(你的用户名和密码)? 允许你做什么(你的命令权限)? 所有这些信息都存储在一个名为mysql的数据库中,当安装MySQL的时候,自动创建该数据库.在mysql数据库中,有如下几个和权限相关的表. columns_priv--为一个表中的具体字

《PHP、MySQL和Apache入门经典(第5版)》一导读

前 言 PHP.MySQL和Apache入门经典(第5版) 欢迎阅读本书.我很高兴地告诉你,PHP语言及其开发者社群和用户每天都在持续增加,因此,本书需要更新版本. 本书前一个版本介绍的PHP4,其"生命尽头"终于快到了,在GoPHP5活动的帮助下,Web主机服务提供商和应用程序开发者迁移其服务和代码,逐渐放弃特定于PHP 4的功能和代码实践,而进入PHP 5的世界.这是一个更快速.更好的功能集合.和本书上一版一样,本版中所有的代码都是基于编写本书的时候PHP最新的可用版本(具体来说就

《PHP、MySQL和Apache入门经典(第5版)》一2.5 在Windows上安装MySQL

2.5 在Windows上安装MySQL PHP.MySQL和Apache入门经典(第5版) Windows上的MySQL安装过程使用一个标准的Microsoft Windows安装程序(Microsoft Windows Installer,MSI)文件来完成在Windows XP. Windows Server 2003.Windows Vista或Windows 7机器上MySQL的安装和配置过程.到位于http://dev.mysql.com/downloads/mysql/5.0.ht

《PHP、MySQL和Apache入门经典(第5版)》一一2.5 在Windows上安装MySQL

2.5 在Windows上安装MySQL PHP.MySQL和Apache入门经典(第5版) Windows上的MySQL安装过程使用一个标准的Microsoft Windows安装程序(Microsoft Windows Installer,MSI)文件来完成在Windows XP. Windows Server 2003.Windows Vista或Windows 7机器上MySQL的安装和配置过程.到位于http://dev.mysql.com/downloads/mysql/5.0.ht

《PHP、MySQL和Apache入门经典(第5版)》一一1.1 使用第三方的安装包

1.1 使用第三方的安装包 PHP.MySQL和Apache入门经典(第5版) 第三方安装包是由最初创建者以外的公司或组织所提供的程序包.在本章中,我们将学习如何使用XAMPP安装包来同时安装PHP.MySQL和Apache,可以在我们将要使用的任何操作系统上(Linux/UNIX.Windows或Mac)完成安装. 除了因为我自己使用XAMPP数年了,我选择在本章中使用它的另一个原因是,其名称中带有X.X表示这是AMPP(Apache.MySQL.PHP和Perl)的一个跨平台安装程序(Per

《PHP、MySQL和Apache入门经典(第5版)》一一2.4 在Mac OS X上安装MySQL

2.4 在Mac OS X上安装MySQL PHP.MySQL和Apache入门经典(第5版) Mac OS X下的MySQL安装过程相当简单,MySQL AB的开发者已经为Mac OS X创建了一个安装包.到位于http://dev.mysql.com/downloads/mysql/5.5.html的MySQL下载页面并且找到Mac OS X(或者使用随书光盘中的文件).如果你访问该站点,确保下载了适合你的系统的DMG:无论你使用的是Mac OS X 10.5或10.6版,或者32位或64位

《PHP、MySQL和Apache入门经典(第5版)》一一2.2 如何获取MySQL

2.2 如何获取MySQL PHP.MySQL和Apache入门经典(第5版) MySQL AB是负责开发.维护和发布MySQL数据库的公司的名字,经过一系列的收购之后(Sun Microsystems收购了MySQL AB,Oracle公司收购了Sun Microsystems),现在,数据库巨人Oracle拥有MySQL.然而,该软件的MySQL Community Edition版本一直保持开源,它是由开源开发者支持的,并且可以在MySQL的Web站点http://www.mysql.co

《PHP、MySQL和Apache入门经典(第5版)》一2.3 在Linux/UNIX上安装MySQL

2.3 在Linux/UNIX上安装MySQL PHP.MySQL和Apache入门经典(第5版) 不管你是使用RPM还是二进制代码安装,在Linux/UNIX上安装MySQL都比较简单.如果你通过RPM安装,MySQL AB提供了专门平台的RPM,例如针对运行在不同类型的处理器(如32位或64位的x86)上的SuSE Linux或一般的Linux. 对于RPM的一个最小的安装,你需要如下来自下载页面http://dev.mysql.com/downloads/mysql/5.5.html的两个

《PHP、MySQL和Apache入门经典(第5版)》一一2.3 在Linux/UNIX上安装MySQL

2.3 在Linux/UNIX上安装MySQL PHP.MySQL和Apache入门经典(第5版) 不管你是使用RPM还是二进制代码安装,在Linux/UNIX上安装MySQL都比较简单.如果你通过RPM安装,MySQL AB提供了专门平台的RPM,例如针对运行在不同类型的处理器(如32位或64位的x86)上的SuSE Linux或一般的Linux. 对于RPM的一个最小的安装,你需要如下来自下载页面http://dev.mysql.com/downloads/mysql/5.5.html的两个

《PHP、MySQL和Apache入门经典(第5版)》一一2.1 MySQL的当前版本和未来版本

2.1 MySQL的当前版本和未来版本 PHP.MySQL和Apache入门经典(第5版) 本章的安装说明针对的是MySQL Community Server 5.5.21,这是MySQL软件的当前产品版本.这个版本号可以读作"MySQL服务器软件的主版本5,次版本(小发布)5的第21次修订".修订版和小的发布并不遵从既定的一系列发布计划.当对代码进行扩展和修复并且进行了彻底的测试后,MySQL AB就会用一个新的修订号或次版本号来发布一个新的版本. 当你购买本书的时候,可能次版本号已