问题分析:

调整了 Mantis 的上传附件的大小却没有调整 MySQL 的配置文件。

解决办法:

1、独立主机用户请按照以下方法调整:

查找 MySQL 的配置文件(my.cnf 或者 my.ini)

在 [MySQLd] 部分添加一句(如果存在,调整其值就可以):

max_allowed_packet=10M

重启 MySQL 服务就可以了。这里设置的是 10MB。

2、虚拟主机用户请联系空间商调整此参数

查看磁盘i/o
iostat
rrqm/s: 每秒进行 merge 的读操作数目。即 delta(rmerge)/s
wrqm/s: 每秒进行 merge 的写操作数目。即 delta(wmerge)/s
r/s: 每秒完成的读 I/O 设备次数。即 delta(rio)/s
w/s: 每秒完成的写 I/O 设备次数。即 delta(wio)/s
rsec/s: 每秒读扇区数。即 delta(rsect)/s
wsec/s: 每秒写扇区数。即 delta(wsect)/s
rkB/s: 每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。(需要计算)
wkB/s: 每秒写K字节数。是 wsect/s 的一半。(需要计算)
avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区)。delta(rsect+wsect)/delta(rio+wio)
avgqu-sz: 平均I/O队列长度。即 delta(aveq)/s/1000 (因为aveq的单位为毫秒)。
await: 平均每次设备I/O操作的等待时间 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio)
svctm: 平均每次设备I/O操作的服务时间 (毫秒)。即 delta(use)/delta(rio+wio)
%util: 一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的。即 delta(use)/s/1000 (因为use的单位为毫秒)

如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘
可能存在瓶颈。
idle小于70% IO压力就较大了,一般读取速度有较多的wait.
同时可以结合vmstat 查看查看b参数(等待资源的进程数)和wa参数(IO等待所占用的CPU时间的百分比,高过30%时IO压力高)

另外还可以参考
svctm 一般要小于 await (因为同时等待的请求的等待时间被重复计算了),svctm 的大小一般和磁盘性能有关,CPU/内存的负荷也会对其有影响,请求过多也会间接导致 svctm 的增加。await 的大小一般取决于服务时间(svctm) 以及 I/O 队列的长度和 I/O 请求的发出模式。如果 svctm 比较接近 await,说明 I/O 几乎没有等待时间;如果 await 远大于 svctm,说明 I/O 队列太长,应用得到的响应时间变慢,如果响应时间超过了用户可以容许的范围,这时可以考虑更换更快的磁盘,调整内核 elevator 算法,优化应用,或者升级 CPU。
队列长度(avgqu-sz)也可作为衡量系统 I/O 负荷的指标,但由于 avgqu-sz 是按照单位时间的平均值,所以不能反映瞬间的 I/O 洪水。

在命令行方式下,如何查看CPU、内存的使用情况,网络流量和磁盘I/O?

Q: 在命令行方式下,如何查看CPU、内存的使用情况,网络流量和磁盘I/O?

A: 在命令行方式下,

1. 查看CPU使用情况的命令

“”每5秒刷新一次,最右侧有CPU的占用率的数据

$ vmstat 5

“”top 然后按Shift+P,按照进程处理器占用率排序

$ top

2. 查看内存使用情况的命令

“”用free命令查看内存占用情况

$ free

“”top 然后按Shift+M, 按照进程内存占用率排序

$ top

3. 查看网络流量

“”可以用工具iptraf工具

$ iptraf -g

“”针对某个Interface的网络流量可以通过比较两个时间网络接口的RX和TX数据来获得

$ date; ifconfig eth1

$ date; ifconfig eth1

4. 查看磁盘i/o

“”用iostat查看磁盘/dev/sdc3的磁盘i/o情况,每两秒刷新一次

$ iostat -d -x /dev/sdc3 2

“”用vmstat查看io部分的信息

$ vmstat 2

procs:
r–>;在运行队列中等待的进程数
b–>;在等待io的进程数
w–>;可以进入运行队列但被替换的进程

memoy
swap–>;现时可用的交换内存(k表示)
free–>;空闲的内存(k表示)

pages
re--》回收的页面
mf--》非严重错误的页面
pi--》进入页面数(k表示)
po--》出页面数(k表示)
fr--》空余的页面数(k表示)
de--》提前读入的页面中的未命中数
sr--》通过时钟算法扫描的页面

disk 显示每秒的磁盘操作。 s表示scsi盘,0表示盘号

fault 显示每秒的中断数
in--》设备中断
sy--》系统中断
cy--》cpu交换

cpu 表示cpu的使用状态
cs--》用户进程使用的时间
sy--》系统进程使用的时间
id--》cpu空闲的时间

其中:
如果 r经常大于 4 ,且id经常少于40,表示cpu的负荷很重。
如果pi,po 长期不等于0,表示内存不足。
如果disk 经常不等于0, 且在 b中的队列 大于3, 表示 io性能不好。

 webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好,安装使用也特别方便。

  1、适用系统:Linux

  2、编译安装:

