网站怎么防止攻击_web网站如何防止攻击

hacker|
242

如何正确的防范恶意攻击

一、一般网络恶意攻击分为3类

分别为ARP欺骗攻击、CC攻击、DDoS流量攻击。

( 1 ) ARP欺骗攻击

         地址解析协议(ARP)是TCP/IP栈中的一个网络层,它将一个IP地址解析为MAC地址。ARP协议的基本功能是通过目标设备的IP地址查询目标设备的MAC地址,保证通信的进行。ARP攻击只能在以太网(LAN,如:机房、内部网、企业网络等)中进行,无法攻击外部网络(Internet、非本地局域网)。

( 2 ) CC攻击

        相对而言,这种攻击比较有害。主机空间中有一个参数IIS连接数。当所访问的网站超过IIS连接数时,网站将出现不可用的服务。攻击者使用受控制的机器不断地向被攻击的网站发送访问请求,迫使IIS超过其连接限制数,当CPU或带宽资源耗尽时,网站将被攻击至关闭。对于高达100兆字节的攻击,防火墙是相当费力的,有时甚至会导致防火墙CPU资源耗尽而导致防火墙崩溃。高达100兆以上,在上层路由时操作员通常会阻止攻击的IP。CC攻击对动态网站造成的破坏最大,通常几台的电脑就可以搞垮一个网站。

(3)DDoS攻击

       这是一种DDoS攻击,而且这种攻击是最有害的。其原理是向目标服务器发送大量数据包,占用其带宽。对于流量攻击,简单地添加防火墙是无用的,必须有足够的带宽与防火墙配合进行防御。

二、 解决办法

(1) ARP欺骗

       1)ARP欺骗是通过重复应答实现的,那么只需要在本机添加一条静态的ARP映射,这样就不需要询问网关MAC地址了,这种方法只对主机欺骗有效。对于网关欺骗还需要在网关中也添加一条到主机的静态ARP映射。1.用管理身份运行命令提示符;输入netsh i i show in,查看一下本机有哪些网络连接;

      2)查看一下网关的MAC地址。注意如果正遭受ARP欺骗攻击,通过此方法查处的可能是虚假的MAC地址。输入arp -a命令查询本机的arp映射表,如果找不到网关的信息,可以先ping一下网关;

      3)输入:netsh -c “i i” add neighbors 连接的Idx号 网关IP 网关MAC 添加一条静态映射,我已经添加过了,所以会显示 对象已存在。

(2) CC攻击防御策略

      1)取消域名绑定

        一般来说,cc攻击的目标是网站的域名。例如,如果我们的网站域名是“mj007.cn”,攻击者会在攻击工具中将目标设置为域名,然后进行攻击。我们对这种攻击的反应是在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)采用防护CDN

        前4种方法都是对网站访问有很大的伤害的,而采用CDN话是可以智能识别别并拦截CC攻击,有效减少了误杀率,让网站可以达到正常访问的效果,国内以阿里云WAF防火墙、蔓捷信息高防最为出名,其中蔓捷信息高防物伤力高,防御能力强,推荐使用。

(3) DDoS攻击防御方法

      1)选择带有DDoS硬件防火墙的机房

         目前大部分的硬防机房对100G以内的DDoS流量攻击都能做到有效防护。选择硬防主要是针对DDoS流量攻击这一块的,如果你的企业网站一直遭受流量攻击的困扰,那你可以考虑将你的网站服务器放到DDoS防御机房。但是有的企业网站流量攻击超出了硬防的防护范围了,那就得考虑下面第二种了。

       2)CDN流量清洗防御

        目前,大多数的CDN服务提供商是普通的CDN,不具有保护功能,购买CDN应注意检查,购买可以防止600 Gbps的 DDoS攻击,可以说应对当前绝大多数的DDoS攻击是没问题的。同时,CDN技术不仅对企业网站流量攻击具有保护功能,也可以加快企业的网站的速度(前提应该基于CDN节点的位置),解决某些地方的缓慢网站打开。

       3)负载均衡技术

         这种类型主要针对DDoS攻击中的CC攻击进行防护,它使web服务器或其他类型的服务器超载,这些服务器具有大量的网络流量,通常由页面或链接生成。当然,这种现象也可能发生在访问量很大的网站上,但我们必须将这些正常的现象与分布式拒绝服务攻击区分开来。将负载均衡方案添加到企业网站后,不仅可以保护网站不受CC攻击,还可以平衡用户对各个web服务器的访问,减轻单个web服务器的负担,加快网站访问速度。

