banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận bảo mật Chống SYN FLOOD lượng lớn  XML
  [Question]   Chống SYN FLOOD lượng lớn 24/01/2011 22:23:17 (+0700) | #31 | 230271
[Avatar]
xnohat
Moderator

Joined: 30/01/2005 13:59:19
Messages: 1210
Location: /dev/null
Offline
[Profile] [PM] [Email] [WWW] [Yahoo!] [MSN]
Anh conmale nói bồ rút dây cáp khỏi máy chủ Windows chính là để ngắt cuộc tấn công và giúp bồ có thể truy cập vào con máy ảo mà chỉnh sửa, chứ tình trạng tấn công này thì đứng cứng ngắc sao mà truy cập vào được mà sửa với chữa smilie
iJust clear, "What I need to do and how to do it"/i
br
brBox tán gẫu dời về: http://www.facebook.com/hvaonline
[Up] [Print Copy]
  [Question]   Chống SYN FLOOD lượng lớn 25/01/2011 07:42:00 (+0700) | #32 | 230288
huuduyen
Member

[Minus]    0    [Plus]
Joined: 26/09/2010 19:45:18
Messages: 19
Offline
[Profile] [PM]
Máy ảo và thật đều cùng 1 line mà bạn smilie

rút cáp thì chỉ có kỹ thuật trực tiếp tại đó mới xử lý được, chứ mình ở xa, đâu xử lý offline được.

Mà từ file dump đó có thể phân tích được nguồn phát động tấn công không nhỉ ?

Mình muốn biết nguồn tấn công để dùng giải pháp khác nữa, song song với giải pháp kỹ thuật.

p/s : sv vẫn đang die...smilie(
[Up] [Print Copy]
  [Question]   Chống SYN FLOOD lượng lớn 25/01/2011 08:06:23 (+0700) | #33 | 230292
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

huuduyen wrote:
Máy ảo và thật đều cùng 1 line mà bạn smilie

rút cáp thì chỉ có kỹ thuật trực tiếp tại đó mới xử lý được, chứ mình ở xa, đâu xử lý offline được.

Mà từ file dump đó có thể phân tích được nguồn phát động tấn công không nhỉ ?

Mình muốn biết nguồn tấn công để dùng giải pháp khác nữa, song song với giải pháp kỹ thuật.

p/s : sv vẫn đang die...smilie


Chỉ còn có 2 cách:

1) Chạy thẳng vô data center để làm trực tiếp trên máy chủ.

2) Nhờ data center cung cấp 1 đường vô riêng. Tạm thời chặn hết tất cả các request đến public IP của Windows server đó để tạo điều kiện cho bồ điều chỉnh nó.

Các IP tấn công bồ chỉ gởi SYN và gói SYN không có đủ thông tin để truy ra nguồn điều khiển.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Chống SYN FLOOD lượng lớn 25/01/2011 13:48:23 (+0700) | #34 | 230321
[Avatar]
xnohat
Moderator

Joined: 30/01/2005 13:59:19
Messages: 1210
Location: /dev/null
Offline
[Profile] [PM] [Email] [WWW] [Yahoo!] [MSN]
Anh Conmale đã hướng dẫn đối với máy ảo Linux, giờ tôi nói qua cái máy chủ Windows 2k3 kia

Tôi có tìm ra một công cụ giúp lọc ra các IP đang gửi SYN kết hợp với IPSec ( có thể được sử dụng như một Firewall tương tự iptables trên *nix nhưng của M$ cung cấp dĩ nhiên tính năng hạn chế hơn vì nó ko hoàn toàn là một ứng dụng Firewall) để chặn các IP đang DDoS, công cụ viết bằng AutoIT version 3

Chạy lệnh netdiag /test:ipsec trong Cmd nếu response là

Code:
IP Security test . . . . . . . . . : Passed 
IPSec policy service is active, but no policy is assigned.


Thì ok tức là có tồn tại IPSec trên máy

Hướng dẫn cài đặt IPSec tại đây (tương tự cho Win 2k3) : http://ntcanuck.com/ipsec/ipsecxp.htm

Xong giải nén và chạy chương trình mà tôi Attach kèm đây

Tôi thử nghiệm trên LAB thì thấy nó lọc và chặn được các IP thực hiện SYN flood nhưng sức chịu đựng của nó với một cuộc DDoS cường độ lớn thì tôi chưa có điều kiện thử

Muốn tắt chương trình thì nhấp phải vào biểu tượng của nó ở System Tray ( giống cái Avatar của tôi ) chọn Exit

Tôi cũng đính kèm trong đó source của chương trình mà tôi đã chỉnh sửa, bồ mở ra mà coi để hiểu nó làm gì hoặc có thể chỉnh sửa lại theo ý mình

SYN Flood Defense by AutoIt and IPSec for Windows

http://www.mediafire.com/?8kr1pmgrf6fyrle

- xNohat
iJust clear, "What I need to do and how to do it"/i
br
brBox tán gẫu dời về: http://www.facebook.com/hvaonline
[Up] [Print Copy]
  [Question]   Chống SYN FLOOD lượng lớn 25/01/2011 23:04:32 (+0700) | #35 | 230361
huuduyen
Member

[Minus]    0    [Plus]
Joined: 26/09/2010 19:45:18
Messages: 19
Offline
[Profile] [PM]
Thanks bạn xnohat. Nhưng file đính kèm hình như bị lỗi smilie
[Up] [Print Copy]
  [Question]   Chống SYN FLOOD lượng lớn 25/01/2011 23:09:58 (+0700) | #36 | 230362
[Avatar]
xnohat
Moderator

Joined: 30/01/2005 13:59:19
Messages: 1210
Location: /dev/null
Offline
[Profile] [PM] [Email] [WWW] [Yahoo!] [MSN]
Đã cập nhật lại link từ Mediafire

Thân mến,
iJust clear, "What I need to do and how to do it"/i
br
brBox tán gẫu dời về: http://www.facebook.com/hvaonline
[Up] [Print Copy]
  [Question]   Chống SYN FLOOD lượng lớn 27/01/2011 18:13:35 (+0700) | #37 | 230449
huuduyen
Member

[Minus]    0    [Plus]
Joined: 26/09/2010 19:45:18
Messages: 19
Offline
[Profile] [PM]
Mình bị lỗi này khi chỉnh ở file sysctl.conf

'net.netfilter.nf_conntrack_tcp_timeout_syn_recv' is an unknown key

 
[Up] [Print Copy]
  [Question]   Chống SYN FLOOD lượng lớn 28/01/2011 21:49:22 (+0700) | #38 | 230517
jcisio
Member

