公告板
安徽电信nod32升级服务器
服务器地址:http://eset.corbie.com.cn
本站重新开放注册,大家赶快下有用的资源....
nod32服务器升级即时信息统计系统地址:http://corbie.9966.org
客户端下载地址: http://www.corbie.com.cn/nod32.rar
预览模式: 普通 | 列表
针对目前私服界一片混乱的局面,相信只要开私服做过商业广告人都免不了被别人攻击,其中包括传奇克星7000攻击及千年非典的GATE攻击,还有WEB服务器的80端口攻击等。其中很多管理员已经购买了硬件防火墙,或者抗攻击软件,大都价格不菲,这对于竞争日益激烈几乎无利可图的私服界,无异雪上加霜。我们经过数百次的实验,终于成功找到了防御攻击的方法,今天我们免费提供抗DDOS,CC攻击解决方案,不让大家花一分钱,没有任何限制,完全抛弃硬件防火墙。并不是只防护7000端口,对服务器所有端口都具备完美的抵御能力。目前已经通过测试,并做了图文教程。希望大家支持。

鄙视那些为了打击同行和为了卖防火墙而无端攻击别人私服,及利用漏洞赚钱的人们!

下面首先下载我们提供的一款国外的防火墙软件,是一款专门为服务器开发的防火墙。由于汉化的工作量挺大,而市面上也没有此软件的汉化版本,所以使用英文原版的安装程序,这对防火墙的稳定性也有好处,将详细的安装方法一步一步作图解,此套安装方法适用于远程3389终端下面安装,请安装的时候一定要一步一步小心谨慎地进行,不能有任何差错,否则到时候自己被关在防火墙外可别拿砖头砸我!hh我们只以传奇私服为例作详细的设置,其它网络游戏或WEB根据使用的端口作相应改变即可。当然如果服务器在本地,同样可以使用以下的安装方法。

安装步骤:

图1

下载完防火墙后解压,点击安装如图1所示选中I agree 我同意,点 NEXT安装

图2

进入第二步,输入姓名、公司、序列号4443-8H0J-0BXU-PNL3或4410-1Y1H-1RTP-3VQW点击NEXT继续安装

图3

安装结束,这里是简单的配置向导,选第一个,创建新的规则点击NEXT

图4

问是否要安装远程管理,选NO,点下一步继续

图5

这里问你每次启动计算机是否让防火墙自动启动,因为服务器不是经常重新启动,也为了防止误操作屏蔽你自己的IP,我们选NO,点下一步

图6

问你防火墙没有启动或异常关闭时,是允许所有网络所有访问还是阻挡一切网络活动,我们选allow允许,点击下一步

图7

向导结束,点击Finish结束。

图8

直接点击Finish结束安装,别选中立即重新启动计算机,否则,重新启动后,你也无法进入终端了。

图9

双击桌面上的伞下面有个电脑的防火墙图标,启动防火墙(这时候防火墙还没有生效不要怕),然后在任务栏右击防火墙图标,选中allow all traffic 允许所有网络通行然后使用开始,关闭,重新启动服务器。

图10

手动打开防火墙,打开左栏的network adapters会看到你的电脑中的网卡,如果有两个网卡,点击configuration如果有IP地址,则是你使用是的网卡

图11

找到了使用的网卡,点击configuration下面的Rules(规则)

图12

如图在右栏的空白处右键的菜单中点击NEW,创建一条新的规则。

图13

到了edit rules编辑规则窗口,名称我们起7000(随便什么,只是为了好记)

图14

如图,我们打开filtering(筛选器),上面Local(本地)    address must match (地址必须是),默认选my address;
port must be 端口必须是 我们这里写是7000端口;
下面Remote(远程)地址我们选All adresses(所有IP地址);
下面的端口范围我们选1024-65535(其实也可以选1024-5000,但是我发现无线路由上传奇的登录端口会高于5000)
设置完毕点击确定,一条完整的规则设置好了。

图15

用同样的方法依次设定:3389 ;7100;7200;7210;7220;63200如果开WEB还要设置80,千年要开3053等

图16

点击右窗口分类中的Mac address(网卡的MAC),右键在空白处点击,在菜单中再点击NEW,创建一条让服务器信任MAC规则,名称我们随便写

图17

查找你的电脑中的MAC地址,右键点击网上邻居,双击当前连接,支持,详细信息,就可以看到你的MAC地址,MAC地址是每个网卡唯一的物理地址,永远不会改变,当然可以通过修改注册表改变。

图18

打开Filtering分类菜单,在下面蓝色的地方写上你的MAC地址,点击确定。

图19

点击如图菜单中的Filtering 在打开的菜单中点击Enable filtering(启用筛选器)

图20

如图,再点击主菜单中的Filtering 在打开的菜单中点击Edit fttp fiters (编辑FTTP筛选器规则)

图21

出现如图所示窗口,点击+按钮,WEB服务器默认是80端口,点击OK

图22

点击图中的High-bit character use 将右边的三个复选框全部去掉。

图23

如图,打开分类菜单中的Extensions菜单,将默认的EXE类型文件,加入到左边的允许列表中去。因为网站是经常下载自解压文件的。点确定。

图24

点击主窗口左栏的BanList(黑名单)看看有没有你或别人的IP,不知道为什么防火墙没工作,但是黑名单却一直工作,不符合规则的IP已经全进去了。把里面的全部删除。点击主菜单上的SAVE将规则保存,也可以另存一份,下次只要LOAD就全部搞定了。