如何防范服务器被攻击?

一,首先服务器一定要把administrator禁用,设置一个陷阱账号:"Administrator"把它权限降至最低,然后给一套非常复杂的密码,重新建立

一个新账号,设置上新密码,权限为administraor

然后删除最不安全的组件:

建立一个BAT文件,写入

regsvr32/u C:\WINDOWS\System32\wshom.ocx

del C:\WINDOWS\System32\wshom.ocx

regsvr32\u C:\WINDOWS\system32\shell32.dll

del C:\WINDOWS\system32\shell32.dll

二,IIS的安全:

1、不使用默认的Web站点,如果使用也要将 将IIS目录与系统磁盘分开。

2、删除IIS默认创建的Inetpub目录(在安装系统的盘上)。

3、删除系统盘下的虚拟目录,如:_vti_bin、IISSamples、Scripts、IIShelp、IISAdmin、IIShelp、MSADC。

4、删除不必要的IIS扩展名映射。

右键单击“默认Web站点→属性→主目录→配置”,打开应用程序窗口,去掉不必要的应用程序映射。主要为.shtml, .shtm, .stm

5、更改IIS日志的路径

右键单击“默认Web站点→属性-网站-在启用日志记录下点击属性

6、如果使用的是2000可以使用iislockdown来保护IIS,在2003运行的IE6.0的版本不需要。

八、其它

1、 系统升级、打操作系统补丁,尤其是IIS 6.0补丁、SQL SP3a补丁,甚至IE 6.0补丁也要打。同时及时跟踪最新漏洞补丁;

2、停掉Guest 帐号、并给guest 加一个异常复杂的密码,把Administrator改名或伪装!

3、隐藏重要文件/目录

可以修改注册表实现完全隐藏:“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ Current-Version\Explorer\Advanced\Folder\Hi

-dden\SHOWALL”,鼠标右击 “CheckedValue”,选择修改,把数值由1改为0

4、启动系统自带的Internet连接防火墙,在设置服务选项中勾选Web服务器。

5、防止SYN洪水攻击

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

新建DWORD值,名为SynAttackProtect,值为2

EnablePMTUDiscovery 值为0

NoNameReleaseOnDemand 值为1

EnableDeadGWDetect 值为0

KeepAliveTime 值为300,000

PerformRouterDiscovery 值为0

EnableICMPRedirects 值为0

6. 禁止响应ICMP路由通告报文

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\interface

新建DWORD值,名为PerformRouterDiscovery 值为0

7. 防止ICMP重定向报文的攻击

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

将EnableICMPRedirects 值设为0

8. 不支持IGMP协议

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

新建DWORD值,名为IGMPLevel 值为0

9、禁用DCOM:

运行中输入 Dcomcnfg.exe。 回车, 单击“控制台根节点”下的“组件服务”。 打开“计算机”子文件夹。

对于本地计算机,请以右键单击“我的电脑”,然后选择“属性”。选择“默认属性”选项卡。

清除“在这台计算机上启用分布式 COM”复选框。

10.禁用服务里的

Workstation 这服务开启的话可以利用这个服务,可以获取服务器所有帐号.

11阻止IUSR用户提升权限

三,这一步是比较关键的(禁用CMD运行)

运行-gpedit.msc-管理模板-系统

-阻止访问命令提示符

-设置

-已启用(E)

-也停用命令提示符脚本处理吗?

(是)

四,防止SQL注入

打开SQL Server,在master库用查询分析器执行以下语句:

exec sp_dropextendedproc 'xp_cmdshell

使用了以上几个方法后,能有效保障你的服务器不会随便被人黑或清玩家数据,当然我技术有限,有的高手还有更多方法入侵你的服务器,这

需要大家加倍努力去学习防黑技术,也希望高手们对我的评论给予指点,修正出更好的解决方案,对玩家的数据做出更有力的保障~~~

web常见的攻击方式有哪些,如何避免。

原理:1.登录受信任网站A,并在本地生成Cookie。

            2.在不登出A的情况下,访问危险网站B,引诱点击链接,实际上是调用A网站的链接,或者是接口地址,利用A的cookie未失效。

触发条件:A网站存在漏洞,用户在A网站登录过且cookie未失效

