
# Remove Ubuntu PHP Packagessudo apt-get remove php5 php5-cli php5-common php5-curl php5-dev php5-gd php5-geoip php5-imagick php5-intl php5-mcrypt php5-mysql php5-xdebug php5-xsl # Remove PECL Packagessudo pecl uninstall apcsudo pecl uninstall geoipsudo pecl uninstall xdebug
2. 获取 PHP 指定版本
# Get PHP 5.4.17 Source
wget http://museum.php.net/php5/php-5.4.17.tar.bz2
tar jxf php-5.4.17.tar.bz2
cd php-5.4.17/
3. 编译
# Configure PHP Source
# Note: Use `php-config` utility to determine your existing PHP configure options.
./configure
# Install PHPmakemake testsudo make install
4. 使用 peci
sudo pecl install ssh2 channel://pecl.php.net/ssh2-0.12
5. 在 php.ini 中加入
add the "extension=ssh2.so" to the extension part of php.ini
6. 重启 apache
随着Internet互联网络带宽的增加和多种DDoS黑客工具的不断发布,DDoS拒绝服务攻击的实施越来越容易,DDoS攻击事件正在成上升趋势。出于商业竞争、打击报复和网络敲诈等多种因素,导致很多IDC托管机房、商业站点、游戏服务器、聊天网络等网络服务商长期以来一直被DDoS攻击所困扰,随之而来的是客户投诉、同虚拟主机用户受牵连、法律纠纷、商业损失等一系列问题,因此,解决DDoS攻击问题成为网络服务商必须考虑的头等大事。DDoS是英文Distributed Denial of Service的缩写,意即分布式拒绝服务,那么什么又是拒绝服务(Denial of Service)呢?可以这么理解,凡是能导致合法用户不能够访问正常网络服务的行为都算是拒绝服务攻击。也就是说拒绝服务攻击的目的非常明确,就是要阻止合法用户对正常网络资源的访问,从而达成攻击者不可告人的目的。
虽然同样是拒绝服务攻击,但是DDoS和DOS还是有所不同,DDoS的攻击策略侧重于通过很多僵尸主机(被攻击者入侵过或可间接利用的主机) 向受害主机发送大量看似合法的网络包,从而造成网络阻塞或服务器资源耗尽而导致拒绝服务,分布式拒绝服务攻击一旦被实施,攻击网络包就会犹如洪水般涌向受害主机,从而把合法用户的网络包淹没,导致合法用户无法正常访问服务器的网络资源,因此,拒绝服务攻击又被称之为洪水式攻击。
常见的DDoS攻击手段有SYN Flood、ACK Flood、UDP Flood、ICMP Flood、TCP Flood、Connections Flood、Script Flood、Proxy Flood等而DOS则侧重于通过对主机特定漏洞的利用攻击导致网络栈失效、系统崩溃、主机死机而无法提供正常的网络服务功能,从而造成拒绝服务,常见的DOS攻击手段有TearDrop、Land、Jolt、IGMP Nuker、Boink、Smurf、Bonk、OOB等。就这两种拒绝服务攻击而言,危害较大的主要是DDoS攻击,原因是很难防范,至于DOS攻击,通过给主机服务器打补丁或安装防火墙软件就可以很好地防范,后文会详细介绍怎么对付DDoS攻击。三、被DDoS了吗?
DDoS的表现形式主要有两种,一种为流量攻击,主要是针对网络带宽的攻击,即大量攻击包导致网络带宽被阻塞,合法网络包被虚假的攻击包淹没而无法到达主机另一种为资源耗尽攻击,主要是针对服务器主机的攻击,即通过大量攻击包导致主机的内存被耗尽或CPU被内核及应用程序占完而造成无法提供网络服务。
当然,这样测试的前提是你到服务器主机之间的ICMP协议没有被路由器和防火墙等设备屏蔽,否则可采取Telnet主机服务器的网络服务端口来测试,效果是一样的。不过有一点可以肯定,假如平时Ping你的主机服务器和接在同一交换机上的主机服务器都是正常的,突然都Ping不通了或者是严重丢包,那么假如可以排除网络故障因素的话则肯定是遭受了流量攻击,再一个流量攻击的典型现象是,一旦遭受流量攻击,会发现用远程终端连接网站服务器会失败。
相对于流量攻击而言,资源耗尽攻击要容易判断一些,假如平时Ping网站主机和访问网站都是正常的,发现突然网站访问非常缓慢或无法访问了,而 Ping还可以Ping通,则很可能遭受了资源耗尽攻击,此时若在服务器上用Netstat -na命令观察到有大量的SYN_RECEIVED、TIME_WAIT、FIN_WAIT_1等状态存在,而ESTABLISHED很少,则可判定肯定是遭受了资源耗尽攻击。
还有一种属于资源耗尽攻击的现象是,Ping自己的网站主机Ping不通或者是丢包严重,而Ping与自己的主机在同一交换机上的服务器则正常,造成这种原因是网站主机遭受攻击后导致系统内核或某些应用程序CPU利用率达到100%无法回应Ping命令,其实带宽还是有的,否则就Ping不通接在同一交换机上的主机了。
当前主要有三种流行的DDoS攻击:
1、SYN/ACK Flood攻击:这种攻击方法是经典最有效的DDoS方法,可通杀各种系统的网络服务,主要是通过向受害主机发送大量伪造源IP和源端口的SYN或ACK 包,导致主机的缓存资源被耗尽或忙于发送回应包而造成拒绝服务,由于源都是伪造的故追踪起来比较困难,缺点是实施起来有一定难度,需要高带宽的僵尸主机支持。
少量的这种攻击会导致主机服务器无法访问,但却可以Ping的通,在服务器上用Netstat -na命令会观察到存在大量的SYN_RECEIVED状态,大量的这种攻击会导致Ping失败、TCP/IP栈失效,并会出现系统凝固现象,即不响应键盘和鼠标。普通防火墙大多无法抵御此种攻击。
2、TCP全连接攻击:这种攻击是为了绕过常规防火墙的检查而设计的,一般情况下,常规防火墙大多具备过滤TearDrop、Land等DOS攻击的能力,但对于正常的TCP连接是放过的,殊不知很多网络服务程序(如:IIS、Apache等Web服务器)能接受的TCP连接数是有限的。
一旦有大量的TCP连接,即便是正常的,也会导致网站访问非常缓慢甚至无法访问,TCP全连接攻击就是通过许多僵尸主机不断地与受害服务器建立大量的TCP连接,直到服务器的内存等资源被耗尽而被拖跨,从而造成拒绝服务,这种攻击的特点是可绕过一般防火墙的防护而达到攻击目的,缺点是需要找很多僵尸主机,并且由于僵尸主机的IP是暴露的,因此容易被追踪。
3、刷Script脚本攻击:这种攻击主要是针对存在ASP、JSP、PHP、CGI等脚本程序,并调用MSSQLServer、 MySQLServer、Oracle等数据库的网站系统而设计的,特征是和服务器建立正常的TCP连接,并不断的向脚本程序提交查询、列表等大量耗费数据库资源的调用,典型的以小博大的攻击方法。
一般来说,提交一个GET或POST指令对客户端的耗费和带宽的占用是几乎可以忽略的,而服务器为处理此请求却可能要从上万条记录中去查出某个记录,这种处理过程对资源的耗费是很大的,常见的数据库服务器很少能支持数百个查询指令同时执行,而这对于客户端来说却是轻而易举的,因此攻击者只需通过 Proxy代理向主机服务器大量递交查询指令,只需数分钟就会把服务器资源消耗掉而导致拒绝服务。
常见的现象就是网站慢如蜗牛、ASP程序失效、PHP连接数据库失败、数据库主程序占用CPU偏高。这种攻击的特点是可以完全绕过普通的防火墙防护,轻松找一些Proxy代理就可实施攻击,缺点是对付只有静态页面的网站效果会大打折扣,并且有些Proxy会暴露攻击者的IP地址。
一、简介1. 介绍:关于
1) AMX Mod X
AMX Mod X是致力于服务器管理领域而开发的多功能半条命-Metamod 插件。它有强大的脚本兼容性,你可以按个人要求自己编写“插件” 或添加文件增加模块功能。插件有如下种类:管理服务(增加新的管理命令)、各项统计(StatsX),娱乐附件(无敌模式等),游戏方式更改(WC3, CSDM),当然还有很多其他种类!此外,你也可以编写模块来扩展AMX Mod X 的功能。
2) AMX Mod X and AMX Mod
AMX Mod X 的前身是AMX MOD——由OLO编写的同类半条命MOD。但不幸的是,AMX MOD项目后来陷入了一场所有人都不愿看到的危机(缺少公众参与,不公开源代码,没有专人来维护核心代码)。而随着开发人员一个又一个失望而去,AMX MOD也显得死气沉沉,有鉴于此,一个新的项目AMX MOD X在万众期待中顺利开展。从那时起,AMX MOD X项目经历了无数的风风雨雨。AMX MOD中几乎每一个部分不是从零做起, 就是大幅改动以适应新的系统机制。AMX MOD X已不是昔日的AMX MOD,与其前身相比,AMX MOD X肯定要更胜一筹,更为重要的是,它具有良好的向下兼容性。
2.介绍: 特性
a) 特性
* 管理系统
* 脚本/插件系统
* 模块扩展系统
* 基本管理命令,比如:
o 封人,踢人
o 打耳光/处死玩家
o 聊天
o 预留通道
o 灌水保护
o 武器禁用
o 各项统计 (同StatsMe)
* 动态菜单系统
b) 开发者特性
AMX Mod X 有一整套完善的API供开发者使用,借此你可以将模块与 Metamod 还有 AMX Mod X联系起来。这其中包括可提供调试及内存溢出跟踪功能的开发环境,还有及时更新的开发工具包。凭借着600多种内建函数支持以及扩展性、协调性良好的多媒体/软件开发包,AMX MOD X足以胜任为您的服务器提供一套快速的解决方案。你再也不需要关心那些恼人的Metamod插件编写细节,更不需要整天围着老得掉牙的AMX MOD模块。
插件有以下优点:
* 注册客户端/控制台命令
* 可与游戏DLL以及HL引擎中绝大多数函数挂钩
* 可调用游戏DLL以及HL2引擎中绝大多数函数
* 截获并修改事件
* 从实体和全局设定中轻松提取信息
* 创建/修改CVAR参数
* 可与PostgreSQL, MySQL, 或MS-SQL建立连接
* 利用TCP和UDP Socket功能
* 支持常规表达式
* 提供堆栈追踪支持的新型调试系统
* 创建游戏内菜单
* 易用的多语言系统
* 体系独立格式(.amxx)
* 为CS/CZ, DoD, TFC, TS, 和 NS量身打造的特定函数
* ... 还有很多!
模块有以下优点:
* 集成可追踪内存分配的环境
* 拥有M/SDK(软件工具开发包),无需 .def文件或外部的include文件,如"modules.h"
* 接口上下兼容,使用“按名请求功能”系统
* 功能全面,可与AMX MOD X核心连接,也可实现普通任务,如得到玩家信息或处理插件数据。
* 模块使用从Metamod分离出来的名为"FakeMeta"的接口,因此其功能出自Metamod,且与其兼容。
二、安装
a) 简介
可以使用多种途径安装AMX Mod X。如果你有服务器的shell或者直接存取权限,那就可以直接在服务器上 *** 作。如果你只有FTP权限,那最好先在自己的机器上试验一下,安装AMD Mod X,配置完毕,检查无误后再上传到远程服务器。当然你也可以先上传安装好的文件,然后再利用FTP权限进行配置。
这里我们要提及一个贯穿说明文档始终的概念——“mod 文件夹”—— 这代表MOD的安装路径,比如说 “cstrike”, 或是 “dod”。如果你要在listen server(侦听服务器)上安装AMX Mod X,那么“mod文件夹”应该在\Program Files\Steam\SteamApps\<你的steam帐号>\<Valve游戏或半条命>\<mod文件夹>。如果你使用dedicated server(专用服务器),那就应该是HLServer\<mod 文件夹>。在Linux系统下应该为 hlds_l/<mod文件夹>。如果你只有远程/FTP权限,大多数情况下你已经被限制在mod文件夹或是hlds_l目录下了, 所以不必再通过以上路径查找。在本说明文章中,<mod文件夹>的意义如上所述。对Linux用户来说,执行文件的后缀不是".dll"而是"_i386.so",而对于 AMD64机型来说则是"_amd64.so"。
b) 目录机构
下面我们来熟悉一下AMX Mod X的目录结构。
addons\ - 这个是服务器附加文件所在的位置
metamod\ - Metamod的所在目录。Metamod为AMX Mod X运行之必备。
dlls\ - 这里存放着Metamod 的执行文件
amxmodx\ - AMX Mod X的所在目录
dlls\ - 其中应该包含amxmodx_mm.dll
modules\ - 模块所在目录 (_amxx.dll 或是 _amxx_i386.so 等等)
plugins\ - 插件所在目录 (.amx 或 .amxx)
scripting\ - 示例源代码以及编译器所在目录
include\ - 源代码所需的include文件所在目录
compiled\ - 编译器批处理编译源码后放置.amxx文件的默认路径
doc\ - 此说明文档的所在目录
data\ - 相关信息,比如存储的统计信息,语言缓存,以及GeoIP信息
lang\ -存放AMX Mod X的多语言文件
configs\ - 配置文件
logs\ - AMX Mod X 记录文件
c) Metamod
1. 如果你已经安装了Metamod,请跳到步骤e
在你的mod文件夹下,创建“addons”目录
在 <mod文件夹>\addons目录下,创建“metamod”目录。
在 <mod文件夹>\addons\metamod目录下,创建“dlls”目录。
2. 登陆www.metamod.org站点下载适当版本的Metamod (Windows,Linux,或是 Linux AMD64)。
3. 将metamod执行文件释放到 <mod 文件夹>\addons\metamod\dlls 目录下
4. 使用文本编辑器,比如记事本,编辑文件 <mod文件夹>\liblist.gam
对于windows, 找到 gamedll 一行。内容如下:
gamedll "dlls\mp.dll"
替换为:
gamedll "addons\metamod\dlls\metamod.dll"
对于Linux,找到 gamedll 一行。内容如下:
gamedll_linux "dlls/mp_i386.so"
替换为:
gamedll_linux "addons/metamod/dlls/metamod_i386.so"
*注意:对于AMD64服务器请使用metamod_amd64.so。
5. 编辑文件<mod文件夹>\addons\metamod\plugins.ini. 若不存在,则创建此文件。
6. 如果你由AMX或者AMD Mod X 0.1x版本升级而来,请跳到步骤h
7. 在 <mod文件夹>\addons\metamod\plugins.ini 中添加如下一行: Windows系统:
win32 addons\amxmodx\amxmodx_mm.dll
Linux系统:
linux addons\amxmodx\amxmodx_mm_i386.so
Linux AMD64系统:
linux addons\amxmodx\amxmodx_mm_amd64.so
8. 如果你在使用AMX,请将“amx\amx_”改为“amxmodx\amxmodx_”。
如果你在使用MAX Mod X 0.1x版本,请将“amxx\amxx_”改为“amxmodx\amxmodx_”。
d) AMX Mod X
1. 登陆www.metamod.org站点,点击“Downloads”。选择合适版本(Windows,Linux,或是AMD64)版本的amxmodx-base安装包下载。
2. 释放基本安装包到你的mod文件夹。AMX Mod X会被放置在 <mod文件夹>\addons\amxmodx目录下
3. 回到AMX Mod X下载页面,下载与你的MOD相对应的附加安装包。
截止到撰写此文时,已有 Counter-Strike/Condition-Zero, Team Fortress Classic, Day of Defeat, The Specialists, 以及Natural Selection的附加安装包提供下载。
请务必下载与服务器 *** 作系统相对应的版本,Windows, Linux, 或是AMD64。
4. 释放安装文件到你的mod文件夹。它将自动与<mod文件夹>\addons\amxmodx中的文件整合在一起。
5. AMX Mod X安装完毕!现在你就可以重启服务器感受一下(键入“meta list”查看是否已被加载)。
e) Configuration
AMX Mod X安装完毕,请转到配置部分。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)