国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - 服務器安全 - 查看服務器是否被DDOS攻擊的方法

查看服務器是否被DDOS攻擊的方法

2022-02-17 00:39寰宇001 服務器安全

服務器的攻擊分為四類,cc攻擊、syn攻擊、udp攻擊、tcp洪水攻擊。那么當被攻擊時會出現哪些癥狀呢,我們是如何來判斷服務器是否被攻擊,屬于哪種攻擊類型?

常見流量攻擊

服務器的攻擊分為四類,cc攻擊、syn攻擊、udp攻擊、tcp洪水攻擊。那么當被攻擊時會出現哪些癥狀呢,我們是如何來判斷服務器是否被攻擊,屬于哪種攻擊類型?

第一種類型:CC類攻擊

CC攻擊是DDoS(分布式拒絕服務)的一種,這種一種比DDOS流氓行為更具有技術含量的一種攻擊方式,CC攻擊完全模擬正常訪問行為,沒有虛假IP,也沒有大的流量異常,但一樣會造成您的服務器無法正常連接,一條ADSL的普通用戶發起的CC攻擊就可以干掉一臺高性能的服務器。
服務器唄CC攻擊時,會出現80端口關閉的現象,即出現丟包和高延遲的現象, 因為80端口被大量的垃圾數據堵塞導致正常的連接被中止。可以通過在CMD命令窗口輸入命令 netstat -an 來查看,如果看到類似如下大量顯示雷同的連接記錄基本就可以被CC攻擊了:

……
TCP 192.168.1.3:80 192.168.1.6:2205 SYN_RECEIVED 4
A.網站出現service unavailable提示

B.CPU占用率很高

C.網絡連接狀態:netstat –na,若觀察到大量的ESTABLISHED的連接狀態 單個IP高達幾十條甚至上百條

D.外部無法打開網站,軟重啟后短期內恢復正常,幾分鐘后又無法訪問。

CC類攻擊檢測

第一條命令:

tcpdump -s0 -A -n -i any | grep -o -E '(GET|POST|HEAD) .*' 

正常的輸出結果類似于這樣

POST /ajax/validator.php HTTP/1.1 

第二種類型:SYN類攻擊

A.CPU占用很高

B.網絡連接狀態:netstat –na,若觀察到大量的SYN_RECEIVED的連接狀態

SYN類攻擊檢測

netstat -na             顯示所有活動的網絡連接
netstat -an | grep :80 | sort         顯示所有80端口的網絡連接并排序。80端口為http端口
netstat -n -p | grep SYN_REC | wc -l          查看當前有多少活動的SYNC_REC連接,最好值小于5.
netstat -n -p | grep SYN_REC | sort -u        列出所有連接過的IP地址
netstat -n -p | grep SYN_REC | awk ‘{print $5}| awk -F:{print $1}’     列出所有發送SYN_REC連接節點的IP地址
netstat -ntu | awk ‘{print $5}| cut -d: -f1 | sort | uniq -c | sort -n
使用netstat命令計算每個主機連接到本機的連接數
netstat -anp | grep ‘tcp|udp’ | awk ‘{print $5}| cut -d: -f1 | sort | uniq -c | sort -n      列出所有連接到本機的udp或者tcp連接的數量
netstat -ntu | grep ESTAB | awk ‘{print $5}| cut -d: -f1 | sort | uniq -c | sort -nr        檢查ESTABLISHED 連接并且列出每個IP地址的連接數量
Netstat -plan|grep :80| awk {‘print $5} | cut -d: -f1 | sort | uniq -c | sort -nk 1          列出所有連接到本機80端口的IP地址和其他連接數

查看服務器是否被DDOS攻擊的方法  1、利用netstat 工具來檢測查看SYN連接

netstat -n -p -t |wc -l

查看服務器是否被DDOS攻擊的方法

防護SYN類攻擊措施

防范也主要從兩方面入手,一是sysctl的自身的關于syn方面的配置,二是防火墻策略上。

sysctl -w net.ipv4.tcp_syncookies=1 # tcp syncookie,默認關閉

sysctl -w net.ipv4.tcp_max_syn_backlog=1280 # syn隊列,默認1024,》 1280可能工作不穩定,需要修改內核源碼參數

sysctl -w net.ipv4.tcp_synack_retries=2 # syn-ack握手狀態重試次數,默認5,遭受syn-flood攻擊時改為12

sysctl -w net.ipv4.tcp_syn_retries=2 # 外向syn握手重試次數,默認4

通過下列命令查看。

