Windows下PHP安全环境的搭建
笔者一直在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安全环境的搭建的更多相关文章
- windows下STM32开发环境的搭建
一.概述 1.说明 笔者已经写了一篇Linux下STM32开发环境的搭建 ,这两篇文章的最区别在于开发环境所处的系统平台不一样,而其实这个区别对于开发环境的搭建其实影响不大,制作局部上的操作上发生了改 ...
- Andriod 安全之Windows下CTS自动化测试环境的搭建
原文出处:http://blog.csdn.net/sk719887916/article/details/48050997 安卓应用离不开性能测试,也离不开安全测试,CTS是常用的安全测试工具,开发 ...
- windows下vue开发环境的搭建
一 介绍: vue.js是什么? Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计.Vue 的核心库 ...
- windows下php开发环境的搭建
环境搭建软件组合为:Apache2.2.9+mysql5.2.32+php5.2.6 下载地址如下 http://download.csdn.net/detail/xttxqjfg/5670455 ...
- [转贴]Windows下gSoap交叉编译环境的搭建
本人直接就用过gSoap,它是用以C/C++写webservice的利器 交叉编译的时候,有两个很关键的程序: soapcpp2.exe wsdl2h.exe ...
- Windows下Android模拟环境的搭建
- 2-3 Windows下一站式开发环境anaconda搭建
D:\Users\ZHONGZHENHUA\Anaconda3\Scripts\activate.bat https://www.geforce.com/hardware/notebook-gpus/ ...
- windows下的python环境安装
windows下python开发环境的搭建还是很方便的 python本体的下载可以通过官方渠道,也可以通过windows应用商店,这里推荐后者,因为前者还要设置环境变量,而且我设置了之后cmd下也没有 ...
- 在windows下用cygwin和eclipse搭建cocos2dx的android开发环境
在windows下用cygwin和eclipse搭建cocos2dx(2.1.4)的android开发环境,2013-8-1更新. 一.准备工作 需要下载和安装以下内容,请根据自己的操作系统选择x86 ...
随机推荐
- HTML&CSS 问题
1.子div使用浮动,父div高度自适应(个人感觉好用) 方法: css: <style> .clear{ clear:both} </style> html:在父div关闭之 ...
- Oracle恢复误删数据
1.先查出被删除的时间点: select * from flashback_transaction_query where table_name='表名'; 2.根据时间点恢复数据: insert i ...
- .Net core 使用Jenkins + Docker + Azure Devops 傻瓜式部署
这几天一直在搞 Jenkins + Docker + Azure Devops 部署,因为这种方式部署真的非常的省心,而且速度快,方便快捷,等等无数优点,感谢我的单身领导的支持,当然也感谢 晓晨大神, ...
- JSP/Servlet开发——第十一章 Ajax交互扩展
1. jQuery实现Ajax的方法: ●除了$.ajax()方法以外,jQuery还提供了其他多种更简单的 Ajax 实现方法,如$.get().$.post().$.getJSON().对象.lo ...
- JavaScript - 异步的前世今生
在开始接触JavaScript的时候,书上有一句话我记忆深刻,JavaScript是一门单线程语言,不管从什么途径去获取这个消息,前端开发者都会记住,哦~~,JavaScript是一门单线程语言, ...
- 大数据学习--day10(继承-权限-super-final-多态-组合)
继承-权限-super-final-多态-组合 权限修饰符 内容 public protected default(不写就是它) ...
- SRM32(8)——ADC和DAC
1.ADC简介 STM32 拥有 1~3 个 ADC(STM32F101/102 系列只有 1 个 ADC)STM32F103至少拥有2个ADC,STM32F103ZE包含3个ADC,这些 ADC 可 ...
- AS5600磁编码器开发记录
AS5600使用简介--(程序员版) -----------------本文由"智御电子"提供,同时提供范例教程,以便电子爱好者交流学习.---------------- 前言: ...
- Python中可变数据类型和不可变数据类型
首先,我们需要知道在python中哪些是可变数据类型,哪些是不可变数据类型.可变数据类型:列表list和字典dict:不可变数据类型:整型int.浮点型float.字符串型string和元组tuple ...
- 关于verilog中的signed类型
在数字电路中,出于应用的需要,我们可以使用无符号数,即包括0及整数的集合:也可以使用有符号数,即包括0和正负数的集合.在更加复杂的系统中,也许这两种类型的数,我们都会用到. 有符号数通常以2的补码形式 ...