笔者一直在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. ExcludeClipRect区域裁剪问题

    CPaintDC dc(this); CRect rt1; CPen newPen; newPen.CreatePen(PS_SOLID,1,RGB(0,0,0)); CPen *pOldPen = ...

  2. Redis与Python进行交互

    安装包 安装Redis的有3种方式https://github.com/andymccurdy/redis-py 第一种:进⼊虚拟环境,联⽹安装包redis pip install redis 第二种 ...

  3. Java中BigDecimal的一个除法异常

    java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal res ...

  4. 浅谈vue,小程序,react基础绑定值

    最近一直在用react开发项目,碰见的问题千千万,很多,但是都殊途同源,唯一区别大的就是没有像vue的双向绑定,也没有小程序的单向方便,比如: vue   v-modal="msg" ...

  5. javascript 时间倒计时效果

    <div id="divdown1"></div> <script language="javascript" type=&quo ...

  6. 我的名字叫hadoop

      第一回 新入环境 我的名字是hadoop,我一出生我的爸爸雅虎就给我取了这样一个名字:hadoop,我也不知道为什么叫这个名字,刚出生没多久,雅虎爸爸就把我领进一个黑暗的屋子里面,屋里堆满了黑色的 ...

  7. 24-集成ASP.NETCore Identity采用EF

    1-增加IdentityServer4.AspNetIdentity nuget包 2- StartUp.cs启用增加相应的代码  .AddAspNetIdentity<ApplicationU ...

  8. python--基本类型之集合

    set(集合): 定义和创建: 定义:集合是一个无序的,不重复的数据集合,它主要作用1:去重,把一个列表变成集合,就自动去重了2:关系测试,测试两组数据之间的交集,差集,并集等关系 集合:把不同的数据 ...

  9. ChipScope Pro Inserter - "ERROR:NgdBuild:924 - bidirect pad net '<oDRAM0_A>' is driving non-buffer primitives

    解决方案: Using a IOBUF signal as a trigger for the ILA Inserter flow will cause a NGDBuild error. These ...

  10. 如何理解 UL94HB , UL94-V0 , UL94-V1 , UL94-V2

    塑料阻燃等级由HB,V-2,V-1向V-0逐级递增: UL94V0,V1,V2是不同的阻燃等级,其等级不同,耐燃的测试方法亦不同,测试判定的标准也不同. V0的测试方法是将测试物倾斜45度,用酒精灯点 ...