[root@localhost nginx]# sysctl -a|grep syn

net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_recv = 60

net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_sent = 120

net.ipv4.tcp_max_syn_backlog = 1024

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_synack_retries = 5

net.ipv4.tcp_syn_retries = 5

fs.quota.syncs = 25

查看服務器是否被DDOS攻擊的方法 如未受到攻擊,上面的參數不建議修改。據說有增加主機的不穩定性的風險。

第三種類型:UDP類攻擊

A.觀察網卡狀況 每秒接受大量的數據包

B.網絡狀態:netstat –na TCP信息正常

UDP類攻擊檢測

檢測udp端口

檢測端口是否打開:nc -zuv ip 端口

服務器監聽端口:nc -l -u ip 端口(可以發送和接受信息)

客戶端檢測端口:nc -u ip 端口(可以發送和接受信息)

查看監聽的tup端口:ss -ant

查看監聽的udp端口:ss -anu

查看所有協議端口:ss -ano

查看服務器是否被DDOS攻擊的方法 查看服務器是否被DDOS攻擊的方法

第四種類型:TCP洪水攻擊

A.CPU占用很高

B.netstat –na,若觀察到大量的ESTABLISHED的連接狀態 單個IP高達幾十條甚至上百條,屬于正常。 查看TCP端口連接數

查看網絡連接總數
# netstat -an |wc -l

查看某個特定ip的連接數
# netstat -an |grep 8.8.8.8 |wc -l

查看連接數等待time_wait狀態連接數
# netstat -an |grep TIME_WAIT|wc -l

查看建立穩定連接數量
# netstat -an |grep ESTABLISHED |wc -l

查看不同狀態的連接數
# netstat -an | awk '/^tcp/ {++y[$NF]} END {for(w in y) print w, y[w]}'

查看每個ip跟服務器建立的連接數
# netstat -nat|awk '{print$5}'|awk -F : '{print$1}'|sort|uniq -c|sort -rn
(PS:正則解析:顯示第5列,-F : 以:分割,顯示列,sort 排序,uniq -c統計排序過程中的重復行,sort -rn 按純數字進行逆序排序)

查看每個ip建立的ESTABLISHED/TIME_OUT狀態的連接數
# netstat -nat|grep ESTABLISHED|awk '{print$5}'|awk -F : '{print$1}'|sort|uniq -c|sort -rn

以下是我自己用VPS測試的結果:

root:~# netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
1 114.226.9.xx
1 174.129.237.xx
1 58.60.118.xx
1 Address
1 servers)
2 118.26.131.xx
3 123.125.1.x

查看服務器是否被DDOS攻擊的方法 每個IP幾個、十幾個或幾十個連接數都還算比較正常,如果像上面成百上千肯定就不正常了。

上述所講到的判斷分析,讓我們能準確的判斷存在的問題是什么,怎么第一時間來解決問題。讓我們能更好的維護我們的網站安全。

TCP洪水攻擊檢測

# tail -f /var/log/messages

Apr 18 11:21:56 web5 kernel: possible SYN flooding on port 80. Sending cookies.

檢查連接數增多,并且SYN_RECV 連接特別多:

檢查連接數增多,并且SYN_RECV 連接特別多:
# netstat -n awk '/^tcp/ { S[$NF]} END {for(a in S) print a, S[a]}'

TIME_WAIT 16855

CLOSE_WAIT 21

SYN_SENT 99

FIN_WAIT1 229

根據經驗,正常時檢查連接數如下:

# netstat -n awk '/^tcp/ { S[$NF]} END {for(a in S) print a, S[a]}'

查看服務器是否被DDOS攻擊的方法 根據netstat查看到的對方IP特征:

# netstat -na grep SYN_RECV more

查看服務器是否被DDOS攻擊的方法 以下配置,第一段參數是最重要的,第二段參數是輔助的,其余參數是其他作用的:

# vi /etc/sysctl.conf

net.ipv4.tcp_synack_retries=0

#半連接隊列長度

net.ipv4.tcp_max_syn_backlog=200000

#系統允許的文件句柄的最大數目,因為連接需要占用文件句柄

fs.file-max=819200

#用來應對突發的大并發connect 請求

net.core.somaxconn=65536

#最大的TCP 數據接收緩沖(字節)

net.core.rmem_max=1024123000

#最大的TCP 數據發送緩沖(字節)

net.core.wmem_max=16777216

#網絡設備接收數據包的速率比內核處理這些包的速率快時,允許送到隊列的數據包的最大數目

net.core.netdev_max_backlog=165536

