日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

防dos攻擊的主要方法 多角度查看和緩解DoS攻擊辦法

一 DoS攻擊DoS攻擊即拒絕服務(wù)攻擊,如果細(xì)分來說包括非常多種類,有UDP洪水,ACK類型,DNS放大請求,NTP放大類型,TCP洪水,HTTP洪水,SYN洪水 ??傊@些攻擊的目的是消耗服務(wù)器的帶寬,內(nèi)存,和cpu資源,從而讓服務(wù)器因資源耗盡對一切過來的請求,只能拒絕或提供性能很差的服務(wù),本文就是模擬SYN洪水攻擊,并對這種場景進(jìn)行分析,提供一些緩解攻擊的辦法 。
二 環(huán)境和準(zhǔn)備2.1 網(wǎng)絡(luò)環(huán)境目前采用兩臺虛擬機(jī)和一臺物理機(jī)實(shí)現(xiàn)部署環(huán)境,虛擬機(jī)均為centos8.5,整個(gè)網(wǎng)絡(luò)環(huán)境如下:

防dos攻擊的主要方法 多角度查看和緩解DoS攻擊辦法


2.2 軟件安裝nginx部署的web采用docker簡單部署,Dos工具采用hping3 發(fā)起syn攻擊 。
#podman類似docker,幾乎可以通用#-i以交互模式運(yùn)行容器,通常與 -t 同時(shí)使用#-t為容器重新分配一個(gè)偽輸入終端,通常與 -i 同時(shí)使用#-d后臺運(yùn)行容器,并返回容器ID[root@localhost ~]# podmanrun -itd --name=nginx3 --network=host nginx#測試服務(wù)是否啟動(dòng),雖然是404 但是請求速度還是很快的[root@localhost ~]#curl -s -w 'Http code: %{http_code}\nTotal time:%{time_total}s\n' -o /dev/null http://192.168.31.50Http code: 404Total time:0.000963s攻擊工具安裝:
yum install hping3三 攻擊分析3.1 hping3 發(fā)送SYN包攻擊# -S 發(fā)送SYN包,-p 發(fā)送的端口80-i u15 每1us 發(fā)送一個(gè)包[root@MiWiFi-RA72-srv ~]# hping3 -S -p 80 -i u1 192.168.31.503.2 服務(wù)機(jī)器分析首先發(fā)現(xiàn)訪問變慢了,注意有時(shí)候并不明顯,測試url訪問性能:
[root@MiWiFi-RA72-srv ~]#curl -s -w 'Http code: %{http_code}\nTotal time:%{time_total}s\n' -o /dev/null http://192.168.31.50Http code: 404Total time:31.909641s時(shí)間確實(shí)增加了,竟然要31s,注意一定要發(fā)一段時(shí)間,不然看不到效果 。那網(wǎng)絡(luò)有問題,我們首先要看下網(wǎng)絡(luò)的流量情況:
[root@localhost ~]# sar -n DEV 3平均時(shí)間:IFACErxpck/stxpck/srxkB/stxkB/srxcmp/stxcmp/srxmcst/s%ifutil平均時(shí)間:lo1.221.220.060.060.000.000.000.00平均時(shí)間:ens3316441.2015444.20963.43905.560.000.000.000.79平均時(shí)間:ens370.000.000.000.000.000.000.000.00平均時(shí)間:ens380.000.000.000.000.000.000.000.00平均時(shí)間:ens390.000.000.000.000.000.000.000.00計(jì)算平均包長:963*1024/16441.20=59B,發(fā)現(xiàn)這些都是小包,下面我們需要繼續(xù)分析下這些包是什么包,利用tcpdump抓包:
tcpdump -i ens33 -n tcp port 80 -w test.pcap下載下來用wireshark分析下如下: wireshark 打開文件后,通過統(tǒng)計(jì)->流量圖菜單彈出流分析:
防dos攻擊的主要方法 多角度查看和緩解DoS攻擊辦法


首先我們可以看到192.168.31.200發(fā)起了很多的SYN包給192.168.31.50,192.168.31.50給192.168.31.200回復(fù)了SYN+ACK包,想建立了TCP連接,但是被192.168.31.200發(fā)送RST包中斷了,這個(gè)和我們預(yù)期有些差別,主要是我們的IP沒有隨機(jī),導(dǎo)致我們會(huì)回復(fù)RST包,這樣雖然半連接也在增多,因?yàn)镽ST會(huì)導(dǎo)致終止了,所以消耗資源增加不夠快,為了讓服務(wù)器不回復(fù)給我們,我們可以通過hping3的另外選項(xiàng)發(fā)送包:
hping3 –rand-source -S -p 80 -i u1 192.168.31.50
抓包后繼續(xù)用wireshark分析:
防dos攻擊的主要方法 多角度查看和緩解DoS攻擊辦法


可以看到有大量的隨機(jī)ip對192.168.31.50發(fā)起連接,192.168.31.50對這些ip做響應(yīng),但是這些ip其實(shí)是欺騙的ip,導(dǎo)致無法收到響應(yīng)包括RST報(bào)文,所以會(huì)導(dǎo)致SYN+ACK重發(fā),從而消耗系統(tǒng)的資源 。
TCP的三次握手還不清楚的話,可以按照下面的圖理解下:
防dos攻擊的主要方法 多角度查看和緩解DoS攻擊辦法


四 緩解辦法4.1 封IP如果我們發(fā)現(xiàn)有固定的IP發(fā)來大量的SYN包,可以采用iptables 封了這個(gè)IP,禁止特定ip來發(fā)起連接 然后啟動(dòng)防火墻:

推薦閱讀