热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Centos配置iptables简单防DDOS和cc

由于最近为了上线的项目做好安全,害怕被对手有心搞,有必要简单防下DDOS和CC,公司资金的问题,现在由运维写个脚本来顶着用,只能简单防一、查看IP连接数[root@localhostshell]#catiptables-cc-ip#!/bin/bashnum=100//设置最高连接的值IP=`netstat-an|grep^tcp.*:80|egrep-v&#

由于最近为了上线的项目做好安全,害怕被对手有心搞,有必要简单防下DDOS和CC,公司资金的问题,现在由运维写个脚本来顶着用,只能简单防


一、查看IP连接数

[root@localhost shell]# cat iptables-cc-ip
#!/bin/bash
num=100   //设置最高连接的值
IP=`netstat -an |grep ^tcp.*:80|egrep -v 'LISTEN|127.0.0.1'|awk -F"[ ]+|[:]" '{print $6}'|sort|uniq -c|sort -rn|awk '{if ($1>$num){print $2}}'`
for i in $IP
do
      echo $i
done

获得结果可以重定向一个文件里保存出来


二、查看SYN连接

[root@localhost shell]# cat iptables-cc-syn
#!/bin/bash
cOnn=`netstat -an | grep SYN | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -nr |head -n20`//查找出前二十个连接最多的
for i in $conn
do
echo $i
done

同样,获得结果可以重定向一个文件里保存出来


三、查看访问日志

[root@localhost shell]# cat log-cc
#!/bin/bash
access=`cat /var/log/httpd/access.log|awk '{print $1}'|sort|uniq -c|sort -nr|head -n20`
for i in $access
do
    echo $i
done

不用说,获得结果可以重定向一个文件里保存出来


四、分析

        根据以上的结果看看哪个IP访问比较多(这里要注意,并非访问多的IP就是攻击的IP,有些也会正常访问,不注意分析的话会封了正常访问IP,所以还得跟后面两方面的因素一起考虑、排查),SYN连接数比较(一般SYN最多的就是攻击IP),访问日志记录最多,然后一个一个分析,最后,也是最重要的,要看些这些IP访问是否是正常的,这个根据日志可以看得出来(要耐心、细心查看)


五、分析后的动作

      排查出来的IP,要立刻封掉

      iptables -I INPUT -sIP(排查出来的IP)--dport80-j DROP
      service iptables save


六、总结

       DDOS和CC攻击就是拒绝服务和非法访问,让被攻击目标处理能力的海量数据包消耗可用系统,带宽资源,致使网络服务瘫痪的一种攻击手段,最好是使用CDN和黑洞防火墙来防,前者是带宽方面抗得起,后者是判断后引用这些流量到黑洞



推荐阅读
  • SpringBoot uri统一权限管理的实现方法及步骤详解
    本文详细介绍了SpringBoot中实现uri统一权限管理的方法,包括表结构定义、自动统计URI并自动删除脏数据、程序启动加载等步骤。通过该方法可以提高系统的安全性,实现对系统任意接口的权限拦截验证。 ... [详细]
  • 本文介绍了Shell中for命令的基本格式和用法,通过提供一个值列表来迭代执行一系列命令。同时还介绍了如何读取列表中的值,并给出了for命令与其他命令的结合使用示例。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 本文介绍了在MacOS系统上安装MySQL的步骤,并详细说明了如何设置MySQL服务的开机启动和如何修改MySQL的密码。通过下载MySQL的macos版本并按照提示一步一步安装,在系统偏好设置中可以找到MySQL的图标进行设置。同时,还介绍了通过终端命令来修改MySQL的密码的具体操作步骤。 ... [详细]
  • 本文总结了Linux下多线程执行shell脚本的4种方法,包括切换到工作目录执行、使用绝对路径执行、直接使用bash或sh执行。同时介绍了为什么需要加上"./"来执行脚本的原因。 ... [详细]
  • 从U ... [详细]
  • crontab 自动执行定时任务时,命令无法执行的解决方案
    为什么80%的码农都做不了架构师?最近在工作中需要使用crontab执行定时任务,处理memcacheq消息队列里的数据,但是发现在 ... [详细]
  • 本文介绍了在Android Studio中使用命令行build gradle的方法,并解决了一些常见问题,包括手动配置gradle环境变量和解决External Native Build Issues的方法。同时提供了相关参考文章链接。 ... [详细]
  • 程序员如何选择机械键盘轴体?红轴和茶轴对比
    本文介绍了程序员如何选择机械键盘轴体,特别是红轴和茶轴的对比。同时还介绍了U盘安装Linux镜像的步骤,以及在Linux系统中安装软件的命令行操作。此外,还介绍了nodejs和npm的安装方法,以及在VSCode中安装和配置常用插件的方法。最后,还介绍了如何在GitHub上配置SSH密钥和git的基本配置。 ... [详细]
  • ZABBIX 3.0 配置监控NGINX性能【OK】
    1.在agent端查看配置:nginx-V查看编辑时是否加入状态监控模块:--with-http_stub_status_module--with-http_gzip_stat ... [详细]
  • 其实之前也有下载过完整的android源码,但是从来没有对这个做过一些总结,在加上最近需要经常去看,索性就在从新下载,编译一下,其实这些东西官网上面都有。http:sou ... [详细]
  • homemyUserscript.sh>>homemyUserlog.txt2>&1在script.sh ... [详细]
  • docker容器的数据管理一:数据卷实现数据的永久化,完全独立于容 ... [详细]
  • systemd-nspawn可以创建最轻量级的容器(ns的意思就是namespace),本文的实验平台是Ubuntu16.04,x86_64机器。本文的目的是:在Ubuntu中用syst ... [详细]
  • mysql自动打开文件_让docker中的mysql启动时自动执行sql文件
    本文提要本文目的不仅仅是创建一个MySQL的镜像,而是在其基础上再实现启动过程中自动导入数据及数据库用户的权限设置,并且在新创建出来的容器里自动启动My ... [详细]
author-avatar
苏木影子Hc_657
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有