DDoS攻击并不是新技术,该攻击方式最早可以追溯到1996年,2002年时在我国就已经开始频繁出现。在DDoS攻击发展的这十几年间,DDoS攻击也在不断变化。数据显示,最大规模的DDoS攻击峰值流量超过了240 Gbps,持续了13个小时以上。DDOS攻击下隐藏的是成熟的黑色产业链,黑客甚至对攻击进行明码标价,打1G的流量到一个网站一小时,只需50块钱。DDoS的成本如此之低,而且日益简化没有了技术门槛,更没有管理制度。使得DDOS攻击在互联网上的肆虐泛滥,个人站长不可能时刻去更新网络配置去抵御DDOS。

最近朋友的网站受到CC攻击,就向我咨询,今天,我就写了下面的资料,看能不能给他,和大家一个好的方案,如果大家有对防CC攻击更好的主意,请留言与我,我们一起学习,谢谢!

   if (isset($_SERVER)){

$realip = $_SERVER[HTTP_X_FORWARDED_FOR];
}
else
{
    $realip = getenv("HTTP_X_FORWARDED_FOR");
}
if($realip""){
    $remoteip=$_SERVER['REMOTE_ADDR'];
    log_ip($remoteip,$realip);
}
function log_ip($remote_ip,$real_ip)
{
    $temp_time = date("y-m-d  G:i:s");
    $temp_result = $temp_time."\t".$real_ip."\t".$remote_ip."\n";
    if(!$fhandle=fopen("cc_log.txt","a+")){
        print "error";
        exit;
    }
fwrite($fhandle,$temp_result);
fclose($fhandle);
}
?>
此段代码作用:
将代理访问的真实IP记录到日志中,以便排查分析。
以下是cc_log.txt的内容(此代码生产是因我通过CC攻击软件攻击生产的)
Time                    Real_ip         Remote_ip     
09-09-05  13:50:47      122.144.131.72  60.248.212.230
09-09-05  13:50:47      122.144.131.72  60.248.212.230
09-09-05  13:50:47      122.144.131.72  60.248.212.230
09-09-05  13:50:48      122.144.131.72  60.248.212.230
09-09-05  13:50:48      122.144.131.72  60.248.212.230
09-09-05  13:50:48      122.144.131.72  60.248.212.230
09-09-05  13:50:49      122.144.131.72  60.248.212.230
09-09-05  13:50:49      122.144.131.72  219.146.172.91
09-09-05  13:50:49      122.144.131.72  219.146.172.91
09-09-05  13:50:49      122.144.131.72  219.146.172.91
09-09-05  13:50:49      122.144.131.72  219.146.172.91
09-09-05  13:50:49      122.144.131.72  219.146.172.91
09-09-05  13:50:49      122.144.131.72  60.248.212.230
09-09-05  13:50:49      122.144.131.72  60.248.212.230
09-09-05  13:50:50      122.144.131.72  219.146.172.91
09-09-05  13:50:50      122.144.131.72  219.146.172.91
09-09-05  13:50:50      122.144.131.72  219.146.172.91
09-09-05  13:50:50      122.144.131.72  219.146.172.91
09-09-05  13:50:50      122.144.131.72  219.146.172.91
09-09-05  13:50:51      122.144.131.72  60.248.212.230

在仅仅有4秒的时间内,就从真实IP 122.144.131.72 以代理IP(60.248.212.230,219.146.172.91)来访问我这台服务器,可见这台真实客户端
是有问题的,这时,我们应该用防火墙(iptables)禁止掉这些真实IP,以使他们的请求,在入口就Deny掉。

       确保服务器系统的安全   首先要确保服务器软件没有任何漏洞,防止攻击者入侵。确保服务器采用最新系统,并打上安全补丁。在服务器上删除未使用的服务,关闭未使用的端口。对于服务器上运行的网站,确保其打了最新的补丁,没有安全漏洞。对于国外虚拟主机,像HostEase,BLueHost这些成熟的主机商这些都是必备的服务。
        隐藏服务器真实IP   如果资金充足,可以选择高防主机,在服务器前端加CDN中转,所有的域名和子域名都使用CDN来解析。HostEase最新推出洛杉矶两款高防主机,内存高达32GB,硬盘1TB,目前正在特价促销中。
     发送邮件要注意   服务器对外传送信息会泄漏IP,最常见的是,服务器不使用发送邮件功能。如果一定要发送邮件,可以通过第三方代理(例如sendcloud)发送,这样显示出来的IP是代理IP。不难发现服务器防黑最根本的措施就是隐藏IP,只要不泄露真实IP地址,10G以下小流量DDOS的预防还是非常简单的,免费的CDN就可以应付得了。如果攻击流量超过20G,那么免费的CDN可能就顶不住了,使用高防主机才能确保网站安全。最后重要的事情再说一遍服务器的真实IP是需要隐藏的。