图25

一切OK了,准备启动防火墙,点击任务栏里的防火图标,在打开的菜单中点击Filter,至此全部安装结束。

测试效果:

图26

随便找一个CC攻击器,http://www.ibmw.com.cn/viewthread.php?tid=384&extra=page%3D1这里有传奇克星5。0商业版,攻击列表使用图中格式填写111.111.111.111为服务器的IP地址,一直点添加,直到有上500个左右。

图27

代理列表,点下面的导入,传奇克星目录里有3000代理列表,选中,打开,线程用1000足够,点攻击然后关闭防火墙看你的Logingate不要五分钟就会有2000个连接,挂掉了。然后启用防火墙,重新启动LoginGate再试。不论你攻击多长时间,用多少线程,LoginGate都安然无恙,最多有20几个连接,但迅速会被防火墙丢掉。

程序我明天会提供出来!

Windows 2000 IIS Script Engine 异常  

一、事件查看器    应用程序

提示如下信息:

错误:   Script Engine 异常. 一个 ScriptEngine 超出了预期'C0000005' 在'IActiveScript::SetScriptState()',来自'CActiveScriptEngine::ResetToUninitialized()' 。。 

二,事件查看器    系统

依次出现以下提示信息:

1、服务器无法注册管理工具发现信息。管理工具可能无法看到此服务器。数据错误。 
2、进程外应用程序 '/LM/W3SVC/39/Root' 意外地终止。 
3、进程外应用程序 '/LM/W3SVC/6/Root' 意外地终止。 
4、进程外应用程序 '/LM/W3SVC/4/Root' 意外地终止。 
5、进程外应用程序 '/LM/W3SVC/36/Root' 意外地终止。 

系统环境:WIN2000 SP4      SQLSERVER2000      IIS(asp+.net) 
具体说明:dllhost.exe内存使用超高,达到一定限度后WEB服务挂机,cpu占用率达到100%。结束dllhost.exe或重启iis后web服务恢复正常,周期性的出现。
------------------------------


      使 用 过 相 关 解 决 方 法:
----------------------------------------------------------------------------
1、从别的电脑上(同系统)拷贝Vbscript.dll,覆盖前请备份!
----------------------------------------------------------------------------
2、重装iis
----------------------------------------------------------------------------
3、更新ScriptEn.exe安装一下
http://www.microsoft.com/downloads/details.aspx?displaylan ... 17d943-7e4b-4622-86eb-95a22b832caa
----------------------------------------------------------------------------
4、更新“组件服务”,一下是具体操作(这个需要谨慎,最好在本地机器上操作熟练,或先生成服务安装包!)

a.  浏览至“组件服务”并删除下列程序包:注意:要删除这些程序包,必须首先打开程序包的属性,单击高级选项卡,然后单击以清除禁止删除复选框。 

? IIS In-Process Applications 
? IIS Out-of-Process Pooled Applications 
? IIS Utilities 

b.  打开命令提示窗口,然后使用以下命令切换目录:
cd %windir%system32inetsrv 
c.  运行以下命令:
rundll32 wamreg.dll, CreateIISPackage
注意:必须准确键入“CreateIISPackage”;它区分大小写。 
regsvr32 asptxn.dll 
d.  关闭并重新打开“组件服务”。您应看到已经重新创建的所有这三个 IIS COM+ 应用程序。 
e.  从命令行运行 IISRESET,并对先前未正确加载的任意 ASP 页进行测试。 

阿江的WINDOWS服务器安全设置

前言
其实,在服务器的安全设置方面,我虽然有一些经验,但是还谈不上有研究,所以我写这篇文章的时候心里很不踏实,总害怕说错了会误了别人的事。

本文更侧重于防止ASP漏洞攻击,所以服务器防黑等方面的讲解可能略嫌少了点。

基本的服务器安全设置
安装补丁
安装好操作系统之后,最好能在托管之前就完成补丁的安装,配置好网络后,如果是2000则确定安装上了SP4,如果是2003,则最好安装上SP1,然后点击开始→Windows update,安装所有的关键更新。

安装杀毒软件
虽然杀毒软件有时候不能解决问题,但是杀毒软件避免了很多问题。我一直在用诺顿2004,据说2005可以杀木马,不过我没试过。还有人用瑞星,瑞星是确定可以杀木马的。更多的人说卡巴司机好,不过我没用过。

不要指望杀毒软件杀掉所有的木马,因为ASP木马的特征是可以通过一定手段来避开杀毒软件的查杀。

设置端口保护和防火墙、删除默认共享
都是服务器防黑的措施,即使你的服务器上没有IIS,这些安全措施都最好做上。这是阿江的盲区,大概知道屏蔽端口用本地安全策略,不过这方面的东西网上攻略很多,大家可以擞出来看看,晚些时候我或者会复制一些到我的网站上。

权限设置
阿江感觉这是防止ASP漏洞攻击的关键所在,优秀的权限设置可以将危害减少在一个IIS站点甚至一个虚拟目录里。我这里讲一下原理和设置思路,聪明的朋友应该看完这个就能解决问题了。

