52AV手機A片王|52AV.one

 找回密碼
 立即註冊
查看: 1464|回復: 0

[防火牆] 針對Web server(port 80)的DDoS攻擊防護,以iptables實作

[複製鏈接]
發表於 2016-10-8 21:08:05 | 顯示全部樓層 |閱讀模式
tid=48979& 本帖最後由 IT_man 於 2016-11-18 21:51 編輯
( z: Q+ o8 |- `! A# J& @' ]# \0 h3 q* F
Linux強大的iptables,有一個名為ipt_recent的module,能阻擋DDoS攻擊。2 @; ?+ v5 m0 l, h" z2 x
例如,你可以新增一個chain: iptables -N WEB_SRV_DOS 或是 ":WEB_SRV_DOS - [0:0]"
9 ^+ {) ]) w% u0 q' O/ i' b& X9 ?# k然後,再用以下的指令,把60秒內hit port 80/443超過10次的IP阻擋並記錄下來:9 ~* Q9 Z. [$ i4 q; l! V. d
0 M6 C* t% s' g) O' r. q% p
  1. iptables -A INPUT -p tcp -m multiport –dports 80,443 -j WEB_SRV_DOS
    : s) m, B8 i9 P) Z! i; }
  2. iptables -A WEB_SRV_DOS -p tcp --syn -m multiport --dports 80,443 -m recent --rcheck --second 60 --hitcount 10 -j LOG --log-prefix "[Possible DOS Attack]"
    * G1 Z% f2 ~# i$ ~8 f
  3. iptables -A WEB_SRV_DOS -p tcp --syn -m multiport --dports 80,443 -m recent --rcheck --second 60 --hitcount 10 -j REJECT        4 t) y  N" M0 W. {7 a5 Y- U; d
  4. iptables -A WEB_SRV_DOS -p tcp --syn -m multiport --dports 80,443 -m recent --set        0 Y5 V& d8 z0 V2 u7 N6 E
  5. iptables -A WEB_SRV_DOS -p tcp -m multiport --dports 80,443 -j ACCEPT
複製代碼

- T4 Z; k$ p" X) Y3 N6 B) p* c  h$ I/ `8 J8 I7 V
如果你看dmesg遇到下列這類錯誤:        7 e  v' G; f8 b3 e
hitcount (200) is larger than packets to be remembered (20)
2 e9 f$ I( h" g/ B表示你設定要計算的次數大於ipt_recent所設定的上限,可透過調整ipt_recent module的ip_pkt_list_tot參數來解決。
9 \4 g% f: u; ~9 }
% P% \2 ^* F7 N測試一下吧:
- n+ i9 m9 P) b! ]( F5 f/ D" r  Q5 y先對測試site發出大量的 http request [size=13.376px](可以寫程式來跑,或用所謂的工人智慧 – 用browser開多個TAB,不斷的reload網頁。)% r1 u. l8 o1 Z1 S
可以發現在/var/log/message中出現下列訊息:* ~# M5 e; @, ]6 h" G' p+ A1 b
May 17 07:12:00 localhost kernel: [Possible DOS Attack]IN=eth0 OUT= MAC=XX:XX:XX:XX:43:77:00:1f:YY:YY:YY:YY SRC=192.168.0.105 DST=192.168.0.102 LEN=64 TOS=0x00 PREC=0x00 TTL=64 ID=45026 DF PROTO=TCP SPT=59437 DPT=80 WINDOW=65535 RES=0x00 SYN URGP=08 e4 N. c6 W& Z$ r
此時再以browser打開測試網頁,則會出現Connection refused,無法連上(因為我設定的rule是REJECT)。7 V1 Y7 j0 v# ~9 i% \* T- y
OK,iptables的ipt_recent module發揮作用了。
$ \$ @$ d7 S% r$ k2 V$ @! {  t1 b0 f
5 |+ ?" S7 j5 h" k7 S: X* l7 H$ I結論:
0 p4 M  f1 Z8 w, Z) S1 j, X(1) iptables在網路層即阻擋掉攻擊封包,對server的loading影響較小" l/ o6 O3 B  \5 v; h
(2) iptables設定上較有彈性,可用來防護80,443以外的port8 ?( L0 C8 g3 _8 M# L% e+ B0 G
(3) iptables可設定於獨立的主機,擺在server的前方進行保護,可以完全不讓攻擊封包進入server。7 u5 F& k: [: K, g
如果你是用MS Windows + IIS,別傷心,你可以參考AQTRONIX WebKnight這套免費的web application firewall,裡面即有防護DDoS攻擊的功能。' L: l  R7 U7 R! _6 s

+ H9 m8 b+ ?( y+ A+ a( @. ^9 Z0 h/ z. g! @& z/ A3 n! [; x3 g
參考原文: http://blog.eztable.com/2011/05/17/how-to-prevent-ddos/
. d9 B1 {/ {: }9 P8 M
回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則



中文酷站排行榜

本區塊內容依據『電腦網路內容分級處理辦法』為限制級網站,限定年滿18歲以上或達當地國家法定年齡人士方可進入,且願接受本站各項條款,未滿18歲 謝絕進入瀏覽。為防範未滿18歲之未成年網友瀏覽網路上限制級內容的圖文資訊,建議您可進行網路內容分級組織ICRA分級服務的安裝與設定。 (為還給愛護 本站的網友一個純淨的論壇環境,本站設有管理員)

QQ|小黑屋|手機板| 52AV手機A片王

GMT+8, 2026-3-23 21:42 , Processed in 0.061633 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回復 返回頂部 返回列表