自家服务器防止DDoS攻击的简单方法的更多相关文章

  1. 服务器被ddos攻击?分析如何防止DDOS攻击?

    上周知名博主阮一峰的博客被DDOS攻击,导致网站无法访问而被迫迁移服务器的事情,引起了广大网友的关注及愤慨,包括小编的个人博客也曾接受过DDOS的“洗礼”,对此感同身受.所以,本文我们一起来了解下DD ...

  2. DDos攻击的常见方法及防御方法

    什么是DDoS? DDoS是英文Distributed Denial of Service的缩写,意即“分布式拒绝服务”,那么什么又是拒绝服务(Denial of Service)呢?可以这么理解,凡 ...

  3. 转:nginx防DDOS攻击的简单配置

    文章来自于: 近期由于工作需要,做了些防DDOS攻击的研究,发现nginx本身就有这方面的模块ngx_http_limit_req_module和ngx_http_limit_conn_module. ...

  4. 被DDOS攻击的解决方法

    在DDOS分布式借"机"堵塞正常访问的非法攻击中,任何技术高手都成了文科生.只能用非专业的方法解决.DDOS攻击的重心是堵塞服务器,给域名解析访问造成困难,被攻击后我们可以采用以下 ...

  5. 如何检查CentOS服务器受到DDOS攻击

    登录到你的服务器以root用户执行下面的命令,使用它你可以检查你的服务器是在DDOS攻击与否: netstat -anp |grep 'tcp\|udp' | awk '{print $5}' | c ...

  6. DDoS攻击流量检测方法

    检测分类 1)误用检测 误用检测主要是根据已知的攻击特征直接检测入侵行为.首先对异常信息源建模分析提取特征向量,根据特征设计针对性的特征检测算法,若新数据样本检测出相应的特征值,则发布预警或进行反应. ...

  7. 防火墙防DDOS攻击的简单设置

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

  8. DDOS攻击与防御简单阐述,列出DDOS的攻击方法和防御方法

    参考1:https://www.hi-linux.com/posts/50873.html#%E7%BD%91%E7%BB%9C%E5%B1%82-ddos-%E6%94%BB%E5%87%BB 什么 ...

  9. 结合Socket实现DDoS攻击

    一.实验说明 1. 实验介绍 通过上一节实验的SYN泛洪攻击结合Socket实现DDoS攻击. 2. 开发环境 Ubuntu Linux Python 3.x版本 3. 知识点 本次实验将涉及以下知识 ...

随机推荐

  1. python之路第一篇

    一.python环境的搭建 1.window下环境的搭建 (1).在 https://www.python.org/downloads/ 下载自己系统所需要的python版本 (2).安装python ...

  2. linux定时任务访问url

    这次linux定时任务设置成功,也算是自己学习linux中一个小小的里程碑.:) 撒花撒花--- 以下操作均是在ubuntu 下操作的,亲测有效,其他的linux系统还望亲们自己去查.鞠躬感谢! 1 ...

  3. HTML5 客户端存储数据的两种方式

    HTML5 提供了两种在客户端存储数据的新方法: localStorage - 没有时间限制的数据存储 sessionStorage - 针对一个 session 的数据存储 之前,这些都是由 coo ...

  4. 写JS自执行函数时要注意的

    JS是非强类型语言,且IDE也不够智能,所以经常会在语句结束时漏写了分号,一般情况下这是不影响运行的, 但如果后面跟上的是一段自执行的函数,就会报出 "..... is not functi ...

  5. SQL之trigger(触发器)

    先来看一小段程序 有如下三张表: 帐户(编号,姓名,余额,建立日期,储蓄所编号) 储蓄所(编号,名称,地址,人数,所属城市) 借贷(帐户,借贷类型,金额,日期) create trigger tri_ ...

  6. SpringMVC中使用Swagger2整合

    Swagger2是什么 Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件. Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 W ...

  7. 关于MATLAB处理大数据坐标文件201763

    目前已经找出26条特征 ,但是提交数据越来越少,给我的感觉是随机森林画的范围越来越小,输出的机器数据也越来越少,我自认为特征没太大问题 我已经将不懂之处列了出来,将于明天咨询大师级人物

  8. 如何自定义容器网络?- 每天5分钟玩转 Docker 容器技术(33)

    除了 none, host, bridge 这三个自动创建的网络,用户也可以根据业务需要创建 user-defined 网络. Docker 提供三种 user-defined 网络驱动:bridge ...

  9. 《JavaScript高级程序设计》笔记一

    第一章 JavaScript简介 一.JavaScript的起源 JavaScript诞生于1995年.当时,它的主要作用是处理一些输入验证操作.之前的话,都是把表单数据发送到服务器端,然后再去判断有 ...

  10. Spring Boot 构建 WAR和JAR 文件

    原文:https://github.com/x113773/testall/issues/3 ## JAR文件方式一:1. 修改[pom.xml](https://github.com/x113773 ...