#本機主動連接其他機器時的端口分配范圍

net.ipv4.ip_local_port_range=1000065535

使配置生效:

# sysctl -p

注意,以下參數面對外網時,不要打開。因為副作用很明顯,具體原因請google,如果已打開請顯式改為0,然后執行sysctl -p關閉。因為經過試驗,大量TIME_WAIT狀態的連接對系統沒太大影響:

#當出現 半連接 隊列溢出時向對方發送syncookies,調大 半連接 隊列后沒必要

net.ipv4.tcp_syncookies=0

#TIME_WAIT狀態的連接重用功能

net.ipv4.tcp_tw_reuse=0

#時間戳選項,與前面net.ipv4.tcp_tw_reuse參數配合

net.ipv4.tcp_timestamps=0

#TIME_WAIT狀態的連接回收功能

net.ipv4.tcp_tw_recycle=0

防御TCP洪水攻擊方法

通過調整tcp參數來防范DDOS攻擊 sysctl -a | grep syn 看到:SYN相關的配置 net.ipv4.tcp_max_syn_backlog = 1024

net.ipv4.tcp_syncookies = 0

net.ipv4.tcp_synack_retries = 5

net.ipv4.tcp_syn_retries = 5

tcp_max_syn_backlog是SYN隊列的長度,tcp_syncookies是一個開關,是否打開SYN Cookie 功能,該功能可以防止部分SYN攻擊。tcp_synack_retries和tcp_syn_retries定義SYN 的重試次數。加大SYN隊列長度可以容納更多等待連接的網絡連接數,打開SYN Cookie功能可以阻止部分 SYN攻擊,降低重試次數也有一定效果。 調整上述設置的方法是:

增加SYN隊列長度到2048:

sysctl -w net.ipv4.tcp_max_syn_backlog=2048

打開SYN COOKIE功能:

sysctl -w net.ipv4.tcp_syncookies=1

降低重試次數:

sysctl -w net.ipv4.tcp_synack_retries=3

sysctl -w net.ipv4.tcp_syn_retries=3

為了系統重啟動時保持上述配置,可將上述命令加入到/etc/rc.d/rc.local文件中。

防止同步包洪水(Sync Flood)

# iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT

也有人寫作

#iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT

--limit 1/s 限制syn并發數每秒1次,可以根據自己的需要修改

防止各種端口掃描

# iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

Ping洪水攻擊(Ping of Death)

# iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

擴展

問題1:解決time_wait連接數大量問題

查詢到time_wait連接數過多情況下,調整內核參數:/etc/sysctl.conf

# vim /etc/sysctl.conf
添加以下配置文件:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 300

讓配置生效
# /sbin/sysctl -p

參數詳解:
1.net.ipv4.tcp_syncookies = 1 表示開啟 syn cookies 。當出現 syn 等待隊列溢出時,啟用 cookies 來處理,可防范少量 syn ***,默認為 0 ,表示關閉; 
2.net.ipv4.tcp_tw_reuse = 1 表示開啟重用。允許將 time-wait sockets 重新用于新的 tcp 連接,默認為 0 ,表示關閉;
3.net.ipv4.tcp_tw_recycle = 1 表示開啟 tcp 連接中 time-wait sockets 的快速回收,默認為 0 ,表示關閉。
4.net.ipv4.tcp_fin_timeout 修改系靳默認的 timeout 時間

如果以上配置調優后性能還不理想,可繼續修改一下配置:

# vim /etc/sysctl.conf
net.ipv4.tcp_keepalive_time = 1200   #表示當keepalive起用的時候,TCP發送keepalive消息的頻度。缺省是2小時,改為20分鐘。
net.ipv4.ip_local_port_range = 1024 65000   #表示用于向外連接的端口范圍。缺省情況下很小:3276861000,改為102465000。
net.ipv4.tcp_max_syn_backlog = 8192   #表示SYN隊列的長度,默認為1024,加大隊列長度為8192,可以容納更多等待連接的網絡連接數。
net.ipv4.tcp_max_tw_buckets = 5000   #表示系統同時保持TIME_WAIT套接字的最大數量,如果超過這個數字,TIME_WAIT套接字將立刻被清除并打印警告信息。
默認為180000,改為5000。
對于Apache、Nginx等服務器,上幾行的參數可以很好地減少TIME_WAIT套接字數量,但是對于 Squid,效果卻不大。此項參數可以控制TIME_WAIT套接字的最大數量,避免Squid服務器被大量的TIME_WAIT套接字拖死。

問題2:ESTABLISHED連接數過大問題

