笔者一直在Windows环境下搭建PHP的运行环境,大大小小的运行环境用过不少,从开始的WAMP到后来的XAMPP以及PHPnow。WAMP和XAMPP都是继承mysql apache以及PHP库的运行环境,不同的是WAMP运行在Windows下,而XAMPP有Linux的版本。这些环境运行PHP也算是比较稳定的,但是自从网络安全要求提高了以后,被安全扫描软件扫出了好多高危漏洞而一度运行在上面的服务也被上级网络部门限制了访问,特别是今年六月份《网络安全法》颁布实施以来,网络安全的要求是越来越高,笔者工作的单位只要扫描出中级以上的漏洞的服务都是要停止整顿的。而上述环境默认情况下(未进行安全配置)满足不了安全要求,而就在笔者焦头烂额的时候发现了一款可以运行PHP的安全运行环境UPUPW,其官方网站为:http://www.upupw.net /。它分为好多个版本,大家根据需要运行的PHP版本的不同可以选择下载。这款软件只要下载成功,可以绿色运行,将PHP网站放在其目录的htdocs文件夹下就可以访问,提供一个可配置的界面,看起来还有点黑客的feel,只要启动了所有服务,并且运行了Apache的守护程序,基本上绿盟的扫描软件是扫描不出来中级以上漏洞的。其配置界面如下图所示:

运行这个程序后,只需要输入s1,开启所有服务——包括Apache Mysql PHP支持等常用的PHP运行环境以及Apache的守护程序,选择16可以配置安全防护功能。这些一般情况下就可以满足PHP环境安全运行的需求,除非使用Memcache,下面就来说说当使用memcache的时候的安全措施。

UPUPW集成了memcache的使用环境,在UPUPW根目录下有个memcached文件夹,里面有个配置文件memcachedConfig文件如下图所示:

  按理来说编辑MemcachedConfig文件可以对Memcache的使用进行配置,而笔者百度了很久也没找到配置的方法,该文件中只有以下内容

[MEMCACHED]
MaxMem=128
Port=11211
ServiceName=UPUPW_MemCached_A

  可以配置Memcache的最大使用内存,端口和服务进程的名称,而使用Memcache最大的安全问题是一般都是通过Root权限进行访问,存在认证不充分的漏洞,外网用户可以通过该权限直接读取Memcached中的敏感信息。所以绿盟等扫描软件会认为它存在高危漏洞,而你的服务器很可能因为这个原因被网络监管部门封停。下面来说说解决办法。

虽然不大清楚在memcachedConfig中如何设置安全措施,但是其中的一条设置很重要,就是Port------端口号,memcache的默认端口号是11211,既然知道了它的端口号就好办了,我们可以通过设置Windows防火墙的入站规则来限制外网对该端口号的访问,或者如果外网用户不需要使用Memcache服务,而只有本机使用的话我们可以设置一个禁止外网访问该端口号的规则.

通过一番努力,设置了端口号11211的入站规则,Windows防火墙入站规则的设置请参考配置Windows 2008 R2防火墙入站规则,禁止了除了本机以外的所有外网主机的访问,memcache服务终于可以放心使用了,这使用使用UPUPW搭建的PHP环境就不用怕漏洞扫描软件的扫描了,网络安全部门也没理由封停你的服务了。

