笔者一直在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. 史上最简单的SpringCloud教程 | 第十三篇: 断路器聚合监控(Hystrix Turbine)(Finchley版本)

    转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springcloud/2018/08/30/sc-f13-turbine/ 本文出自方志朋的博客 上一篇文章讲述 ...

  2. 给出一个整数,将这个整数中每位上的数字进行反转(JavaScript编程)

    一.问题描述:给出一个整数,将这个整数中每位上的数字进行反转.示例:输入:123,输出321:输入-123,输出-321:输入120,输出-21 二.问题分析与解决: 需要将给出的整数反转,注意示例中 ...

  3. 个人免签即时到账收款接口 bufpay.com 支持多账号收款

    有很多 bufpay 的用户反馈,单个手机收款有些时候不太方便,切换手机太麻烦:或者是营业额比较多,希望分摊到多个账号上面. 基于以上的问题,bufpay 开发了多手机收款的功能:每个收款的手机安装 ...

  4. hashcode和equals区别

    hashcode:对象的初始地址的整数表示 Java中的对象是JVM在管理,JVM会在她认为合适的时候对对象进行移动,比如,在某些需要整理内存碎片的GC算法下发生的GC.此时,对象的地址会变动,但ha ...

  5. Redis的数据类型以及各类型的操作

    讲完安装和配置,接下来就是所有数据库的重头戏,数据结构和常用操作的增删改查了 redis是key-value的数据结构,每条数据都是⼀个键值对 键的类型是字符串 注意:键不能重复 值的类型分为五种: ...

  6. 在vue中如何实现购物车checkbox的三级联动

    最近用vue写一个电商项目,自然就少不了要写一个购物车的相关页面,功能完整的购物车的checkbox应该是三级联动的,1级checkbox是选中购物车中所有的商品,2级checkbox是选中某个店铺下 ...

  7. PHP 中根据 IP 获取地址

    这里使用的是淘宝 IP 地址库提供的 API 接口. 淘宝 IP 地址库:http://ip.taobao.com/instructions.html API 文档说明:  使用事例: /** * 调 ...

  8. C# WebBrowser获取指定字符串的坐标

    public void FindKeyWord(string keyWord) { WebBrowser wb = new WebBrowser(); foreach (HtmlElement ite ...

  9. Linux服务器安全检测维护基础汇总/持续更新

    登陆系统查询可以用户 w命令可以显示在线用户,passwd -l xxx可以锁定xxx用户无法登陆,如果此时可以用户在线,使用kill命令踢下线 查看可疑进程 ps -ef命令锁定pid,或者pido ...

  10. C语言中字符串赋值的几个理解

    在C语言中,字符串的赋值主要有两种方法,第一种是通过指针的方式直接赋值,第二种是通过数组直接赋值. 一.首先,我们来看第一种赋值方法:指针式赋值 我们知道,上面的示例是显然可以正常执行的,也是很容易理 ...