大家好,关于服务器*很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于服务器被攻击怎么解决方案服务器被攻击怎么解决方案视频的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!
一、为什么我的机器老是被ARP*
分类:电脑/网络>>反病*
问题描述:
我在学校的学生公寓主,但是我舍友的机器都没事,只有我老是被ARP*,即使我换IP也还是会被*,到底是怎么回事啊?
解析:
首先还是得说一下什么是ARP。如果你在UNIX Shell下输入 arp-a(9x下也是),你的输出看起来应该是这样的:
Interface: xxx.xxx.xxx.xxx
Inter Address Physical Address Type
xxx.xxx.xxx.xxx 00-00-93-64-48-d2 dynamic
xxx.xxx.xxx.xxx 00-00-b4-52-43-10 dynamic
...................
这里第一列显示的是ip,第二列显示的是和ip对应的网络接口卡的硬件(MAC),第三列是该ip和mac的对应关系类型。
可见,arp是一种将ip转化成以ip对应的网卡的物理的一种协议,或者说ARP协议是一种将ip转化成MAC的一种协议。它靠维持在内存中保存的一张表来使ip得以在网络上被目标机器应答。
为什么要将ip转化成mac呢?简单的说,这是因为在tcp网络环境下,一个ip包走到哪里,要怎么走是靠路由表定义。但是,当ip包到达该网络后,哪台机器响应这个ip包却是靠该ip*所包含的mac来识别。也就是说,只有机器的mac和该ip*的mac相同的机器才会应答这个ip包。因为在网络中,每一台主机都会有发送ip包的时候。所以,在每台主机的内存中,都有一个 arp--> mac的转换表。通常是动态的转换表(注意在路由中,该arp表可以被设置成静态)。也就是说,该对应表会被主机在需要的时候刷新。这是由于以太网在子网层上的传输是靠48位的mac而决定的。
通常主机在发送一个ip包之前,它要到该转换表中寻找和ip包对应的mac。如果没有找到,该主机就发送一个ARP广播包,看起来象这样子:
"我是主机xxx.xxx.xxx.xxx, mac是xxxxxxxxxxx,ip为xxx.xxx.xxx.xx1的主机请告之你的mac来"
ip为xxx.xxx.xxx.xx1的主机响应这个广播,应答ARP广播为:
"我是xxx.xxx.xxx.xx1,我的mac为xxxxxxxxxx2"
于是,主机刷新自己的ARP缓存,然后发出该ip包。
了解这些常识后,现在就可以谈在网络中如何实现ARP*了,可以看看这样一个例子:
一个*者想非法进入某台主机,他知道这台主机的火墙只对192.0.0.3(假设)这个ip开放23口(tel),而他必须要使用tel来进入这台主机,所以他要这么做:
1、他先研究192.0.0.3这台主机,发现这台95的机器使用一个oob就可以让他死掉。
2、于是,他送一个洪水包给192.0.0.3的139口,于是,该机器应包而死。
3、这时,主机发到192.0.0.3的ip包将无法被机器应答,系统开始更新自己的arp对应表。将192.0.0.3的项目搽去。
4、这段时间里,*者把自己的ip改成192.0.0.3
5、他发一个ping(icmp 0)给主机,要求主机更新主机的arp转换表。
6、主机找到该ip,然后在arp表中加入新的ip-->mac对应关系。
7、防火墙失效了,*的ip变成合法的mac,可以tel了。
现在,假如该主机不只提供tel,它还提供r命令(rsh,rcopy,rlogin等)那么,所有的安全约定将无效,*者可以放心的使用这台主机的资源而不用担心被记录什么。
有人也许会说,这其实就是冒用ip嘛。是冒用了ip,但决不是ip*,ip*的原理比这要复杂的多,实现的机理也完全不一样。
上面就是一个ARP的*过程,这是在同网段发生的情况。但是,提醒注意的是,利用*集线器或网桥是无法阻止ARP*的,只有路由分段是有效的阻止手段。(也就是ip包必须经过路由转发。在有路由转发的情况下,ARP*如配合ICMP*将对网络造成极大的危害。从某种角度讲,*者可以跨过路由监听网络中任何两点的通讯,如果设置防火墙,请注意防火墙有没有提示过类似“某某IP是局域IP但从某某路由来”等这样的信息。
在有路由转发的情况下,发送到达路由的ip的主机其arp对应表中,ip的对应值是路由的mac。
比如:我ping xxxx后,那么在我主机中, xxxx的IP对应项不是xxxx的mac,而是我路由的mac,其ip也是我路由的IP。(有些网络软件通过*路由ARP可以得到远程IP的MAC)。
有兴趣做深入一步的朋友可以考虑这样一种情况:
假设这个*者突然想到:我要经过一个路由才可以走到那台有防火墙的主机!!!
于是这个*者开始思考:
1、我的机器可以进入那个网段,但是,不是用192.0.0.3的IP。
2、如果我用那个IP,就算那台正版192.0.0.3的机器死了,那个网络里的机器也不会把ip包丢到路由传给我。
3、所以,我要骗主机把ip包丢到路由。
通过多种*手法可以达到这个目的。所以他开始这样做:
1、为了使自己发出的非法ip包能在网络上活久一点,开始修改ttl为下面的过程中可能带来的问题做准备。他把ttl改成255。(ttl定义一个ip包如果在网络上到不了主机后在网络上能存活的时间,改长一点在本例中有利于做充足的广播)
2、他掏出一张软盘,这张软盘中有他以前用sniffer时保存的各种ip包类型。
3、他用一个合法的ip进入网络,然后和上面一样,发个洪水包让正版的192.0.0.3死掉,然后他用192.0.0.3进入网络。
4、在该网络的主机找不到原来的192.0.0.3的mac后,将更新自己的ARP对应表。于是他赶紧修改软盘中的有关ARP广播包的数据,然后对网络广播说"能响应ip为192.0.0.3的mac是我"。
5、好了,现在每台主机都知道了,一个新的MAC对应ip 192.0.0.3,一个ARP*完成了,但是,每台主机都只会在局域网中找这个而根本就不会把发送给192.0.0.3的ip包丢给路由。于是他还得构造一个ICMP的重定向广播。
6、他开始再修改软盘中的有关ICMP广播包的数据,然后发送这个包,告诉网络中的主机:"到192.0.0.3的路由最短路径不是局域网,而是路由。请主机重定向你们的路由路径,把所有到192.0.0.3的ip包丢给路由哦。"
7、主机接受这个合理的ICMP重定向,于是修改自己的路由路径,把对192.0.0.3的ip通讯都丢给路由器。
8、*者终于可以在路由外收到来自路由内的主机的ip包了,他可以开始tel到主机的23口,用ip 192.0.0.3。
注意,这只是一个典型的例子,在实际操作中要考虑的问题还不只这些。
现在想想,如果他要用的是sniffer会怎样?
可见,利用ARP*,一个*者可以:
1、利用基于ip的安全*不足,冒用一个合法ip来进入主机。
2、逃过基于ip的许多程序的安全检查,如NSF,R系列命令等。
他甚至可以栽账*给某人,让他跳到黄河洗不清,永世不得超生!
那么,如何防止ARP*呢?
1、不要把你的网络安全信任关系建立在ip基础上或mac基础上,(rarp同样存在*的问题),理想的关系应该建立在ip+mac基础上。
2、设置静态的mac-->ip对应表,不要让主机刷新你设定好的转换表。
3、除非很有必要,否则停止使用ARP,将ARP做为永久条目保存在对应表中。
4、使用ARP服务器。通过该服务器查找自己的ARP转换表来响应其他机器的ARP广播。确保这台ARP服务器不被黑。
5、使用"proxy"代理ip的传输。
6、使用硬件屏蔽主机。设置好你的路由,确保ip能到达合法的路径。(静态配置路由ARP条目),注意,使用*集线器和网桥无法阻止ARP*。
7、管理员定期用响应的ip*获得一个rarp请求,然后检查ARP响应的真实*。
8、管理员定期轮询,检查主机上的ARP缓存。
9、使用防火墙连续监控网络。注意有使用SNMP的情况下,ARP的*有可能导致陷阱包丢
失。
以下收集的资料,供做进一步了解ARP协议
ARP的缓存记录格式:
每一行为:
IF Index:Physical Address:IP Address:Type
其中: IF Index为:
1以太网
2实验以太网
3 X.25
4 Proteon ProNET(Token Ring)
5混杂方式
6 IEEE802.X
7 ARC网
ARP广播申请和应答结构
硬件类型:协议类型:协议长:硬件长:操作码:发送机硬件:
发送机IP:接受机硬件:接受机IP。
其中:协议类型为: 512 XEROX PUP
513 PUP转换
1536 XEROX NS IDP
2048 Inter协议(IP)
2049 X.752050NBS
2051 ECMA
2053 X.25第3层
2054 ARP
2055 XNS
4096伯克利追踪者
21000 BBS Sim
24577 DEC MOP转储/装载
24578 DEC MOP远程控制台
24579 DEC网 IV段
24580 DEC LAT
24582 DEC
32773 HP探示器
32821 RARP
32823 Apple Talk
32824 DEC局域网桥
如果你用过NetXRay,那么这些可以帮助你了解在细节上的ARP*如何配合ICMP*而让一个某种类型的广播包流入一个.
解决看这里:dawuhan/Detail/465
二、DNS*攻击和防范方法有哪些
一什么是DNS
DNS是域名系统(Domain Name System)的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务。在Inter上域名与IP之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。
二 DNS的工作原理
DNS命名用于 Inter等 TCP/IP网络中,通过用户友好的名称查找计算机和服务。当用户在应用程序中输入 DNS名称时,DNS服务可以将此名称解析为与之相关的其他信息,如 IP。因为,你在上网时输入的网址,是通过域名解析系解析找到相对应的IP,这样才能上网。其实,域名的最终指向是IP。
在IPV4中IP是由32位二进制数组成的,将这32位二进制数分成4组每组8个二进制数,将这8个二进制数转化成十进制数,就是我们看到的IP,其范围是在0~255之间。因为,8个二进制数转化为十进制数的最大范围就是0~255。现在已开始试运行、将来必将代替IPV6中,将以128位二进制数表示一个IP。
大家都知道,当我们在上网的时候,通常输入的是如:这样子的网址,其实这就是一个域名,而我们计算机网络上的计算机彼此之间只能用IP才能相互识别。再如,我们去一WEB服务器中请求一WEB页面,我们可以在浏览器中输入网址或者是相应的IP,例如我们要上新浪网,我们可以在IE的栏中输入:也可输入这样子 218.30.66.101的IP,但是这样子的IP我们记不住或说是很难记住,所以有了域名的说法,这样的域名会让我们容易的记住。
DNS:Domain Name System域名管理系统域名是由圆点分开一串单词或缩写组成的,每一个域名都对应一个惟一的IP,这一命名的方法或这样管理域名的系统叫做域名管理系统。
DNS:Domain Name Server域名服务器域名虽然便于人们记忆,但网络中的计算机之间只能互相认识IP,它们之间的转换工作称为域名解析(如上面的与 218.30.66.101之间的转换),域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。
三 DNS*攻击
DNS*即域名信息*是最常见的DNS安全问题。当一个DNS服务器掉入陷阱,使用了来自一个恶意DNS服务器的错误信息,那么该DNS服务器就被*了。DNS*会使那些易受攻击的DNS服务器产生许多安全问题,例如:将用户引导到错误的互联网站点,或者发送一个电子邮件到一个未经授权的邮件服务器。网络攻击者通常通过以下几种方法进行DNS*。
1、缓存感染:
*会熟练的使用DNS请求,将数据放入一个没有设防的DNS服务器的缓存当中。这些缓存信息会在客户进行DNS访问时返回给客户,从而将客户引导到*者所设置的运行*的Web服务器或邮件服务器上,然后*从这些服务器上获取用户信息。
2、DNS信息劫持:
*者通过监听客户端和DNS服务器的对话,通过猜测服务器响应给客户端的DNS查询ID。每个DNS报文包括一个相关联的16位ID号,DNS服务器根据这个ID号获取请求源位置。*在DNS服务器之前将虚假的响应交给用户,从而*客户端去访问恶意的网站。
3、DNS重定向
攻击者能够将DNS名称查询重定向到恶意DNS服务器。这样攻击者可以获得DNS服务器的写权限。
四 DNS的防范方法
防范方法其实很简单,总结来说就只有两条。(1)用IP访问重要的服务,这样至少可以避开DNS*攻击。但这需要你记住要访问的IP。(2)加密所有对外的数据流,对服务器来说就是尽量使用SSH之类的有加密支持的协议,对一般用户应该用PGP之类的软件加密所有发到网络上的数据。只要能做到这些,基本上就可以避免DNS*攻击了。
现在知道为什么当你在浏览器中输入正确的URL,但是打开的并不是你想要去的网站了吧,这就是神奇的DNS*,希望学习DNS协议*攻击技术有所帮助
三、服务器被攻击怎么解决方案服务器被攻击怎么解决方案视频
服务器被攻击怎么办?
安全永远是相对的,再安全的服务器也可能被攻击。作为安全运维人员,要把握的原则是:尽量做好系统安全防护,修复所有已知的危险行为,同时在系统受到攻击后,快速有效的处理攻击行为,将攻击对系统的影响降到最低。
首先,处理服务器攻击的一般思想
系统被攻击并不可怕。可怕的是面对攻击你无能为力。下面详细介绍一下服务器被攻击后的一般处理思路。
1.切断网络
所有的攻击都来自网络。所以在得知系统被*攻击后,首先要做的就是断开服务器的网络连接,这样不仅可以切断攻击源,还可以保护服务器所在网络中的其他主机。
2.找到攻击的来源
可以通过分析系统日志或登录日志文件来查看可疑信息,也可以查看系统中打开了哪些端口,运行了哪些进程,通过这些进程来分析哪些可疑程序。这个过程要根据经验和综合判断能力进行追踪分析。以下章节将详细介绍该流程的处理思路。
3.分析*的原因和途径。
既然系统被*了,原因有很多,可能是系统bug,也可能是程序bug。我们必须找出是什么原因造成的,也要找出被攻击的方式,找出攻击的来源,因为只有知道被攻击的原因和方式,才能删除攻击的来源,同时修复bug。
4.备份用户数据
服务器被攻击后,需要立即备份服务器上的用户数据,检查这些数据中是否隐藏着攻击源。如果攻击源在用户数据中,必须彻底删除,然后将用户数据备份到安全的地方。
5.重新安装系统
千万不要以为可以彻底清除攻击源,因为没有人比*更了解攻击程序。服务器被攻击后,最安全最简单的方法就是重装系统,因为大部分攻击程序都会附着在系统文件或内核中,重装系统可以彻底清除攻击源。
6.修复程序或系统漏洞
在发现一个系统漏洞或者一个应用程序漏洞之后,首先要做的就是修复系统漏洞或者更改程序bug,因为只有修复了程序漏洞,才能在服务器上正式运行。
7.恢复数据并连接到网络
将备份数据复制回新安装的服务器,然后启动服务,最后打开服务器的网络连接对外提供服务。
第二,检查并锁定可疑用户
当发现服务器受到攻击时,必须先切断网络连接。但在某些情况下,比如无法立即切断网络连接时,就需要登录系统,看看是否有可疑用户。如果有任何可疑用户登录系统,需要立即锁定该用户,然后断开该用户的远程连接。
1.登录系统查看可疑用户。
以root身份登录,然后执行“W”命令,列出所有登录过系统的用户,如下图所示。
通过这个输出,我们可以检查是否有可疑或不熟悉的用户登录,我们还可以根据他们的用户名,他们的源和他们的运行进程来判断他们是否是非法用户。
2.锁定可疑用户
一旦发现可疑用户,要立即锁定。比如执行上面的“W”命令后,发现nobody用户应该是一个可疑用户(因为nobody默认没有登录权限),那么先锁定这个用户,进行如下操作:
[root@server~]#passwd-lnobody
锁定后,有可能这个用户还在登录,所以要把这个用户踢离线。根据上面“W”命令的输出,可以得到这个用户登录的pid值。操作如下所示:
[root@server~]#PS-efgrep@pts/3
539:23?00:00:00sshd:nobody@pts/3
[root@server~]#kill-96051
这使得可疑用户nobody下线。如果该用户再次尝试登录,它将无法登录。
3.通过最后一个命令检查用户登录事件。
最后一个命令记录所有用户登录系统的日志,可以用来查找未授权用户的登录事件。最后一个命令的输出结果来自于文件/var/log/wtmp,一些有经验的*者会删除/var/log/wtmp来清除自己的踪迹,但是这个文件里还是会有线索的。
第三,检查系统日志
查看系统日志是找到攻击来源的最佳方式。可用的系统日志有/var/log/messages、/var/log/secure等。这两个日志文件可以记录软件的运行状态和远程用户的登录状态。您也可以查看。bash_history文件,尤其是。/根目录下的bash_history文件,记录了用户执行的所有历史命令。
第四,检查并关闭系统的可疑进程。
检查可疑进程的命令有很多,比如ps,top等。,但是有时候只知道进程的名字却不知道路径。此时,您可以通过以下命令来检查它:
首先,你可以通过pidof命令找到正在运行的进程的PID。例如,要查找sshd进程的PID,请执行以下命令:
然后进入内存目录查看对应PID目录下的exe文件信息:
这样就找到了流程对应的完整执行路径。如果您还有查看文件的句柄,可以查看以下目录:
[root@server~]#ls-al/proc/13276/FD
这样基本上可以找到任何进程的完整执行信息。此外,还有许多类似的命令可以帮助系统运维人员发现可疑进程。例如,您可以通过指定端口或tcp和udp协议来找到进程PID,然后找到相关的进程:
有时候,攻击者的程序隐藏得很深,比如rootkits后门。在这种情况下,ps、top、stat等命令可能已被替换。如果使用系统自己的命令来检查可疑程序,它将变得不可信。这时候就需要借助第三方工具来检查系统的可疑程序,比如之前介绍过的crootkit和RKHunter。通过这些工具,可以很容易地找到被系统替换或篡改的程序。
动词(verb的缩写)检查文件系统的完整*。
检查文件属*是否发生变化是验证文件系统完整*最简单、最的方法。比如可以检查被*服务器上的/bin/ls文件大小是否与正常系统上的相同,以验证文件是否被替换,但这种方法比较低级。此时,可以借助Linux下的工具rpm来完成验证。操作如下所示:
输出中每个标记的含义描述如下:
s表示文件长度发生了变化,M表示文件的访问权限或文件类型发生了变化,5表示MD5校验和发生了变化,D表示设备节点的属*发生了变化,L表示文件的符号发生了变化,U表示文件/子目录/设备节点的所有者发生了变化,G表示文件/子目录/设备节点的组发生了变化,T表示文件的最后修改时间发生了变化。
如果输出结果中出现“M”标记,则相应的文件可能已被篡改或替换。此时可以卸载这个rpm包,重新安装,清理被攻击的文件。
但是这个命令有一个限制,就是只能检查rpm包安装的所有文件,对于非rpm包安装的文件却无能为力。同时,如果rpm工具也被替换,则不能采用这种方法。此时可以从正常系统中复制一个rpm工具进行检测。
检查文件系统也可以通过两个工具来完成,crootkit和RKHunter。crootkit和RKHunter的使用方法下次再介绍。
服务器被*怎么办?
发现服务器被*,应立即关闭所有网站服务
如果安装的是星外虚拟主机管理系统,则重装最新的受控端安装包,重新自动设置受控端网站,这样会自动更改密码。
为系统安装最新的补丁,当然还有所有运行着的服务器软件。
检查添加/删除程序里面是不是被人装了其他软件。
为网站目录重新配置权限,关闭删除可疑的系统账户。
升级PHP安装包到最新,升级软件到最新。
对于*服务器的*我们只能“预防为主,防治结合,综合处理”的态度,我们所能做的就是预防,在**之前做好备份,把损失减到最少。
服务器受到攻击的几种方式?
常见的几种网络攻击形式就我们所知,被用来窃取口令的服务包括FTP、TFTP、邮件系统、Finger和Tel等等。换句话说,如果系统管理员在选择主机系统时不小心或不走运的话,攻击者要窃取口令文件就将易如反掌,所以防范的手段包括对软件的使用都要采取十分谨慎地态度,大家一定要记住:坏家伙只用成功一次就够了。缺陷和后门事实上没有完美无缺的代码,也许系统的某处正潜伏着重大的缺陷或者后门等待人们的发现,区别只是在于谁先发现它。只有本着怀疑一切的态度,从各个方面检查所输入信息的正确*,还是可以回避这些缺陷的。比如说,如果程序有固定尺寸的缓冲区,无论是什么类型,一定要保证它不溢出;如果使用动态内存分配,一定要为内存或文件系统的耗尽做好准备,并且记住恢复策略可能也需要内存和磁盘空间。鉴别失败即使是一个完善的机制在某些特定的情况下也会被攻破。例如:源的校验可能正在某种条件下进行(如防火墙筛选伪造的数据包),但是*可以用程序Portmer重传某一请求。在这一情况下,服务器最终受到*,报文表面上源于本地,实际上却源于其他地方。协议失败寻找协议漏洞的游戏一直在*中长盛不衰,在密码学的领域尤其如此。有时是由于密码生成者犯了错误,过于明了和简单。更多的情况是由于不同的假设造成的,而证明密码*的正确*是很困难的事。信息泄漏大多数的协议都会泄漏某些信息。高明的*并不需要知道你的局域网中有哪些计算机存在,他们只要通过空间和端口扫描,就能寻找到隐藏的主机和感兴趣的服务。最好的防御方法是高*能的防火墙,如果*们不能向每一台机器发送数据包,该机器就不容易被*。拒绝服务有的人喜欢刺破别人的车胎,有的人喜欢在墙上乱涂乱画,也有人特别喜欢把别人的机器搞瘫痪。很多网络攻击者对这种损人不利己的行为乐此不疲真是令人费解。这种捣乱的行为多种多样,但本质上都差不多,就是想将你的资源耗尽,从而让你的计算机系统瘫痪。尽管主动的过滤可以在一定的程度上保护你,但是由于这种攻击不容易识别,往往让人防不胜防。也许你还遇到过其他的攻击方式,我们在这里不能一一列举,总而言之一句话:网络之路,步步凶险。
服务器被攻击断网就好了吗?
是的
当我们了解到系统正在遭到*攻击时,第一件要做的事情就是断开服务器的网络连接,这样除了切断攻击源外,还可以保护服务器所在网络上的其他主机。
1、排查可疑用户。
2、从系统日志检查攻击情况。
3、检查和关闭系统的可疑程序。
4、检查文件系统是否完好。
服务器被*攻击怎么办?
如果服务器(网站)被*或*攻击了,一般都是服务器或者网站存在漏洞,被*利用并提权*的,导致服务器中*,网站被挂黑链,被篡改,被挂马。解决办法:如果程序不是很大,可以自己比对以前程序的备份文件