预防:token认证,访问网站,登录成功后,服务器生成token,存放在cookie里,session,或者本地,在访问接口的时候要求把token带上,到服务器端在验证(token最好是随机的,不可预测的)

         referer认证,页面来源(在hearder里),服务器判断是否是本站点下的页面,如果不是直接拦截。

XSS:跨站脚本攻击,不需要登录,向网站注入脚本(盗用cookie,改变页面的dom结构,重定向链接)。

博客网站,攻击者在上面发了一篇文章,内容是scriptwindow.open(“”+document.cookie)/script浏览器运行非法的html 标签/Javascript,用户下次访问就会把cookie发送到攻击者的服务器上。

预防:将输入的数据进行转义处理,比如说讲 转义成lt

SQL注入:sql语句伪造参数,

最常见的就是:' or '1'= '1。这是最常见的sql注入攻击,当我们输如用户名 jiajun ,然后密码输如'or '1'= '1的时候,我们在查询用户名和密码是否正确的时候,本来要执行的是select * from user where username='' and password='',经过参数拼接后,会执行sql语句 select * from user where username='jaijun' and password=' ' or ' 1'='1 ',这个时候1=1是成立,自然就跳过验证了。

预防:接口可以对采纳数进行转义,密码什么的敏感信息要加密

SYN Flood ,简单说一下tcp三次握手,客户端先服务器发出请求,请求建立连接,然后服务器返回一个报文,表明请求以被接受,然后客户端也会返回一个报文,最后建立连接。那么如果有这么一种情况,攻击者伪造ip地址,发出报文给服务器请求连接,这个时候服务器接受到了,根据tcp三次握手的规则,服务器也要回应一个报文,可是这个ip是伪造的,报文回应给谁呢,第二次握手出现错误,第三次自然也就不能顺利进行了,这个时候服务器收不到第三次握手时客户端发出的报文,又再重复第二次握手的操作。如果攻击者伪造了大量的ip地址并发出请求,这个时候服务器将维护一个非常大的半连接等待列表,占用了大量的资源,最后服务器瘫痪。

预防:增加服务器带宽。

          

web攻击有哪些?怎么防护?

1、DoS和DDoS攻击(DoS(Denial of Service),即拒绝服务,造成远程服务器拒绝服务的行为被称为DoS攻击。其目的是使计算机或网络无法提供正常的服务。最常见的DoS攻击有计算机网络带宽攻击和连通性攻击)

防范:(1) 反欺骗:对数据包的地址及端口的正确性进行验证,同时进行反向探测。(2) 协议栈行为模式分析:每个数据包类型需要符合RFC规定,这就好像每个数据包都要有完整规范的着装,只要不符合规范,就自动识别并将其过滤掉。(3) 特定应用防护:非法流量总是有一些特定特征的,这就好比即便你混进了顾客群中,但你的行为还是会暴露出你的动机,比如老重复问店员同一个问题,老做同样的动作,这样你仍然还是会被发现的。(4) 带宽控制:真实的访问数据过大时,可以限制其最大输出的流量,以减少下游网络系统的压力。

2、CSRF(Cross Site Request Forgery),即跨站请求伪造,是一种常见的Web攻击,但很多开发者对它很陌生。CSRF也是Web安全中最容易被忽略的一种攻击。

防范:(1) 验证码。应用程序和用户进行交互过程中,特别是账户交易这种核心步骤,强制用户输入验证码,才能完成最终请求。在通常情况下,验证码够很好地遏制CSRF攻击。但增加验证码降低了用户的体验,网站不能给所有的操作都加上验证码。所以只能将验证码作为一种辅助手段,在关键业务点设置验证码。(2) Referer Check。HTTP Referer是header的一部分,当浏览器向web服务器发送请求时,一般会带上Referer信息告诉服务器是从哪个页面链接过来的,服务器籍此可以获得一些信息用于处理。可以通过检查请求的来源来防御CSRF攻击。正常请求的referer具有一定规律,如在提交表单的referer必定是在该页面发起的请求。所以通过检查http包头referer的值是不是这个页面,来判断是不是CSRF攻击。但在某些情况下如从https跳转到http,浏览器处于安全考虑,不会发送referer,服务器就无法进行check了。若与该网站同域的其他网站有XSS漏洞,那么攻击者可以在其他网站注入恶意脚本,受害者进入了此类同域的网址,也会遭受攻击。出于以上原因,无法完全依赖Referer Check作为防御CSRF的主要手段。但是可以通过Referer Check来监控CSRF攻击的发生。(3) Anti CSRF Token。目前比较完善的解决方案是加入Anti-CSRF-Token,即发送请求时在HTTP 请求中以参数的形式加入一个随机产生的token,并在服务器建立一个拦截器来验证这个token。服务器读取浏览器当前域cookie中这个token值,会进行校验该请求当中的token和cookie当中的token值是否都存在且相等,才认为这是合法的请求。否则认为这次请求是违法的,拒绝该次服务。这种方法相比Referer检查要安全很多,token可以在用户登陆后产生并放于session或cookie中,然后在每次请求时服务器把token从session或cookie中拿出,与本次请求中的token 进行比对。由于token的存在,攻击者无法再构造出一个完整的URL实施CSRF攻击。但在处理多个页面共存问题时,当某个页面消耗掉token后,其他页面的表单保存的还是被消耗掉的那个token,其他页面的表单提交时会出现token错误。

