`
jsczxy2
  • 浏览: 1275054 次
  • 性别: Icon_minigender_1
  • 来自: 常州
文章分类
社区版块
存档分类
最新评论

Linux CentOS 如何防止CC攻击和DDOS攻击(netstat处理)

阅读更多
一、查看系统当前连接情况
使用netstat命令,查看VPS当前链接确认是否受到攻击: 
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n 
IP前面的数字,即为连接数,如果说正常网站,几十到一百都属于正常连接,但出现几百,或上千的就可以垦定这个IP与你的VPS之间可能存在可疑连接现象。 
二、查看iptables状态
确认一下iptables服务状态,如果系统没有安装iptables,则需要先安装。 
service iptables status 
三、安装DDos deflat
wget http://www.inetbase.com/scripts/ddos/install.sh 
chmod +x install.sh 
./install.sh 
原理:DDos Deflat结合iptables来达到攻防目的,通过iptables来封某些可疑连接。
vi /usr/local/ddos/ddos.conf
##### Paths of the script and other files 
PROGDIR=”/usr/local/ddos” 
PROG=”/usr/local/ddos/ddos.sh” 
IGNORE_IP_LIST=”/usr/local/ddos/ignore.ip.list” //IP地址白名单 
CRON=”/etc/cron.d/ddos.cron”//定时执行程序 
APF=”/etc/apf/apf” 
IPT=”/sbin/iptables” 
##### frequency in minutes for running the script 
##### Caution: Every time this setting is changed, run the script with –cron 
##### option so that the new frequency takes effect 
FREQ=1 //建议默认1分钟 
##### How many connections define a bad IP? Indicate that below. 
NO_OF_CONNECTIONS=150 //建议默认
##### APF_BAN=1 (Make sure your APF version is atleast 0.96) 
##### APF_BAN=0 (Uses iptables for banning ips instead of APF) 
APF_BAN=1 //推荐选择0为使用iptables,将APF_BAN的值改为0即可
##### KILL=0 (Bad IPs are’nt banned, good for interactive execution of script) 
##### KILL=1 (Recommended setting) 
KILL=1 //是否屏蔽IP,默认即可 
##### An email is sent to the following address when an IP is banned. 
##### Blank would suppress sending of mails 
EMAIL_TO=”root”(建议启用,若不是root用户改成自己的用户即可) 
##### Number of seconds the banned ip should remain in blacklist. 
BAN_PERIOD=600 
注释:
##### option so that the new frequency takes effect 
//检查时间间隔。
##### How many connections define a bad IP? Indicate that below. 
//最大连接数,超过这个数IP就会被屏蔽,
##### APF_BAN=1 (Make sure your APF version is atleast 0.96) 
##### APF_BAN=0 (Uses iptables for banning ips instead of APF)
//选择1为APF,选择0为iptables。
##### Blank would suppress sending of mails 
//当IP被屏蔽时给指定邮箱发送邮件(如果用的是root用户的话,将在/var/mail/root中可以看到此封邮件)。
##### Number of seconds the banned ip should remain in blacklist.
//禁用IP时间,默认600秒,可根据情况调整 
 

 用户可根据给默认配置文件加上的注释提示内容,修改配置文件。

查看/usr/local/ddos/ddos.sh文件的第117行

netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -nr > $BAD_IP_LIST

修改为以下代码即可!

netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sed -n ‘/[0-9]/p’ | sort | uniq -c | sort -nr > $BAD_IP_LIST

#如果实际有IPV6的地址会影响该项结果,最好修改为:(gsub会替换掉IPV6显示的::ffff:)

1.用sed处理IP匹配

netstat -ant | awk '{gsub(/::ffff:/,"");print $5}' | cut -d : -f 1 | sed -n '/[0-9]/p' | sort | uniq -c | sort -nr  > $BAD_IP_LIST

2.用grep处理IP匹配

netstat -ant | awk '{gsub(/::ffff:/,"");print $5}' | cut -d : -f 1 | grep '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' | sort | uniq -c | sort -nr  > $BAD_IP_LIST

解释:

netstat -ant | awk '{gsub(/::ffff:/,"");print $5}' | cut -d : -f 1 | sed -n '/[0-9]/p'| grep -v 0.0.0.0 | sort | uniq -c | sort -nr | awk '{print NR,$0}'

cut -d 截取字符 -f 第几段

grep -v 反转匹配

awk '{print NR $0}' NR为行号 $0为打印全部

uniq -c 取count

sort -n数字排序正序 -nr 数字排序倒序

gsub 替换

sed -n '[0-9]/p' 打印纯数字匹配行(不包含点号)

分享到:
评论

相关推荐

    Linux Centos系统安装手册

    Linux Centos系统安装手册主要涉及了Linux Centos系统安装的介质和方式,以及具体的安装步骤。以下是手册中涉及到的一些关键知识点: 1. Linux Centos系统安装介质和方式: - 双系统安装:这指的是在一台电脑上...

    centos 和 linux 6.5 yum包

    在Linux 6.5和CentOS 6.5中,Yum通过解析仓库的元数据,自动处理软件包的依赖关系,极大地简化了软件的安装过程。使用Yum进行操作时,用户通常会运行像`yum install`, `yum update`或`yum remove`这样的命令。 在...

    CentOS Linux 8和CentOS Stream发行公告

    我们想宣布CentOS Linux 8和 所有架构上的新CentOS Stream。 ---------- CentOS Linux 8 这是CentOS Linux 8的第一个版本,版本标记为 8.0-1905,来自Red Hat发布的资源,通过 git.centos.org 首先,请仔细阅读发行...

    linux-netstat

    在深入探讨Linux中netstat命令的丰富功能与应用之前,我们先简要回顾一下netstat的基本定义:netstat是Linux系统中一个强大的网络诊断工具,主要用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,尤其适用于监测和...

    linux centos环境kettle部署与定时作业执行

    Linux Centos 环境 Kettle 部署与定时...Linux Centos 环境 Kettle 部署与定时作业执行需要安装和配置 java 环境,下载和部署 Kettle,配置定时作业执行命令。同时,需要注意一些注意事项,以确保 Kettle 的正常运行。

    kali linux centos 镜像

    kali linux centos 镜像

    Linux CentOS教学教程.zip

    Linux Centos教学教程.zip yum 安装php 安装java 安装wireless_tools 安装无线网卡 安装nodejs 安装nginx 架设HLS服务器 架设RTMP直播服务器 配置iptables 挂载U盘 介绍些小工具

    Linux CentOS 7.2.txt

    Linux CentOS 7.2,自己用的,亲测可以用,记录并分享给大家,不用那么难找Linux是开源的操作系统是一个支持多用户、多进程、多线程、实时性较好、功能强大而稳定的操作系统,也是目前运行硬件平台最多的操作系统。...

    linux centos stress离线安装

    linux centos stress离线安装 ,stress-1.0.4.tar,包含附件的,Linux性能压测, 包含sar 命令

    Linux Centos7 环境搭建Docker部署Zookeeper服务实战.pdf

    Linux Centos7 环境搭建Docker部署Zookeeper服务实战

    Linux Centos 一键安装web环境

    在IT行业中,Linux系统,尤其是CentOS,是搭建Web服务器的常见选择,因为其稳定性、安全性和开源特性。本文将详细讲解如何在Linux CentOS环境下,通过一键安装脚本快速配置Web服务环境,包括Nginx、Apache、MySQL、...

    centos7镜像linux64

    linux centos7镜像 64位

    linux CentOS java开发教程

    linux CentOS java开发教程

    SecureCRT8.5 FOR Linux centos redhat官网下载版

    SecureCRT8.5 FOR Linux centos redhat官网下载版,原版未注册未破解

    Linux centos7

    在Linux CentOS 7中,安装基础开发工具是进行系统管理和软件开发的首要步骤。这些工具通常包括GCC(GNU Compiler Collection)、Make、Git、Perl、Python等,它们能支持编译源代码、自动化构建以及各种脚本语言的...

    ddos防流量攻击

    centos,linux使用ddos的防止流量攻击。 一般的vps小服务器使用 小范围的阻止

    一种Linux环境下的DoS攻击防范策略.pdf

    4. 使用 Intrusion Detection System(IDS)来检测和防止 DoS 攻击。 5.实施日志系统来记录服务器的操作日志,帮助管理员检测和追踪 DoS 攻击。 DoS 攻击防范策略是非常重要的,因为它可以帮助管理员防止 DoS 攻击...

    Docker Linux Centos6.5离线安装

    1、已安装的linux (以centos7为例) 2、离线安装包: ①、docker-engine-1.7.1-1.el7.centos.x86_64.rpm(可从以下链接下载http://www.oschina.net/news/64267/docker-1-7-1-final,centos7对应下载链接: ...

    linux CentOS 7 64位系统 Tomcat jforum论坛部署

    linux CentOS 7 64位系统 Tomcat中间件 jforum论坛 java-jdk mysql数据库

Global site tag (gtag.js) - Google Analytics