CC攻击防御防范几种方法笔记

管理的公司网站被打,着是让人头疼了一阵子,还被敲诈勒索2000块,鸟都不鸟。CC攻击是站长或者网管最烦的事,找了些资料笔记一下。

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

(1).命令行法

CC攻击防御防范几种方法笔记 站长

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

……

TCP 192.168.1.3:80 192.168.1.6:2205 SYN_RECEIVED 4

TCP 192.168.1.3:80 192.168.1.6: 2205 SYN_RECEIVED 4

TCP 192.168.1.3:80 192.168.1.6: 2205 SYN_RECEIVED 4

TCP 192.168.1.3:80 192.168.1.6: 2205 SYN_RECEIVED 4

TCP 192.168.1.3:80 192.168.1.6: 2205 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攻击了。默认情况下,Web日志记录的项并不是很多,我们可以通过IIS进行设置,让Web日志记录更多的项以便进行安全分析。其操作步骤是:

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

当发现被CC攻击解决方法,这里不说那些花钱的来防的,说点不花钱能解决的攻击。

  1. 用云加速等免费CDN,解决部分,

  2. 用软件比如云锁等,解决部分

  3. 当发现发现被攻击,可以看到攻击IP大多数都是国外的,而本身网站没什么国外流量的,把域名解析一个国外的线路到127.0.0.1或者无用的IP上,这样就剩下不多的国内IP攻击,