Windows下PHP安全环境的搭建的更多相关文章

  1. windows下STM32开发环境的搭建

    一.概述 1.说明 笔者已经写了一篇Linux下STM32开发环境的搭建 ,这两篇文章的最区别在于开发环境所处的系统平台不一样,而其实这个区别对于开发环境的搭建其实影响不大,制作局部上的操作上发生了改 ...

  2. Andriod 安全之Windows下CTS自动化测试环境的搭建

    原文出处:http://blog.csdn.net/sk719887916/article/details/48050997 安卓应用离不开性能测试,也离不开安全测试,CTS是常用的安全测试工具,开发 ...

  3. windows下vue开发环境的搭建

    一 介绍: vue.js是什么? Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计.Vue 的核心库 ...

  4. windows下php开发环境的搭建

    环境搭建软件组合为:Apache2.2.9+mysql5.2.32+php5.2.6  下载地址如下 http://download.csdn.net/detail/xttxqjfg/5670455 ...

  5. [转贴]Windows下gSoap交叉编译环境的搭建

    本人直接就用过gSoap,它是用以C/C++写webservice的利器     交叉编译的时候,有两个很关键的程序:         soapcpp2.exe         wsdl2h.exe ...

  6. Windows下Android模拟环境的搭建

  7. 2-3 Windows下一站式开发环境anaconda搭建

    D:\Users\ZHONGZHENHUA\Anaconda3\Scripts\activate.bat https://www.geforce.com/hardware/notebook-gpus/ ...

  8. windows下的python环境安装

    windows下python开发环境的搭建还是很方便的 python本体的下载可以通过官方渠道,也可以通过windows应用商店,这里推荐后者,因为前者还要设置环境变量,而且我设置了之后cmd下也没有 ...

  9. 在windows下用cygwin和eclipse搭建cocos2dx的android开发环境

    在windows下用cygwin和eclipse搭建cocos2dx(2.1.4)的android开发环境,2013-8-1更新. 一.准备工作 需要下载和安装以下内容,请根据自己的操作系统选择x86 ...

随机推荐

  1. 一点一点看JDK源码(四)java.util.ArrayList 中篇

    一点一点看JDK源码(四)java.util.ArrayList 中篇 liuyuhang原创,未经允许禁止转载 本文举例使用的是JDK8的API 目录:一点一点看JDK源码(〇) 1.综述 在前篇中 ...

  2. python装饰器内获取函数有用信息方法

    装饰器内获取函数有用信息方法 .__doc__用于得到函数注释信息 .__name_用于得到函数名 在函数引用装饰器的时候,函数名会变为装饰器内部执行该函数的名字,所有在直接执行函数名加.__doc_ ...

  3. Linux基础(05)、Linux进阶命令

    目录 一.进阶命令 二.系统命令 三.压缩和归档 3.1.归档 3.2.压缩 3.3.归档并压缩 归档.接档:tar -cf.tar -tvf 压缩.解压:gzip.gunzip 归档并压缩:tar ...

  4. IO流,字符流

    import java.io.FileReader; public class FileReaderDemo { public static void main(String[] args) thro ...

  5. Flask中那些特殊的装饰器

    模板相关的装饰器 @app.template_global() 用法: @app.template_global() # 记得加括号 def jiafa(a, b): # 这个方法每调用一次就需要传一 ...

  6. python的基本知识

    1. python的简介    python的创始⼈人为吉多·范罗苏姆(Guido van Rossum).1989年年的圣诞节期间,吉多· 范罗苏姆为了了在阿姆斯特丹丹打发时间,决⼼心开发⼀个新的脚 ...

  7. SST-超级简单任务调度器结构分析

    SST(Super Simple Task) 是一个基于任务优先级.抢占式.事件驱动.RTC.单堆栈的超级简单任务调度器,它基于Rober Ward一篇论文的思想,Miro Samek用C重新编程实现 ...

  8. netfilter 学习摘要

    netfilter 子系入口在L3,完成后把数据包发往L4 netfilter 主要功能: 数据包选择(iptables) 数据包过滤 网络地址转换(NAT) 数据包操纵(在路由选择之前或之后修改数据 ...

  9. 『Python基础-11』集合 (set)

    # 『Python基础-11』集合 (set) 目录: 集合的基本知识 集合的创建 访问集合里的值 向集合set增加元素 移除集合中的元素 集合set的运算 1. 集合的基本知识 集合(set)是一个 ...

  10. python教程(一)·命令行基本操作

    先来了解下 "命令提示符". 等等?!既然本篇文章标题是"命令行基本操作",那怎么又说到"命令提示符"去了呢?客官莫要急,且听我说 命令提示 ...