[Minus]    0    [Plus]
Joined: 17/04/2004 12:04:36
Messages: 34
Offline
[Profile] [PM]
Mình tò mò hỏi cái, là cái botnet đó, giả sử 40K IP đi, khi tấn công nó làm nghẽn đường truyền của bạn? Để 40K IP làm nghẽn 400 Mbps thì mỗi IP chỉ cần trung bình 10 Kbps, khá khiêm tốn so với hạ tầng hiện nay smilie Đằng nào thì router cũng phải nhận 400 Mbps, vậy có chỉnh gì ở firewall (lớp ngoài) hay chỉnh ở HĐH cũng vô ích?
www.thongtincongnghe.com
[Up] [Print Copy]
  [Question]   Chống SYN FLOOD lượng lớn 29/01/2011 03:46:57 (+0700) | #39 | 230532
huuduyen
Member

[Minus]    0    [Plus]
Joined: 26/09/2010 19:45:18
Messages: 19
Offline
[Profile] [PM]
uhm, lượng botnet quá lớn....đầu hàng thôi.

Cấu hình gì cũng vô ích khi các thiết bị ở ngoài đã chết khi chưa kịp đến server....
[Up] [Print Copy]
  [Question]   Chống SYN FLOOD lượng lớn 29/01/2011 07:36:11 (+0700) | #40 | 230534
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

huuduyen wrote:
uhm, lượng botnet quá lớn....đầu hàng thôi.

Cấu hình gì cũng vô ích khi các thiết bị ở ngoài đã chết khi chưa kịp đến server.... 


Cái này hoàn toàn nằm ngoài khả năng kiểm soát của bồ. Nếu network và thiết bị network không đủ sức để định tuyến và cho phép packets đi vô trong thì bồ chẳng làm được gì hết.


'net.netfilter.nf_conntrack_tcp_timeout_syn_recv' is an unknown key là do conntrack module không compile trên kernel. Bồ phải compile lại kernel và enable "conntrack".
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Chống SYN FLOOD lượng lớn 29/01/2011 10:17:55 (+0700) | #41 | 230541
mulpu
Member

[Minus]    0    [Plus]
Joined: 18/08/2006 03:00:22
Messages: 53
Offline
[Profile] [PM]
các anh có thể up lại cho em xem cái file tcpdump được không ạ? 45M ấy, em tải link kia chết rồi. Cám ơn các anh.
[Up] [Print Copy]
  [Question]   Chống SYN FLOOD lượng lớn 29/01/2011 13:42:03 (+0700) | #42 | 230553
jcisio
Member

[Minus]    0    [Plus]
Joined: 17/04/2004 12:04:36
Messages: 34
Offline
[Profile] [PM]

huuduyen wrote:
uhm, lượng botnet quá lớn....đầu hàng thôi.

Cấu hình gì cũng vô ích khi các thiết bị ở ngoài đã chết khi chưa kịp đến server.... 


Cũng may là cái botnet đó cũng khá đắt tiền và hiếm gặp, không biết ai mà rỗi hơi vậy. Bạn thử đưa log sang bên VNCert họ đối chiếu với log của VNN xem có phải cùng botnet không.

Bên mình đầu tháng 1 cũng bị botnet tấn công 2 ngày (max đường truyền 100 Mbps), và đã được xác nhận ban đầu là cùng botnet với đám tấn công VNN.
www.thongtincongnghe.com
[Up] [Print Copy]
  [Question]   Chống SYN FLOOD lượng lớn 30/01/2011 12:25:48 (+0700) | #43 | 230612
huuduyen
Member

[Minus]    0    [Plus]
Joined: 26/09/2010 19:45:18
Messages: 19
Offline
[Profile] [PM]

jcisio wrote:

huuduyen wrote:
uhm, lượng botnet quá lớn....đầu hàng thôi.

Cấu hình gì cũng vô ích khi các thiết bị ở ngoài đã chết khi chưa kịp đến server.... 


Cũng may là cái botnet đó cũng khá đắt tiền và hiếm gặp, không biết ai mà rỗi hơi vậy. Bạn thử đưa log sang bên VNCert họ đối chiếu với log của VNN xem có phải cùng botnet không.

Bên mình đầu tháng 1 cũng bị botnet tấn công 2 ngày (max đường truyền 100 Mbps), và đã được xác nhận ban đầu là cùng botnet với đám tấn công VNN. 


Mình có nhờ người thử liên hệ bên VNCert.

Họ nói lại là bảo đảm chặn được 100%. Nhưng số $ là ~$150 000 bao gồm cả hardware lẫn software...

BOTNET lợi hại quá....đành bó tay thôi smilie

[Up] [Print Copy]
  [Question]   Chống SYN FLOOD lượng lớn 30/01/2011 16:44:43 (+0700) | #44 | 230624
jcisio
Member

[Minus]    0    [Plus]
Joined: 17/04/2004 12:04:36
Messages: 34
Offline
[Profile] [PM]

huuduyen wrote:

Mình có nhờ người thử liên hệ bên VNCert.

Họ nói lại là bảo đảm chặn được 100%. Nhưng số $ là ~$150 000 bao gồm cả hardware lẫn software...

BOTNET lợi hại quá....đành bó tay thôi smilie

 

Nói như vậy có vẻ VNCERT không muốn làm...
www.thongtincongnghe.com
[Up] [Print Copy]
  [Question]   Chống SYN FLOOD lượng lớn 26/02/2011 17:43:14 (+0700) | #45 | 232009
[Avatar]
Ky0
Moderator

Joined: 16/08/2009 23:09:08
Messages: 532
Offline
[Profile] [PM]

conmale wrote:

2) Chỉnh trên iptables (giả định iptables -P INPUT DROP)

Code:
iptables -N syn
iptables -A syn -j ACCEPT
iptables -N SYN_CHECK
iptables -A SYN_CHECK -m recent --set --name SYN
iptables -A INPUT -p tcp --syn -d $IP -m state --state NEW -j SYN_CHECK

iptables -A SYN_CHECK -m recent --update --seconds 60 --hitcount 10 --name SYN -j LOG --log-prefix "FLOOD: "
iptables -A SYN_CHECK -m recent --update --seconds 60 --hitcount 10 --name SYN -j DROP

iptables -A SYN_CHECK -m recent --update --seconds 60 --hitcount 3 --name SYN -j syn
iptables -A INPUT -p tcp ! --syn -d $IP -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -s $IP -m state --state ESTABLISHED -j ACCEPT


Để bảo đảm, block luôn các IP vi phạm (dùng để tạo SYN flood) 2 phút; sau 2 phút kiểm tra lại, nếu không còn vi phạm thì cho vô. Thêm đoạn này:

Code:
iptables -t mangle -N blockip
iptables -t mangle -A blockip -j DROP
iptables -t mangle -A PREROUTING -p tcp -d $IP -m recent --name SYN --update --seconds 120 -j blockip


 


Mấy bữa nay đang làm lab về thằng này, em có vấn đề thắc mắc liên quan như sau:
Trong trường hợp không muốn block traffic mà muốn chuyển hướng đến host khác (vd: host 192.168.1.100), em sửa rule lại như sau:
Code:
iptables -N syn
iptables -A syn -j ACCEPT
iptables -N SYN_CHECK
iptables -A SYN_CHECK -m recent --set --name SYN
iptables -A INPUT -p tcp --syn -d $IP -m state --state NEW -j SYN_CHECK
 
iptables -A SYN_CHECK -m recent --update --seconds 60 --hitcount 10 --name SYN -j LOG --log-prefix "FLOOD: "
iptables -t nat -A SYN_CHECK -m recent --update --seconds 60 --hitcount 10 --name SYN -j DNAT --to-destination 192.168.100
 
iptables -A SYN_CHECK -m recent --update --seconds 60 --hitcount 3 --name SYN -j syn
iptables -A INPUT -p tcp ! --syn -d $IP -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -s $IP -m state --state ESTABLISHED -j ACCEPT

và lệnh bổ sung chuyển hướng gói tin
Code:
iptables -t nat -N forwardip
iptables -t nat -A forwardip -j DNAT --to 192.168.1.100
iptables -t nat -A PREROUTING -p tcp -d $IP -m recent --name SYN --update --seconds 120 -j forwardip

Nhưng hai câu lệnh DNAT lại bị lỗi "iptables: No chain/target/match by that name.". Trường hợp này giải quyết ra sao ạ? Em thử dùng REDIRECT nhưng nó lại báo lỗi "iptables v1.4.9: unknown option `--to-destination'"

- Ky0 -
UITNetwork.com
Let's Connect
[Up] [Print Copy]
  [Question]   Chống SYN FLOOD lượng lớn 27/02/2011 15:39:43 (+0700) | #46 | 232058
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]
Em thử lsmod và gởi kết quả lên xem?
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Chống SYN FLOOD lượng lớn 27/02/2011 18:27:27 (+0700) | #47 | 232069
[Avatar]
Ky0
Moderator

Joined: 16/08/2009 23:09:08
Messages: 532
Offline
[Profile] [PM]
Sau khi xem lại cái bảng đường đi của gói tin thì em đã hiểu vì nó lại báo lỗi "iptables: No chain/target/match by that name." tại dòng lệnh
Code:
iptables -t nat -A SYN_CHECK -m recent --update --seconds 60 --hitcount 10 --name SYN -j DNAT --to-destination 192.168.100

Lý do là DNAT là việc làm khi ở chain PREROUTING. Cho nên khi vào đến chain INPUT để kiểm tra gói tin có vi phạm hay không thì lúc này dùng DNAT là không hợp lý.

Theo em thì dùng chain REDIRECT ở đoạn này là thích hợp. Tuy nhiên phiên iptables của em lại không hỗ trợ REDIRECT đến một host khác. Hiện tại thì em hình dung ra hai hướng sau:

a) dùng chain REDIRECT chuyển hướng packet đến một port nào đó, và dùng một dịch vụ khác để chuyển packet đến host mình mong muốn => Điều này có thể thực hiện được không? và thực hiện như thế nào?
b) Tìm cách làm cho iptables có thể dùng chain REDIRECT để chuyển hướng packet đến host cụ thể. => Hướng này so với hướng trên cái nào tối ưu hơn? hướng nào dễ dàng hơn?

@conmale
Kết quả lệnh lsmod đây anh:
Code:
Module                  Size  Used by
tcp_lp                  1779  0 
iptable_nat             3945  1 
nf_nat                 16298  1 iptable_nat
ipt_LOG                 4243  0 
xt_recent               6622  0 
bluetooth              73233  0 
vboxnetadp              5534  0 
vboxnetflt             16051  2 
vboxdrv               173274  3 vboxnetadp,vboxnetflt
cpufreq_ondemand        7262  2 
acpi_cpufreq            6285  1 
mperf                   1141  1 acpi_cpufreq
ip6t_REJECT             3470  2 
nf_conntrack_ipv6      14441  4 
ip6table_filter         1207  1 
ip6_tables              9929  1 ip6table_filter
ipv6                  229581  18 ip6t_REJECT,nf_conntrack_ipv6
fuse                   51648  9 
uinput                  5228  0 
snd_hda_codec_idt      45770  1 
arc4                    1085  2 
snd_hda_intel          20151  2 
ecb                     1595  2 
snd_hda_codec          71701  2 snd_hda_codec_idt,snd_hda_intel
snd_hwdep               4795  1 snd_hda_codec
b43                   144940  0 
snd_seq                43435  0 
r852                    8298  0 
sm_common               3104  1 r852
nand                   28994  2 r852,sm_common
nand_ids                2730  1 nand
nand_ecc                3460  1 nand
snd_seq_device          5056  1 snd_seq
mac80211              188716  1 b43
b44                    21854  0 
cfg80211              110951  2 b43,mac80211
mtd                    15282  2 sm_common,nand
snd_pcm                61769  2 snd_hda_intel,snd_hda_codec
dell_wmi                2763  0 
snd_timer              15435  2 snd_seq,snd_pcm
mii                     3578  1 b44
snd                    47365  12 snd_hda_codec_idt,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_seq,snd_seq_device,snd_pcm,snd_timer
soundcore               5088  1 snd
ssb                    42089  2 b43,b44
dell_laptop             5433  0 
snd_page_alloc          6180  2 snd_hda_intel,snd_pcm
wmi                     6667  1 dell_wmi
iTCO_wdt                8960  0 
iTCO_vendor_support     2070  1 iTCO_wdt
rfkill                 13652  4 bluetooth,cfg80211,dell_laptop
i2c_i801                9016  0 
uvcvideo               49189  0 
videodev               60378  1 uvcvideo
joydev                  7306  0 
dcdbas                  6608  1 dell_laptop
microcode              11067  0 
sdhci_pci               6246  0 
sdhci                  15685  1 sdhci_pci
mmc_core               53194  3 b43,ssb,sdhci
firewire_ohci          17697  0 
firewire_core          37873  1 firewire_ohci
crc_itu_t               1235  1 firewire_core
nouveau               360960  4 
ttm                    45014  1 nouveau
drm_kms_helper         22278  1 nouveau
drm                   139248  6 nouveau,ttm,drm_kms_helper
i2c_algo_bit            4197  1 nouveau
video                  17730  1 nouveau
output                  1625  1 video
i2c_core               21445  6 i2c_i801,videodev,nouveau,drm_kms_helper,drm,i2c_algo_bit