wget http://blog.s135.com/soft/linux/webbench/webbench-1.5.tar.gz
tar zxvf webbench-1.5.tar.gz
cd webbench-1.5
make && make install

  3、使用:

webbench -c 500 -t 30 http://127.0.0.1/test.jpg
  参数说明:-c表示并发数,-t表示时间(秒)

  4、测试结果示例:

Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://127.0.0.1/test.jpg
500 clients, running 30 sec.

Speed=3230 pages/min, 11614212 bytes/sec.
Requests: 1615 susceed, 0 failed.

1. CC基本原理

CC攻击利用代理服务器向网站发送大量需要较长计算时间的URL请求,如数据库查询等,导致服务器进行大量计算而很快达到自身的处理能力而形成DOS,而攻击者一旦发送请求给代理后就主动断开连接,因为代理并不因为客户端这边连接的断开就不去连接目标服务器,因此攻击机的资源消耗相对很小,而从目标服务器看来,来自代理的请求都是合法的。

2. 以前的方法

为防范CC,以前的方法一个是限制每个IP的连接数,这个在地址范围很广阔的情况下比较难实现;二是限制代理的访问,因为一般的代理都会在HTTP头中带X_FORWARDED_FOR字段,但也有局限,有的代理的请求中是不带该字段的,另外有的客户端确实需要代理才能连接目标服务器,这种限制就拒绝了这类合法客户。

3. 新思路

CC有效性在于攻击方不接受服务器回应的数据,发送完请求后就主动断开连接,因此要确认连接是否是CC,服务器端不立即执行URL请求命令,而是简单的返回一个页面转向的回应,回应中包含新的URL请求地址,如果是正常访问,客户端会主动再次连接到转向页面,对用户来说是透明的;而对于CC攻击者,由于不接收回应数据,因此就不会重新连接,服务器也就不需要进行查询操作。

4. 具体实现: CC cookie

具体实现的关键在于转向的URL如何构造,我设计的方法是增加CC cookie,即在原URL请求的最后面添加一个独一无二的cookie,文本形式,作为URL的一部分;当包含该cookie的URL重新返回时,先检查该cookie是否合法,如果合法,则说明该URL是合法的再次连接,将URL中的cookie部分抹去,恢复为原始的URL请求再发给服务器进行正常访问;否则拒绝该URL。

5. 安全性考虑

为保证此方法的有效,需要注意以下问题:

1)cookie的选择,要对每个URL请求都不同,即使URL是相同的,有两种方式,一种是根据所请求的URL和客户端的信息和一些随机信息计算出一个cookie值,检验时按相同的方式计算cookie是否符合;第二种方式是直接随机生成cookie,然后将cookie保存到一个库中,检验时就是检查客户端提交的cookie是否在库中。无论哪种方法,cookie的选择必须足够随机,不能被猜出计算规律或猜出当前cookie库中有哪些cookie;

2)cookie添加到URL时的格式标志必须独特,不能和正常URL请求中有冲突的地方,这个应该是可以控制的,因为要保护的服务器是在自己控制之下的,URL有哪些格式是可控的,因此设计一个独特的cookie标志是可行的,而且这个标志格式应该经常变换;

3)cookie的有效时间,cookie只在一定时间内有效,超时将删除,时间选择必须合适,不要太长或太短;

4)cookie dos攻击,如果CC攻击程序发现服务器用了cookie保护而中预先带了cookie,必须能比较快速地检测这个cookie是否合法,对于非法cookie的连接请求丢弃;cookie标志也要经常变换以防止DOS;

5)提高效率方法,对于HTTP/1.1的连接,有keep-alive选项,一个连接中可以进行多次URL请求操作,对于已经认证了的连接,如果该连接中继续有URL请求的话,可以不用再进行cookie认证以提高效率;此外,应该可以指定只对某些类型的URL进行cookie处理,如cgi、php、asp的请求,而普通静态文本或图片、媒体等URL不用进行cookie处理。

6. 结论

本文提出的这种CC cookie防御方法可以有效防御CC攻击,而不会影响正常用户的访问,对用户来说是透明的。本方法比较适合在防火墙上实现,也可以由服务器本身实现。