权限设置的原理
WINDOWS用户,在WINNT系统中大多数时候把权限按用户(組)来划分。在【开始→程序→管理工具→计算机管理→本地用户和组】管理系统用户和用户组。
NTFS权限设置,请记住分区的时候把所有的硬盘都分为NTFS分区,然后我们可以确定每个分区对每个用户开放的权限。【文件(夹)上右键→属性→安全】在这里管理NTFS文件(夹)权限。
IIS匿名用户,每个IIS站点或者虚拟目录,都可以设置一个匿名访问用户(现在暂且把它叫"IIS匿名用户"),当用户访问你的网站的.ASP文件的时候,这个.ASP文件所具有的权限,就是这个"IIS匿名用户"所具有的权限。
权限设置的思路
要为每个独立的要保护的个体(比如一个网站或者一个虚拟目录)创建一个系统用户,让这个站点在系统中具有惟一的可以设置权限的身份。
在IIS的【站点属性或者虚拟目录属性→目录安全性→匿名访问和验证控制→编辑→匿名访问→编辑】填写刚刚创建的那个用户名。
设置所有的分区禁止这个用户访问,而刚才这个站点的主目录对应的那个文件夹设置允许这个用户访问(要去掉继承父权限,并且要加上超管组和SYSTEM组)。
这样设置了之后,这个站点里的ASP程序就只有当前这个文件夹的权限了,从探针上看,所有的硬盘都是红叉叉。

我的设置方法
我是先创建一个用户组,以后所有的站点的用户都建在这个組里,然后设置这个组在各个分区没有权限或者完全拒绝。然后再设置各个IIS用户在各在的文件夹里的权限。

因为比较多,所以我很不想写,其实知道了上面的原理,大多数人都应该懂了,除非不知道怎么添加系统用户和組,不知道怎么设置文件夹权限,不知道IIS站点属性在那里。真的有那样的人,你也不要着急,要沉住气慢慢来,具体的方法其实自己也能摸索出来的,我就是这样。当然,如果我有空,我会写我的具体设置方法,很傲能还会配上图片。

改名或卸载不安全组件
不安全组件不惊人
我的在阿江探针1.9里加入了不安全组件检测功能(其实这是参考7i24的代码写的,只是把界面改的友好了一点,检测方法和他是基本一样的),这个功能让很多站长吃惊不小,因为他发现他的服务器支持很多不安全组件。

其实,只要做好了上面的权限设置,那么FSO、XML、strem都不再是不安全组件了,因为他们都没有跨出自己的文件夹或者站点的权限。那个欢乐时光更不用怕,有杀毒软件在还怕什么时光啊。

最危险的组件是WSH和Shell,因为它可以运行你硬盘里的EXE等程序,比如它可以运行提升程序来提升SERV-U权限甚至用SERVU来运行更高权限的系统程序。

谨慎决定是否卸载一个组件
组件是为了应用而出现的,而不是为了不安全而出现的,所有的组件都有它的用处,所以在卸载一个组件之前,你必须确认这个组件是你的网站程序不需要的,或者即使去掉也不关大体的。否则,你只能留着这个组件并在你的ASP程序本身上下工夫,防止别人进来,而不是防止别人进来后SHELL。

比如,FSO和XML是非常常用的组件之一,很多程序会用到他们。WSH组件会被一部分主机管理程序用到,也有的打包程序也会用到。

卸载最不安全的组件
最简单的办法是直接卸载后删除相应的程序文件。将下面的代码保存为一个.BAT文件,( 以下均以 WIN2000 为例,如果使用2003,则系统文件夹应该是 C:WINDOWS )

regsvr32/u C:WINNTSystem32wshom.ocx
del C:WINNTSystem32wshom.ocx
regsvr32/u C:WINNTsystem32shell32.dll
del C:WINNTsystem32shell32.dll

然后运行一下,WScript.Shell, Shell.application, WScript.Network就会被卸载了。可能会提示无法删除文件,不用管它,重启一下服务器,你会发现这三个都提示"×安全"了。

改名不安全组件
需要注意的是组件的名称和Clsid都要改,并且要改彻底了。下面以Shell.application为例来介绍方法。

打开注册表编辑器【开始→运行→regedit回车】,然后【编辑→查找→填写Shell.application→查找下一个】,用这个方法能找到两个注册表项:"{ 13709620-C279-11CE-A49E-444553540000 }"和"Shell.application"。为了确保万无一失,把这两个注册表项导出来,保存为 .reg 文件。

比如我们想做这样的更改

13709620-C279-11CE-A49E-444553540000 改名为 13709620-C279-11CE-A49E-444553540001
Shell.application 改名为 Shell.application_ajiang

那么,就把刚才导出的.reg文件里的内容按上面的对应关系替换掉,然后把修改好的.reg文件导入到注册表中(双击即可),导入了改名后的注册表项之后,别忘记了删除原有的那两个项目。这里需要注意一点,Clsid中只能是十个数字和ABCDEF六个字母。

下面是我修改后的代码(两个文件我合到一起了):

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOTCLSID{ 13709620-C279-11CE-A49E-444553540001 }]
at ="Shell Automation Service"

[HKEY_CLASSES_ROOTCLSID{ 13709620-C279-11CE-A49E-444553540001 }InProcServer32]
@="C:\WINNT\system32\shell32 dot dll"
"ThreadingModel"="Apartment"

[HKEY_CLASSES_ROOTCLSID{ 13709620-C279-11CE-A49E-444553540001 }ProgID]
at ="Shell dot Application_ajiang.1"

