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

简介:
+关注继续查看

本节书摘来自异步社区出版社《PHP、MySQL和Apache入门经典(第5版)》一书中的第2章,第2.7节,作者: 【美】Julie C. Meloni,更多章节内容可以访问云栖社区“异步社区”公众号查看。

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进程,或者在启动命令行里指定首选的用户名。

image

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

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

image

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的权限系统,这有助于使服务器获得更深层次的安全保护。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
JSON 安全 关系型数据库
php传递url参数加密验证的解决方案(加密解密、安全验证过滤)
php传递url参数加密验证的解决方案(加密解密、安全验证过滤)
103 0
|
4月前
|
SQL JSON 安全
潜藏在PHP安全的边缘
1.本篇文章由复眼小组的瞳话原创,未经允许禁止转载 2.本文一共1376字,8张图,预计阅读时间6分钟 3.本文比较基础,请大佬酌情观看,如果有其他的思路,欢迎和我们交流
|
5月前
|
存储 SQL 安全
PHP中的session安全吗?底层原理是什么?
PHP中的session安全吗?底层原理是什么?
|
7月前
|
安全 PHP
|
8月前
|
安全 关系型数据库 MySQL
提升PHP安全:8个必须修改的PHP默认配置
提升PHP安全:8个必须修改的PHP默认配置
87 0
|
8月前
|
SQL 安全 关系型数据库
和php有关的几种常见安全详解
和php有关的几种常见安全详解
119 0
|
8月前
|
缓存 算法 安全
php接口安全设计浅谈
php接口安全设计浅谈
83 0
php接口安全设计浅谈
|
9月前
|
XML 存储 安全
php安全编码规范
php安全编码规范
|
10月前
|
SQL 安全 前端开发
网络安全-php安全知识点
网络安全-php安全知识点
网络安全-php安全知识点
|
存储 JSON 安全
如何写出安全又可靠的PHP脚本
如何写出安全又可靠的PHP脚本
93 0
如何写出安全又可靠的PHP脚本
相关产品
云迁移中心
推荐文章
更多
推荐镜像
更多