前置知识:ASP基本阅读能力
蝴蝶:前段时间上海一家游戏娱乐公司的网站遭到了基于页面请求的DDOS分布式拒绝服务攻击,网站陷入完全瘫痪状态,并被黑客的匿名信勒索,金额高达10万元,而在勒索过程中,这群黑客还表示会对腾讯QQ等网站下手,随后QQ“服务器维护”几天.12月5号的时候,全球BitTorrent服务器也受到了很强烈的DDOS攻击,一度陷入瘫痪.而DDOS攻击中最流行的也是威力最大的就是基于页面的DDOS以及将这个攻击理论发挥得淋漓尽致的攻击工具CC,本文特邀CC作者和我们共同了解CC的相关攻击原理和防范方法,希望能让更多的朋友了解这样的攻击方式并能防范它.
很多朋友都知道木桶理论,一桶水的最大容量不是由它最高的地方决定的,而是由它最低的地方决定,服务器也是一样,服务器的安全性也是由它最脆弱的地方决定的,最脆弱的地方有多危险服务器就有多危险.DDOS也是一样,只要你的服务器存在一个很耗资源的地方,限制又不够,就马上成为别人DDOS的对象.比如SYN-FLOOD,它就是利用服务器的半连接状态比完全连接状态更耗资源,而SYN发动方只需要不停的发包,根本不需要多少资源.
一个好的DDOS攻击必须是通过自己极少资源的消耗带来对方较大的资源消耗,否则比如ICMP-FLOOD和UDP-FLOOD都必须和别人一样大的带宽,对方服务器消耗多少资源自己也得赔上多少资源,效率极其低下,又很容易被人发现,现在基本没有什么人用了.
攻击原理
CC主要是用来攻击页面的.大家都有这样的经历,就是在访问论坛时,如果这个论坛比较大,访问的人比较多,打开页面的速度会比较慢,对不?!一般来说,访问的人越多,论坛的页面越多,数据库就越大,被访问的频率也越高,占用的系统资源也就相当可观,现在知道为什么很多空间服务商都说大家不要上传论坛,聊天室等东西了吧.
一个静态页面不需要服务器多少资源,甚至可以说直接从内存中读出来发给你就可以了,但是论坛就不一样了,我看一个帖子,系统需要到数据库中判断我是否有读读帖子的权限,如果有,就读出帖子里面的内容,显示出来——这里至少访问了2次数据库,如果数据库的体积有200MB大小,系统很可能就要在这200MB大小的数据空间搜索一遍,这需要多少的CPU资源和时间?如果我是查找一个关键字,那么时间更加可观,因为前面的搜索可以限定在一个很小的范围内,比如用户权限只查用户表,帖子内容只查帖子表,而且查到就可以马上停止查询,而搜索肯定会对所有的数据进行一次判断,消耗的时间是相当的大.
CC就是充分利用了这个特点,模拟多个用户(多少线程就是多少用户)不停的进行访问(访问那些需要大量数据操作,就是需要大量CPU时间的页面).很多朋友问到,为什么要使用代理呢?因为代理可以有效地隐藏自己的身份,也可以绕开所有的防火墙,因为基本上所有的防火墙都会检测并发的TCP/IP连接数目,超过一定数目一定频率就会被认为是Connection-Flood.
使用代理攻击还能很好的保持连接,我们这里发送了数据,代理帮我们转发给对方服务器,我们就可以马上断开,代理还会继续保持着和对方连接(我知道的记录是有人利用2000个代理产生了35万并发连接).
可能很多朋友还不能很好的理解,我来描述一下吧.我们假设服务器A对Search.asp的处理时间需要0.01S(多线程只是时间分割,对结论没有影响),也就是说他一秒可以保证100个用户的Search请求,服务器允许的最大连接时间为60s,那么我们使用CC模拟120个用户并发连接,那么经过1分钟,服务器的被请求了7200次,处理了6000次,于是剩下了1200个并发连接没有被处理.有的朋友会说:丢连接!丢连接!问题是服务器是按先来后到的顺序丢的,这1200个是在最后10秒的时候发起的,想丢?!还早,经过计算,服务器满负开始丢连接的时候,应该是有7200个并发连接存在队列,然后服务器开始120个/秒的丢连接,我们发动的连接也是120个/秒,服务器永远有处理不完的连接,服务器的CPU 100%并长时间保持,然后丢连接的60秒服务器也判断处理不过来了,新的连接也处理不了,这样服务器达到了超级繁忙状态.
蝴蝶:我们假设服务器处理Search只用了0.01S,也就是10毫秒(这个速度你可以去各个有开放时间显示的论坛看看),我们使用的线程也只有120,很多服务器的丢连接时间远比60S长,我们的使用线程远比120多,可以想象可怕了吧,而且客户机只要发送了断开,连接的保持是代理做的,而且当服务器收到SQL请求,肯定会进入队列,不论连接是否已经断开,而且服务器是并发的,不是顺序执行,这样使得更多的请求进入内存请求,对服务器负担更大.
当然,CC也可以利用这里方法对FTP进行攻击,也可以实现TCP-FLOOD,这些都是经过测试有效的.
防范方法
说了攻击原理,大家肯定会问,那么怎么防御?使用硬件防火墙我不知道如何防范,除非你完全屏蔽页面访问,我的方法是通过页面的编写实现防御.
1. 使用Cookie认证.这时候朋友说CC里面也允许Cookie,但是这里的Cookie是所有连接都使用的,所以启用IP+Cookie认证就可以了.
2. 利用Session.这个判断比Cookie更加方便,不光可以IP认证,还可以防刷新模式,在页面里判断刷新,是刷新就不让它访问,没有刷新符号给它刷新符号.给些示范代码吧,Session:
程序代码:

〈%
if session(“refresh”)〈〉 1 then 
Session(“refresh”)=session(“refresh”)+1
Response.redirect “index.asp”
End if
%〉

这样用户第一次访问会使得Refresh=1,第二次访问,正常,第三次,不让他访问了,认为是刷新,可以加上一个时间参数,让多少时间允许访问,这样就限制了耗时间的页面的访问,对正常客户几乎没有什么影响.
3. 通过代理发送的HTTP_X_FORWARDED_FOR变量来判断使用代理攻击机器的真实IP,这招完全可以找到发动攻击的人,当然,不是所有的代理服务器都发送,但是有很多代理都发送这个参数.详细代码:
程序代码:

〈%
Dim fsoObject
Dim tsObject
dim file
if Request.ServerVariables(“HTTP_X_FORWARDED_FOR”)=”" then
response.write ”无代理访问”
response.end
end if
Set fsoObject = Server.CreateObject(“Scripting.FileSystemObject”)
file = server.mappath(“CCLog.txt”)
if not fsoObject.fileexists(file) then
fsoObject.createtextfile file,true,false
end if
set tsObject = fsoObject.OpenTextFile(file,8)
tsObject.Writeline Request.ServerVariables(“HTTP_X_FORWARDED_FOR”)&”["&Request.ServerVariables("REMOTE_ADDR")&"]“&now()
Set fsoObject = Nothing
Set tsObject = Nothing
response.write ”有代理访问”
%〉

