本文目录一览:
- 1、如何检测网站服务器的漏洞?
- 2、怎么判断服务器被cc攻击了?
- 3、如何看Linux服务器是否被攻击
- 4、怎么判断服务器是否被DDoS恶意攻击?
- 5、如何查看服务器是否被攻击
- 6、如何检测我的服务器是否存在DDoS攻击程序?
如何检测网站服务器的漏洞?
查找Web服务器漏洞
在Web服务器等非定制产品中查找漏洞时,使用一款自动化扫描工具是一个不错的起点。与Web应用程序这些定制产品不同,几乎所有的Web服务器都使用第三方软件,并且有无数用户已经以相同的方式安装和配置了这些软件。
在这种情况下,使用自动化扫描器发送大量专门设计的请求并监控表示已知漏洞的签名,就可以迅速、高效地确定最明显的漏洞。Nessus 是一款优良的免费漏洞扫描器,还有各种商业扫描器可供使用,如 Typhon 与 ISS。
除使用扫描工具外,渗透测试员还应始终对所攻击的软件进行深入研究。同时,浏览Security Focus、邮件列表Bugtrap和Full Disclosure等资源,在目标软件上查找所有最近发现的、尚未修复的漏洞信息。
还要注意,一些Web应用程序产品中内置了一个开源Web服务器,如Apache或Jetty。因为管理员把服务器看作他们所安装的应用程序,而不是他们负责的基础架构的一部分,所以这些捆绑服务器的安全更新也应用得相对较为缓慢。而且,在这种情况下,标准的服务标题也已被修改。因此,对所针对的软件进行手动测试与研究,可以非常有效地确定自动化扫描工具无法发现的漏洞。
怎么判断服务器被cc攻击了?
首先测试是否能ping通服务器,如果能ping通,多半是服务器内部问题。不能ping通则先确定服务器本身无问题后,排查网络问题。
A:可以ping通
1. 这种可以确定是服务器内部问题,首先用netstat -nao 查看分析远程端口,看是否在监听。
2. 如果端口未开启,则查看远程服务是否打开或启动。
3. 如果端口已开启,则检查防火墙是否开启,规则是否正确添加。4. 如掉包严重,看是有无异常进程,是否中马。带宽及其系统资源占用是否正常。
B:不可以ping通
1.首先查询IP是否被网络攻击,是否被查封等。
2.如未被攻击,则需进系统查看,看带宽及其系统资源是否占用正常,有无异常进程,是否中马。
3.查看网卡配置是否异常。
最后服务器还是远程登录不了,如果是其他原因导致,先思考一下最近有没有做过什么操作,寻找原因并解决,实在不行可以找服务商协助解决。
如何看Linux服务器是否被攻击
以下几种方法检测linux服务器是否被攻击:
1、检查系统密码文件
首先从明显的入手,查看一下passwd文件,ls –l /etc/passwd查看文件修改的日期。
2、查看一下进程,看看有没有奇怪的进程
重点查看进程:ps –aef | grep inetd inetd是UNIX系统的守护进程,正常的inetd的pid都比较靠前,如果看到输出了一个类似inetd –s
/tmp/.xxx之类的进程,着重看inetd
–s后面的内容。在正常情况下,LINUX系统中的inetd服务后面是没有-s参数的,当然也没有用inetd去启动某个文件;而solaris系统中
也仅仅是inetd
–s,同样没有用inetd去启动某个特定的文件;如果使用ps命令看到inetd启动了某个文件,而自己又没有用inetd启动这个文件,那就说明已经有人入侵了系统,并且以root权限起了一个简单的后门。
3、检查系统守护进程
检查/etc/inetd.conf文件,输入:cat /etc/inetd.conf | grep –v “^#”,输出的信息就是这台机器所开启的远程服务。
一般入侵者可以通过直接替换in.xxx程序来创建一个后门,比如用/bin/sh 替换掉in.telnetd,然后重新启动inetd服务,那么telnet到服务器上的所有用户将不用输入用户名和密码而直接获得一个rootshell。
4、检查网络连接和监听端口
输入netstat -an,列出本机所有的连接和监听的端口,查看有没有非法连接。
输入netstat –rn,查看本机的路由、网关设置是否正确。
输入 ifconfig –a,查看网卡设置。
5、检查系统日志
命令last |
more查看在正常情况下登录到本机的所有用户的历史记录。但last命令依赖于syslog进程,这已经成为入侵者攻击的重要目标。入侵者通常会停止系
统的syslog,查看系统syslog进程的情况,判断syslog上次启动的时间是否正常,因为syslog是以root身份执行的,如果发现
syslog被非法动过,那说明有重大的入侵事件。
在linux下输入ls –al /var/log
检查wtmp utmp,包括messgae等文件的完整性和修改时间是否正常,这也是手工擦除入侵痕迹的一种方法。
6、检查系统中的core文件
通过发送畸形请求来攻击服务器的某一服务来入侵系统是一种常规的入侵方法,典型的RPC攻击就是通过这种方式。这种方式有一定的成功率,也就是说并不能
100%保证成功入侵系统,而且通常会在服务器相应目录下产生core文件,全局查找系统中的core文件,输入find / -name core
–exec ls –l {} \; 依据core所在的目录、查询core文件来判断是否有入侵行为。
7、检查系统文件完整性
检查文件的完整性有多种方法,通常通过输入ls –l
文件名来查询和比较文件,这种方法虽然简单,但还是有一定的实用性。但是如果ls文件都已经被替换了就比较麻烦。在LINUX下可以用rpm –V
`rpm –qf 文件名`
来查询,查询的结果是否正常来判断文件是否完整。在LINUX下使用rpm来检查文件的完整性的方法也很多,这里不一一赘述,可以man
rpm来获得更多的格式。
怎么判断服务器是否被DDoS恶意攻击?
怀疑遇到攻击情况,首先要看看服务器上面的情况,首先top一下,看看服务器负载,如果负载不高,那么基本可以判断不是cc类型的攻击,再输入命令
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
查看下网络连接的情况,会得到下面这些结果:
TCP/IP协议使用三次握手来建立连接,过程如下:
1、第一次握手,客户端发送数据包syn到服务器,并进入SYN_SEND状态,等待回复
2、第二次握手,服务器发送数据报syn/ack,给客户机,并进入SYN_RECV状态,等待回复
3、第三次握手,客户端发送数据包ACK给客户机,发送完成后,客户端和服务器进入ESTABLISHED状态,链接建立完成
如果ESTABLISHED非常地高,那么可能是有人在恶意攻击,进一步判断,可以把下面命令保存为脚本执行一下:
for i in `netstat -an | grep -i ':80 '|grep 'EST' | awk '{print $5}' | cut -d : -f 1 | sort | uniq -c | awk '{if($1 50) {print $2}}'`
do
echo $i
echo $i /tmp/evilip
done
如果输出了多个结果,那么可能表示有人在企图进行DDOS攻击,想用TCP连接来拖死你的服务器,输出的ip就是发出请求的服务器地址,并且保存在了/tmp/evilip里面。如果没有结果,可以调整一下阈值,把50改成40试一试,对策我们后面再说,这里只讲判断。如果SYN_RECV非常高,那么表示受到了SYN洪水攻击。
SYN洪水是利用TCP/IP协议的设计缺陷来进行攻击的,采用一些策略以及配置可以适当的降低攻击的影响,但并不能完全消除。
sysctl -w net.ipv4.tcp_syncookies=1
sysctl -w net.ipv4.tcp_syn_retries = 0
sysctl -w net.ipv4.tcp_max_syn_backlog=2048
tcp_syncookies设置为1表示启用syncookie,可以大大降低SYN攻击的影响,但是会带来新的安全缺陷。
tcp_syn_retries 表示syn重试次数,重传次数设置为0,只要收不到客户端的响应,立即丢弃该连接,默认设置为5次。
tcp_max_syn_backlog表示syn等待队列,改小这个值,使得SYN等待队列变短,减少对系统以及网络资源的占用。
TCP连接攻击算是比较古老的了,防御起来也相对比较简单,主要是利用大量的TCP连接来消耗系统的网络资源,通常同一个IP会建立数量比较大的TCP连接,并且一直保持。应对方法也比较简单,可以将以下命令保存为脚本,定时ban掉那些傀儡机ip
for i in `netstat -an | grep -i ':80 '|grep 'EST' | awk '{print $5}' | cut -d : -f 1 | sort | uniq -c | awk '{if($1 50) {print $2}}'`
do
echo $i
echo $i /tmp/banip
/sbin/iptables -A INPUT -p tcp -j DROP -s $i
done
banip文件里面记录了所有被ban的ip地址信息,方面进行反渗透以及证据保存等等。为了更好地加固系统,我们可以使用iptables来限制一下,单个ip的最大连接数。
当攻击者的资源非常的多,上面这些方法限制可能就没有什么防护效果了,面对大流量DDoS攻击还是要考虑采用多机负载或者选择墨者安全高防来应对了,一般来说多机负载的成本可能更高,所以大部分人还是选择墨者高防硬防产品来防御。
如何查看服务器是否被攻击
DDOS攻击,直接找机房要流量图就看得到。把服务器ip打挂了,连接不上服务器,不通了。
cc攻击:cpu变得很高,操作很卡,可以先让服务器商分析下,进服务器里看下,现在很多服务器安全软件,市面有云盾,金盾,cdn等各种防护软件。
服务器被攻击的基本处理办法:
检查系统日志,查看下是什么类型的攻击,看下攻击者都去了哪些地方。内容是否又被修改的痕迹等,如果发现问题及时进行清理。
关闭不必要的服务和端口。
定期整体扫描下服务器,看下存在什么问题, 有漏洞及时打补丁;检查是否有影子账户,不是自己建立的账号等。
重新设置账户密码,密码设置的复杂些;以及设置账户权限。
对服务器上的安全软件进行升级,或者是对防护参数进行重新设置,使他符合当时的环境。如果没有安装,可以安装个服务器安全狗,同时,还可以将服务器添加到安全狗服云平台上,这样当有攻击发生时,可以快速知道,并进行处理等。
检测网站,是否又被挂马、被篡改、挂黑链等,如果有,及时清理。
如果是大流量攻击,可以看下DOSS流量清洗,这个很多安全厂商都有这个服务。
定期备份数据文件。如果之前有做备份,可以对重要数据进行替换。
如果不希望被攻击的话推荐租用高防服务器。
如何检测我的服务器是否存在DDoS攻击程序?
1、通常,我们可以使用文件系统扫描工具来确定在服务器文件系统上是否存在已知的DDoS攻击程序。 同病毒软件一样,每当有新的DDoS发明出来,当前的DDoS工具就将过时,或者它对现存的DDoS进行修改而避开检查。所以,要选择最近更新的扫描工具才能检测到最新的DDoS攻击程序。 FBI提供了一个工具叫做"find_ddos",用于检测一些已知的拒绝服务工具,包括trinoo进程、trinoo主人、加强的tfn进程、tfn客户程序、tfn2k客户程序和tfn-rush客户程序。 请注意,FBI的这个工具并不能保证捕获所有的DDoS工具。如果侵入者安装了一个根文件包,那么find_ddos程序就有可能无法处理它。 2、还可使用手工方法对起源于本地网络中的DDoS活动进行双重检查。 在Web服务器与Internet或者上游ISP连接之间的防火墙上建立一个滤波器,以寻找spoofed (哄骗)信息包,也就是那些不是从你自己的网络上生成的信息包。这就是所谓的出口过滤。