- Ky0 -
UITNetwork.com
Let's Connect
[Up] [Print Copy]
  [Question]   Chống SYN FLOOD lượng lớn 28/02/2011 06:45:40 (+0700) | #48 | 232121
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

Ky0 wrote:
Sau khi xem lại cái bảng đường đi của gói tin thì em đã hiểu vì nó lại báo lỗi "iptables: No chain/target/match by that name." tại dòng lệnh
Code:
iptables -t nat -A SYN_CHECK -m recent --update --seconds 60 --hitcount 10 --name SYN -j DNAT --to-destination 192.168.100

Lý do là DNAT là việc làm khi ở chain PREROUTING. Cho nên khi vào đến chain INPUT để kiểm tra gói tin có vi phạm hay không thì lúc này dùng DNAT là không hợp lý.

Theo em thì dùng chain REDIRECT ở đoạn này là thích hợp. Tuy nhiên phiên iptables của em lại không hỗ trợ REDIRECT đến một host khác. Hiện tại thì em hình dung ra hai hướng sau:

a) dùng chain REDIRECT chuyển hướng packet đến một port nào đó, và dùng một dịch vụ khác để chuyển packet đến host mình mong muốn => Điều này có thể thực hiện được không? và thực hiện như thế nào?
b) Tìm cách làm cho iptables có thể dùng chain REDIRECT để chuyển hướng packet đến host cụ thể. => Hướng này so với hướng trên cái nào tối ưu hơn? hướng nào dễ dàng hơn?
 

Table SYN_CHECK được tạo ra cho "filter" chain chớ không phải cho NAT (iptables -N SYN_CHECK - nếu declare như thế này mà không có -t filter thì mặc định đó là -t filter). Bởi vậy, khi em sử dụng:

iptables -t nat -A SYN_CHECK -m recent --update --seconds 60 --hitcount 10 --name SYN -j DNAT --to-destination 192.168.100

thì chắc chắn bị lỗi bởi vì trên "nat" hoàn toàn không có table nào defined có tên là "SYN_CHECK" có sẵn cho em hết.

Nguyên thuỷ dòng iptables -N SYN_CHECK được tạo ra là để tạo custome chain cho "filter" (INPUT) và em không thể dùng nó để buộc một rule dành riêng cho "nat" sử dụng.

Ky0 wrote:

@conmale
Kết quả lệnh lsmod đây anh:
Code:
Module                  Size  Used by
tcp_lp                  1779  0 
iptable_nat             3945  1 
nf_nat                 16298  1 iptable_nat
ipt_LOG                 4243  0 
xt_recent               6622  0 
bluetooth              73233  0 
vboxnetadp              5534  0 
vboxnetflt             16051  2 
vboxdrv               173274  3 vboxnetadp,vboxnetflt
cpufreq_ondemand        7262  2 
acpi_cpufreq            6285  1 
mperf                   1141  1 acpi_cpufreq
ip6t_REJECT             3470  2 
nf_conntrack_ipv6      14441  4 
ip6table_filter         1207  1 
ip6_tables              9929  1 ip6table_filter
ipv6                  229581  18 ip6t_REJECT,nf_conntrack_ipv6
fuse                   51648  9 
uinput                  5228  0 
snd_hda_codec_idt      45770  1 
arc4                    1085  2 
snd_hda_intel          20151  2 
ecb                     1595  2 
snd_hda_codec          71701  2 snd_hda_codec_idt,snd_hda_intel
snd_hwdep               4795  1 snd_hda_codec
b43                   144940  0 
snd_seq                43435  0 
r852                    8298  0 
sm_common               3104  1 r852
nand                   28994  2 r852,sm_common
nand_ids                2730  1 nand
nand_ecc                3460  1 nand
snd_seq_device          5056  1 snd_seq
mac80211              188716  1 b43
b44                    21854  0 
cfg80211              110951  2 b43,mac80211
mtd                    15282  2 sm_common,nand
snd_pcm                61769  2 snd_hda_intel,snd_hda_codec
dell_wmi                2763  0 
snd_timer              15435  2 snd_seq,snd_pcm
mii                     3578  1 b44
snd                    47365  12 snd_hda_codec_idt,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_seq,snd_seq_device,snd_pcm,snd_timer
soundcore               5088  1 snd
ssb                    42089  2 b43,b44
dell_laptop             5433  0 
snd_page_alloc          6180  2 snd_hda_intel,snd_pcm
wmi                     6667  1 dell_wmi
iTCO_wdt                8960  0 
iTCO_vendor_support     2070  1 iTCO_wdt
rfkill                 13652  4 bluetooth,cfg80211,dell_laptop
i2c_i801                9016  0 
uvcvideo               49189  0 
videodev               60378  1 uvcvideo
joydev                  7306  0 
dcdbas                  6608  1 dell_laptop
microcode              11067  0 
sdhci_pci               6246  0 
sdhci                  15685  1 sdhci_pci
mmc_core               53194  3 b43,ssb,sdhci
firewire_ohci          17697  0 
firewire_core          37873  1 firewire_ohci
crc_itu_t               1235  1 firewire_core
nouveau               360960  4 
ttm                    45014  1 nouveau
drm_kms_helper         22278  1 nouveau
drm                   139248  6 nouveau,ttm,drm_kms_helper
i2c_algo_bit            4197  1 nouveau
video                  17730  1 nouveau
output                  1625  1 video
i2c_core               21445  6 i2c_i801,videodev,nouveau,drm_kms_helper,drm,i2c_algo_bit

- Ky0 - 

lsmod của em ok. Không có vấn đề gì.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Chống SYN FLOOD lượng lớn 20/04/2011 21:10:03 (+0700) | #49 | 235878
[Avatar]
longvnit
Member

[Minus]    0    [Plus]
Joined: 11/01/2007 12:02:01
Messages: 9
Offline
[Profile] [PM]
 
Để bảo đảm, block luôn các IP vi phạm (dùng để tạo SYN flood) 2 phút; sau 2 phút kiểm tra lại, nếu không còn vi phạm thì cho vô. Thêm đoạn này:

Code:
iptables -t mangle -N blockip
iptables -t mangle -A blockip -j DROP
iptables -t mangle -A PREROUTING -p tcp -d $IP -m recent --name SYN --update --seconds 120 -j blockip

$IP chính là IP được bound trên external interface trên máy chủ Linux của bồ.
 

Chào anh commle !

Em đang nghiên cứu lại cách phòng chống SYN Flood của anh, nhưng có một số thắc mắc như sau, mong nhận được sự giải đáp:

