本节书摘来自异步社区《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进程,或者在启动命令行里指定首选的用户名。


例如,如果你想要作为用户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的权限系统,这有助于使服务器获得更深层次的安全保护。

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

  1. 《PHP、MySQL和Apache入门经典(第5版)》一2.11 实践练习

    本节书摘来自异步社区<PHP.MySQL和Apache入门经典(第5版)>一书中的第2章,第2.11节,作者[美]Julie C. Meloni,更多章节内容可以访问云栖社区"异 ...

  2. JavaScript入门经典(第4版)

    循序渐进精细讲解所有JavaScript知识点 指导您构建建出神入化的完美Web应用程序 JavaScript入门经典(第4版) 基本信息 原书名: Beginning JavaScript 原出版社 ...

  3. XML入门经典(第五版)

    2019独角兽企业重金招聘Python工程师标准>>> XML入门经典(第五版) 本书对全部内容进行了更新,涵盖了XML的最新技术,如XOuery.RSS.Atom.Aiax等.在讲 ...

  4. c语言入门经典+第5版+习题答案,C语言入门经典(第5版)

    摘要: C语言是每一位程序员都应该掌握的基础语言.C语言是微软.NET编程中使用的C#语言的基础;C语言是iPhone,iPad和其他苹果设备编程中使用的Objective-C语言的基础;C语言是在很 ...

  5. 算法竞赛入门经典(第二版)第三章习题

    声明:作者水平有限,只是会基础C语言的小菜,C++还未入门.作者仅根据算法竞赛入门经典(第二版)书上第三章习题所述题意而编写,并未严格按照原题的输入输出编写,代码仅经过个人测试(OJ网站太慢了).代码 ...

  6. 刘汝佳《算法竞赛入门经典(第二版)》习题(三)

    刘汝佳<算法竞赛入门经典(第二版)>第三章习题(一) 习题3-1 得分(ACM/ICPC Seoul 2005,UVa1585) 给出一个由O和X组成的串(长度为1~80),统计得分.每个 ...

  7. 刘汝佳《算法竞赛入门经典(第二版)》习题(六)

    刘汝佳<算法竞赛入门经典(第二版)>第四章习题(4-1~4-3) 习题4-1 象棋(Xiangai,ACM/ICPC Fuzhou 2011,UVa1589) 考虑一个象棋残局,其中红方有 ...

  8. 刘汝佳《算法竞赛入门经典(第二版)》习题(二)

    刘汝佳<算法竞赛入门经典(第二版)>第二章习题 目录 刘汝佳<算法竞赛入门经典(第二版)>第二章习题 习题2-1 水仙花数 习题2-2 韩信点兵 习题2-3 倒三角形 习题2- ...

  9. c语言入门经典第五版自学,C语言入门经典(第5版) PDF扫描[103MB]

    C语言入门经典(第5版)  内容简介: C语言是每一位程序员都应该掌握的基础语言.C语言是微软.NET编程中使用的C#语言的基础:C语言是iPhone.iPad和其他苹果设备编程中使用的Objecti ...

最新文章

  1. 存储架构|Bitcask 引擎的设计,秒!
  2. javascript控制validator
  3. 【技术综述】人脸颜值研究综述
  4. 「后端小伙伴来学前端了」CSS 做三角边框,必会的基础操作之一
  5. 政策表达式截取json_json格式数据如何提取指定中文字符串。
  6. 基于OSSIM的漏洞***测试视频教程
  7. P4321-随机漫游【状压dp,数学期望,高斯消元】
  8. 句句真研—每日长难句打卡Day17
  9. 4.21-4.26旅行记之山城重庆(二)
  10. 操作系统数据结构知识点总结1
  11. 苹果手游代充灰色产业深度揭秘
  12. 语音信号处理-基础(二): 发声生理、听觉生理与听觉心理
  13. php 公众号 欢迎,关注公众号的欢迎语怎么设置?公众号欢迎语怎么加链接?
  14. excel表格拆分成多个工作表
  15. 基于wifi无线PLC远程控制实现io开关量信号远程采集传输技术
  16. 利用阿里公有云建设灾备中心的最佳实践
  17. C++ lower_bound() upper_bound() 函数用法详解(深入了解,一文学会)
  18. ESP8266wifi模块与51单片机通信教程
  19. ML—广义线性模型导论
  20. 数据可视化——Matlab平台读取颜色条图片制作出自己的颜色条

热门文章

  1. 农场管理系统设计与实现php,农场农产品网站的设计与实现(PHP,MySQL)(含录像)
  2. python嵌套列表索引 index_Python:嵌套lis中元素的索引列表
  3. zstack信道_Zigbee信道原理
  4. 潜龙号开启水下机器人_国内首个智能绞吸机器人开展水下取土作业
  5. 小小c语言贪吃蛇思路,【图片】C语言小游戏~贪吃蛇【c语言吧】_百度贴吧
  6. python语句分为什么_Python为什么使用缩进来分组语句?
  7. t-sql查询where in_产品操作MySQL第7篇 – 运算符 - IN
  8. mysql float 怎么设置长度_MySQL中float double decimal区别总结
  9. 说实话,写了这么多程序了,还从来没有用JUnit作为单元测试工具测试过,今天就来学习一下
  10. 基于Websocket草案10协议的升级及基于Netty的握手实现