服务器攻击是什么意思_服务器攻击范围判定

hacker|
84

什么情况会导致linux服务器上的5个会话都没有了

随着Linux企业应用的扩展,有大量的网络服务器使用Linux操作系统。Linux服务器的安全性能受到越来越多的关注,这里根据Linux服务器受到攻击的深度以级别形式列出,并提出不同的解决方案。 对Linux服务器攻击的定义是:攻击是一种旨在妨碍、损害、削弱、破坏Linux服务器安全的未授权行为。攻击的范围可以从服务拒绝直至完全危害和破坏Linux服务器。对Linux服务器攻击有许多种类,本文从攻击深度的角度说明,我们把攻击分为四级。

攻击级别一:服务拒绝攻击(DoS)

由于DoS攻击工具的泛滥,及所针对的协议层的缺陷短时无法改变的事实,DoS也就成为了流传最广、最难防范的攻击方式。

服务拒绝攻击包括分布式拒绝服务攻击、反射式分布拒绝服务攻击、DNS分布拒绝服务攻击、FTP攻击等。大多数服务拒绝攻击导致相对低级的危险,即便是那些可能导致系统重启的攻击也仅仅是暂时性的问题。这类攻击在很大程度上不同于那些想获取网络控制的攻击,一般不会对数据安全有影响,但是服务拒绝攻击会持续很长一段时间,非常难缠。

到目前为止,没有一个绝对的方法可以制止这类攻击。但这并不表明我们就应束手就擒,除了强调个人主机加强保护不被利用的重要性外,加强对服务器的管理是非常重要的一环。一定要安装验证软件和过滤功能,检验该报文的源地址的真实地址。另外对于几种服务拒绝可以采用以下措施:关闭不必要的服务、限制同时打开的Syn半连接数目、缩短Syn半连接的time out 时间、及时更新系统补丁。

攻击级别二:本地用户获取了他们非授权的文件的读写权限

本地用户是指在本地网络的任一台机器上有口令、因而在某一驱动器上有一个目录的用户。本地用户获取到了他们非授权的文件的读写权限的问题是否构成危险很大程度上要看被访问文件的关键性。任何本地用户随意访问临时文件目录(/tmp)都具有危险性,它能够潜在地铺设一条通向下一级别攻击的路径。

级别二的主要攻击方法是:黑客诱骗合法用户告知其机密信息或执行任务,有时黑客会假装网络管理人员向用户发送邮件,要求用户给他系统升级的密码。

由本地用户启动的攻击几乎都是从远程登录开始。对于Linux服务器,最好的办法是将所有shell账号放置于一个单独的机器上,也就是说,只在一台或多台分配有shell访问的服务器上接受注册。这可以使日志管理、访问控制管理、释放协议和其他潜在的安全问题管理更容易些。还应该将存放用户CGI的系统区分出来。这些机器应该隔离在特定的网络区段,也就是说,根据网络的配置情况,它们应该被路由器或网络交换机包围。其拓扑结构应该确保硬件地址欺骗也不能超出这个区段。

攻击级别三:远程用户获得特权文件的读写权限

第三级别的攻击能做到的不只是核实特定文件是否存在,而且还能读写这些文件。造成这种情况的原因是:Linux服务器配置中出现这样一些弱点:即远程用户无需有效账号就可以在服务器上执行有限数量的命令。

密码攻击法是第三级别中的主要攻击法,损坏密码是最常见的攻击方法。密码破解是用以描述在使用或不使用工具的情况下渗透网络、系统或资源以解锁用密码保护的资源的一个术语。用户常常忽略他们的密码,密码政策很难得到实施。黑客有多种工具可以击败技术和社会所保护的密码。主要包括:字典攻击(Dictionary attack)、混合攻击(Hybrid attack)、蛮力攻击(Brute force attack)。一旦黑客拥有了用户的密码,他就有很多用户的特权。密码猜想是指手工进入普通密码或通过编好程序的正本取得密码。一些用户选择简单的密码-如生日、纪念日和配偶名字,却并不遵循应使用字母、数字混合使用的规则。对黑客来说要猜出一串8个字生日数据不用花多长时间。