[HKEY_CLASSES_ROOTCLSID{ 13709620-C279-11CE-A49E-444553540001 }TypeLib]
at ="{ 50a7e9b0-70ef-11d1-b75a-00a0c90564fe }"

[HKEY_CLASSES_ROOTCLSID{ 13709620-C279-11CE-A49E-444553540001 }Version]
@="1 dot 1"

[HKEY_CLASSES_ROOTCLSID{ 13709620-C279-11CE-A49E-444553540001 }VersionIndependentProgID]
at ="Shell dot Application_ajiang"

[HKEY_CLASSES_ROOTShell.Application_ajiang]
at ="Shell Automation Service"

[HKEY_CLASSES_ROOTShell dot Application_ajiangCLSID]
at ="{ 13709620-C279-11CE-A49E-444553540001 }"

[HKEY_CLASSES_ROOTShell dot Application_ajiangCurVer]
at ="Shell dot Application_ajiang.1"

你可以把这个保存为一个.reg文件运行试一下,但是可别就此了事,因为万一黑客也看了我的这篇文章,他会试验我改出来的这个名字的。

防止列出用户组和系统进程
我在阿江ASP探针1.9中结合7i24的方法利用getobject("WINNT")获得了系统用户和系统进程的列表,这个列表可能会被黑客利用,我们应当隐藏起来,方法是:

【开始→程序→管理工具→服务】,找到Workstation,停止它,禁用它。

防止Serv-U权限提升
其实,注销了Shell组件之后,侵入者运行提升工具的可能性就很小了,但是prel等别的脚本语言也有shell能力,为防万一,还是设置一下为好。

用Ultraedit打开ServUDaemon.exe查找Ascii:LocalAdministrator,和#l at $ak# dot lk;0 at P,修改成等长度的其它字符就可以了,ServUAdmin dot exe也一样处理。

另外注意设置Serv-U所在的文件夹的权限,不要让IIS匿名用户有读取的权限,否则人家下走你修改过的文件,照样可以分析出你的管理员名和密码。

利用ASP漏洞攻击的常见方法及防范
一般情况下,黑客总是瞄准论坛等程序,因为这些程序都有上传功能,他们很容易的就可以上传ASP木马,即使设置了权限,木马也可以控制当前站点的所有文件了。另外,有了木马就然后用木马上传提升工具来获得更高的权限,我们关闭shell组件的目的很大程度上就是为了防止攻击者运行提升工具。

如果论坛管理员关闭了上传功能,则黑客会想办法获得超管密码,比如,如果你用动网论坛并且数据库忘记了改名,人家就可以直接下载你的数据库了,然后距离找到论坛管理员密码就不远了。

作为管理员,我们首先要检查我们的ASP程序,做好必要的设置,防止网站被黑客进入。另外就是防止攻击者使用一个被黑的网站来控制整个服务器,因为如果你的服务器上还为朋友开了站点,你可能无法确定你的朋友会把他上传的论坛做好安全设置。这就用到了前面所说的那一大堆东西,做了那些权限设置和防提升之后,黑客就算是进入了一个站点,也无法破坏这个网站以外的东西。

后记
也许有安全高手或者破坏高手看了我的文章会嘲笑或者窃喜,但我想我的经验里毕竟还是存在很多正确的地方,有千千万万的比我知道的更少的人像我刚开始完全不懂的时候那样在渴求着这样一篇文章,所以我必须写,我不管别人怎么说我,我也不怕后世会有千千万万的人对我唾骂,我一个人承担下来,我也没有娘子需要交代的……

因为这其实只是抛砖引玉的做法,从别人的笑声中,我和我的读者们都可以学到更多有用的东西。

系统特性与web安全

文/安全天使·SuperHei

