โดน DDoS ผู้รู้เข้ามาช่วยหน่อยครับ

เว็บผมเคยโดนแบบนี้มาแล้วครั้งนึง 140 IP แต่ดรอป (iptables) ไปแล้วก็หมดปัญหา
พอมาวันนี้โดนอีกแต่เยอะกว่าเดิม 700+ IP ดรอปทิ้งแล้วก็มาเพิ่มเรื่อยๆ ควรป้องกันยังไงดีครับ
ลักษณะคือ IP มันจะเข้ามาที่หน้าเว็บเราอ่ะครับ แต่ผมใส่ htaccess redirect 301 ไว้มันเลยขึ้น 301 ดังรูป


อันนี้ Server Status


ใครพอจะมีวิธีแนะนำบ้างครับว่าควรทำยังไง ตอนนี้เซ็งมากเพราะผมก็ไม่ค่อยชำนาญ งูๆปลาๆหา IP แล้วดรอปเรื่อยๆแค่นั้น
แต่ไม่อยากให้เป็นแบบนี้อีกอ่ะครับ ถ้าผมติดตั้ง nginx แทน apache มันจะดีขึ้นรึเปล่า จะป้องกันได้แค่ไหนครับ
เซิฟเวอร์นี้เช่าเค้ามาอีกทีนึง เจ้าของก็ช่วยเต็มที่แล้วเอา IP ลง ADF แต่ก็ไม่รู้จะป้องกันยังไง

ใครมีความรู้ด้านนี้ช่วยผมทีนะครับ ไม่รู้จะไปพึ่งใครดี ให้เริ่มศึกษาตอนนี้คงไม่ทัน

rules นี้ ผมโดนไปเมื่อ 4-5 เดือนที่แล้วครับ

แก้ที่ง่ายที่สุดคือการใช้ nginx มากันครับ เขียน rules เตะทิ้ง

ป.ล. ล๊อตนี้ถ้ายิงมาเต็มๆ วันนั้นผมลองปล่อยเล่นๆ เข้ามา 60K connections (จับจาก nginx)
ป.ล.2 rules กันแบบดีๆของการยิงชุดนี้ ผมได้จากพี่ icez อีกที อันที่ผมเขียนมันไม่สมบูรณ์ ถ้าอยากได้ แนะนำให้ขอพี่ icez ครับ

rules ยังไงเหรอครับ มีคนโดนแบบเดียวกับผมด้วยเหรอเนี่ย ดีจัง

ไม่อยากเปิดเผย rule ครับ เดี๋ยวคนยิงมันแก้บั๊กแล้วจะบล็อกยากซะฉิบ - -’

ขอถามหน่อยครับ ตอนนี้ผมลง CSF เพื่อป้องกัน ได้ผลดังรูปนะครับ

ก่อนรัน CSF

หลังรัน CSF ประมาณ 20 วินาที

แบบนี้คือ CSF ทำงานแล้วใช่มั้ยครับ แต่ผมลองเช็ค temporary ip blocked และไฟล์ csf.deny กลับไม่เจอ IP อะไรเลย ? ? ?
ผมทำอะไรผิดรึเปล่าครับ ตอนนี้ตั้ง SYN FLOOD 30con/s BURST 10 ปรับ PORTFLOOD 80;tcp;100;1 ด้วยครับ

และขอถามอีกอย่าง คำสั่งนี้