防范第三级别的攻击的最好的防卫方法便是严格控制进入特权,即使用有效的密码。 主要包括密码应当遵循字母、数字、大小写(因为Linux对大小写是有区分)混合使用的规则。 使用象"#"或"%"或"$"这样的特殊字符也会添加复杂性。例如采用"countbak"一词,在它后面添加"#$"(countbak#$),这样您就拥有了一个相当有效的密码。

攻击级别四:远程用户获得根权限

第四攻击级别是指那些决不应该发生的事发生了,这是致命的攻击。表示攻击者拥有Linux服务器的根、超级用户或管理员许可权,可以读、写并执行所有文件。换句话说,攻击者具有对Linux服务器的全部控制权,可以在任何时刻都能够完全关闭甚至毁灭此网络。

攻击级别四主要攻击形式是TCP/IP连续偷窃,被动通道听取和信息包拦截。TCP/IP连续偷窃,被动通道听取和信息包拦截,是为进入网络收集重要信息的方法,不像拒绝服务攻击,这些方法有更多类似偷窃的性质,比较隐蔽不易被发现。一次成功的TCP/IP攻击能让黑客阻拦两个团体之间的交易,提供中间人袭击的良好机会,然后黑客会在不被受害者注意的情况下控制一方或双方的交易。通过被动窃听,黑客会操纵和登记信息,把文件送达,也会从目标系统上所有可通过的通道找到可通过的致命要害。黑客会寻找联机和密码的结合点,认出申请合法的通道。信息包拦截是指在目标系统约束一个活跃的听者程序以拦截和更改所有的或特别的信息的地址。信息可被改送到非法系统阅读,然后不加改变地送回给黑客。

TCP/IP连续偷窃实际就是网络嗅探,注意如果您确信有人接了嗅探器到自己的网络上,可以去找一些进行验证的工具。这种工具称为时域反射计量器(Time Domain Reflectometer,TDR)。TDR对电磁波的传播和变化进行测量。将一个TDR连接到网络上,能够检测到未授权的获取网络数据的设备。不过很多中小公司没有这种价格昂贵的工具。对于防范嗅探器的攻击最好的方法是:

1、安全的拓扑结构。嗅探器只能在当前网络段上进行数据捕获。这就意味着,将网络分段工作进行得越细,嗅探器能够收集的信息就越少。

2、会话加密。不用特别地担心数据被嗅探,而是要想办法使得嗅探器不认识嗅探到的数据。这种方法的优点是明显的:即使攻击者嗅探到了数据,这些数据对他也是没有用的。

特别提示:应对攻击的反击措施

对于超过第二级别的攻击您就要特别注意了。因为它们可以不断的提升攻击级别,以渗透Linux服务器。此时,我们可以采取的反击措施有: 首先备份重要的企业关键数据。 改变系统中所有口令,通知用户找系统管理员得到新口令。 隔离该网络网段使攻击行为仅出现在一个小范围内。 允许行为继续进行。如有可能,不要急于把攻击者赶出系统,为下一步作准备。

记录所有行为,收集证据。这些证据包括:系统登录文件、应用登录文件、AAA(Authentication、Authorization、 Accounting,认证、授权、计费)登录文件,RADIUS(Remote Authentication

Dial-In User Service) 登录,网络单元登录(Network Element Logs)、防火墙登录、HIDS(Host-base IDS,基于主机的入侵检测系统) 事件、NIDS(网络入侵检测系统)事件、磁盘驱动器、隐含文件等。收集证据时要注意:在移动或拆卸任何设备之前都要拍照;在调查中要遵循两人法则,在信息收集中要至少有两个人,以防止篡改信息;应记录所采取的所有步骤以及对配置设置的任何改变,要把这些记录保存在安全的地方。检查系统所有目录的存取许可,检测Permslist是否被修改过。

进行各种尝试(使用网络的不同部分)以识别出攻击源。

为了使用法律武器打击犯罪行为,必须保留证据,而形成证据需要时间。为了做到这一点,必须忍受攻击的冲击(虽然可以制定一些安全措施来确保攻击不损害网络)。对此情形,我们不但要采取一些法律手段,而且还要至少请一家有权威的安全公司协助阻止这种犯罪。这类操作的最重要特点就是取得犯罪的证据、并查找犯罪者的地址,提供所拥有的日志。对于所搜集到的证据,应进行有效地保存。在开始时制作两份,一个用于评估证据,另一个用于法律验证。

找到系统漏洞后设法堵住漏洞,并进行自我攻击测试。

网络安全已经不仅仅是技术问题,而是一个社会问题。企业应当提高对网络安全重视,如果一味地只依靠技术工具,那就会越来越被动;只有发挥社会和法律方面打击网络犯罪,才能更加有效。我国对于打击网络犯罪已经有了明确的司法解释,遗憾的是大多数企业只重视技术环节的作用而忽略法律、社会因素,这也是本文的写作目的。

拒绝服务攻击(DoS)

DoS即Denial Of Service,拒绝服务的缩写,可不能认为是微软的DOS操作系统!DoS攻击即让目标机器停止提供服务或资源访问,通常是以消耗服务器端资源为目标,通过伪造超过服务器处理能力的请求数据造成服务器响应阻塞,使正常的用户请求得不到应答,以实现攻击目的。

我们的Linux服务器是4块硬盘做的RAID5,一次停电后,一块硬盘损坏,另三块也提示fail,但force online后,用3块硬盘可以正常启动。

后换入一块相同大小的旧硬盘(不知道有没有旧数据),开机自动rebuild后,也要对新换的硬盘force online。

但不论插3块还是4块硬盘,linux系统都启动失败。

屏幕提示:

root(hd0,0)

Filesystem type is ext2fs,partition type 0x83

kernel /boot/vmLinuz-2.4.21-15smp ro root=/dev/sda1 devfs=mount quite 5 vag= 0x314

[Llinx -bzImage,setup=)x1400,size=0x1484d5]

