黑客攻防

网站防cc攻击iptables方法 不指定

kangyang , 2015/08/20 09:59 , 黑客攻防 , 评论(0) , 阅读(6593) , Via 本站原创
CC攻击原理
CC攻击的原理就是攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃。CC主要是用来攻击页面的,每个人都有这样的体验:当一个网页访问的人数特别多的时候,打开网页就慢了,CC就是模拟多个用户(多少线程就是多少用户)不停地进行访问那些需要大量数据操作(就是需要大量CPU时间)的页面,造成服务器资源的浪费,CPU长时间处于100%,永远都有处理不完的连接直至就网络拥塞,正常的访问被中止。


1、第一种
#!/bin/sh
IP=`tail -1000 access.log| awk '{print $1}' | sort | uniq -c | sort -rn|awk '$1 > 100 {print $2}'`
for i in $IP
do
iptables -I INPUT -p tcp --dport 80 -s $i -j DROP
done

2、第二种
#!/bin/sh
status=`netstat -na|awk '$5 ~ /[0-9]+:[0-9]+/ {print $5}' |awk -F ":" -- '{print $1}' |sort -n|uniq -c |sort -n|tail -n 1`
NUM=`echo $status|awk '{print $1}'`
IP=`echo $status|awk '{print $2}'`
result=`echo "$NUM > 100" | bc`
if [ $result = 1 ]
then
echo IP:$IP is over $NUM, BAN IT! >> ip_deny.txt
/sbin/iptables -I INPUT -s $IP -j DROP
fi

DDOS防护抵御方法 不指定

kangyang , 2015/08/20 09:55 , 黑客攻防 , 评论(0) , 阅读(6185) , Via 本站原创
在安全领域,DDoS(分布式拒绝服务攻击)简单粗暴,是常见攻击方法。而网站型应用,由于有公开的域名和IP,并使用特定的通信协议(TCP),很容易被发起DDoS攻击。友好速搭上线9个月以来,遭受DDoS攻击超过20次,有些攻击流量规模超过100Gbps。

用来区分DDoS攻击类型的名词很多,比如SYN Flood、UDP Flood、ICMP Flood、CC攻击等。从防护角度看,主要可以分为两种类型:带宽消耗型和资源消耗型。
带宽消耗型攻击
带宽消耗型攻击,目的是封堵系统的网络出入口,大都是基于简单网络协议,比如UDP或ICMP,向指定IP发送大量数据包。这类攻击,只能通过增加网络带宽来防御,如果流量特别大,超过了机房网络的承受范围,那只能使用第三方的流量清洗服务,例如安全宝、腾讯大禹系统等。
点击在新窗口中浏览此图片
这类清洗服务,主要提供两类帮助:

域名通过CNAME解析,隐藏应用真实IP
域名解析的IP结果,是防护IP地址,攻击的流量只先到防护的机房,应用的真实IP,只对防护服务商可见。

流量清洗,筛选健康流量发回源站
服务商会通过技术手段,将攻击流量拦截,并筛选出健康流量发给应用。
资源消耗型攻击
资源消耗型攻击,主要目的是耗尽系统资源,比如SYN Flood,会导致主机建立大量TCP连接,耗尽系统句柄,CC攻击发起大量正常请求,超出业务应用的处理上限。这类攻击的流量大小,与攻击者使用的肉鸡数量有关。如果流量特别大,也需要使用上面提到的流量清洗服务。如果流量规模不大,可以通过简单的脚本,识别出攻击代理的IP,并进行屏蔽来防御。

网站使用的HTTP或SSL协议,都是基于传输层TCP协议的应用,TCP协议中的状态变化如下:
点击在新窗口中浏览此图片
可以通过识别不同状态的TCP连接数量,来判断是否攻击IP。

例如,SYN Flood攻击,就是通过建立处于SYN状态的TCP连接,消耗服务器的句柄,遭受这种攻击时,服务器可以查看到,很多TCP连接处于syn-recv状态。

而CC攻击,通常都是向网站发起大量请求,与服务器建立大量TCP连接,状态大都处于established,time-wait,close-wait。

通过 Linux 系统中的ss命令,可以查看各种状态的TCP连接:
ss -ntu state syn-recv state established state time-wait
通过查看IP的TCP连接状态和数量,就能判断出这个IP是否用于DDoS攻击。

基于这个思路,针对资源消耗型攻击,我们开发了一个简单的脚本工具:AntiDDoS。在服务器上部署启动后,会定时查看TCP连接,超过指定连接数量的IP,会被加入iptables屏蔽一段时间,并发邮件通知系统管理员。

下载链接:
https://github.com/yeezon/AntiDDoS

iptables简单防护
iptables -A FORWARD -p tcp --syn -m limit --limit 1/s --limit-burst 5 -j ACCEPT      #每秒中最多允许5个新连接
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT  #防止各种端口扫描
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT     #Ping洪水攻击(Ping of Death


屏蔽一个IP
# iptables -I INPUT -s 192.168.0.1 -j DROP

怎么防止别人ping我??
# iptables -A INPUT -p icmp -j DROP

防止同步包洪水(Sync Flood)
# iptables -A FORWARD -p tcp –syn -m limit –limit 1/s -j ACCEPT