==============目录=================
一、WINDOWS系统
1、windows对..的支持
2、windows对.的忽略
二、*nix系统
1、freebsd系统下/的利用
2、大小写的区分
三,iis与apache
1、解析文件类型的利用
2、iis6的特性
3、apache文件名解析缺陷漏洞
四、配置文件的位置
==================================
一、WINDOWS系统
1、windows对..的支持
特性:win系统下可以用..进行跨目录操作
利用:web入侵中进行跨目录操作时,在web程序过滤了/的情况下,我们可以通过..突破。
实例:MolyX Board的attachment.php中attach变量过虑不严漏洞(http://4ngel.net/article/50.htm)在angel的文章里提供的解决方案里,只过滤了/,并没有对过滤,导致在win主机上漏洞依旧,详见http://www.4ngel.net/blog/hei/inDex.php?action=show&id=92
2、windows对.的忽略
特性:win系统下在文件后缀后的.将被忽略,如test.php. 与test.php是等同的
利用:导致上传文件时,被利用上传webshell
实例:缺
二、*nix系统
1、freebsd系统下/的利用 (ps:也有可能存在于其他系统)
特性:freebsd下因系统文件格式不同导致可以利用/进行目录列片攻击:如在freebsd下运行cat / 得到根目录下的所有文件夹及文件:

cat /

.
.. .snap(
dev
usr
var stand犅p
etc? cdromg? distsg?
bin? boot唜<
lib libexec
mnt ? proc唜?( rescue?? root唜?? sbin唜??
tmp

sys ? .cshrc?? .profile
? COPYRIGHTe?
compat?
home]D? entropy      service ( d greenarmy玩

利用:mysql注射时可以配合load_file()进行目录列片攻击。如load_file(0x2F) [0x2F为/的hex值] ,load_file(0x2Froot0x2F)
实例:如图1

2、大小写的区分
特性:*nix系统是文件格式区分大小写,而windows系统不区分。
利用:最简单的利用也是最直接的 用来区分web服务器使用的系统
实例:分别提交
http://www.4ngel.net/blog/hei/inDex.php 正常返回
http://www.4ngel.net/blog/hei/inDex.php 提示文件不存在
这个说明www.4ngel.net主机为非windows系统。

三,iis与apache
1、解析文件类型的利用
iis在支持asp外,还支持asa,cer,cdx,htr
apache+php在支持php外,还支持php3,php4,phpx等
由于web程序的过虑不足,导致可以上传webshell
2、iis6的特性
IIS 6.0 目录名里包含有文件.asp会导致其目录下任意文件当做asp文件来运行。如我们把webshell保存到test.asp/webshell.gif,当iis6下访问http://xxx/test.asp/webshell.gif 时webshell.gif被当作asp文件来解析。可以利用到通过数据库备用得到的webshell,存放后门等方面。
3、apache文件名解析缺陷漏洞
apache 文件名解析时,是从后面开始检查后缀,按最后一个合法后缀执行。如:cmdshell.php.heige 因为heige不被apache解析,所以apache把这个文件当php文件解析了.
利用:
a、有的web程序安装后,会把install.php改名为install.php.lock,install.php.bak等等
实例:BMForum等
b、挖掘上传漏洞
实例:Discuz!等
c、.....
四、配置文件的位置
每个系统都自己特定的配置文件(包括第3方软件的配置文件)其位置也是相对固定的。文件内容包含了服务器的敏感信息。在我们利用web漏洞任意操作文件时(如 include包含漏洞,mysql注射load_file()的利用,等等)读取或下载这些配置文件,导致敏感信息的泄露。如:
windows系统:boot.ini mysql的%SYSTEMROOT%/my.ini servu的c:program filesserv-uservudeamon.ini 等等
*nix系统的 etc/目录下的文件 等等

小结
本文只是个人的一些经验的整理,由于个人的知识有限,如果有什么不对的或者你有好的发现和经验,等待您的分享!


加速PHP程序

出处 菜鸟油 ( http://www.noobu.com ) 作者:沧蓝  欢迎转载,转载请注明出处与作者,谢谢
<推荐> 本文的完美排版/最后更新修正版本:http://www.noobu.com/0514_eaccelerator.html  <推荐>



什么是Eaccelerator?

也许你从没听说过Eaccelerator,但是我想大家都应该听说过MMCache吧?Eaccelerator可以算是MMCache的“后继者”。这款软件的功能就是通过在内存中缓存PHP文件从而加速PHP程序的执行速度。由于MMCache的原作者被Zend挖走,MMCache的开发一直处于停滞状态。而Eaccelerator却借鉴了MMCache的优点而一直在不断的更新。


首先,到Eaccelerator的网站上确定最新版本的版本号,然后下载到主机上,解压,并切换至eaccelerator目录。

紧接着需要编译并安装Eaccelerator。不过在此之前,我们先要确定主机上安装后一些必须的组件。

在Debian上,执行:

apt-get install gcc cpp php4-dev

如果是CentOS或Fedora或其他yum的操作系统,现用 yum search 查找文件名,然后用 yum install 来安装。

确认这些必须的组件都安装完毕之后一步一步执行以下命令:

export PHP_PREFIX="/usr"
$PHP_PREFIX/bin/phpize
./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config
make
make install

其中 PHP_PREFIX=”/usr” 为PHP的安装目录。

安装完成后,需要打开 php.ini 文件进行编辑,如果你不确定哪个是你的php.ini文件的话,请上传拥有以下内容的文件到服务器上,然后从浏览器中打开,寻找php.ini文件的路径:

<?php phpinfo(); ?>

在文件的最后,添加如下内容:
如果要把Eaccelerator安装为Zend的扩展:

zend_extension=”/usr/lib/php4/eaccelerator.so”
eaccelerator.shm_size=”16″
eaccelerator.cache_dir=”/tmp/eaccelerator”
eaccelerator.enable=”1″
eaccelerator.optimizer=”1″
eaccelerator.check_mtime=”1″
eaccelerator.debug=”0″
eaccelerator.filter=”"
eaccelerator.shm_max=”0″
eaccelerator.shm_ttl=”0″
eaccelerator.shm_prune_period=”0″
eaccelerator.shm_only=”0″
eaccelerator.compress=”1″
eaccelerator.compress_level=”9″


如果要安装为PHP的扩展:

extension=”eaccelerator.so”
eaccelerator.shm_size=”16″
eaccelerator.cache_dir=”/tmp/eaccelerator”
eaccelerator.enable=”1″
eaccelerator.optimizer=”1″
eaccelerator.check_mtime=”1″
eaccelerator.debug=”0″
eaccelerator.filter=”"
eaccelerator.shm_max=”0″
eaccelerator.shm_ttl=”0″
eaccelerator.shm_prune_period=”0″
eaccelerator.shm_only=”0″
eaccelerator.compress=”1″
eaccelerator.compress_level=”9″

最后,建立Eaccelerator的工作目录:

mkdir /tmp/eaccelerator
chmod 0777 /tmp/eaccelerator

好了,一切搞定!重起Apache吧(/etc/init.d/apache restart)!

注意事项:每次升级PHP前,请务必完全卸载Eaccelerator,等PHP升级完毕后,再重新安装。




出处 菜鸟油 ( http://www.noobu.com ) 作者:沧蓝  欢迎转载,转载请注明出处与作者,谢谢
<推荐> 本文的完美排版/最后更新修正版本:http://www.noobu.com/0514_eaccelerator.html  <推荐>

如何防止PHP木马!

disable_functions= passthru,exec,shell_exec,system,fopen,mkdir,rmdir,chmod,unlink,dir

  ,fopen,fread,fclose,fwrite,file_exists

  ,closedir,is_dir,readdir.opendir

  ,fileperms.copy,unlink,delfile

disable_functions =unlink,opendir,chdir,rmdir,phpinfo,passthru,exec,shell_exec,popen,wscript,system

通过对php一些服务器端特性的配置加强php的安全

by san@xfocus.org

前面象Shaun Clowes和rfp等都比较详细的介绍了php、cgi程序在编程过程中遇到的问题,以及如何通
过应用程序漏洞突破系统,这篇文章我们来通过对php的一些服务器端特性来进行配置加强php的安全。写
cgi脚本的时候我们的确一定注意各种安全问题,对用户输入进行严格的过滤,但是常在岸边走哪有不湿鞋
,吃烧饼哪有不掉芝麻,人有失蹄马有失手,连著名的phpnuke、phpMyAdmin等程序都出现过很严重的
问题,更何况象我等小混混写的脚本。所以现在我们假设php脚本已经出现严重问题,比如象前一阵子
phpnuke的可以上传php脚本的大问题了,我们如何通过对服务器的配置使脚本出现如此问题也不能突破
系统。

1、编译的时候注意补上已知的漏洞
从4.0.5开始,php的mail函数加入了第五个参数,但它没有好好过滤,使得php应用程序能突破
safe_mode的限制而去执行命令。所以使用4.0.5和4.0.6的时候在编译前我们需要修改php源码包里
ext/standard/mail.c文件,禁止mail函数的第五参数或过滤shell字符。在mail.c文件的第152
行,也就是下面这行:
if (extra_cmd != NULL) {
后面加上extra_cmd=NULL;或extra_cmd = php_escape_shell_cmd(extra_cmd);然后编译php
那么我们就修补了这个漏洞。

2、修改php.ini配置文件
以php发行版的php.ini-dist为蓝本进行修改。
1)Error handling and logging
在Error handling and logging部分可以做一些设定。先找到:
display_errors = On
php缺省是打开错误信息显示的,我们把它改为:
display_errors = Off
关闭错误显示后,php函数执行错误的信息将不会再显示给用户,这样能在一定程度上防止攻击者从
错误信息得知脚本的物理位置,以及一些其它有用的信息,起码给攻击者的黑箱检测造成一定的障碍
。这些错误信息可能对我们自己有用,可以让它写到指定文件中去,那么修改以下:
log_errors = Off
改为:
log_errors = On
以及指定文件,找到下面这行:
;error_log = filename
去掉前面的;注释,把filename改为指定文件,如/usr/local/apache/logs/php_error.log
error_log = /usr/local/apache/logs/php_error.log
这样所有的错误都会写到php_error.log文件里。
2)Safe Mode
php的safe_mode功能对很多函数进行了限制或禁用了,能在很大程度解决php的安全问题。在
Safe Mode部分找到:
safe_mode = Off
改为:
safe_mode = On
这样就打开了safe_mode功能。象一些能执行系统命令的函数shell_exec()和``被禁止,其它的一
些执行函数如:exec(), system(), passthru(), popen()将被限制只能执行
safe_mode_exec_dir指定目录下的程序。如果你实在是要执行一些命令或程序,找到以下:
safe_mode_exec_dir =
指定要执行的程序的路径,如:
safe_mode_exec_dir = /usr/local/php/exec
然后把要用的程序拷到/usr/local/php/exec目录下,这样,象上面的被限制的函数还能执行该目录
里的程序。
关于安全模式下受限函数的详细信息请查看php主站的说明:
http://www.php.net/manual/en/features.safe-mode.php
3)disable_functions
如果你对一些函数的危害性不太清楚,而且也没有使用,索性把这些函数禁止了。找到下面这行:
disable_functions =
在”=“后面加上要禁止的函数,多个函数用”,“隔开。

3、修改httpd.conf
如果你只允许你的php脚本程序在web目录里操作,还可以修改httpd.conf文件限制php的操作路径。比
如你的web目录是/usr/local/apache/htdocs,那么在httpd.conf里加上这么几行:
<Directory /usr/local/apache/htdocs>
php_admin_value open_basedir /usr/local/apache/htdocs
</Directory>
这样,如果脚本要读取/usr/local/apache/htdocs以外的文件将不会被允许,如果错误显示打开的话
会提示这样的错误:
Warning: open_basedir restriction in effect. File is in wrong directory in
/usr/local/apache/htdocs/open.php on line 4
等等。

4、对php代码进行编译
Zend对php的贡献很大,php4的引擎就是用Zend的,而且它还开发了ZendOptimizer和ZendEncode
等许多php的加强组件。优化器ZendOptimizer只需在http://www.zend.com注册就可以免费得到,
下面几个是用于4.0.5和4.0.6的ZendOptimizer,文件名分别对于各自的系统:
ZendOptimizer-1.1.0-PHP_4.0.5-FreeBSD4.0-i386.tar.gz
ZendOptimizer-1.1.0-PHP_4.0.5-Linux_glibc21-i386.tar.gz
ZendOptimizer-1.1.0-PHP_4.0.5-Solaris-sparc.tar.gz
ZendOptimizer-1.1.0-PHP_4.0.5-Windows-i386.zip
优化器的安装非常方便,包里面都有详细的说明。以UNIX版本的为例,看清操作系统,把包里的
ZendOptimizer.so文件解压到一个目录,假设是/usr/local/lib下,在php.ini里加上两句:
zend_optimizer.optimization_level=15
zend_extension="/usr/local/lib/ZendOptimizer.so"
就可以了。用phpinfo()看到Zend图标左边有下面文字:
with Zend Optimizer v1.1.0, Copyright (c) 1998-2000, by Zend Technologies
那么,优化器已经挂接成功了。
但是编译器ZendEncode并不是免费的,这里提供给大家一个http://www.PHPease.com的马勇设计的
编译器外壳,如果用于商业目的,请与http://www.zend.com联系取得许可协议。
php脚本编译后,脚本的执行速度增加不少,脚本文件只能看到一堆乱码,这将阻止攻击者进一步分析服
务器上的脚本程序,而且原先在php脚本里以明文存储的口令也得到了保密,如mysql的口令。不过在服
务器端改脚本就比较麻烦了,还是本地改好再上传吧。

5、文件及目录的权限设置
web目录里除了上传目录,其它的目录和文件的权限一定不能让nobody用户有写权限。否则,攻击者可
以修改主页文件,所以web目录的权限一定要设置好。
还有,php脚本的属主千万不能是root,因为safe_mode下读文件的函数被限制成被读文件的属主必须
和当前执行脚本的属主是一样才能被读,否则如果错误显示打开的话会显示诸如以下的错误:
Warning: SAFE MODE Restriction in effect. The script whose uid is 500 is not
allowed to access /etc/passwd owned by uid 0 in /usr/local/apache/htdocs/open.php
on line 3
这样我们能防止许多系统文件被读,比如:/etc/passwd等。
上传目录和上传脚本的属主也要设成一样,否则会出现错误的,在safe_mode下这些要注意。

6、mysql的启动权限设置
mysql要注意的是不要用root来启动,最好另外建一个mysqladm用户。可以在/etc/rc.local等系统
启动脚本里加上一句:
su mysqladm -c "/usr/local/mysql/share/mysql/mysql.server start"
这样系统重启后,也会自动用mysqladmin用户启动mysql进程。

7、日志文件及上传目录的审核及
查看日志和人的惰性有很大关系,要从那么大的日志文件里查找攻击痕迹有些大海捞针,而且也未必有。
web上传的目录里的文件,也应该经常检查,也许程序有问题,用户传上了一些非法的文件,比如执行脚
本等。

8、操作系统自身的补丁
一样,给系统打已知漏洞的补丁是系统管理员最基本的职责,这也是最后一道防线。

经过以上的配置,虽然说不上固若金汤,但是也在相当程度上给攻击者的测试造成很多麻烦,即使php脚本程
序出现比较严重的漏洞,攻击者也无法造成实际性的破坏。
如果您还有更古怪,更变态的配置方法,希望能一起分享分享;)

参考资料:
PHP Manual
http://www.zend.com

网络配置随心所欲 浅谈网络环境的快速切换

笔者所在学校作为扬州市现代教育技术示范学校,于2001年建成校园网;2003年构建了校园资源平台,2004年又接入了所在地的城域网资源平台,而两个资源库平台不在一个网络环境内,每次访问资源库都需要重新设置网络参数,显得非常麻烦。为了解决该问题,经过一段时间的探索,我们总结出如下一些快速设置网络参数的方法。

  一、标准属性设置法

  这是最常用的设置方法,即在操作系统下直接修改IP地址、子网掩码、网关地址等参数,具体方法不再赘述。

  二、制作批处理文件(.bat)法

  1. 网络配置的备份。当电脑处于学校的资源库平台时,在“开始→运行”中输入“cmd”,进入DOS界面,然后输入“netsh -c interface dump>c:school.txt”,这样就完成了校园网网络配置的备份。同样方法备份城域网的网络配置City.txt。

  2. 完成备份后,就可以制作批处理文件(.bat)了。打开记事本输入以下内容:netsh -f c:school.txt ,保存为School.bat文件;城域网的批处理文件(City.bat)内容为:netsh -f c:city.txt 。

  网络转换时只需双击相应的批处理文件,即可快速完成。

  当然,上面两步完全可以建立为一个批处理文件。比如,城域网的配置批处理(City.bat)文件内容为:

  @echo off

  netsh interface ip set address name="本地连接" source=static addr=10.18.33.25 mask=255.255.255.0

  netsh interface ip set address name="本地连接" gateway=10.18.33.1 gwmetric=0

  netsh interface ip set dns name="本地连接" source=static addr=61.147.37.1 register=PRIMARY

  netsh interface ip add dns name="本地连接" addr=61.177.7.1

  netsh interface ip set wins name="本地连接" source=static addr=none

  注意:该命令仅对Windows XP/NT有效,且无需重新启动即可生效。

  三、制作注册表(.reg)文件法

  注册表是Windows XP/NT系统的核心配置数据库,网络配置参数也是存放在注册表中的,我们自然可以更改注册表中的网络配置信息,完成网络的切换功能。(强烈建议在修改前对原注册表文件进行一次导出备份)其具体的设定办法如下:

  在Windows XP/NT系统中进入注册表编辑器;在左边窗口依次点主键菜单展开“HKEY_LOCAL_MACHINESYS-TEMControlSet001ServicesA729845-A8AD-4E54-A34A-82E362909B59}ParametersTcpip”项目,在注册表的窗口右边可看到“DefaultGateway”、“IPAddress”、“SubnetMask”等键值(图1),双击键值可以修改本机当前配置的IP地址、网关及子网掩码信息。

  最后将“HKEY_LOCAL_MACHINE

  SYSTEMControlSet001Services”项目导出为City.reg,即可将城域网的配置保存下来。同理,保存校园资源库平台的网络配置(School.reg)。网络切换时,双击相应的注册表文件即可。

  四、软件法切换网络配置

  上面几种方法相对普通用户而言,都略显复杂。实际上我们可以采用更为简便的专用程序切换,这就是IPSwitcher Basic(下载地址:www.onlinedown.net/soft/6576.htm)。

  安装启动IPSwitcher Basic后,会发现其中已经存在当前的网络配置。选择主窗口中的New项创建第二个网络配置,点击New Configuration #1项,可以设置IP地址、网关、DNS服务器等等(图2)。配置完成后保存即可。

  需要进行切换时,在主窗口中选择某个网络配置,直接点击[Apply]就能切换为这个网络配置,并且无需重新启动,非常方便。该软件适用于Windows 98/ NT/XP环境。

  图1 注册表中的网络配置信息

  图2 IPSwitcher Basic主界面

多服务器间的数据同步更新方法[ACCESS]

如何远程调用ACCESS数据库]

