黑客攻防的过滤网关防护
这里,过滤网关主要指明防火墙,当然路由器也能成为过滤网关。防火墙部署在不同网络之间,防范外来非法攻击和防止保密信息外泄,它处于客户端和服务器之间,利用它来防护SYN攻击能起到很好的效果。过滤网关防护主要包括超时设置,SYN网关和SYN代理三种。
·网关超时设置:
防火墙设置SYN转发超时参数(状态检测的防火墙可在状态表里面设置),该参数远小于服务器的timeout时间。当客户端发送完SYN包,服务端发送确认包后(SYN+ACK),防火墙如果在计数器到期时还未收到客户端的确认包(ACK),则往服务器发送RST包,以使服务器从队列中删去该半连接。值得注意的是,网关超时参数设置不宜过小也不宜过大,超时参数设置过小会影响正常的通讯,设置太大,又会影响防范SYN攻击的效果,必须根据所处的网络应用环境来设置此参数。
·SYN网关:
SYN网关收到客户端的SYN包时,直接转发给服务器;SYN网关收到服务器的SYN/ACK包后,将该包转发给客户端,同时以客户端的名义给服务器发ACK确认包。此时服务器由半连接状态进入连接状态。当客户端确认包到达时,如果有数据则转发,否则丢弃。事实上,服务器除了维持半连接队列外,还要有一个连接队列,如果发生SYN攻击时,将使连接队列数目增加,但一般服务器所能承受的连接数量比半连接数量大得多,所以这种方法能有效地减轻对服务器的攻击。
·SYN代理:
当客户端SYN包到达过滤网关时,SYN代理并不转发SYN包,而是以服务器的名义主动回复SYN/ACK包给客户,如果收到客户的ACK包,表明这是正常的访问,此时防火墙向服务器发送ACK包并完成三次握手。SYN代理事实上代替了服务器去处理SYN攻击,此时要求过滤网关自身具有很强的防范SYN攻击能力。
2、加固tcp/ip协议栈防范SYN攻击的另一项主要技术是调整tcp/ip协议栈,修改tcp协议实现。主要方法有SynAttackProtect保护机制、SYN cookies技术、增加最大半连接和缩短超时时间等。tcp/ip协议栈的调整可能会引起某些功能的受限,管理员应该在进行充分了解和测试的前提下进行此项工作。otect机制
为防范SYN攻击,Windows2000系统的tcp/ip协议栈内嵌了SynAttackProtect机制,Win2003系统也采用此机制。SynAttackProtect机制是通过关闭某些socket选项,增加额外的连接指示和减少超时时间,使系统能处理更多的SYN连接,以达到防范SYN攻击的目的。默认情况下,Windows2000操作系统并不支持SynAttackProtect保护机制,需要在注册表以下位置增加SynAttackProtect键值:
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
当SynAttackProtect值(如无特别说明,本文提到的注册表键值都为十六进制)为0或不设置时,系统不受SynAttackProtect保护。
当SynAttackProtect值为1时,系统通过减少重传次数和延迟未连接时路由缓冲项(route cache entry)防范SYN攻击。
当SynAttackProtect值为2时(Microsoft推荐使用此值),系统不仅使用backlog队列,还使用附加的半连接指示,以此来处理更多的SYN连接,使用此键值时,tcp/ip的TCPInitialRTT、window size和可滑动窗囗将被禁止。
我们应该知道,平时,系统是不启用SynAttackProtect机制的,仅在检测到SYN攻击时,才启用,并调整tcp/ip协议栈。那么系统是如何检测SYN攻击发生的呢?事实上,系统根据TcpMaxHalfOpen,TcpMaxHalfOpenRetried 和TcpMaxPortsExhausted三个参数判断是否遭受SYN攻击。
TcpMaxHalfOpen 表示能同时处理的最大半连接数,如果超过此值,系统认为正处于SYN攻击中。Windows2000 server默认值为100,Windows2000 Advanced server为500。
TcpMaxHalfOpenRetried定义了保存在backlog队列且重传过的半连接数,如果超过此值,系统自动启动SynAttackProtect机制。Windows2000 server默认值为80,Windows2000 Advanced server为400。
TcpMaxPortsExhausted 是指系统拒绝的SYN请求包的数量,默认是5。
如果想调整以上参数的默认值,可以在注册表里修改(位置与SynAttackProtect相同)
· SYN cookies技术
我们知道,TCP协议开辟了一个比较大的内存空间backlog队列来存储半连接条目,当SYN请求不断增加,并这个空间,致使系统丢弃SYN连接。为使半连接队列被塞满的情况下,服务器仍能处理新到的SYN请求,SYN cookies技术被设计出来。
SYN cookies应用于linux、FreeBSD等操作系统,当半连接队列满时,SYNcookies并不丢弃SYN请求,而是通过加密技术来标识半连接状态。
在TCP实现中,当收到客户端的SYN请求时,服务器需要回复SYN+ACK包给客户端,客户端也要发送确认包给服务器。通常,服务器的初始序列号由服务器按照一定的规律计算得到或采用随机数,但在SYN cookies中,服务器的初始序列号是通过对客户端IP地址、客户端端囗、服务器IP地址和服务器端囗以及其他一些安全数值等要素进行hash运算,加密得到的,称之为cookie。当服务器遭受SYN攻击使得backlog队列满时,服务器并不拒绝新的SYN请求,而是回复cookie(回复包的SYN序列号)给客户端, 如果收到客户端的ACK包,服务器将客户端的ACK序列号减去1得到cookie比较值,并将上述要素进行一次hash运算,看看是否等于此cookie。如果相等,直接完成三次握手(注意:此时并不用查看此连接是否属于backlog队列)。
在RedHat linux中,启用SYN cookies是通过在启动环境中设置以下命令来完成:
# echo 1 ?? /proc/sys/net/ipv4/tcp_syncookies
· 增加最大半连接数
大量的SYN请求导致未连接队列被塞满,使正常的TCP连接无法顺利完成三次握手,通过增大未连接队列空间可以缓解这种压力。当然backlog队列需要占用大量的内存资源,不能被无限的扩大。
Windows2000:除了上面介绍的TcpMaxHalfOpen, TcpMaxHalfOpenRetried参数外,Windows2000操作系统可以通过设置动态backlog(dynamic backlog)来增大系统所能容纳的最大半连接数,配置动态backlog由AFD.SYS驱动完成,AFD.SYS是一种内核级的驱动,用于支持基于window socket的应用程序,比如ftp、telnet等。AFD.SYS在注册表的位置:
HKLM\System\CurrentControlSet\Services\AFD\Parameters\EnableDynamicBacklog值为1时,表示启用动态backlog,可以修改最大半连接数。
MinimumDynamicBacklog表示半连接队列为单个TCP端囗分配的最小空闲连接数,当该TCP端囗在backlog队列的空闲连接小于此临界值时,系统为此端囗自动启用扩展的空闲连接(DynamicBacklogGrowthDelta),Microsoft推荐该值为20。
MaximumDynamicBacklog是当前活动的半连接和空闲连接的和,当此和超过某个临界值时,系统拒绝SYN包,Microsoft推荐MaximumDynamicBacklog值不得超过2000。
DynamicBacklogGrowthDelta值是指扩展的空闲连接数,此连接数并不计算在MaximumDynamicBacklog内,当半连接队列为某个TCP端囗分配的空闲连接小于MinimumDynamicBacklog时,系统自动分配DynamicBacklogGrowthDelta所定义的空闲连接空间,以使该TCP端囗能处理更多的半连接。Microsoft推荐该值为10。
LINUX:Linux用变量tcp_max_syn_backlog定义backlog队列容纳的最大半连接数。在Redhat 7.3中,该变量的值默认为256,这个值是远远不够的,一次强度不大的SYN攻击就能使半连接队列占满。我们可以通过以下命令修改此变量的值:
# sysctl -w net.ipv4.tcp_max_syn_backlog=`2048`
Sun Solaris Sun Solaris用变量tcp_conn_req_max_q0来定义最大半连接数,在Sun Solaris 8中,该值默认为1024,可以通过add命令改变这个值:
# ndd -set /dev/tcp tcp_conn_req_max_q0 2048
HP-UX:HP-UX用变量tcp_syn_rcvd_max来定义最大半连接数,在HP-UX 11.00中,该值默认为500,可以通过ndd命令改变默认值:
#ndd -set /dev/tcp tcp_syn_rcvd_max 2048
·缩短超时时间
上文提到,通过增大backlog队列能防范SYN攻击;另外减少超时时间也使系统能处理更多的SYN请求。我们知道,timeout超时时间,也即半连接存活时间,是系统所有重传次数等待的超时时间总和,这个值越大,半连接数占用backlog队列的时间就越长,系统能处理的SYN请求就越少。为缩短超时时间,可以通过缩短重传超时时间(一般是第一次重传超时时间)和减少重传次数来实现。
Windows2000第一次重传之前等待时间默认为3秒,为改变此默认值,可以通过修改网络接囗在注册表里的TcpInitialRtt注册值来完成。重传次数由TcpMaxConnectResponseRetransmissions 来定义,注册表的位置是:
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters registry key
当然我们也可以把重传次数设置为0次,这样服务器如果在3秒内还未收到ack确认包就自动从backlog队列中删除该连接条目。
LINUX:Redhat使用变量tcp_synack_retries定义重传次数,其默认值是5次,总超时时间需要3分钟。
Sun Solaris Solaris 默认的重传次数是3次,总超时时间为3分钟,可以通过ndd命令修改这些默认值。
什么是网络安全攻防演练?有什么意义?
攻防演练也称为护网行为,是针对全国范围的真实网络目标为对象的实战攻防活动,旨在发现、暴露和解决安全问题,更是检验我国各大企事业单位、部属机关的网络安全防护水平和应急处置能力。那么什么是网络安全攻防演练?攻防演练的意义是什么?具体内容请看下文。
网络安全攻防演练是以获取指定目标系统的管理权限为目标的攻防演练,由攻防领域经验丰富的红队专家组成攻击队,在保障业务系统稳定运行的前提下,采用不限攻击路径,不限制攻击手段的贴合实战方式,而形成的有组织的网络攻击行动。攻防演练通常是真实网络环境下对参演单位目标系统进行全程可控、可审计的实战攻击,拟通过演练检验参演单位的安全防护和应急处置能力,提高网络安全的综合防控能力。
攻防演练的组织结构,由国家、行业主管机构、监督机构、大中型企事业单位自行组织。各级公安机关、网信部门、政府、金融、交通、卫生、教育、电力、运营商等国家行业主管机构或监管机构,针对要点行业和要点系统组织单位的攻击队和行业内企业单位的防御队进行实战攻防演练。
蓝队:模拟黑客的动机与行为,探测企业网络存在的薄弱点,加以利用并深入扩展,在授权范围内获得业务数据、服务器控制权限、业务控制权限。
红队:通过设备监测和日志及流量分析等手段,监测攻击行为并响应和处置。
网络安全攻防演练的意义
①攻防演练,实质是人与人之间的对抗。网络安全需网络安全人才来维护,是白帽和黑帽之间的较量,而白帽是建设网络强国的重要资源。攻防演练能够发现网络安全人才,清楚自身技术短板所在,并加以改进,提升安全技术。
②开展攻防演练,能够提早发现企业网络安全问题所在。针对问题及时整改,加强网络安全建设力度,提升企业的网络安全防护能力。
网络安全攻防演练的价值
①发现企业潜在安全威胁:通过模拟入侵来验证企业内部IT资产是否存在安全风险,从而寻求应对措施。
②强化企业安全意识:通过攻防演练,提高企业内部协同处置能力,预防风险事件的发生,确保企业的高度安全性。
③提升团队能力:通过攻防演练,以实际网络和业务环境为战场,真实模拟黑客攻击行为,防守方通过企业中多部门协同作战,实战大规模攻击情况下的防护流程及运营状态,提升应急处置效率和实战能力。
网络攻防是什么原理?复杂吗?
就是找系统漏洞进行入侵,简单点说就是写病毒的和杀毒软件的比赛
什么是攻防演练?网络安全攻防演练包含几个阶段?
对网络安全圈了解的人肯定都听说过“攻防演练”,它是检阅政企机构安全防护和应急处置能力的有效手段之一,而且每年国家都会举行实战攻防演练。那么网络安全中攻防演练分为哪5个阶段?以下是详细的内容介绍。
攻防演练保障工作不是一蹴而就,需要系统化的规划设计、统筹组织和部署执行。对于攻防演练的防御方,应按照以下五个阶段组织实施:
启动阶段:组建网络攻防演练保障团队并明确相关职责,制定工作计划、流程和具体方案。对信息网络架构进行梳理和分析,评估当前网络安全能力现状。对内外网的信息化资产进行梳理。
备战阶段:通过风险评估手段,对内外网信息化资产风险暴露面进行全面评估。制定合理可行的安全整改和建设方案,配合推动网络安全整改与治理工作。开展内部人员的网络安全意识宣贯。
临战阶段:制定应急演练预案,有序组织开展内部红蓝对抗、钓鱼攻击等专项演练工作。对人员进行安全意识专项强化培训。
保障阶段:依托安全保障中台,构建云地一体化联防联控安全保障体系,利用情报协同联动机制,持续有效地进行威胁监控、分析研判、应急响应、溯源反制等网络攻防演练保障工作。
总结阶段:对攻防演练工作进行经验总结和复盘,梳理总结报告,对演练中发现的问题进行优化改进和闭环处理。
计算机网络攻防技术的主要应用有哪些
什么是计算机网络:
指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
计算机网络的功能主要有:
通信 数据通信是计算机网络最基本的功能。它用来快速传送计算机与终端、计算机与计算机之间的各种信息,包括文字信件、新闻消息、咨询信息、图片资料、报纸版面等。利用这一特点,可实现将分散在各个地区的单位或部门用计算机网络联系起来,进行统一的调配、控制和管理。 资源共享 “资源”指的是网络中所有的、硬件和数据资源。“共享”指的是网络中的用户都能够部分或全部地享受这些资源。
应用实例:电脑及系统、服务器、通信设备、传输介质。
0条大神的评论