防止各种端口扫描
# iptables -A FORWARD -p tcp –tcp-flags SYN,ACK,FIN,RST RST -m limit –limit 1/s -j ACCEPT

Ping洪水攻击(Ping of Death)
#iptables -A FORWARD -p icmp –icmp-type echo-request -m limit –limit 1/s -j ACCEPT

# NMAP FIN/URG/PSH
# iptables -A INPUT -i eth0 -p tcp –tcp-flags ALL FIN,URG,PSH -j DROP



9月25日消息,继“心脏流血”漏洞之后,安全研究专家又发现了一个危险级别为“毁灭级”(catastrophic)的漏洞,开源软件公司Red Hat在一份报告中称,在Linux系统中广泛使用的Bash软件漏洞有可能让黑客利用攻击一切连入互联网的设备。
Bash是一款在很多Unix电脑中用于控制命令提示符的软件,黑客可以借助Bash中的漏洞完全控制目标系统。
美国国土安全部下属的美国电脑紧急响应团队(以下简称“US-CERT”)发出警告称,这一漏洞可能影响基于Unix的操作系统,包括Linux和Mac OS X

官方bug地址:http://lists.centos.org/pipermail/centos/2014-September/146099.html

1、此漏洞可以绕过ForceCommand在sshd中的配置,从而执行任意命令。
2、如果CGI脚本用Bash或subshell编写,则使用mod_cgi或mod_cgid的Apache服务器会受到影响。
3、DHCP客户端调用shell脚本来配置系统,可能存在允许任意命令执行,尤其作为根命令的形式,在DHCP客户端的机器上运行。
4、各种daemon和SUID/privileged的程序都可能执行shell脚本,通过用户设置或影响环境变数值,允许任意命令运行

漏洞详情页面:http://seclists.org/oss-sec/2014/q3/650
漏洞级别:非常严重
redhat官方提供漏洞详情
A flaw was found in the way Bash evaluated certain specially crafted environment variables. An attacker could use this flaw to override or bypass environment restrictions to execute shell commands. Certain services and applications allow remote unauthenticated attackers to provide environment variables, allowing them to exploit this issue.

redhat官方提供检测方式

运行命令:  
  $ env x='() { :;}; echo vulnerable'  bash -c "echo this is a test"

如果返回以下内容:则请尽快升级。
vulnerable                    
this is a test
            
目前官方已经提供了升级包请运行:yum update -y bash 进行升级处理!
点击在新窗口中浏览此图片
RedHat, CentOS or Fedora bash版本将升级到bash-4.1.2-15.el6_5.1.x86_64

升级过程
点击在新窗口中浏览此图片
点击在新窗口中浏览此图片

RPM包下载:

命令
rpm -uvh bash-3.2-33.el5.1.x86_64.rpm

Bash漏洞的攻击原理和检测方法等

Bash漏洞的攻击原理?
据 Linuxidc网站介绍,GNU Bash 4.3及之前版本在评估某些构造的环境变量时存在安全漏洞,向环境变量值内的函数定义后添加多余的字符串会触发此漏洞,攻击者可利用此漏洞改变或绕过环境限制,以执行shell命令。某些服务和应用允许未经身份验证的远程攻击者提供环境变量以利用此漏洞。此漏洞源于在调用Bash shell之前可以用构造的值创建环境变量。这些变量可以包含代码,在shell被调用后会被立即执行。
这是属于远程任意代码执行的安全漏洞,所以可以完全控制电脑。
漏洞存在条件:
据金山毒霸论坛的一名工作人员称,任何已知程序,只要满足以下两个条件就可以被用来通过Bash漏洞导致任意命令执行:
1、程序在某一时刻使用Bash作为脚本解释器处理环境变量赋值;
2、环境变量赋值字符串的提交取决于用户输入。
如何验证漏洞
那如何验证是否存在漏洞?可以使用如下命令来检查系统是否存在此漏洞:
env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
影响范围:
GNU Bash≤4.3,此漏洞可能会影响到使用ForceCommand功能的OpenSSH sshd、使用mod_cgi或mod_cgid的Apache服务器、DHCP客户端、其他使用Bash作为解释器的应用等。
而 另一个网站更详细的报道介绍,这个漏洞能影响众多的运行在GNU/Linux上的会跟BASH交互的应用程序,
包括:
在sshd配置中使用了ForceCommand用以限制远程用户执行命令,这个漏洞可以 绕过限制去执行任何命令。一些Git和Subversion部署环境的限制Shell也会出现类似情况,OpenSSH通常用法没有问题。
Apache服务器使用mod_cgi或者mod_cgid,如果CGI脚本在BASH或者运行在子 SHELL里都会受影响。子Shell中使用C的system/popen,Python中使用os.system/os.popen,PHP中使用system/exec(CGI模式)和Perl中使用 open/system的情况都会受此漏洞影响。
PHP脚本执行在mod_php不会受影响。
DHCP客户端调用shell脚本接收远程恶意服务器的环境变量参数值的情况会被 此漏洞利用。
守护进程和SUID程序在环境变量设置的环境下执行SHELL脚本也可能受到影响。
任何其他程序执行SHELL脚本时用BASH作为解释器都可能受影响。Shell脚本不 导出的情况下不会受影响。


分页: 1/3 第一页 1 2 3 下页 最后页 [ 显示模式: 摘要 | 列表 ]