[COLOR=#333333]netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n[/COLOR]

มันแสดงเป็นหน่วยไหนอ่ะครับ แสดงเป็นการเชื่อมต่อในวินาทีนั้นๆ หรือในกี่วินาทีอ่ะครับ ไม่เข้าใจ

อันนี้แถม iptables


Chain INPUT (policy DROP 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1        0     0 ACCEPT     tcp  --  !lo    *       203.146.237.222      0.0.0.0/0           tcp dpt:53
2        0     0 ACCEPT     udp  --  !lo    *       203.146.237.222      0.0.0.0/0           udp dpt:53
3        0     0 ACCEPT     tcp  --  !lo    *       203.146.237.222      0.0.0.0/0           tcp spt:53
4        0     0 ACCEPT     udp  --  !lo    *       203.146.237.222      0.0.0.0/0           udp spt:53
5        0     0 ACCEPT     tcp  --  !lo    *       203.146.237.237      0.0.0.0/0           tcp dpt:53
6        0     0 ACCEPT     udp  --  !lo    *       203.146.237.237      0.0.0.0/0           udp dpt:53
7        0     0 ACCEPT     tcp  --  !lo    *       203.146.237.237      0.0.0.0/0           tcp spt:53
8      142 27918 ACCEPT     udp  --  !lo    *       203.146.237.237      0.0.0.0/0           udp spt:53
9     528K   40M LOCALINPUT  all  --  !lo    *       0.0.0.0/0            0.0.0.0/0
10       0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
11    365K   19M SYNFLOOD   tcp  --  !lo    *       0.0.0.0/0            0.0.0.0/0           tcp flags:0x17/0x02
12    149K   19M INVALID    tcp  --  !lo    *       0.0.0.0/0            0.0.0.0/0
13    106K   17M ACCEPT     all  --  !lo    *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
14       0     0 ACCEPT     tcp  --  !lo    *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:20
15       0     0 ACCEPT     tcp  --  !lo    *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:21
16       0     0 ACCEPT     tcp  --  !lo    *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
17       0     0 ACCEPT     tcp  --  !lo    *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:25
18       0     0 ACCEPT     tcp  --  !lo    *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:53
19   14946  770K ACCEPT     tcp  --  !lo    *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:80
20       0     0 ACCEPT     tcp  --  !lo    *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:110
21       0     0 ACCEPT     tcp  --  !lo    *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:143
22    2391  125K ACCEPT     tcp  --  !lo    *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:443
23       0     0 ACCEPT     tcp  --  !lo    *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:465
24       0     0 ACCEPT     tcp  --  !lo    *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:587
25       0     0 ACCEPT     tcp  --  !lo    *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:993
26       0     0 ACCEPT     tcp  --  !lo    *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:995
27       0     0 ACCEPT     tcp  --  !lo    *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:2222
28       0     0 ACCEPT     tcp  --  !lo    *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:2330
29       0     0 ACCEPT     udp  --  !lo    *       0.0.0.0/0            0.0.0.0/0           state NEW udp dpt:20
30       0     0 ACCEPT     udp  --  !lo    *       0.0.0.0/0            0.0.0.0/0           state NEW udp dpt:21
31     105  7525 ACCEPT     udp  --  !lo    *       0.0.0.0/0            0.0.0.0/0           state NEW udp dpt:53
32       9   702 ACCEPT     icmp --  !lo    *       0.0.0.0/0            0.0.0.0/0           icmp type 8 limit: avg 1/sec burst 5
33       0     0 ACCEPT     icmp --  !lo    *       0.0.0.0/0            0.0.0.0/0           icmp type 0 limit: avg 1/sec burst 5
34       0     0 ACCEPT     icmp --  !lo    *       0.0.0.0/0            0.0.0.0/0           icmp type 11
35       0     0 ACCEPT     icmp --  !lo    *       0.0.0.0/0            0.0.0.0/0           icmp type 3
36   35066 2632K LOGDROPIN  all  --  !lo    *       0.0.0.0/0            0.0.0.0/0


Chain FORWARD (policy DROP 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination


Chain OUTPUT (policy DROP 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1        0     0 ACCEPT     tcp  --  *      !lo     0.0.0.0/0            203.146.237.222     tcp dpt:53
2        0     0 ACCEPT     udp  --  *      !lo     0.0.0.0/0            203.146.237.222     udp dpt:53
3        0     0 ACCEPT     tcp  --  *      !lo     0.0.0.0/0            203.146.237.222     tcp spt:53
4        0     0 ACCEPT     udp  --  *      !lo     0.0.0.0/0            203.146.237.222     udp spt:53
5        0     0 ACCEPT     tcp  --  *      !lo     0.0.0.0/0            203.146.237.237     tcp dpt:53
6      142  9096 ACCEPT     udp  --  *      !lo     0.0.0.0/0            203.146.237.237     udp dpt:53
7        0     0 ACCEPT     tcp  --  *      !lo     0.0.0.0/0            203.146.237.237     tcp spt:53
8        0     0 ACCEPT     udp  --  *      !lo     0.0.0.0/0            203.146.237.237     udp spt:53
9     122K   56M LOCALOUTPUT  all  --  *      !lo     0.0.0.0/0            0.0.0.0/0
10       0     0 ACCEPT     tcp  --  *      !lo     0.0.0.0/0            0.0.0.0/0           tcp dpt:53
11       0     0 ACCEPT     udp  --  *      !lo     0.0.0.0/0            0.0.0.0/0           udp dpt:53
12       0     0 ACCEPT     tcp  --  *      !lo     0.0.0.0/0            0.0.0.0/0           tcp spt:53
13     105 14831 ACCEPT     udp  --  *      !lo     0.0.0.0/0            0.0.0.0/0           udp spt:53
14       0     0 ACCEPT     all  --  *      lo      0.0.0.0/0            0.0.0.0/0
15    125K   57M INVALID    tcp  --  *      !lo     0.0.0.0/0            0.0.0.0/0
16    112K   53M ACCEPT     all  --  *      !lo     0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
17       0     0 ACCEPT     tcp  --  *      !lo     0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:20
18       0     0 ACCEPT     tcp  --  *      !lo     0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:21
19       0     0 ACCEPT     tcp  --  *      !lo     0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
20       0     0 ACCEPT     tcp  --  *      !lo     0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:25
21       0     0 ACCEPT     tcp  --  *      !lo     0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:53
22       2    96 ACCEPT     tcp  --  *      !lo     0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:80
23       0     0 ACCEPT     tcp  --  *      !lo     0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:110
24       0     0 ACCEPT     tcp  --  *      !lo     0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:113
25     894 42912 ACCEPT     tcp  --  *      !lo     0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:443
26       0     0 ACCEPT     tcp  --  *      !lo     0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:993
27       0     0 ACCEPT     tcp  --  *      !lo     0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:995
28       0     0 ACCEPT     tcp  --  *      !lo     0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:2222
29       0     0 ACCEPT     tcp  --  *      !lo     0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:2330
30       0     0 ACCEPT     udp  --  *      !lo     0.0.0.0/0            0.0.0.0/0           state NEW udp dpt:20
31       0     0 ACCEPT     udp  --  *      !lo     0.0.0.0/0            0.0.0.0/0           state NEW udp dpt:21
32       0     0 ACCEPT     udp  --  *      !lo     0.0.0.0/0            0.0.0.0/0           state NEW udp dpt:53
33       0     0 ACCEPT     udp  --  *      !lo     0.0.0.0/0            0.0.0.0/0           state NEW udp dpt:113
34       1    76 ACCEPT     udp  --  *      !lo     0.0.0.0/0            0.0.0.0/0           state NEW udp dpt:123
35       0     0 ACCEPT     icmp --  *      !lo     0.0.0.0/0            0.0.0.0/0           icmp type 0
36       0     0 ACCEPT     icmp --  *      !lo     0.0.0.0/0            0.0.0.0/0           icmp type 8
37       0     0 ACCEPT     icmp --  *      !lo     0.0.0.0/0            0.0.0.0/0           icmp type 11
38       0     0 ACCEPT     icmp --  *      !lo     0.0.0.0/0            0.0.0.0/0           icmp type 3
39       0     0 LOGDROPOUT  all  --  *      !lo     0.0.0.0/0            0.0.0.0/0


Chain ALLOWIN (1 references)
num   pkts bytes target     prot opt in     out     source               destination
1     1079 99969 ACCEPT     all  --  !lo    *       183.89.50.140        0.0.0.0/0


Chain ALLOWOUT (1 references)
num   pkts bytes target     prot opt in     out     source               destination
1      996  414K ACCEPT     all  --  *      !lo     0.0.0.0/0            183.89.50.140


Chain DENYIN (1 references)
num   pkts bytes target     prot opt in     out     source               destination


Chain DENYOUT (1 references)
num   pkts bytes target     prot opt in     out     source               destination


Chain INVALID (2 references)
num   pkts bytes target     prot opt in     out     source               destination
1    22193 1290K INVDROP    all  --  *      *       0.0.0.0/0            0.0.0.0/0           state INVALID
2        0     0 INVDROP    tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:0x3F/0x00
3        0     0 INVDROP    tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:0x3F/0x3F
4        0     0 INVDROP    tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:0x03/0x03
5        0     0 INVDROP    tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:0x06/0x06
6        0     0 INVDROP    tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:0x05/0x05
7        0     0 INVDROP    tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:0x11/0x01
8        0     0 INVDROP    tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:0x18/0x08
9        0     0 INVDROP    tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:0x30/0x20
10    9311 3694K INVDROP    tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:!0x17/0x02 state NEW


Chain INVDROP (10 references)
num   pkts bytes target     prot opt in     out     source               destination
1    31504 4984K DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0


Chain LOCALINPUT (1 references)
num   pkts bytes target     prot opt in     out     source               destination
1     528K   40M ALLOWIN    all  --  !lo    *       0.0.0.0/0            0.0.0.0/0
2     527K   40M DENYIN     all  --  !lo    *       0.0.0.0/0            0.0.0.0/0


Chain LOCALOUTPUT (1 references)
num   pkts bytes target     prot opt in     out     source               destination
1     122K   56M ALLOWOUT   all  --  *      !lo     0.0.0.0/0            0.0.0.0/0
2     121K   56M DENYOUT    all  --  *      !lo     0.0.0.0/0            0.0.0.0/0


Chain LOGDROPIN (1 references)
num   pkts bytes target     prot opt in     out     source               destination
1        0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:67
2        0     0 DROP       udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:67
3        0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:68
4        0     0 DROP       udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:68
5        0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:111
6        0     0 DROP       udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:111
7        0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:113
8        0     0 DROP       udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:113
9        0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpts:135:139
10      46  6063 DROP       udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpts:135:139
11       0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:445
12       0     0 DROP       udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:445
13       0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:500
14       0     0 DROP       udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:500
15       0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:513
16       0     0 DROP       udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:513
17       0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:520
18       0     0 DROP       udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:520
19       0     0 LOG        tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           limit: avg 30/min burst 5 LOG flags 0 level 4 prefix `Firewall: *TCP_IN Blocked* '
20     300 22500 LOG        udp  --  *      *       0.0.0.0/0            0.0.0.0/0           limit: avg 30/min burst 5 LOG flags 0 level 4 prefix `Firewall: *UDP_IN Blocked* '
21       0     0 LOG        icmp --  *      *       0.0.0.0/0            0.0.0.0/0           limit: avg 30/min burst 5 LOG flags 0 level 4 prefix `Firewall: *ICMP_IN Blocked* '
22   35020 2625K DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0


Chain LOGDROPOUT (1 references)
num   pkts bytes target     prot opt in     out     source               destination
1        0     0 LOG        tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:0x17/0x02 limit: avg 30/min burst 5 LOG flags 8 level 4 prefix `Firewall: *TCP_OUT Blocked* '
2        0     0 LOG        udp  --  *      *       0.0.0.0/0            0.0.0.0/0           limit: avg 30/min burst 5 LOG flags 8 level 4 prefix `Firewall: *UDP_OUT Blocked* '
3        0     0 LOG        icmp --  *      *       0.0.0.0/0            0.0.0.0/0           limit: avg 30/min burst 5 LOG flags 8 level 4 prefix `Firewall: *ICMP_OUT Blocked* '
4        0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0


Chain PORTFLOOD (0 references)
num   pkts bytes target     prot opt in     out     source               destination
1        0     0 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0           limit: avg 30/min burst 5 LOG flags 0 level 4 prefix `Firewall: *Port Flood* '
2        0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0


Chain SYNFLOOD (1 references)
num   pkts bytes target     prot opt in     out     source               destination
1    17406  899K RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0           limit: avg 30/sec burst 10
2      331 17052 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0           limit: avg 30/min burst 5 LOG flags 0 level 4 prefix `Firewall: *SYNFLOOD Blocked* '
3     348K   18M DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0


Chain PREROUTING (policy ACCEPT 493K packets, 26M bytes)
num   pkts bytes target     prot opt in     out     source               destination


Chain POSTROUTING (policy ACCEPT 2313 packets, 534K bytes)
num   pkts bytes target     prot opt in     out     source               destination


Chain OUTPUT (policy ACCEPT 9746 packets, 3553K bytes)
num   pkts bytes target     prot opt in     out     source               destination

ดูไม่เป็นอ่ะครับ ต้องปรับอะไรเพิ่มมั่งครับ

จากรูปก็เห็นชัดเจนนะว่าเป็น DDOS หรือเรียกกันว่า botnet วิธีกันที่ได้ผลดีสุดคือเอา nginx มาขวางหน้า apache แล้วเขียน rule เตะทิ้งไป