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. 《孵化twitter》读书笔记

    寒假在家看完了第一本书——<孵化twitter:从蛮荒到IPO的狂野旅程>.在2014上半年,尝试看了该书的英文原版,奈何自己英语太菜,实在看不懂.这次有了中文版,就决定要看看.该书对于我 ...

  2. Python 操作 Azure Blob Storage

    笔者在<Azure 基础:Blob Storage>一文中介绍了 Azure Blob Storage 的基本概念,并通过 C# 代码展示了如何进行基本的操作.最近笔者需要在 Linux ...

  3. Spring学习(19)--- Schema-based AOP(基于配置的AOP实现) --- 配置切面aspect

    Spring所有的切面和通知器都必须放在一个<aop:config>内(可以配置包含多个<aop:config>元素),每个<aop:config>包含pointc ...

  4. 第一次使用idea从SVN什么checkout项目,一直都是用的eclipse

    IntelliJ IDEA 14 拉取SVN maven 多模块项目 部署tomcat 详细图解!   二话不说 进入主题 我们创建空项目实际上是项目空间 进入主界面 想用svn必须先启用它 选择Su ...

  5. HTML中那些不常用标签

    先思考一个问题:为什么H5里面又多了那么多看似没用的标签? 我们知道,<div>能干百分之99的标签能干的事,而标签的主要作用是用来包裹内容,只要把基本内容都包含进去不就好了??胡闹!不带 ...

  6. asp net core 跨平台初体验

    标: 在 ubuntu 16.04 上部署一个 asp.net core 站点,打开网站后显示一段文字.   安装 net core 运行环境:ubuntu 16.04 LTS 1.添加 apt 源 ...

  7. 【原创】源码角度分析Android的消息机制系列(三)——ThreadLocal的工作原理

    ι 版权声明:本文为博主原创文章,未经博主允许不得转载. 先看Android源码(API24)中对ThreadLocal的定义: public class ThreadLocal<T> 即 ...

  8. 处理jQuery append加入的元素 绑定事件无效的方法

    通过jquery append(或者before.after,一样)新添加进网页的元素,常用的事件不能触发,比如:append了id 为 abc 的元素,那么 $(#abc).click(functi ...

  9. node.js如何制作命令行工具(一)

    之前使用过一些全局安装的NPM包,安装完之后,可以通过其提供的命令,完成一些任务.比如Fis3,可以通过fis3 server start 开启fis的静态文件服务,通过fis3 release开启文 ...

  10. phpstrom识别phalcon框架模板文件的配置