Em hiểu rằng khi một gói tin có state là NEW đi đến firewall thì sẽ được chuyển vào chain SYN_CHECK, khi đó chain này sẽ đưa IP này vào một danh sách (A) để kiểm tra tính hợp lệ, các rule sau sẽ kiểm tra:
iptables -A SYN_CHECK -m recent --update --seconds 60 --hitcount 10 --name SYN -j LOG --log-prefix "FLOOD: "
Nếu IP đó gửi >= 10 packet có state NEW trong vòng 1 phút sẽ được LOG lại và DROP bở rule
iptables -A SYN_CHECK -m recent --update --seconds 60 --hitcount 10 --name SYN -j DROP
Nếu không thoải mãn sẽ tới rule tiếp theo là:
iptables -A SYN_CHECK -m recent --update --seconds 60 --hitcount 3 --name SYN -j syn
Ý nghĩa của rule trên là những gói tin vào tồn tại trong danh sách A và có hitcount >= 3 mơi dc ACCEPT
Như vậy, nếu 1 IP hợp lệ chỉ gửi một gói tin trong 1 phút như vậy sẽ không match rule nào hết và bị chặn (Điều này hơi vô lý), đó là thắc mắc đầu tiên của em ?

Thắc mắc thứ 2:
Đối với Rule:
iptables -t mangle -A PREROUTING -p tcp -d $IP -m recent --name SYN --update --seconds 120 -j blockip

Nó sẽ xét xem gói tin đó có trong danh sách (A) hay chưa, nếu có sẽ ban trong vòng 120s, vậy làm sao Firewall có thể phân biệt được sự khác nhau giữa những gói tin của IP hợp lệ và IP không hợp lệ.

Mong được sự giải đáp của anh và mọi người ^^
[Up] [Print Copy]
  [Question]   Chống SYN FLOOD lượng lớn 21/04/2011 04:06:01 (+0700) | #50 | 235888
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

longvnit wrote:

Chào anh commle !

Em đang nghiên cứu lại cách phòng chống SYN Flood của anh, nhưng có một số thắc mắc như sau, mong nhận được sự giải đáp:

Em hiểu rằng khi một gói tin có state là NEW đi đến firewall thì sẽ được chuyển vào chain SYN_CHECK, khi đó chain này sẽ đưa IP này vào một danh sách (A) để kiểm tra tính hợp lệ, các rule sau sẽ kiểm tra:
iptables -A SYN_CHECK -m recent --update --seconds 60 --hitcount 10 --name SYN -j LOG --log-prefix "FLOOD: "
Nếu IP đó gửi >= 10 packet có state NEW trong vòng 1 phút sẽ được LOG lại và DROP bở rule
iptables -A SYN_CHECK -m recent --update --seconds 60 --hitcount 10 --name SYN -j DROP
Nếu không thoải mãn sẽ tới rule tiếp theo là:
iptables -A SYN_CHECK -m recent --update --seconds 60 --hitcount 3 --name SYN -j syn
Ý nghĩa của rule trên là những gói tin vào tồn tại trong danh sách A và có hitcount >= 3 mơi dc ACCEPT
Như vậy, nếu 1 IP hợp lệ chỉ gửi một gói tin trong 1 phút như vậy sẽ không match rule nào hết và bị chặn (Điều này hơi vô lý), đó là thắc mắc đầu tiên của em ?
 

Hello em. Nếu em đang nói về các rule ở bài #26 /hvaonline/posts/list/20/37358.html#230204) thì anh sẽ phân tích từng dòng để dễ hiểu hơn:
Code:
1. iptables -N syn
2. iptables -A syn -j ACCEPT
3. iptables -N SYN_CHECK
4. iptables -A SYN_CHECK -m recent --set --name SYN
5. iptables -A INPUT -p tcp --syn -d $IP -m state --state NEW -j SYN_CHECK
 
6. iptables -A SYN_CHECK -m recent --update --seconds 60 --hitcount 10 --name SYN -j LOG --log-prefix "FLOOD: "
7. iptables -A SYN_CHECK -m recent --update --seconds 60 --hitcount 10 --name SYN -j DROP
 
8. iptables -A SYN_CHECK -m recent --update --seconds 60 --hitcount 3 --name SYN -j syn
9. iptables -A INPUT -p tcp ! --syn -d $IP -m state --state ESTABLISHED -j ACCEPT
10. iptables -A OUTPUT -p tcp -s $IP -m state --state ESTABLISHED -j ACCEPT


- Dòng 1 và 2 chỉ để thiết lập một "chain" có tên là syn và sau đó ấn định rằng bất cứ gói tin nào đi đến "chain" này đều được ACCEPT. Theo mặc định, nếu không ấn định "-t" (table) cụ thể thì đó là "filter table" (biểu thị bằng -t filter).

- Dòng 3 và 4 thiết lập một chain khác có tên là "SYN_CHECK" và sau đó tạo một bảng theo dõi có tên là SYN cho module "recent".

- Dòng 5 quy định bất cứ gói tin nào đi vào chain INPUT (tiêu chuẩn) ở dạng SYN và ở tình trạng NEW thì nhảy đến custome chain "SYN_CHECK" đã ấn định ở trên. Tất nhiên, nếu gói tin đi vào chain INPUT không phải là SYN và không ở tình trạng NEW thì sẽ không match cho nên sẽ không bị đẩy sang "SYN_CHECK" mà bị đẩy đến chain nào khác tuỳ cách xử lý ở sau đó (trong trường hợp này là dòng 9 và 10).

- Dòng 6 ấn định thêm rule cho chain "SYN_CHECK". Ở dòng này, nó ấn định rằng nếu trong 60 giây mà có 10 gói tin đi từ 1 IP nào đó thì nhảy đến "LOG".

- Dòng 7 tương tự dòng 6, chỉ có khác ở chỗ thay vì LOG, DROP gói tin ấy. Thông thường các gói tin ở state không phải là NEW và không ở dạng SYN thì chắc chắn sẽ không đi xuyên qua chain "SYN_CHECK" và không bị kiểm soát ở dòng 6 và 7.

- Dòng 8, dòng này ấn định trong vòng 60 giây qua mà có 3 gói tin (tất nhiên phải ở dạng SYN và ở state NEW vì các gói tin này đi từ chain ở dòng số 5) thì nhảy đến chain "syn" (có nghĩa là ACCEPT theo quy định ở dòng số 2).

- Dòng 9 và 10 thì đơn giản ấn định tất cả các gói tin ở tình trạng "ESTABLISHED" mà không phải là SYN thì cho ra vô thoải mái.