使用了TCP/IP,ADO及XML(需要安装Microsoft XML 4.0。)。分服务器和客户端两部分,服务器可以多用户同时连接。远程连接Access数据库有很多方法,我以前已经比较详细的回答过(见下面所列的5种方法),我现在这个例子属于其中的第3种方法(不需要使用RDS或Web服务器)。

  -------------------------------------

  远程连接access数据库的几个方法:

  1.建立VPN(Virtual Private Network),这样你的电脑和主机的连接就与局域网无异,然后把服务器中mdb文件所在的Folder共享即可。ADO连接如下:

  oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\ServerNameDatabaseFolderDatabase.mdb;Jet OLEDBatabase Password=databasepw;Persist Security Info=False"

  2.把Database放在Web Server上,使ADO或RDO通过RDS(Remote Data Service)及IIS来实现:

  如果服务器像上面Jave大侠说那样设置了ODBC DSN的话:

  oConn.Open "Provider=MS Remote;" & _

  "Remote Server=http://myServerName;" & _

  "Remote Provider=MSDASQL;" & _

  "DSN=AdvWorks;" & _

  "Uid=myUsername;" & _

  "Pwd=myPassword"


  如果设置的是OLE DB Provider 的话:

  oConn.Open "Provider=MS Remote;" & _

  "Remote Server=http://myServerName;" & _

  "Remote Provider=Microsoft.Jet.OLEDB.4.0;" & _

  "Data Source=c:somepathmydb.mdb", _

  "admin", ""

  3.自己编写服务器程序,通过TCP/IP,传递Recordset。

  4.使用第三方控件,如:ADO Anywhere或UDAParts RDB等。具体查看

  http://www.adoanywhere.com

  http://www.udaparts.com/

  5.使用XMLHTTP

  --------------------------------------

  附 远程连接SQL Server的方法:

  ConnStr = "Provider=SQLOLEDB.1;Network Library=DBMSSOCN;Persist Security Info=True;User ID=UserName;Password=Password;Initial Catalog=远程数据库名;Data Source=203.129.92.1"

