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. [原创]使用logcat快速抓取android崩溃日志

    在android APP测试过程中会发生不少的crash,目前抓取日志的主流方法是通过eclipse或者eclipse的ddms组件进行捕抓,这两种方法有个缺点是启动时非常耗时.本文通过adb程序与b ...

  2. [附录]Discuz X2.5程序模块source功能处理目录注释

    /source/admincp后台管理 /source/admincp/cloud云平台项目 /source/admincp/menu后台扩展菜单目录 /source/admincp/moderate ...

  3. redis bitcount variable-precision swar算法

    花了不到一周的时间看完了一本reids设计与实现的书,感觉整体的设计有些地方的确很巧妙,各个结构之间联系的非常紧密,但是很简单,逻辑性的没有太多,但是学到了一个bitcount计数1的方法比较巧妙,记 ...

  4. oracle 10G 没有 PIVOT 函数怎么办,自己写一个不久有了

    众所周知,静态SQL的输出结构必须也是静态的.对于经典的行转列问题,如果行数不定导致输出的列数不定,标准的答案就是使用动态SQL, 到11G里面则有XML结果的PIVOT. 但是 oracle 10G ...

  5. TortoiseGit保存密码

    TortoiseGit保存密码 方法一:使用Bash命令 1.设置name和emailgit config --global user.name "yilei"git config ...

  6. js验证input是否输入数字

    onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execComma ...

  7. 2016-12-30 PHP JS

    1:Js 控制图片样式 2:PHP WEB

  8. jQuery实现按Enter键触发事件

    <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...

  9. linux下vim 查找命令

    在命令模式下输入/word 这个是查找文件中“word”这个单词,是从文件上面到下面查找?word 这个是查找文件中“word”这个单词,是从文件下上面到面查找

  10. 使用juggle简化网络编程

    常规的网络编程,在消息处理上大概会采用如下方式 struct msg{ int msg_id; int msg_len; //...msg_info }; 定义如上的消息结构 接收方接收后,按如上的消 ...