Chìa khoá của việc cản lọc theo giới hạn nằm ở dòng thứ 7 và 8. Dòng thứ 7 đi trước với ấn định 10 gói tin (SYN và state NEW) đi xuyên qua chain này trong vòng 1 phút thì... dập luôn, khỏi on đơ gì nữa. Tất nhiên quy định này cần phải linh động và xác thực tuỳ theo hoàn cảnh, tuỳ theo nhu cầu chớ không thể rập khuôn như trên được. Với một forum, không có ai mà đọc kiểu gì mà nhanh đến độ trong 1 phút đọc xong 10 bài (bấm 10 link trong vòng 1 phút). Tuy nhiên, nếu gói tin đi từ 1 IP nào đó không match dòng 7 thì chắc chắn sẽ đi đến dòng 8. Thật ra ấn định "3 hits trong 60 giây" ở dòng 8 không còn cần thiết nữa bởi vì dòng 7 đã cản hết những gói tin đi quá giới hạn rồi. Những gì không match ở dòng 7 thì chắc chắn sẽ match ở dòng 8 và quy định ở dòng 8 có những chi tiết đó chỉ là "safe guard" mà thôi. Nếu xét sâu hơn nữa, ở trên tầng application (web / apache / iis....), ấn định KeepAlive và ấn định RequestTimeOut cực kỳ quan trọng và trực tiếp quyết định các cú "bấm" trên đường dẫn có còn thuộc một "ESTABLISHED" connection hay đã hoàn toàn mới (sẽ là SYN và NEW).

Với thắc mắc của em ở đoạn màu cam ở trên, dòng số 8 match bởi vì dòng này không phải match cụ thể 60 giây phải có 3 hits thì mới match mà những gì chưa đụng tới 3 hits thì match. Nếu em muốn bảo đảm, em có thể điều chỉnh dòng 8 thành:
iptables -A SYN_CHECK -j syn

là đủ.

longvnit wrote:

Thắc mắc thứ 2:
Đối với Rule:
iptables -t mangle -A PREROUTING -p tcp -d $IP -m recent --name SYN --update --seconds 120 -j blockip

Nó sẽ xét xem gói tin đó có trong danh sách (A) hay chưa, nếu có sẽ ban trong vòng 120s, vậy làm sao Firewall có thể phân biệt được sự khác nhau giữa những gói tin của IP hợp lệ và IP không hợp lệ.

Mong được sự giải đáp của anh và mọi người ^^ 

Thắc mắc của em ở đoạn này rất hữu lý. Dòng màu đỏ ở trên thiếu 1 phần đó là --hitcount 10, nếu không, nó sẽ block IP ấy ngay từ sau khi thiết lập IP ấy trong bảng theo dõi ở dòng số 7 ở trên rồi smilie.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Chống SYN FLOOD lượng lớn 21/04/2011 08:48:16 (+0700) | #51 | 235904
[Avatar]
longvnit
Member

[Minus]    0    [Plus]
Joined: 11/01/2007 12:02:01
Messages: 9
Offline
[Profile] [PM]
Cảm ơn anh commale đã giải thích rất cặn kẽ. smilie
[Up] [Print Copy]
  [Question]   Chống SYN FLOOD lượng lớn 28/04/2011 19:17:06 (+0700) | #52 | 236369
quanghoacmd
Member

[Minus]    0    [Plus]
Joined: 03/08/2007 12:16:59
Messages: 33
Offline
[Profile] [PM]
Mình theo dõi topic này và rút ra nhiều điều bổ ích vì server mình hiện tại cũng đag bị SYN FLOOD.
Mình đã làm theo hướng dẫn của các bạn, mình muốn hỏi xem như nếu file log ghi như thế này thì có phải là thành công trong việc chống syn food chưa

Những ngày bị DDOS

Code:
Apr 25 08:43:51 webbbp kernel: dst cache overflow
Apr 25 08:43:51 webbbp kernel: printk: 1078 messages suppressed.

Apr 27 13:13:43 webbbp kernel: ip_conntrack: table full, dropping packet.
Apr 27 13:14:35 webbbp kernel: possible SYN flooding on port 80. Sending cookies.
Apr 27 13:15:35 webbbp kernel: possible SYN flooding on port 80. Sending cookies.
Apr 27 13:17:35 webbbp last message repeated 2 times
Apr 27 13:18:35 webbbp kernel: possible SYN flooding on port 80. Sending cookies.
Apr 27 13:19:20 webbbp kernel: ip_conntrack: table full, dropping packet.
Apr 27 13:19:35 webbbp kernel: possible SYN flooding on port 80. Sending cookies.



Và như thế này là ổn rồi phải ko ta

Code:
Apr 28 15:02:35 webbbp mod_evasive[5656]: Blacklisting address 117.0.128.159: possible DoS attack.



$IP chính là IP được bound trên external interface trên máy chủ Linux của bồ. 


Làm sao biết được IP này ? ( sr, mình newbie )
[Up] [Print Copy]
  [Question]   Chống SYN FLOOD lượng lớn 29/04/2011 09:23:05 (+0700) | #53 | 236399
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

quanghoacmd wrote:
Mình theo dõi topic này và rút ra nhiều điều bổ ích vì server mình hiện tại cũng đag bị SYN FLOOD.
Mình đã làm theo hướng dẫn của các bạn, mình muốn hỏi xem như nếu file log ghi như thế này thì có phải là thành công trong việc chống syn food chưa

Những ngày bị DDOS

Code:
Apr 25 08:43:51 webbbp kernel: dst cache overflow
Apr 25 08:43:51 webbbp kernel: printk: 1078 messages suppressed.

Apr 27 13:13:43 webbbp kernel: ip_conntrack: table full, dropping packet.
Apr 27 13:14:35 webbbp kernel: possible SYN flooding on port 80. Sending cookies.
Apr 27 13:15:35 webbbp kernel: possible SYN flooding on port 80. Sending cookies.
Apr 27 13:17:35 webbbp last message repeated 2 times
Apr 27 13:18:35 webbbp kernel: possible SYN flooding on port 80. Sending cookies.
Apr 27 13:19:20 webbbp kernel: ip_conntrack: table full, dropping packet.
Apr 27 13:19:35 webbbp kernel: possible SYN flooding on port 80. Sending cookies.

 

Đoạn trên kernel thông báo là ip_conntrack module của netfilter bị hết chỗ cho nên nó không còn kiểm soát tình trạng các gói tin đi vào nữa. Thay vào đó, netfilter drop (huỷ) các packets. Nếu bị tình trạng này, hầu như người dùng bình thường vào trang web cũng không được ---> đã bị tình trạng "từ chối dịch vụ".

Để khắc phục tình trạng này, nên gia tăng kích thước của ip_conntrack table. Nếu ip_conntrack module này vẫn chạy trên kernel cũ (trước 2.6.32) thì nên:

1. Điều chỉnh file /etc/sysctl.conf và thêm dòng:
net.ipv4.netfilter.ip_conntrack_max = 65536

2. Sau khi save file trên, chạy command:
/sbin/sysctl -p

Nếu ip_conntrack module này chạy trên kernel mới (từ sau 2.6.32) thì nên:

1. Điều chỉnh file /etc/sysctl.conf và thêm dòng:
net.netfilter.nf_conntrack_max = 65536

2. Sau khi save file trên, chạy command:
/sbin/sysctl -p

Cách dễ nhất để xác định ip_conntrack của mình thuộc kernel cũ hay mới như sau. Thử chạy:
cat /proc/sys/net/ipv4/ip_conntrack_max

nếu có giá trị nào đó trả về, chứng tỏ ip_conntrack này vẫn chạy trên kernel cũ. Nếu không có giá trị nào đó trả về, thử chạy:
cat /proc/sys/net/nf_conntrack_max

nếu có giá trị nào đó trả về, chứng tỏ ip_conntrack chạy trên kernel mới.


quanghoacmd wrote:

Và như thế này là ổn rồi phải ko ta

Code:
Apr 28 15:02:35 webbbp mod_evasive[5656]: Blacklisting address 117.0.128.159: possible DoS attack.

 

Không ổn hoàn toàn. Mod_evasive chỉ cản DDoS một cách cứng nhắc bởi vì sau khi nó đã block rồi thì nó sẽ không cho phép IP đó vào nữa cho đến khi nào apache được restart. Nếu duy trì, đến một lúc nào đó chẳng còn IP nào vào được trang web của mình nữa ---> chính mình tự tạo "từ chối dịch vụ". Nên sử dụng mod_security làm biện pháp cản lọc đã được thảo luận nhiều lần trên diễn đàn này.


quanghoacmd wrote:

$IP chính là IP được bound trên external interface trên máy chủ Linux của bồ. 


Làm sao biết được IP này ? ( sr, mình newbie )  

Chạy command này:
echo `/sbin/ifconfig eth0 | grep "inet addr" | awk -F":" '{print$2}' | awk '{print $1}'`
và từ từ tìm hiểu command trên có nghĩa là gì.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Chống SYN FLOOD lượng lớn 30/04/2011 02:39:41 (+0700) | #54 | 236440
quanghoacmd
Member

[Minus]    0    [Plus]
Joined: 03/08/2007 12:16:59
Messages: 33
Offline
[Profile] [PM]
Code:
[root@webbbp ~]# cat /etc/*release*
CentOS release 5.6 (Final)
[root@webbbp ~]# sysctl net.ipv4.netfilter.ip_conntrack_max
net.ipv4.netfilter.ip_conntrack_max = 34576


Mình setup Centos final mà sao kenerl vẫn là loại cũ vậy ?

Mình Update lên 90000
Code:
[root@webbbp ~]# sysctl -w net.ipv4.netfilter.ip_conntrack_max=90000
net.ipv4.netfilter.ip_conntrack_max = 90000

90k liệu có đủ chưa ?
Với cấu hình máy là
Code:
Kernel and CPU	Linux 2.6.18-238.9.1.el5 on x86_64
Processor information	Intel(R) Xeon(R) CPU E5606 @ 2.13GHz, 4 cores
RAM 8G

Và cấu hình httpd.conf như thế nào cho hợp lý với Syn Flood

Đây là cấu hình httpd của mình.
Code:
Timeout 120
KeepAlive Off
MaxKeepAliveRequests 100
KeepAliveTimeout 15

StartServers       8
MinSpareServers    5
MaxSpareServers   20
ServerLimit      256
MaxClients       256
MaxRequestsPerChild  4000


Code:
[root@webbbp ~]# echo `/sbin/ifconfig eth0 | grep "inet addr" | awk -F":" '{print$2}' | awk '{print $1}'`
112.78.7.xxx


Hóa ra là IP của web. ^^




Đây là Network traffic trong ngày bị ddos , liệu có phải do SyN food gây ra hay chỉ là sai lệch nào đó?

longvnit wrote:

Thắc mắc thứ 2:
Đối với Rule:
iptables -t mangle -A PREROUTING -p tcp -d $IP -m recent --name SYN --update --seconds 120 -j blockip

Nó sẽ xét xem gói tin đó có trong danh sách (A) hay chưa, nếu có sẽ ban trong vòng 120s, vậy làm sao Firewall có thể phân biệt được sự khác nhau giữa những gói tin của IP hợp lệ và IP không hợp lệ.

Mong được sự giải đáp của anh và mọi người ^^ 

Thắc mắc của em ở đoạn này rất hữu lý. Dòng màu đỏ ở trên thiếu 1 phần đó là --hitcount 10, nếu không, nó sẽ block IP ấy ngay từ sau khi thiết lập IP ấy trong bảng theo dõi ở dòng số 7 ở trên rồi smilie


Vậy --hitcount thêm vào trước --name SYN phải không?
Như là : iptables -t mangle -A PREROUTING -p tcp -d $IP -m recent --hitcount 10 --name SYN --update --seconds 120 -j blockip
[Up] [Print Copy]
  [Question]   Chống SYN FLOOD lượng lớn 30/04/2011 09:36:39 (+0700) | #55 | 236447
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

quanghoacmd wrote:
Code:
[root@webbbp ~]# cat /etc/*release*
CentOS release 5.6 (Final)
[root@webbbp ~]# sysctl net.ipv4.netfilter.ip_conntrack_max
net.ipv4.netfilter.ip_conntrack_max = 34576


Mình setup Centos final mà sao kenerl vẫn là loại cũ vậy ?
 

Centos "final" không có nghĩa là nó chạy kernel mới. Cái này phụ thuộc nhóm phát triển Centos có cập nhật kernel thường xuyên hay không mà thôi.

quanghoacmd wrote:

Mình Update lên 90000
Code:
[root@webbbp ~]# sysctl -w net.ipv4.netfilter.ip_conntrack_max=90000
net.ipv4.netfilter.ip_conntrack_max = 90000

90k liệu có đủ chưa ?
 

Giá trị ip_conntrack_max cần được xác định dựa trên số lượng physical memory có trên máy chủ. Mỗi connection được "tracked" cần đến 350 bytes memory (memory thật, không phải virtual memory). Nếu bồ gia tăng lên 90 ngàn entries ip_conntrack_max thì có nghĩa: 90000 x 350 bytes = 30Mb physical memory. Hơn nữa, không nên đoán chừng một con số nào đó mà nên thử phân tích logs xem mỗi giờ, mỗi ngày mình bị bao nhiêu IP riêng biệt "đập" để từ đó có một con số thích hợp. Không có ai có thể xác định giúp bồ xem con số nào là "đủ" hết.