怎么解決請求結束后依然存在大量ESTABLISHED沒有被釋放

初步推斷是tomcat服務器回收session時出了問題,這個一般都跟服務器的Timeout設置有聯系。

查看tomcat的配置文件 server.xml

Copy
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="UTF-8" />
*****

檢查配置得出20000毫秒的時候acceptCount=”100” ,明顯不合理,最大連接數也太小了吧。

所以進一步優化:

Copy
connectionTimeout="20000" 改為 connectionTimeout="100"
acceptCount="100"改為acceptCount="5000"

DDoS攻擊防御方法

**1. 過濾不必要的服務和端口:**可以使用Inexpress、Express、Forwarding等工具來過濾不必要的服務和端口,即在路由器上過濾假IP。比如Cisco公司的CEF(Cisco Express Forwarding)可以針對封包Source IP和Routing Table做比較,并加以過濾。只開放服務端口成為目前很多服務器的流行做法,例如WWW服務器那么只開放80而將其他所有端口關閉或在防火墻上做阻止策略。 **2. 異常流量的清洗過濾:**通過DDOS硬件防火墻對異常流量的清洗過濾,通過數據包的規則過濾、數據流指紋檢測過濾、及數據包內容定制過濾等頂尖技術能準確判斷外來訪問流量是否正常,進一步將異常流量禁止過濾。單臺負載每秒可防御800-927萬個syn攻擊包。

**3. 分布式集群防御:**這是目前網絡安全界防御大規模DDOS攻擊的最有效辦法。分布式集群防御的特點是在每個節點服務器配置多個IP地址(負載均衡),并且每個節點能承受不低于10G的DDOS攻擊,如一個節點受攻擊無法提供服務,系統將會根據優先級設置自動切換另一個節點,并將攻擊者的數據包全部返回發送點,使攻擊源成為癱瘓狀態,從更為深度的安全防護角度去影響企業的安全執行決策。

**4. 高防智能DNS解析:**高智能DNS解析系統與DDOS防御系統的完美結合,為企業提供對抗新興安全威脅的超級檢測功能。它顛覆了傳統一個域名對應一個鏡像的做法,智能根據用戶的上網路線將DNS解析請求解析到用戶所屬網絡的服務器。同時智能DNS解析系統還有宕機檢測功能,隨時可將癱瘓的服務器IP智能更換成正常服務器IP,為企業的網絡保持一個永不宕機的服務狀態。

參考鏈接 :

https://www.cnblogs.com/mydomain/archive/2013/05/14/3079002.html

https://www.cnblogs.com/hello-sky/p/11598954.html

五種簡單CC攻擊解決方案 http://www.anxinidc.com/faq/anquan/126.html

linux檢測及防止DDOS攻擊的技巧(2) http://www.xitongzhijia.net/xtjc/20150608/50328_2.html

TCP洪水攻擊(DDOS)診斷與防護http://blog.sina.com.cn/s/blog_6f82cb740101j7z0.html

服務器被ddos攻擊?分析如何防止DDOS攻擊? :https://blog.csdn.net/weixin_34407348/article/details/86013716?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-10.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-10.nonecase

DDos攻擊的常見方法及防御方法 https://www.cnblogs.com/larry-luo/p/10208074.html

原文地址:https://blog.csdn.net/qq_40907977/article/details/106897732

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91精品国产综合久久久久久丝袜 | 国产成人一级片 | 久热国产视频 | 欧美在线视频网站 | 久久夜色精品国产 | 天堂精品久久 | 免费h| 久精品视频 | 精品无码久久久久久国产 | 国产毛片一区二区 | 欧美性福 | 性色视频在线 | 一级欧美| 国产主播福利 | 四虎最新网址 | 99久久婷婷国产综合精品草原 | 国产区在线观看 | 一区二区精品视频 | 亚洲视频在线一区 | 99久久精品免费看国产一区二区三区 | 麻豆美女| 久久久国产一区 | 日本在线免费 | 亚洲福利国产 | 亚洲资源在线 | 精品免费久久久久久久苍 | 日本久久精品视频 | jizz中国jizz女人 | 日本一区视频 | 九九99 | 久久久久久久久久久久网站 | 香蕉尹人网 | 中文字幕一区二区三区乱码图片 | av影音资源 | 午夜剧场免费在线观看 | 精品亚洲一区二区 | 丝袜美腿一区二区三区 | 欧美一区二区黄 | 91精品国产综合久久福利软件 | 欧美一级片在线观看 | 激情欧美日韩一区二区 |