这样会生成CCLog.txt,它的记录格式是:真实IP [代理的IP] 时间,看看哪个真实IP出现的次数多,就知道是谁在攻击了.将这个代码做成Conn.asp文件,替代那些连接数据库的文件,这样所有的数据库请求就连接到这个文件上,然后马上就能发现攻击的人.
4. 还有一个方法就是把需要对数据查询的语句做在Redirect后面,让对方必须先访问一个判断页面,然后Redirect过去.
5. 在存在多站的服务器上,严格限制每一个站允许的IP连接数和CPU使用时间,这是一个很有效的方法.
CC的防御要从代码做起,其实一个好的页面代码都应该注意这些东西,还有SQL注入,不光是一个入侵工具,更是一个DDOS缺口,大家都应该在代码中注意.举个例子吧,某服务器,开动了5000线的CC攻击,没有一点反应,因为它所有的访问数据库请求都必须一个随机参数在Session里面,全是静态页面,没有效果.突然发现它有一个请求会和外面的服务器联系获得,需要较长的时间,而且没有什么认证,开800线攻击,服务器马上满负荷了.
代码层的防御需要从点点滴滴做起,一个脚本代码的错误,可能带来的是整个站的影响,甚至是整个服务器的影响,慎之!(责任编辑:zhaohb

CC攻击是DDOS(分布式拒绝服务)的一种,相比其它的DDOS攻击CC似乎更有技术含量一些。这种攻击你见不到虚假IP,见不到特别大的异常流量,但造成服务器无法进行正常连接,听说一条ADSL足以搞掂一台高性能的Web服务器。由此可见其危害性,称其为“Web杀手”也毫不为过。最让站长们忧虑的是这种攻击技术含量低,利用工具和一些IP代理一个初、中级的电脑水平的用户就能够实施攻击。因此,大家有必要了解CC攻击的原理及如果发现CC攻击和对其的防范措施。

1、攻击原理

CC攻击的原理就是攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃。CC主要是用来攻击页面的,每个人都有这样的体验:当一个网页访问的人数特别多的时候,打开网页就慢了,CC就是模拟多个用户(多少线程就是多少用户)不停地进行访问那些需要大量数据操作(就是需要大量CPU时间)的页面,造成服务器资源的浪费,CPU长时间处于100%,永远都有处理不完的连接直至就网络拥塞,正常的访问被中止。

2、攻击症状

CC攻击有一定的隐蔽性,那如何确定服务器正在遭受或者曾经遭受CC攻击呢?我们可以通过以下三个方法来确定。

(1).命令行法

一般遭受CC攻击时,Web服务器会出现80端口对外关闭的现象, 因为这个端口已经被大量的垃圾数据堵塞了正常的连接被中止了。我们可以通过在命令行下输入命令netstat -an来查看,如果看到类似如下有大量显示雷同的连接记录基本就可以被CC攻击了:
……
TCP 192.168.1.3:80 192.168.1.6:2203 SYN_RECEIVED 4
TCP 192.168.1.3:80 192.168.1.6:2203 SYN_RECEIVED 4
TCP 192.168.1.3:80 192.168.1.6:2203 SYN_RECEIVED 4
TCP 192.168.1.3:80 192.168.1.6:2203 SYN_RECEIVED 4
TCP 192.168.1.3:80 192.168.1.6:2203 SYN_RECEIVED 4 ……

其中“192.168.1.6”就是被用来代理攻击的主机的IP,“SYN_RECEIVED”是TCP连接状态标志,意思是“正在处于连接的初始同步状态 ”,表明无法建立握手应答处于等待状态。这就是攻击的特征,一般情况下这样的记录一般都会有很多条,表示来自不同的代理IP的攻击。

(2).批处理法

上述方法需要手工输入命令且如果Web服务器IP连接太多看起来比较费劲,我们可以建立一个批处理文件,通过该脚本代码确定是否存在CC攻击。打开记事本键入如下代码保存为CC.bat:
@echo off
time /t >>log.log
netstat -n -p tcp |find “:80″>>Log.log
notepad log.log
exit
上面的脚本的含义是筛选出当前所有的到80端口的连接。当我们感觉服务器异常是就可以双击运行该批处理文件,然后在打开的log.log文件中查看所有的连接。如果同一个IP有比较多的到服务器的连接,那就基本可以确定该IP正在对服务器进行CC攻击。
(3).查看系统日志 零度科技提供香港服务器

上面的两种方法有个弊端,只可以查看当前的CC攻击,对于确定Web服务器之前是否遭受CC攻击就无能为力了,此时我们可以通过Web日志来查,因为Web日志忠实地记录了所有IP访问Web资源的情况。通过查看日志我们可以Web服务器之前是否遭受CC攻击,并确定攻击者的IP然后采取进一步的措施。

Web日志一般在C:\WINDOWS\system32\LogFiles\HTTPERR目录下,该目录下用类似httperr1.log的日志文件,这个文件就是记录Web访问错误的记录。管理员可以依据日志时间属性选择相应的日志打开进行分析是否Web被CC攻击了。 零度科技提供DirectAdmin面板
默认情况下,Web日志记录的项并不是很多,我们可以通过IIS进行设置,让Web日志记录更多的项以便进行安全分析。其操作步骤是:

“开始→管理工具”打开“Internet信息服务器”,展开左侧的项定位到到相应的Web站点,然后右键点击选择“属性”打开站点属性窗口,在“网站”选项卡下点击“属性”按钮,在“日志记录属性”窗口的“高级”选项卡下可以勾选相应的“扩展属性”,以便让Web日志进行记录。比如其中的“发送的字节数”、“接收的字节数”、“所用时间”这三项默认是没有选中的,但在记录判断CC攻击中是非常有用的,可以勾选。另外,如果你对安全的要求比较高,可以在“常规”选项卡下对“新日志计划”进行设置,让其“每小时”或者“每一天”进行记录。为了便于日后进行分析时好确定时间可以勾选“文件命名和创建使用当地时间”。
3、CC攻击防御策略

确定Web服务器正在或者曾经遭受CC攻击,那如何进行有效的防范呢?笔者依据个人经验,提供如下防御措施。

(1).取消域名绑定

一般cc攻击都是针对网站的域名进行攻击,比如我们的网站域名是“www.cc.com”,那么攻击者就在攻击工具中设定攻击对象为该域名然后实施攻击。 原文来自零度科技

对于这样的攻击我们的措施是在IIS上取消这个域名的绑定,让CC攻击失去目标。具体操作步骤是:打开“IIS管理器”定位到具体站点右键“属性”打开该站点的属性面板,点击IP地址右侧的“高级”按钮,选择该域名项进行编辑,将“主机头值”删除或者改为其它的值(域名)。 零度科技提供香港服务器

实例模拟测试,取消域名绑定后Web服务器的CPU马上恢复正常状态,通过IP进行访问连接一切正常。但是不足之处也很明显,取消或者更改域名对于别人的访问带来了不变,另外,对于针对IP的CC攻击它是无效的,就算更换域名攻击者发现之后,他也会对新域名实施攻击。

(2).域名欺骗解析

如果发现针对域名的CC攻击,我们可以把被攻击的域名解析到127.0.0.1这个地址上。我们知道127.0.0.1是本地回环IP是用来进行网络测试的,如果把被攻击的域名解析到这个IP上,就可以实现攻击者自己攻击自己的目的,这样他再多的肉鸡或者代理也会宕机,让其自作自受。

另外,当我们的Web服务器遭受CC攻击时把被攻击的域名解析到国家有权威的政府网站或者是网警的网站,让其网警来收拾他们。

现在一般的Web站点都是利用类似“新网”这样的服务商提供的动态域名解析服务,大家可以登录进去之后进行设置。

(3).更改Web端口

一般情况下Web服务器通过80端口对外提供服务,因此攻击者实施攻击就以默认的80端口进行攻击,所以,我们可以修改Web端口达到防CC攻击的目的。运行IIS管理器,定位到相应站点,打开站点“属性”面板,在“网站标识”下有个TCP端口默认为80,我们修改为其他的端口就可以了。

(4).IIS屏蔽IP

我们通过命令或在查看日志发现了CC攻击的源IP,就可以在IIS中设置屏蔽该IP对Web站点的访问,从而达到防范IIS攻击的目的。在相应站点的“属性”面板中,点击“目录安全性”选项卡,点击“IP地址和域名现在”下的“编辑”按钮打开设置对话框。在此窗口中我们可以设置“授权访问”也就是“白名单”,也可以设置“拒绝访问”即“黑名单”。比如我们可以将攻击者的IP添加到“拒绝访问”列表中,就屏蔽了该IP对于Web的访问。

(5).IPSec封锁

IPSec是优秀的系统防火墙,在排除其他还有别的类型的DDOS攻击时,针对CC攻击可以用设置IP策略来对付攻击。以219.128.*.43这个IP为例子,笔者实际操作对该IP的访问封锁。

第一步:“开始→管理工具”,打开“本地安全设置”,右键点击“IP安全策略,在本地机器”选择“创建IP安全策略”,然后点击“下一步”,输入策略“名称”和“描述”。然后默认一路“下一步”创建了一个名为“封CC攻击”的IPSec策略。

 

第二步:右键点击“IP安全策略,在本地机器”选择“管理IP筛选器表和筛选器操作”,在打开的窗口中点“添加”,在“IP 筛选器列表”窗口添人同第一步的名称和描述信息。取消“使用添加向导”的勾选,然后点击“添加”。在“IP 筛选器 属性”窗口的“地址”选项下设置“源地址”为“192.168.1.6”,目标地址为“我的IP地址”,取消对“镜像”的勾选;点击“协议”选项卡,设置“协议类型”为“TCP”,设置“协议端口”为“从任意端口”到“此端口80”最后确定退出。 美国主机租用www.00isp.com
第三步:在“新规则 属性”窗口中点选刚才创建的“封CC攻击”规则,点击“筛选器操作”选项卡下的“添加”,点选“安全措施”下的“阻止”,在“常规”选项卡下为该筛选器命名为“阻止CC攻击”然后确定退出。
第四步:点选刚才创建的“阻止CC攻击”筛选器,一路“确定”退出IP策略编辑器,可以看到在组策略窗口的中创建成功一个名为“封CC攻击”的策略,然后右键点击该策略选择“指派”。这样就实现了对该IP的封锁。

(6).防火墙

除了利用上述方法外,还可以通过第三方的防火墙进行防范,打开防护墙创建相应防火墙规则就可以了,笔者以天网防火墙为例进行演示。 copyright www.00isp.com

打开天网防火墙进入“IP规则管理”窗口,点击“增加规则”,然后输入规则的名称、描述等信息。数据包协议类型选择“TCP”,数据包方向为“接收”,对方IP地址为“指定地址”然后输入该IP地址,本地端口勾选“已授权程序开放的端口”,对方端口不填表示所有端口,TCP标志位勾选“SYN”,当满足上面条件是选择“拦截”,同时还勾选“记录”、“警告”、“发声”。最后“确定”退出,点“保存规则”应该该规则即可。

有以下命令可以查看:

# lsb_release -a
LSB Version:    :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: CentOS
Description:    CentOS release 5.4 (Final)
Release:        5.4
Codename:       Final

这个命令适用于所有的linux,包括Redhat、SuSE、Debian等发行版。

root@MyMail ~ # uname
Linux
root@MyMail ~ # uname -r
2.6.18-164.el5

以下二种方法适用于RedHat,CentOS

root@MyMail ~ # cat /etc/redhat-release
CentOS release 5.4 (Final)

登录到linux执行rpm -q redhat-release

#rpm -q redhat-release
或CentOS

root@MyMail ~ # rpm -q centos-release
centos-release-5-4.el5.centos.1

很多客户使用Linux VPS都喜欢安装KLOXO做控制面板,原因是简单易用上手很快,但有个最大问题是占用内存太多,256M的内存根本不够用,安装完KLOXO就200多 M了,非要512M的内存才勉强凑合,这样是不行的,白白浪费那么多内存,512的内存的VPS那可比256M的贵太多啊,一定得优化!

其实说起来,Linux VPS下有很多选择,装面板的有Cpanel,DirectAdmin,可这两个都是要钱的,Webmin不要钱吧,可太复杂了,对于新手菜鸟根本不好上 手,还有不装面板的有Nginx,LNMP等等,这个就更复杂了,完全靠Linux命令来操作,对于菜鸟来说那是场灾难,咱还是来玩玩KLOXO吧,研究 怎么在256M内存下玩的舒舒服服的。下面说说我的简单优化,菜鸟级别的,高手请无视。

1、下载安装网上流传的KLOXO优化版本

wget http://down.dilehost.com/tool/kloxo/install.sh

安装完后建议重启系统。

2、后台 地址:http://你的IP:7778/,语言设置:在Appearance -》 Language里选择 Chinese, 然后点击update确认,面板就变成中文界面了!在“服务器 : linux ”下“切换程序”,网站程序选择Lighttpd,DNS选择djbdns,垃圾邮件程序选择bogofilter,然后Update。完了后重启系统。

3、登录SSH,首先进入/etc 目录,编辑my.cnf

命令:先cd /etc

再输入 vi my.cnf

在[mysqld]下面加入以下三行:

skip-locking
skip-bdb
skip-innodb

然后按Esc ,再按shift+:键,然后键入wq 回车就保存退出了

保存之后在重启MYSQL

命令: /sbin/service mysqld restart

然后你上你的面版或者输入命令top看看,内存是不是又少了几十M

经过以上三步,KLOXO的内存使用会大大减少,本人测试过,256M的VPS下放了几个网站才使用126M内存,网站性能大大提高。不过值得注意的 是,网站程序由Apache改为Lighttpd后内存会下降快一半,但有很多程序使用Apache的URL Rewrite伪静态规则就不起作用了,这个时候就得采用专门的Lighttpd伪静态规则,如果你使用是WordPress,请参见:Lighttpd 下WORDPRESS3.0.1的URL Rewrite伪静态规则 ,如果是其他程序就得修改一下了,具体怎么改我也不会,但你可以使用生成HTML静态页面来降低服务器资源。

Lighttpd的伪静态 规则修改要在所在域名下的配置文件中修改,不是FTP的根目录下的htaccess文件,KLOXO的修改办法是 点开 域名-》yourdomain.com-》脚本-》lighttpd地址重写规则,填进去就可以了。

 

今天下午用bluehost控制台里的simplescript一键安装magento,完成后进主页,看到乱糟糟一片代码,提示pdo_mysql extension is not installed。当时傻了,因为除了这句英语的意思之外,我对这些东西是一窍不通的。还好有google,国内国外搜了一会儿,终于找到解决办法。好了之后,进magento connect下载默认的blue模板,又是乱糟糟一片代码,意思好像还是pdo_mysql没安装的问题,只好再搜索。原来magento的downloader文件夹里非要有它独享的php.ini。

magento pdo_mysql

解决办法很简单,就是要magento的安装文件夹和downloader里都有php.ini文件,并且确认该文件里面有这两句:extension=pdo.so,extension=pdo_mysql.so,作用就是开启php的pdo_mysql。

这个php.ini文件在网站空间的public_html下应该有的,但是以前我不小心给删掉了。找回来的办法如下(针对bluehost,hostmonster):

在控制台里打开PHP CONFIG,点击INSTALL PHP.INI MASTER FILE,它就会在public_html目录下生成一个php.ini.default文件,把它改名为php.ini就ok了。

另外,在安装前你可以用magento配置检测工具检测一下空间是不是满足magento的要求。从链接里下载文件,把里面的magento_check.php上传到空间,然后打开,它就会告诉你的空间是否达到magento要求,如果没达到,它会告诉你缺少哪些功能。

分类: 电子商务, 标签: . 点后面这个单词会有奇妙反应哦~~! PERMALINK.

 

IPv6设置及使用方法:

一  IPv6 协议栈的安装及 IPv6 地址设置指南
( 所使用地址,以北师大科技楼 94 网段为例 )

1. Windows XP/Windows 2003 操作系统

(1) IPv6 协议栈的安装
在 开始 –> 运行 处执行 ipv6 install
(2) IPv6 地址设置
在 开始 –> 运行 处执行 netsh 进入系统网络参数设置环境,然后执行
interface ipv6 add address “ 本地连接 ” 2001:da8:207::9402
(3) IPv6 默认网关设置
在上述系统网络参数设置环境中执行
interface ipv6 add route ::/0 “ 本地连接 ” 2001:da8:207::9401 publish=yes
(4) 网络测试命令
ping6 、 tracert6

2. Windows 2000 操作系统

(1) 下载 IPv6 软件包
http://www.bnu.edu.cn/ipv6/ tpipv6-001205-SP3-IE6.zip
(2) 安装 IPv6 软件包
解压后,执行 hotfix
(3 ) 添加 IPv6 协议
从控制面板中,进入 网络和拨号连接 中,右击 本地连接 ,点击属性,打开 本地连接属性 窗口,点击 安装 按钮,然后在弹出的窗口中,选择 协议 , 并点击 添加 ,在弹出的窗口中,你会发现 Microsoft IPv6 Protocol ,选择这个选项,点击 确定, Reboot 计算机,以使 IPv6 协议栈生效 。
(4)IPv6 地址设置
在 开始 –> 运行 处执行 ipv6 adu 4/2001:da8:207::9402
(5) IPv6 默认网关设置
在 开始 –> 运行 处执行 ipv6 rtu ::/0 4/2001:da8:207::9401
(6) 网络测试命令
ping6 、 tracert6

3. Linux 操作系统

(1) 安装ipv6协议
modprobe ipv6
(2)IPv6 地址设置
ifconfig eth0 inet6 add 2001:da8:207::9402
(3) IPv6 默认网关设置
route -A inet6 add ::/0 gw 2001:da8:207::9401
(4) 网络测试命令
ping6 、 traceroute6

4. Solaris 操作系统

(1) 创建 IPv6 接口
touch /etc/hostname6.hme0
(2)添加 IPv6 地址
在 /etc/inet/ipnodes 文件中 , 加入如下一行 :
2001:da8:207::9402 ipv6.bnu.edu.cn bnu-ipv6
(3)设置 dns 查找顺序
在 /etc/nsswitch.conf 文件中 , 修改 hosts 和 ipnodes 项如下 :
hosts: files dns
ipnodes: files dns
(4) 添加默认路由
route add -inet6 default 2001:da8:207::9401 -interface
(5) 测试命令
ping -A inet6 IPv6 目标地址
traceroute -A inet6 IPv6 目标地址

二、 关于 IPv6 使用上的一些技术说明

1. 双栈技术

安装 IPv6 协议栈后,对原网络 (IPv4 网络 ) 的使用不产生任何影响,此时,用户计算机及整个校园网在一个物理网络上,同时运行 IPv4 和 IPv6 协议栈、同时支持两种协议的数据传输,这个技术就是目前在网络上广为采用的所谓的双栈 (Dual Stack) 技术。

2. 浏览器如何区分、使用 IPv4 和 IPv6 协议

用户在实际使用中,如何通知浏览器在底层究竟是该使用 IPv4 协议来进行传输数据还是使用 IPv6 协议来进行传输数据呢?很简单,以 www.kame.net 为例,使用http://www.kame.net 则计算机在底层就是以 IPv4 协议访问该站点的 IPv4 页面,而使用http://[www.kame.net ] 计算机在底层则是以 IPv6 协议访问该站点的 IPv6 页面。

如果用户知道 IPv6 目标站点的 IPv6 十六进制数地址时,也可以在浏览器中直接使用其数字地址进行访问,如 www.kame.net 对应的 IPv6 的十六进制数地址为:2001:200:0:8002:203:47ff:fea5:3085 ,则我们在浏览器里输入
http://[ 2001:200:0:8002:203:47ff:fea5:3085]也同样可以访问到该网站。

3. IPv6 的测试站点

http://www.kame.net (2001:200:0:8002:203:47ff:fea5:3085)
IPv6 网络参数配置完毕后,可以访问上述站点,以检测自己的配制是否正确,以下是部分测试结果:

(1). ping6 www.kame.net
PING www.kame.net(orange.kame.net) 56 data bytes
64 bytes from orange.kame.net: icmp_seq=0 hops=50 time=87.371 msec
64 bytes from orange.kame.net: icmp_seq=1 hops=50 time=89.979 msec
64 bytes from orange.kame.net: icmp_seq=2 hops=50 time=89.981 msec
64 bytes from orange.kame.net: icmp_seq=3 hops=50 time=89.981 msec
64 bytes from orange.kame.net: icmp_seq=4 hops=50 time=89.972 msec
64 bytes from orange.kame.net: icmp_seq=5 hops=50 time=359.980 msec
64 bytes from orange.kame.net: icmp_seq=6 hops=50 time=149.979 msec
64 bytes from orange.kame.net: icmp_seq=7 hops=50 time=89.980 msec
64 bytes from orange.kame.net: icmp_seq=8 hops=50 time=89.917 msec
64 bytes from orange.kame.net: icmp_seq=9 hops=50 time=89.979 msec
64 bytes from orange.kame.net: icmp_seq=10 hops=50 time=89.977 msec
……

(2). traceroute6 www.kame.net -n

traceroute to www.kame.net (2001:200:0:8002:203:47ff:fea5:3085) from 2001:da8:207::102
1 2001:da8:207::101 0.802 ms 0.196 ms 0.182 ms
2 2001:da8:207::1 0.369 ms 0.24 ms 0.234 ms
3 2001:250:9001:100::105 1.233 ms 3.965 ms 1.257 ms
4 2001:da8:ad:ffff::1 2.981 ms 2.97 ms 3.078 ms
5 2001:da8:1:1e::1 0.578 ms 0.537 ms 0.532 ms
6 2001:250:c000:20::1 0.763 ms 0.715 ms 0.78 ms
7 2001:250:c000:20::2 1.175 ms 1.02 ms 1.034
8 2001:250:0:2::2 1.541 ms 1.342 ms 1.482 ms
9 3ffe:8140:101::2 92.743 ms 92.696 ms 92.74 ms
10 2001:200:0:1800::9c4:2 93.031 ms 96.847 ms 92.841 ms
11 2001:200:0:1c04::1000:2000 93.578 ms 93.604 ms 93.309 ms
12 2001:200:0:4819::2000:1 94.983 ms 94.901 ms 95.1 ms
13 2001:200:0:8002:203:47ff:fea5:3085 94.516 ms 96.61 ms 94.338 ms

 

webmin,virtualmin,Kloxo中文社区 © Copyright 2009, All Rights Reserved.