Đọc thêm cái này: http://www.netfilter.org/documentation/FAQ/netfilter-faq-3.html#ss3.7

quanghoacmd wrote:

Với cấu hình máy là
Code:
Kernel and CPU	Linux 2.6.18-238.9.1.el5 on x86_64
Processor information	Intel(R) Xeon(R) CPU E5606 @ 2.13GHz, 4 cores
RAM 8G

Và cấu hình httpd.conf như thế nào cho hợp lý với Syn Flood

Đây là cấu hình httpd của mình.
Code:
Timeout 120
KeepAlive Off
MaxKeepAliveRequests 100
KeepAliveTimeout 15

StartServers       8
MinSpareServers    5
MaxSpareServers   20
ServerLimit      256
MaxClients       256
MaxRequestsPerChild  4000

 

Bồ nên tìm đọc loạt bài "Ký sự những vụ DDoS HVA" để tham khảo thêm. Khía cạnh điều chỉnh httpd.conf đã được phân tích khá sâu trong loạt bài đó.

quanghoacmd wrote:

Code:
[root@webbbp ~]# echo `/sbin/ifconfig eth0 | grep "inet addr" | awk -F":" '{print$2}' | awk '{print $1}'`
112.78.7.xxx


Hóa ra là IP của web. ^^




Đây là Network traffic trong ngày bị ddos , liệu có phải do SyN food gây ra hay chỉ là sai lệch nào đó?
 

Chẳng có ai có thể trả lời câu hỏi này. Bồ nên hỏi trực tiếp nơi cung cấp dịch vụ của bồ.

quanghoacmd wrote:

longvnit wrote:

Thắc mắc thứ 2:
Đối với Rule:
iptables -t mangle -A PREROUTING -p tcp -d $IP -m recent --name SYN --update --seconds 120 -j blockip

Nó sẽ xét xem gói tin đó có trong danh sách (A) hay chưa, nếu có sẽ ban trong vòng 120s, vậy làm sao Firewall có thể phân biệt được sự khác nhau giữa những gói tin của IP hợp lệ và IP không hợp lệ.

Mong được sự giải đáp của anh và mọi người ^^ 

Thắc mắc của em ở đoạn này rất hữu lý. Dòng màu đỏ ở trên thiếu 1 phần đó là --hitcount 10, nếu không, nó sẽ block IP ấy ngay từ sau khi thiết lập IP ấy trong bảng theo dõi ở dòng số 7 ở trên rồi smilie


Vậy --hitcount thêm vào trước --name SYN phải không?
Như là : iptables -t mangle -A PREROUTING -p tcp -d $IP -m recent --hitcount 10 --name SYN --update --seconds 120 -j blockip 

Tớ không biết phải trả lời cho bồ thế nào nữa. Nên tìm tài liệu về -m recent để đọc và hiểu cho thấu đáo chớ nhập nhoạng kiểu này thì tiêu. Bảo mật không phải là chắp vá từng mảnh rời mà phải hiểu chính xác mình đang làm cái gì.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Chống SYN FLOOD lượng lớn 25/05/2011 13:47:09 (+0700) | #56 | 237853
edge
Member

[Minus]    0    [Plus]
Joined: 12/07/2010 21:33:41
Messages: 5
Offline
[Profile] [PM]

conmale wrote:

OK. IP của bồ bị SYN Flood với cường độ khoảng 41 ngàn SYN / 1 giây từ các IP thuộc VN (100% là của VN). Mỗi IP chỉ gởi tối đa 1 SYN trong mỗi 2 giây (nhiêu IP chỉ gởi 1 SYN trong 4 - 5 giây) và cổng bị dập là 33443 và 34444. Bởi vậy, cách chống SYN Flood bình thường không tác dụng vì khoảng cách mỗi củ SYN đi từ 1 IP cách nhau khá xa. Bồ thử dùng biện pháp sau:
 


Cho e hỏi, làm sao mình có thể biết được những thông tin như vậy từ file dump?
[Up] [Print Copy]
  [Question]   Chống SYN FLOOD lượng lớn 27/05/2011 09:31:46 (+0700) | #57 | 237979
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

edge wrote:

conmale wrote:

OK. IP của bồ bị SYN Flood với cường độ khoảng 41 ngàn SYN / 1 giây từ các IP thuộc VN (100% là của VN). Mỗi IP chỉ gởi tối đa 1 SYN trong mỗi 2 giây (nhiêu IP chỉ gởi 1 SYN trong 4 - 5 giây) và cổng bị dập là 33443 và 34444. Bởi vậy, cách chống SYN Flood bình thường không tác dụng vì khoảng cách mỗi củ SYN đi từ 1 IP cách nhau khá xa. Bồ thử dùng biện pháp sau:
 


Cho e hỏi, làm sao mình có thể biết được những thông tin như vậy từ file dump? 


Từ cách tính toán.

Thông thường, để xác định mình đang bị tấn công từ chối dịch vụ ở dạng nào, cách tốt nhất là capture packets (bằng tcpdump hoặc Wireshark) để phân tích. Hầu hết các ứng dụng cho phép capture packets đều có thể dùng wireshark để mở ra và có lẽ wireshark là công cụ miễn phí tốt nhất cho công việc này.

Khi mở một đoạn packet dump trên wireshark, mình có thể chọn lựa hiển thị và sort theo thời gian hoặc dạng packet (ví dụ packet TCP ở dạng SYN). Bằng cách này, mình có thể nhóm các gói tin ở dạng SYN lại và phân tích. Giả sử mình chọn ra trong vòng 1 phút các gói tin SYN và đếm thử xem tổng cộng có bao nhiêu gói SYN. Từ đó mình có thể kết luận (tương đối) là nạn nhân bị tấn công ở cường độ bao nhiêu SYN / giây. Về việc xác định xem những gói tin ấy đi từ đâu thì wireshark cho phép mình sort them "src IP" và theo đó, mình có thể xác định các IP có nguồn từ đâu (kiểm chứng bằng cách dùng whois online hoặc trên command line).

Nói chung, đây chỉ là thủ thuật sử dụng wireshark hoặc software tương tự mà thôi.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Chống SYN FLOOD lượng lớn 15/11/2011 12:01:08 (+0700) | #58 | 249956
xtpro004
Member

[Minus]    0    [Plus]
Joined: 16/06/2011 21:04:56
Messages: 7
Offline
[Profile] [PM]
http://www.mediafire.com/?8kr1pmgrf6fyrle
link này die rồi smilie
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|