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

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

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


44cbd68edc343cece8424ac70a25ca2f7f5fb98c

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


0e94a143af33104d2964a88e111df31da7923556

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


a7d5cd6dfc19370d74ebfee81006b34cec50d91a

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
相关文章
|
1月前
|
存储 PHP 开发者
PHP变量命名规则
PHP变量命名规则
19 0
|
8月前
|
安全 PHP
PHP - Laravel 表单验证(验证规则与使用 $this->validate()、Validator::make()、Requests)
PHP - Laravel 表单验证(验证规则与使用 $this->validate()、Validator::make()、Requests)
152 0
|
7月前
|
自然语言处理 安全 Java
JAVA丨PHP交易所源码,JAVA/PHP交易所系统开发稳定版/多语言/海外版/多版本/成熟技术/方案详细/逻辑功能/规则案例
Identify requirements and design the system: Clarify your business requirements and design the architecture and functionality of the system. This includes determining the supported transaction types, user authentication, transaction matching engines, order management, fund management, etc.
php-cs-fixer 自动将 PHP 代码以 PSR-2 规则修正
PHP Coding Standards Fixer 是在不破坏相容性的情况下,将 PHP 的代码往 PSR-2 的方向修正。
158 0
php-cs-fixer 自动将 PHP 代码以 PSR-2 规则修正
|
PHP Apache SEO
ThinkPHP 利用.htaccess文件的 Rewrite 规则隐藏URL中的 index.php
原文:ThinkPHP 利用.htaccess文件的 Rewrite 规则隐藏URL中的 index.php URL重写 通常的URL里面含有index.php,为了达到更好的SEO效果可能需要去掉URL里面的index.php ,通过URL重写的方式可以达到这种效果,通常需要服务器开启URL_REWRITE模块才能支持。
1646 0
|
SQL 存储 PHP
项目3:PHP抽奖程序 ,抽奖规则代码 分时间段
抽奖概率为:奖品总数为概率 =================================== 项目3 抽奖程序 分时间段 =================================== 数据库: activity_lyq_lottery 奖品表 lotteryid name 礼品名称 sum 礼品总数 time_start 开始时间 time_end
1947 0
|
7月前
|
关系型数据库 MySQL PHP
PHP 原生操作 Mysql
PHP 原生操作 Mysql
81 0
|
7月前
|
关系型数据库 MySQL 数据库连接
PHP 原生连接 Mysql
PHP 原生连接 Mysql
107 0
|
7月前
|
关系型数据库 MySQL Unix
PHP MySql 安装与连接
PHP MySql 安装与连接
130 0
|
3月前
|
关系型数据库 MySQL PHP

推荐镜像

更多