Error 24 attempt to access block outside partition

请问:该怎么解决?谢谢。

怎样的服务器能防攻击?

高防服务器能防大多数恶意攻击:

高防服务器的两个特点

高防服务器防御大流量攻击上主要有两个特点,第一为放置流量所占取的高带宽,二为对付大流量有智能识别的防火墙牵引系统,其中带宽的要求会比较重要,因为DDoS攻击其实就是一种资源上的占取,如果资源充足时,这种攻击自然不会对网络有着很大的影响,但是如果高防服务器的带宽不够充足时,那么在好的防火墙也是于事无补。

而数据牵引就是高防服务器的第二个特点,在租用高防服务器后,服务商会对流量攻击的防御有一个硬防范围,在这个范围下,高防服务器的牵引系统会对进入服务器的流量有一个识别功能,即使受到网络攻击时,在保护范围内用户的业务都不会有所影响,如果攻击流量超过保护的范围时,就会对IP进行暂时性的牵引。通常高防服务器的防御硬防有10G,20G,40G等多种标准。

什么是CC攻击,如何防止网站被CC攻击?

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线攻击,服务器马上满负荷了。

代码层的防御需要从点点滴滴做起,一个脚本代码的错误,可能带来的是整个站的影响,甚至是整个服务器的影响,慎之!

网络攻击是不是网络服务风险中最常见的一种

网络攻击是指任何非授权而进入或试图进入他人计算机网络的行为。这种行为包括对整个网络的攻击,也包括对网络中的服务器或单个计算机的攻击。网络攻击是入侵者实现入侵目的所采取的技术手段和方法。

攻击的范围从简单的使服务器无法提供正常的服务到完全破坏,控制服务器。实施攻击行为的“人”称为攻击者。网络攻击通常遵循一种行为模型,包含侦查、攻击与侵入、退出三个阶段。入侵者运用计算机及网络技术,利用网络的薄弱环节,侵入对方计算机及其系统进行一系列破坏性活动,如搜集、修改、破坏和偷窃信息等。网络攻击一般从确定攻击目标、收集信息开始,然后开始对目标系统进行弱点分析。我们常用的网络攻击技术有网络监听、ARP欺骗、缓冲区溢出、DoS(拒绝服务)与DDoS攻击(分布式拒绝服务)。

攻击别人的服务器但没有造成损失也犯法吗?

当然是违法的,一旦攻击,你会造成一定数量的服务器瘫痪,将造成损失的游戏。即使你不想赚钱,但由于你的关系造成了游戏开发商的损失,是你的责任,如果对方起诉你,你就要付出代价并承担责任

0条大神的评论

发表评论