远程调用ACCESS数据库的源代码

下边的代码适合于所有ACCESS数据库的调用。
把下边的代码保存成一个ASP文件,如NEWS.ASP
data/news.mdb是数据库的目录路径和数据库的名字
top 15是在首页显示15条的意思
From news 是打开NEWS数据库的意思,NEWS是数据库的表的名字
& rs_news("url") &是鼠标点击显示出来的标题的URL
& rs_news("name") & 是让首页显示的标题的字段,要想显示数据库里的哪个字段,就调用哪个

首页调用格式如下:
news.asp的路径邀写对才行
<script language=javascript src="news.asp"></script>


<%
Set conn = Server.CreateObject("ADODB.Connection")
DBPath = Server.MapPath("data/news.mdb")

conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
sql_news="Select top 15 * From news Order By id DESC"

set rs_news=conn.execute(sql_news)
if not rs_news.eof then
rs_news.movefirst
dis_mes=dis_mes & "<tr><td valign=top>"
do while not rs_news.eof
dis_mes=dis_mes &"<li><a href=" & rs_news("url") & " target=_blank>" & rs_news("name") & "</a><br>"
rs_news.movenext
loop
dis_mes=dis_mes & "</td></tr>"
end if
rs_news.close
dis_mes="document.write(""" & dis_mes & """);"
response.write dis_mes
%>


本博客立志于收集各类技术资料及技术信息,便于本人和广大网友查询检索,无论公司或个人认为本站存在侵权内容均可与本站联系,任何此类反馈信息一经查明属实后,将立即删除!