3、XSS(Cross Site Scripting),跨站脚本攻击。为和层叠样式表(Cascading Style Sheets,CSS)区分开,跨站脚本在安全领域叫做“XSS”。

防范:(1) 输入过滤。永远不要相信用户的输入,对用户输入的数据做一定的过滤。如输入的数据是否符合预期的格式,比如日期格式,Email格式,电话号码格式等等。这样可以初步对XSS漏洞进行防御。上面的措施只在web端做了限制,攻击者通抓包工具如Fiddler还是可以绕过前端输入的限制,修改请求注入攻击脚本。因此,后台服务器需要在接收到用户输入的数据后,对特殊危险字符进行过滤或者转义处理,然后再存储到数据库中。(2) 输出编码。服务器端输出到浏览器的数据,可以使用系统的安全函数来进行编码或转义来防范XSS攻击。在PHP中,有htmlentities()和htmlspecialchars()两个函数可以满足安全要求。相应的JavaScript的编码方式可以使用JavascriptEncode。(3) 安全编码。开发需尽量避免Web客户端文档重写、重定向或其他敏感操作,同时要避免使用客户端数据,这些操作需尽量在服务器端使用动态页面来实现。(4) HttpOnly Cookie。预防XSS攻击窃取用户cookie最有效的防御手段。Web应用程序在设置cookie时,将其属性设为HttpOnly,就可以避免该网页的cookie被客户端恶意JavaScript窃取,保护用户cookie信息。(5)WAF(Web Application Firewall),Web应用防火墙,主要的功能是防范诸如网页木马、XSS以及CSRF等常见的Web漏洞攻击。由第三方公司开发,在企业环境中深受欢迎。

4、SQL注入(SQL Injection),应用程序在向后台数据库传递SQL(Structured Query Language,结构化查询语言)时,攻击者将SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。

防范:(1) 防止系统敏感信息泄露。设置php.ini选项display_errors=off,防止php脚本出错之后,在web页面输出敏感信息错误,让攻击者有机可乘。(2) 数据转义。设置php.ini选项magic_quotes_gpc=on,它会将提交的变量中所有的’(单引号),”(双引号),\(反斜杠),空白字符等都在前面自动加上\。或者采用mysql_real_escape()函数或addslashes()函数进行输入参数的转义。(3) 增加黑名单或者白名单验证。白名单验证一般指,检查用户输入是否是符合预期的类型、长度、数值范围或者其他格式标准。黑名单验证是指,若在用户输入中,包含明显的恶意内容则拒绝该条用户请求。在使用白名单验证时,一般会配合黑名单验证。

5、上传漏洞在DVBBS6.0时代被黑客们利用的最为猖獗,利用上传漏洞可以直接得到WEBSHELL,危害等级超级高,现在的入侵中上传漏洞也是常见的漏洞。该漏洞允许用户上传任意文件可能会让攻击者注入危险内容或恶意代码,并在服务器上运行。

防范: (1)检查服务器是否判断了上传文件类型及后缀。 (2) 定义上传文件类型白名单,即只允许白名单里面类型的文件上传。 (3) 文件上传目录禁止执行脚本解析,避免攻击者进行二次攻击。 Info漏洞 Info漏洞就是CGI把输入的参数原样输出到页面,攻击者通过修改输入参数而达到欺骗用户的目的。

0条大神的评论

发表评论