莱特币挖矿监控软件|莱特币ltc中文矿池
加入收藏 | 設為首頁 | 會員中心 | 我要投稿 | RSS
您當前的位置:首頁 > 技術日志

Linux CentOS 如何防止CC攻擊和DDOS攻擊(netstat處理)

時間:2018-07-10 14:11:00  來源:  作者:
一、查看系統當前連接情況  
使用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' 打印純數字匹配行(不包含點號)

來頂一下
返回首頁
返回首頁
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
推薦資訊
相關文章
    無相關信息
欄目更新
欄目熱門
莱特币挖矿监控软件 安徽十一选五彩票 极速赛计划图分析 15选5助手下载 最新时时软件 黑彩玩法 吉林时时走势 168秒速开奖网 信誉棋牌 福建时时结果 36选7彩票 北京时时计划软件手机版式 足球欧赔分析 快速赛app 三分钟开一次的时时彩 重庆时时改为20分钟 英雄联盟博彩的网址