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 Giám sát an ninh mạng - Bàn về giải pháp chống DDoS  XML
  [Discussion]   Giám sát an ninh mạng - Bàn về giải pháp chống DDoS 16/12/2009 10:13:00 (+0700) | #31 | 200887
mrro
Administrator

Joined: 27/12/2001 05:07:00
Messages: 745
Offline
[Profile] [PM]
@StarGhost: mình thấy gọi là bố trí song song với nối tiếp cũng không chính xác. ví dụ như Snort với active response chẳng hạn, người ta vẫn làm nó theo dạng song song, nghĩa là một copy của packet/request sẽ được đưa vào Snort, rồi Snort cứ tùy ý phân tích, nếu mà nó thấy packet trùng với signature thì nó sẽ hủy bỏ cái connection bằng cách gửi RST đến cả hai đầu. cách làm này anh conmale cũng có đề cập đến trong loạt bài ký sự.

hồi trước nhớ có lần anh prof trình bày về PacketScore, là một hướng nghiên cứu, theo anh prof, nhiều hứa hẹn trong lĩnh vực chống DDoS. Cơ bản thì PacketScore khá giống các hình thức chống spam theo mô hình Bayesian, khi mà mỗi packet đi vào, PacketScore sẽ tính toán xác suất xem packet đó có phải là một phần của đợt tấn công hay không, và nếu xác suất đó cao hơn một cái dynamic threshold (phụ thuộc vào độ tải của hệ thống ở thời điểm đó) thì packet sẽ bị drop.

mình thấy cái khác biệt của mình là mỗi khi có packet đi vào, mình không cố gắng phân loại chúng ngay, mà cứ để yên đó, rồi sẽ phân tích và phân loại tất cả một lượt sau mỗi khoảng thời gian nhất định. cách thức phân tích và phân loại có thể sẽ giống nhau, nhưng mình sẽ có lợi thế về thời gian, khả năng tính toán mạnh và khả năng can thiệp của con người do quá trình phân tích này không nằm trong quá trình xử lý packet của toàn hệ thống.

điểm yếu của cách làm này, như mình đã có nói, là nó chỉ giải quyết được một số loại tấn công DDoS mà thôi. nó có thể sẽ không có tác dụng với các loại tấn công mà source IP bị giả mạo như TCP SYN flood hay là UDP flood. lý do đơn giản vì, khác với PacketScore hay các scheme tương tự, mình không drop packet theo thời gian thực, mà chỉ phân tích rồi lấy ra danh sách IP nghi ngờ, và block chúng nó lại.

@LeVuHoang: lo ngại của Hoàng là có thể hiểu được, nhưng mà thực tế thì số lượng connection như Hoàng mô tả không quá nhiều để mình phải bận tâm.

---

đọc loạt bài của anh conmale, rồi kinh nghiệm của mình cho thấy là khó có một silver bullet trong việc chống DDoS. nên việc kết hợp nhiều công cụ và giải pháp khác nhau là gần như bắt buộc. dẫu vậy, trong phạm vi topic này, mình chỉ muốn bàn về việc chống các dạng DDoS mà ở đó zombie không giả mạo source IP.

-m
http://tinsang.net

TetCon 2013 http://tetcon.org

Làm an toàn thông tin thì học gì?/hvaonline/posts/list/42133.html
[Up] [Print Copy]
  [Discussion]   Giám sát an ninh mạng - Bàn về giải pháp chống DDoS 03/05/2010 13:43:37 (+0700) | #32 | 210227
hankun
Member

[Minus]    0    [Plus]
Joined: 14/01/2010 07:13:21
Messages: 2
Offline
[Profile] [PM]

mrro wrote:



Tuy nhiên có hai vấn đề: các máy chủ Windows mặc định không hỗ trợ syslog; và một số ứng dụng do chúng tôi tự phát triển hay mua ngoài cũng không hỗ trợ syslog. Đối với vấn đề thứ nhất, chúng tôi cài đặt thêm một phần mềm cho các máy chủ Windows, để đẩy các sự trên trên đó về hệ thống log của chúng tôi. Đối với vấn đề thứ hai, việc đầu tiên chúng tôi làm là xây dựng một quy định về log của các ứng dụng. Trong quy định này chúng tôi yêu cầu tất cả các ứng dụng muốn được cấp quyền chạy trên hệ thống của chúng tôi thì phải thỏa mãn các tiêu chí về log các sự kiện. Chúng tôi cũng hướng dẫn và cung cấp thư viện phần mềm mẫu để các lập trình viên có thể tích hợp vào phần mềm có sẵn của họ.

Syslog-ng là một phần mềm mã nguồn mở tuyệt vời. Nó hoạt động cực kỳ ổn định, bền vững. Trong suốt hơn 3 năm triển khai hệ thống này, chúng tôi chưa bao giờ gặp sự cố ở phần mềm này. Nhưng syslog-ng cũng chỉ làm tốt nhiệm vụ thu thập dữ liệu, làm sao phân tích dữ liệu đó? Trên thị trường lúc bấy giờ có khá nhiều công cụ giúp giải quyết vấn đề này. Chúng tôi lần lượt thử nghiệm các công cụ này, và rồi chúng tôi phát hiện ra Splunk. Chúng tôi hay gọi phần mềm này là “Splunk toàn năng”. Một công cụ phân tích dữ liệu trên cả tuyệt vời!

 


Có ai hiểu anh mrro muốn nói tới ứng dụng nào và cách giải quyết ra sao thì chỉ giúp em với ạ .
[Up] [Print Copy]
  [Discussion]   Giám sát an ninh mạng - Bàn về giải pháp chống DDoS 25/11/2010 21:07:47 (+0700) | #33 | 225484
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]

mrro wrote:
chỉ cần làm sao trả lời được câu hỏi "ai đang gửi > 200 req/phút trong 15 phút vừa rồi?" một cách nhanh chóng thì coi như đã thành công một nửa rồi.
 

Giả sử log của Apache thế này:

127.0.0.1 - anonymous [25/Nov/2010:21:58:36 +0700] "GET / HTTP/1.0" 200 11 "-" "check_http/v1.4.15 (nagios-plugins 1.4.15)"

Có bạn nào hứng thú giải quyết câu hỏi trên bằng shell script không nhỉ?
Let's build on a great foundation!
[Up] [Print Copy]
  [Discussion]   Giám sát an ninh mạng - Bàn về giải pháp chống DDoS 26/11/2010 13:21:46 (+0700) | #34 | 225577
[Avatar]
xnohat
Moderator

Joined: 30/01/2005 13:59:19
Messages: 1210
Location: /dev/null
Offline
[Profile] [PM] [Email] [WWW] [Yahoo!] [MSN]

quanta wrote:

mrro wrote:
chỉ cần làm sao trả lời được câu hỏi "ai đang gửi > 200 req/phút trong 15 phút vừa rồi?" một cách nhanh chóng thì coi như đã thành công một nửa rồi.
 

Giả sử log của Apache thế này:

127.0.0.1 - anonymous [25/Nov/2010:21:58:36 +0700] "GET / HTTP/1.0" 200 11 "-" "check_http/v1.4.15 (nagios-plugins 1.4.15)"

Có bạn nào hứng thú giải quyết câu hỏi trên bằng shell script không nhỉ? 


hà hà một câu đố rất thú vị smilie thiết nghĩ rất có ích giúp anh em dễ phân tích và chọn ra thằng đáng bị "trảm"
Câu đố này có 2 hướng giải smilie tớ đưa ra hướng giải đơn giản nhất ( cần con người nhất thay vì tự động )

Code:
wc path/to/access.log | awk '{print $1}'


output có thể là

Code:
18681    ( đây là số dòng trong access.log tương ứng với số request apache đã nhận từ lúc cài đặt tới nay )


sau "một phút" chạy lại lệnh trên

Code:
19681    ( đây là số dòng trong access.log sau 1 phút )


trừ 2 thằng ta có được số request nhận được trong 1 phút vừa qua

Code:
19681 - 18681 = 1000       ( ví dụ thôi nhá  :-)  )


chạy lệnh sau

tail 'path/to/access.log' -n 1000 | awk '{print $1}' | sort | uniq -c | sort -n | tail -n 1 


lệnh tail sẽ lấy từ access.log 1000 dòng "cuối cùng trong file" (là con số ta trừ ở trên ) , truyền qua cho awk để chỉ lọc ra phần IP trong cái đống đó, gom chúng lại bằng lệnh short rồi uniq -c sẽ đếm số lần xuất hiện của từng IP ( các dòng giống nhau sẽ cộng lại ) , chuyền qua cho sort -n để sắp từ nhỏ đến lớn ( lớn nhất cuối cùng ) và sau cùng là tail -n 1 là sẽ lấy 01 dòng cuối trong cái sort -n ở trên ( tức là cái IP truy cập nhiều nhất trong 1 phút qua )

output:

Code:
268 67.195.113.243


268 là số lần request chạm server được ghi nhận trong access.log , đằng sau là cái IP gửi request smilie

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]
  [Discussion]   Giám sát an ninh mạng - Bàn về giải pháp chống DDoS 26/11/2010 14:08:07 (+0700) | #35 | 225584
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]
Cơ bản là thế.

Anh có thể thay `sort -n | tail -n 1` bằng `sort -rn`. Mà cũng chỉ cần tail -1, tail -1000 thôi, không cần -n.

Anh có cách nào lấy luôn từ thời điểm hiện tại quay về 1 phút trước (thay vì 1 phút sau chạy lại để trừ đi số dòng) không?
Tiếp theo là dùng một dòng lệnh mà ra được kết quả trên thì tốt.
Let's build on a great foundation!
[Up] [Print Copy]
  [Discussion]   Giám sát an ninh mạng - Bàn về giải pháp chống DDoS 26/11/2010 19:53:12 (+0700) | #36 | 225598
[Avatar]
louisnguyen27
Member

[Minus]    0    [Plus]
Joined: 12/08/2008 18:04:41
Messages: 321
Offline
[Profile] [PM]
Bữa giờ bị DDoS dữ quá nên hôm nay mới chui vô đọc bài của anh mrro.
Em bổ sung thêm một chút về vụ ISO27K, ITIL như thế này:
Lãnh đạo doanh nghiệp thấy các các doanh nghiệp khác triển khai ISO 27001 nên họ cũng muốn doanh nghiệp của họ phải đạt được chuẩn này. Tôi không nói rằng tường lửa, thiết bị phát hiện xâm nhập hay đạt được các chuẩn như ISO 27001 và ITIL là không có tác dụng, nhưng câu hỏi chúng ta cần phải tự hỏi là: tại sao sau khi triển khai quá trời thứ đắt tiền và tốn thời gian như thế, chúng ta vẫn bị xâm nhập, chúng ta vẫn bị tấn công? Liệu ISO 27001 hay tường lửa có giúp bạn khắc phục được một vụ tấn công từ chối dịch vụ trong vòng 20'? Rồi khi đã bị xâm nhập, có thiết bị đắt tiền hay tiêu chuẩn nào giúp quý vị biết được hệ thống của quý vị bị xâm nhập khi nào, tại sao và như thế nào hay không?  

Về bản chất việc xây dựng 27K hay ITIL đều nhằm mục đích collect data của một hệ thống, tuy nhiên việc xử lý cái gói data đó có thực sự được thực hiện hay không là một chuyện khác. Nếu việc xử lý các raw data đó được thực hiện triệt để thì việc phòng chống DDoS là hoàn toàn kiểm soát được. Mà phần này thì phụ thuộc vào nhận thức của lãnh đạo.
Khi anh set up cái hệ thống giám sát thì chính là xây dựng một cái control trong 27K và không đơn giản mà PCI DSS nó tách hẳn ra làm hai phần chính là Assessor và Scanning Vendor. Quan điểm cá nhân em là anh chỉ mới tập trung vào khía cạnh của Scanning Vendor.


Q+SBtZW1iZXIgb2YgSFZ+B
Back to Linux soon!!!
[Up] [Print Copy]
  [Discussion]   Giám sát an ninh mạng - Bàn về giải pháp chống DDoS 26/11/2010 21:25:54 (+0700) | #37 | 225615
[Avatar]
xnohat
Moderator

Joined: 30/01/2005 13:59:19
Messages: 1210
Location: /dev/null
Offline
[Profile] [PM] [Email] [WWW] [Yahoo!] [MSN]

quanta wrote:
Cơ bản là thế.

Anh có thể thay `sort -n | tail -n 1` bằng `sort -rn`. Mà cũng chỉ cần tail -1, tail -1000 thôi, không cần -n.

Anh có cách nào lấy luôn từ thời điểm hiện tại quay về 1 phút trước (thay vì 1 phút sau chạy lại để trừ đi số dòng) không?
Tiếp theo là dùng một dòng lệnh mà ra được kết quả trên thì tốt. 


à há thanks em mấy chỗ bổ sung nhiều lắm smilie

Cách giải quyết thì đã có rốt ráo rồi nhưng phải để các anh em khác cùng tham gia nữa cho xôm xụ chứ smilie câu đố của em là câu đố rất hay mà 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]
  [Discussion]   Giám sát an ninh mạng - Bàn về giải pháp chống DDoS 29/11/2010 10:14:48 (+0700) | #38 | 225790
[Avatar]
1mp0ss1bl3
Member

[Minus]    0    [Plus]
Joined: 14/02/2008 21:32:58
Messages: 41
Location: ...
Offline
[Profile] [PM]

quanta wrote:
Cơ bản là thế.

Anh có thể thay `sort -n | tail -n 1` bằng `sort -rn`. Mà cũng chỉ cần tail -1, tail -1000 thôi, không cần -n.

Anh có cách nào lấy luôn từ thời điểm hiện tại quay về 1 phút trước (thay vì 1 phút sau chạy lại để trừ đi số dòng) không?
Tiếp theo là dùng một dòng lệnh mà ra được kết quả trên thì tốt. 


Mình có 1 lệnh mà hơi dài smilie

pre_min=`date -d '1 minutes ago' +%d/%b/%Y:%H:%M`; grep -n -m 1 $pre_min /usr/local/apache2/logs/access_log | cut -d":" -f1 | xargs -iline_num tail -n +line_num /usr/local/apache2/logs/access_log | awk '{print $1}' | uniq -c | sort -nr

Lệnh này làm việc như sau:

- Đầu tiên sẽ gán giá trị thời gian 1 phút trước với định dạng thời gian giống như trong access_log vào biến pre_min.
- Sau đó tìm trong access_log dòng đầu tiên match với thời gian trên và xuất ra thứ tự của dòng đó trong access_log.
- Kế tiếp sẽ liệt kê tất cả các dòng trong access_log kể từ dòng đã được tìm ra ở bước trên.
- Phần còn lại chỉ là đếm và sort.

Mọi người thấy sao? smilie
To achieve the impossible, one must thing the absurd - to look where everyone else has looked, but to see what no else has seen.
[Up] [Print Copy]
  [Discussion]   Giám sát an ninh mạng - Bàn về giải pháp chống DDoS 29/11/2010 10:47:51 (+0700) | #39 | 225796
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]
Mình có vài ý kiến:

- Bạn bỏ %S trong lệnh date đi là có ý đồ, tuy nhiên xét ở mức nào đó thì chưa chính xác lắm nhỉ. Có lẽ tại thời điểm chạy lệnh, ta nên lấy mốc thời gian là dòng cuối cùng của access_log.

- Bạn giải thích thêm về xargs -iline_num tail -n +line_num cho mọi người rõ hơn nhé.
Let's build on a great foundation!
[Up] [Print Copy]
  [Discussion]   Giám sát an ninh mạng - Bàn về giải pháp chống DDoS 29/11/2010 11:44:37 (+0700) | #40 | 225804
[Avatar]
1mp0ss1bl3
Member

[Minus]    0    [Plus]
Joined: 14/02/2008 21:32:58
Messages: 41
Location: ...
Offline
[Profile] [PM]

quanta wrote:
Mình có vài ý kiến:

- Bạn bỏ %S trong lệnh date đi là có ý đồ, tuy nhiên xét ở mức nào đó thì chưa chính xác lắm nhỉ. Có lẽ tại thời điểm chạy lệnh, ta nên lấy mốc thời gian là dòng cuối cùng của access_log.

- Bạn giải thích thêm về xargs -iline_num tail -n +line_num cho mọi người rõ hơn nhé. 


Hi quanta,

- Chính xác như bạn thấy, mình bỏ %S đi là có ý đồ smilie, mình chỉ cần match tới phút chứ không cần tới giây
- Câu lệnh trên mình nghĩ là chính xác cho trường hợp "Liệt kê từ access_log tần suất xuất hiện của 1 IP trong khoảng thời gian từ 1 phút trước cho đến thời điểm thực thi câu lệnh".
- xargs -iline_num tail -n +line_num có thể hiểu thế này: Tham số của câu lệnh "tail -n +line_num" nếu match với khai báo sau option -i (hoặc -I) của xargs sẽ được thay thế bằng output của câu lệnh trước đó (input của lệnh xargs). Nó gần giống việc gán giá trị vào biến.
- Lệnh trên có thể được thay thế bằng xargs -I line_num tail -n +line_num

To achieve the impossible, one must thing the absurd - to look where everyone else has looked, but to see what no else has seen.
[Up] [Print Copy]
  [Discussion]   Giám sát an ninh mạng - Bàn về giải pháp chống DDoS 29/11/2010 12:33:37 (+0700) | #41 | 225810
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]

1mp0ss1bl3 wrote:

Hi quanta,

- Chính xác như bạn thấy, mình bỏ %S đi là có ý đồ smilie, mình chỉ cần match tới phút chứ không cần tới giây
- Câu lệnh trên mình nghĩ là chính xác cho trường hợp "Liệt kê từ access_log tần suất xuất hiện của 1 IP trong khoảng thời gian từ 1 phút trước cho đến thời điểm thực thi câu lệnh".
 

Sẽ xảy ra trường hợp bây giờ là 12:57:59 và bạn lấy log từ 12:56:03.

Chia sẻ cùng mọi người cách của mình:

last_time=`tail -1 access_log | awk '{ print substr($4, 2, length($4)-1) }'`; standard_last_time=`echo $last_time | sed 's/\//-/g' | awk -F":" '{ print $1" "$2":"$3":"$4 }'`; pre_min=`date -d "$standard_last_time 1 minutes ago" +%d/%b/%Y:%k:%M:%S`; awk '$4 <= to && $4 >= from { print $1 }' from="[$pre_min" to="[$last_time" access_log | sort | uniq -c | sort -rn | awk '$1 >=200 { print $0 }'
Let's build on a great foundation!
[Up] [Print Copy]
  [Discussion]   Giám sát an ninh mạng - Bàn về giải pháp chống DDoS 29/11/2010 15:30:11 (+0700) | #42 | 225819
[Avatar]
1mp0ss1bl3
Member

[Minus]    0    [Plus]
Joined: 14/02/2008 21:32:58
Messages: 41
Location: ...
Offline
[Profile] [PM]
Hì Hì smilie

Chôm của quanta 1 chút mình được lệnh sau:

pre_min=`date -d '1 minutes ago' +%d/%b/%Y:%H:%M`; grep -n -m 1 $pre_min access_log | cut -d":" -f1 | xargs -iline_num tail -n +line_num access_log | awk ' $4 <= to && $4 >= from { print $1 }' from="[$pre_min:00" to="[$pre_min:59" | sort | uniq -c | sort -rn

Lệnh này sẽ liệt kê số lần xuất hiện của 1 IP trong access_log chính xác trong khoảng thời gian 1 phút trước.

Có thể linh hoạt thêm 1 chút nếu khai báo thêm 1 biến cur_min. Ví dụ lệnh sau sẽ liệt kê số lấn xuất hiện của 1 IP trong access_log trong 10 phút trước

pre_min=`date -d '11 minutes ago' +%d/%b/%Y:%H:%M`; cur_min=`date -d '1 minutes ago' +%d/%b/%Y:%H:%M`; grep -n -m 1 $pre_min access_log | cut -d":" -f1 | xargs -iline_num tail -n +line_num access_log | awk ' $4 <= to && $4 >= from { print $1 }' from="[$pre_min:00" to="[$cur_min:59" | sort | uniq -c | sort -nr

quanta thấy sao?

PS: Cá nhân mình cảm thấy cách này nhanh hơn cách quanta 1 chút
To achieve the impossible, one must thing the absurd - to look where everyone else has looked, but to see what no else has seen.
[Up] [Print Copy]
  [Discussion]   Giám sát an ninh mạng - Bàn về giải pháp chống DDoS 30/11/2010 11:57:59 (+0700) | #43 | 225897
mrro
Administrator

Joined: 27/12/2001 05:07:00
Messages: 745
Offline
[Profile] [PM]
he he he hay smilie. anyway, mình phải hỏi là, nó có đủ nhanh khi lượng dữ liệu lớn lên, chẳng hạn như vài chục hay vài trăm G?

-m
http://tinsang.net

TetCon 2013 http://tetcon.org

Làm an toàn thông tin thì học gì?/hvaonline/posts/list/42133.html
[Up] [Print Copy]
  [Discussion]   Giám sát an ninh mạng - Bàn về giải pháp chống DDoS 30/11/2010 13:01:58 (+0700) | #44 | 225902
[Avatar]
1mp0ss1bl3
Member

[Minus]    0    [Plus]
Joined: 14/02/2008 21:32:58
Messages: 41
Location: ...
Offline
[Profile] [PM]

mrro wrote:
he he he hay smilie. anyway, mình phải hỏi là, nó có đủ nhanh khi lượng dữ liệu lớn lên, chẳng hạn như vài chục hay vài trăm G?

-m 


Hi mrro,

Nếu lệnh này grep -n -m 1 $pre_min access_log đủ nhanh (cái này chưa có điều kiện test smilie) thì toàn bộ câu lệnh sẽ vẫn nhanh cho dù log file rất lớn. Vì sau câu lệnh trên mình chỉ tail 1 phần của log file.

Thân
To achieve the impossible, one must thing the absurd - to look where everyone else has looked, but to see what no else has seen.
[Up] [Print Copy]
  [Discussion]   Giám sát an ninh mạng - Bàn về giải pháp chống DDoS 30/11/2010 13:49:28 (+0700) | #45 | 225906
mrro
Administrator

Joined: 27/12/2001 05:07:00
Messages: 745
Offline
[Profile] [PM]
@1imp0ss1bl3: vấn đề là ở chỗ đó. grep có đủ nhanh hay không? mình nhấn mạnh đủ nhanh vì có thể grep chậm hơn các giải pháp khác (như splunk hay lucene-solr), nhưng vẫn đáp ứng được yêu cầu.

sở dĩ splunk hay lucene-solr nhanh là vì chúng nó đã index dữ liệu trước rồi. hiểu nôm na là chúng nó đã chuẩn bị dữ liệu cho công việc tìm kiếm, nên khi bắt đầu tìm thì sẽ nhanh hơn. còn grep thì vẫn để dữ liệu dạng thô, do đó thời gian tìm kiếm sẽ lâu hơn. đương nhiên nhanh hơn hay chậm hơn bao nhiêu thì phải kiểm thử mới biết.

-m
http://tinsang.net

TetCon 2013 http://tetcon.org

Làm an toàn thông tin thì học gì?/hvaonline/posts/list/42133.html
[Up] [Print Copy]
  [Discussion]   Giám sát an ninh mạng - Bàn về giải pháp chống DDoS 30/11/2010 18:32:47 (+0700) | #46 | 225923
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]

mrro wrote:
he he he hay smilie. anyway, mình phải hỏi là, nó có đủ nhanh khi lượng dữ liệu lớn lên, chẳng hạn như vài chục hay vài trăm G?

-m 

Rất tiếc, mình không có Splunk ở đây để test, bạn nào có Splunk bên cạnh thì thử rồi cho mọi người biết kết quả được không. Hơn nữa, làm gì mà để log file lớn vậy mrro, không rotate à.

Mình cũng chỉ muốn thảo luận thêm về một giải pháp đơn giản, dùng shell script rồi có thể đẩy vào cron job hoặc Nagios thôi.

PS: mrro dùng Splunk có bị tình trạng ngốn cpu không?
Let's build on a great foundation!
[Up] [Print Copy]
  [Discussion]   Giám sát an ninh mạng - Bàn về giải pháp chống DDoS 30/11/2010 23:37:58 (+0700) | #47 | 225967
[Avatar]
xnohat
Moderator

Joined: 30/01/2005 13:59:19
Messages: 1210
Location: /dev/null
Offline
[Profile] [PM] [Email] [WWW] [Yahoo!] [MSN]

mrro wrote:
he he he hay smilie. anyway, mình phải hỏi là, nó có đủ nhanh khi lượng dữ liệu lớn lên, chẳng hạn như vài chục hay vài trăm G?

-m 


he he câu hỏi của lão mrro làm tớ lóe lên 1 vấn đề smilie

Nếu tớ chuyển các Log vào trong một hệ quản trị CSDL như MySQL chẳng hạn thì việc index, truy lục ( bằng SQL Query ) sẽ cực nhanh, cực tối ưu và việc maintain cái đống log sao cho tối ưu nhất đã có thằng DBMS nó lo cho smilie

Search google phát được ku này: http://logtomysql.sourceforge.net/install.html
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]
  [Discussion]   Giám sát an ninh mạng - Bàn về giải pháp chống DDoS 30/11/2010 23:58:11 (+0700) | #48 | 225970
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]

xnohat wrote:

he he câu hỏi của lão mrro làm tớ lóe lên 1 vấn đề smilie

Nếu tớ chuyển các Log vào trong một hệ quản trị CSDL như MySQL chẳng hạn thì việc index, truy lục ( bằng SQL Query ) sẽ cực nhanh, cực tối ưu và việc maintain cái đống log sao cho tối ưu nhất đã có thằng DBMS nó lo cho smilie

Search google phát được ku này: http://logtomysql.sourceforge.net/install.html 

/hvaonline/posts/list/0/14855.html#163334
Let's build on a great foundation!
[Up] [Print Copy]
  [Discussion]   Giám sát an ninh mạng - Bàn về giải pháp chống DDoS 01/12/2010 00:23:09 (+0700) | #49 | 225973
[Avatar]
xnohat
Moderator

Joined: 30/01/2005 13:59:19
Messages: 1210
Location: /dev/null
Offline
[Profile] [PM] [Email] [WWW] [Yahoo!] [MSN]

quanta wrote:

xnohat wrote:

he he câu hỏi của lão mrro làm tớ lóe lên 1 vấn đề smilie

Nếu tớ chuyển các Log vào trong một hệ quản trị CSDL như MySQL chẳng hạn thì việc index, truy lục ( bằng SQL Query ) sẽ cực nhanh, cực tối ưu và việc maintain cái đống log sao cho tối ưu nhất đã có thằng DBMS nó lo cho smilie

Search google phát được ku này: http://logtomysql.sourceforge.net/install.html 

/hvaonline/posts/list/0/14855.html#163334 


ây da smilie 2 năm trước nó đã được thảo luận rồi sao smilie

Theo ý kiến của tớ ( riêng tớ ) việc 1 log ko có schema , không cấu trúc là vì ta INSERT nó vào DBMS không có cấu trúc, việc chỉnh sửa đôi chút trong source của công cụ ghi log vào DBMS là chuyện dễ dàng ( công cụ opensource ) , mỗi dòng log có cấu trúc riêng của nó, việc phân tách các thành phần thông tin của một dòng log thành các fields rồi INSERT nó vào Database cũng không khó , một khi đã phân tách thành các fields thì tính RELATIONSHIP trong DBMS hoàn toàn có thể xây dựng dựa trên mối quan hệ logic giữa các fields.

Ta cũng có thể kết hợp nhiều log của nhiều hệ thống logging khác nhau thông qua các RELATIONSHIP giữa chúng, giúp ta nhanh chóng có cái nhìn toàn cảnh từ một loạt các log khác nhau

DBMS được thiết kế tối ưu cho công tác Storing , Indexing , Quering , liệu có thứ hiệu quả hơn một DBMS cho công tác này ?

Việc chúng ra thực hiện grep , tail ... ở trên trong DBMS có thể giải quyết trực tiếp trên câu lệnh query thậm chí có thể analyzing dữ liệu on-the-fly của quá trình truy lục
- 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]
  [Discussion]   Giám sát an ninh mạng - Bàn về giải pháp chống DDoS 01/12/2010 07:48:47 (+0700) | #50 | 225991
[Avatar]
vikjava
Elite Member

[Minus]    0    [Plus]
Joined: 28/06/2004 02:32:38
Messages: 926
Location: NQN
Offline
[Profile] [PM]
Hi all !

Cho mình hỏi ngoài splunk hay lucene-solr thì có những sản phẩm nào tương tự ? Bao gồm phần mềm thương mại và cả mã nguồn mở
[Up] [Print Copy]
  [Discussion]   Giám sát an ninh mạng - Bàn về giải pháp chống DDoS 01/12/2010 08:32:05 (+0700) | #51 | 225995
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]

vikjava wrote:
Hi all !

Cho mình hỏi ngoài splunk hay lucene-solr thì có những sản phẩm nào tương tự ? Bao gồm phần mềm thương mại và cả mã nguồn mở 

http://serverfault.com/questions/62687/alternatives-to-splunk
http://stackoverflow.com/questions/183977/what-commercial-and-open-source-competitors-are-there-to-splunk
Let's build on a great foundation!
[Up] [Print Copy]
  [Discussion]   Giám sát an ninh mạng - Bàn về giải pháp chống DDoS 01/12/2010 08:48:29 (+0700) | #52 | 226000
mrro
Administrator

Joined: 27/12/2001 05:07:00
Messages: 745
Offline
[Profile] [PM]

quanta wrote:

Rất tiếc, mình không có Splunk ở đây để test, bạn nào có Splunk bên cạnh thì thử rồi cho mọi người biết kết quả được không. Hơn nữa, làm gì mà để log file lớn vậy mrro, không rotate à.

Mình cũng chỉ muốn thảo luận thêm về một giải pháp đơn giản, dùng shell script rồi có thể đẩy vào cron job hoặc Nagios thôi.

PS: mrro dùng Splunk có bị tình trạng ngốn cpu không?

 


1 --> không phải là log file lớn, mà lượng dữ liệu nhận được trong X phút (ở đây là 15') là lớn.

2 --> cái này thì mình không biết. có lẽ là không.

@vikjava: còn khá nhiều, từ khoá nè: arcsight, cloudera flume, apache scribe, elasticsearch. dịch vụ thì có www.loggly.com. dẫu vậy ngoại trừ splunk (và có lẽ là arcsight) ra thì những cái này đều khá rời rạc, muốn ra một sản phẩm hay giải pháp thì cần phải tích hợp. có nhu cầu thiệt sự thì liên hệ, mình có thể tích hợp mấy cái này lại smilie.

-m


http://tinsang.net

TetCon 2013 http://tetcon.org

Làm an toàn thông tin thì học gì?/hvaonline/posts/list/42133.html
[Up] [Print Copy]
  [Discussion]   Giám sát an ninh mạng - Bàn về giải pháp chống DDoS 01/12/2010 09:04:57 (+0700) | #53 | 226004
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]

mrro wrote:

quanta wrote:

Hơn nữa, làm gì mà để log file lớn vậy mrro, không rotate à.
 

không phải là log file lớn, mà lượng dữ liệu nhận được trong X phút (ở đây là 15') là lớn.
 

15' mà lên đến mấy chục GB thì mình chưa gặp.
Let's build on a great foundation!
[Up] [Print Copy]
  [Discussion]   Giám sát an ninh mạng - Bàn về giải pháp chống DDoS 01/12/2010 09:25:32 (+0700) | #54 | 226013
[Avatar]
conmale
Administrator

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

quanta wrote:

mrro wrote:

quanta wrote:

Hơn nữa, làm gì mà để log file lớn vậy mrro, không rotate à.
 

không phải là log file lớn, mà lượng dữ liệu nhận được trong X phút (ở đây là 15') là lớn.
 

15' mà lên đến mấy chục GB thì mình chưa gặp. 


Có đó em. HVA lúc trước bị DDoS, 15 phút log lên mấy chục Gb, làm hết disk space nên bị khùng luôn smilie.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Discussion]   Giám sát an ninh mạng - Bàn về giải pháp chống DDoS 01/12/2010 09:31:49 (+0700) | #55 | 226017
mrro
Administrator

Joined: 27/12/2001 05:07:00
Messages: 745
Offline
[Profile] [PM]
@quanta: ờ thì có thể do bạn chưa bị DDoS, khi đó 10G/s là chuyện bình thường. ở đây đang nói đến tình huống là làm sao tìm kiếm nhanh chóng trên một khối lượng dữ liệu lớn mà.

@xnohat: tự dưng lỡ bài của bạn. RDBMS đúng là được thiết kế để làm nhiều thứ, thành ra cái gì cũng làm được, nhưng không thể tốt bằng những giải pháp được thiết kế chỉ để làm một việc duy nhất. lucene được thiết kế chỉ để làm một việc: tìm kiếm dữ liệu (nó cũng có lưu trữ dữ liệu, nhưng đó cũng chỉ là phụ và khâu này có thể dùng một DBMS, nhưng không nhất thiết phải là RDBMS). bạn thử tìm với từ khoá "lucene vs mysql fulltext search" sẽ thấy benchmark và kinh nghiệm của những người đã từng sử dụng lucene và mysql để tìm kiếm.

bây giờ thử nhìn một vấn đề đơn giản, trích xuất field từ dữ liệu log. đúng như bạn nói, cái này không phải là không làm được với RDBMS, vấn đề là làm thế nào cho nó hiệu quả. ví dụ như log của firewall khác với log của apache httpd, nghĩa là số lượng field, ý nghĩa của các field của tụi nó sẽ khác nhau rất xa. lúc này bạn thiết kế mô hình quan hệ ra sao? sau khi thiết kế được rồi, đưa vào sử dụng, bạn phát hiện ra, hệ thống không chỉ có 2 loại log, mà có cả trăm loại log khác nhau như thế. thế là phải ngồi thiết kế lại.

tìm kiếm và trích xuất thông tin (information retrieval) là một ngành học độc lập hoàn toàn với cơ sở dữ liệu, và đặc biệt là cơ sở dữ liệu quan hệ.

-m

http://tinsang.net

TetCon 2013 http://tetcon.org

Làm an toàn thông tin thì học gì?/hvaonline/posts/list/42133.html
[Up] [Print Copy]
  [Discussion]   Giám sát an ninh mạng - Bàn về giải pháp chống DDoS 01/12/2010 14:00:53 (+0700) | #56 | 226046
[Avatar]
lQ
Moderator

Joined: 29/03/2005 17:06:20
Messages: 494
Offline
[Profile] [PM]

vikjava wrote:
Hi all !

Cho mình hỏi ngoài splunk hay lucene-solr thì có những sản phẩm nào tương tự ? Bao gồm phần mềm thương mại và cả mã nguồn mở 


Anh cũng thử tìm giải pháp mã mở thay thế, ngoài licene-solr mà mrro đề cập thì anh thấy có OSSIM và php-syslog-ng. OSSIM thì anh chưa thử nhưng thấy cũng có người đang dùng. php-syslog-ng thì khá yếu, chỉ để search log mà thôi, ko đủ tính năng để thay thế Splunk.

Về các bản thương mai thì anh thấy có ArcSight, LogLogic, RSA enVision, Sawmill... cùng 1 số bản thương mại khác cũng có bản giới hạn miễn phí. Nhưng nếu dữ liệu < 500 MB thì có lẽ dùng Splunk Free Version cho khoẻ.

[Up] [Print Copy]
  [Discussion]   Giám sát an ninh mạng - Bàn về giải pháp chống DDoS 03/04/2011 01:26:33 (+0700) | #57 | 234497
IamN
Member

[Minus]    0    [Plus]
Joined: 10/03/2010 07:25:47
Messages: 11
Offline
[Profile] [PM]
Mình thấy captcha và cookie cũng là một ý hay. Nhưng cho mình hỏi có cách nào để giảm tải cho hệ thống khi dùng cookie ko? hoặc có thể chuyển việc xử lý cookie sang một host phụ,sau đo report về cho sv chính chủ để tiến hành các thao tác ko?
[Up] [Print Copy]
  [Discussion]   Giám sát an ninh mạng - Bàn về giải pháp chống DDoS 30/04/2011 21:29:05 (+0700) | #58 | 236466
hnaod
Member

[Minus]    0    [Plus]
Joined: 10/04/2011 11:32:07
Messages: 1
Offline
[Profile] [PM]
Anh em chỉ giáo giúp, tình hình là Server của em bị DOS đã 4 ngày từ một địa chỉ 157.55.193.180 trung bình khoảng 150 request/s. Em đã block IP trong .htacess và chặn bằng chức năng firewall filter của Router (DrayTek Vigor 2950). Vì chặn ngay Router nên Server vẫn hoạt động tốt. Truy cập vào trang web địa chỉ 157.55.193.180 thì hiện lên trang web bình thường. Tuy giờ Server vẫn hoạt động nhưng rất khó chịu vẫn bị DOS đều đều. Mong anh em có nhiều kinh nghiệm chỉ giáo giúp (Cho biết thêm thông tin liên quan với địa chỉ này, cách đối phó tiếp theo). Thanks all !

PS. Tất cả log về IP này đều dạng như sau:

157.55.193.180 - - [27/Apr/2011:09:20:40 +0700] "GET /tnb_sv/ HTTP/1.1" 403 209
157.55.193.180 - - [27/Apr/2011:09:20:40 +0700] "GET /tnb_sv/ HTTP/1.1" 403 209
157.55.193.180 - - [27/Apr/2011:09:20:40 +0700] "GET /tnb_sv/ HTTP/1.1" 403 209
157.55.193.180 - - [27/Apr/2011:09:20:40 +0700] "GET /tnb_sv/ HTTP/1.1" 403 209
157.55.193.180 - - [27/Apr/2011:09:20:40 +0700] "GET /tnb_sv/ HTTP/1.1" 403 209
157.55.193.180 - - [27/Apr/2011:09:20:40 +0700] "GET /tnb_sv/ HTTP/1.1" 403 209
157.55.193.180 - - [27/Apr/2011:09:20:40 +0700] "GET /tnb_sv/ HTTP/1.1" 403 209
157.55.193.180 - - [27/Apr/2011:09:20:40 +0700] "GET /tnb_sv/ HTTP/1.1" 403 209
157.55.193.180 - - [27/Apr/2011:09:20:40 +0700] "GET /tnb_sv/ HTTP/1.1" 403 209
157.55.193.180 - - [27/Apr/2011:09:20:40 +0700] "GET /tnb_sv/ HTTP/1.1" 403 209
157.55.193.180 - - [27/Apr/2011:09:20:40 +0700] "GET /tnb_sv/ HTTP/1.1" 403 209
157.55.193.180 - - [27/Apr/2011:09:20:40 +0700] "GET /tnb_sv/ HTTP/1.1" 403 209
157.55.193.180 - - [27/Apr/2011:09:20:40 +0700] "GET /tnb_sv/ HTTP/1.1" 403 209
157.55.193.180 - - [27/Apr/2011:09:20:40 +0700] "GET /tnb_sv/ HTTP/1.1" 403 209
157.55.193.180 - - [27/Apr/2011:09:20:40 +0700] "GET /tnb_sv/ HTTP/1.1" 403 209
157.55.193.180 - - [27/Apr/2011:09:20:40 +0700] "GET /tnb_sv/ HTTP/1.1" 403 209
157.55.193.180 - - [27/Apr/2011:09:20:40 +0700] "GET /tnb_sv/ HTTP/1.1" 403 209
157.55.193.180 - - [27/Apr/2011:09:20:40 +0700] "GET /tnb_sv/ HTTP/1.1" 403 209
157.55.193.180 - - [27/Apr/2011:09:20:40 +0700] "GET /tnb_sv/ HTTP/1.1" 403 209
157.55.193.180 - - [27/Apr/2011:09:20:40 +0700] "GET /tnb_sv/ HTTP/1.1" 403 209
157.55.193.180 - - [27/Apr/2011:09:20:40 +0700] "GET /tnb_sv/ HTTP/1.1" 403 209
157.55.193.180 - - [27/Apr/2011:09:20:40 +0700] "GET /tnb_sv/ HTTP/1.1" 403 209
157.55.193.180 - - [27/Apr/2011:09:20:40 +0700] "GET /tnb_sv/ HTTP/1.1" 403 209
157.55.193.180 - - [27/Apr/2011:09:20:40 +0700] "GET /tnb_sv/ HTTP/1.1" 403 209
[Up] [Print Copy]
  [Discussion]   Giám sát an ninh mạng - Bàn về giải pháp chống DDoS 08/06/2011 08:41:39 (+0700) | #59 | 239672
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]

lQ wrote:

vikjava wrote:
Hi all !

Cho mình hỏi ngoài splunk hay lucene-solr thì có những sản phẩm nào tương tự ? Bao gồm phần mềm thương mại và cả mã nguồn mở 


Anh cũng thử tìm giải pháp mã mở thay thế, ngoài licene-solr mà mrro đề cập thì anh thấy có OSSIM và php-syslog-ng. OSSIM thì anh chưa thử nhưng thấy cũng có người đang dùng. php-syslog-ng thì khá yếu, chỉ để search log mà thôi, ko đủ tính năng để thay thế Splunk.

Về các bản thương mai thì anh thấy có ArcSight, LogLogic, RSA enVision, Sawmill... cùng 1 số bản thương mại khác cũng có bản giới hạn miễn phí. Nhưng nếu dữ liệu < 500 MB thì có lẽ dùng Splunk Free Version cho khoẻ.

 

Nổi bật trong làng open source thì mình thấy có Octopussy và logstash.

Đọc thêm:
http://serverfault.com/questions/239401/splunk-is-fantastically-expensive-what-are-the-alternatives
http://serverfault.com/questions/62687/alternatives-to-splunk

vikjava có thử thì làm bài review cho mọi người biết nhé.
Let's build on a great foundation!
[Up] [Print Copy]
  [Discussion]   Giám sát an ninh mạng - Bàn về giải pháp chống DDoS 08/06/2011 08:58:38 (+0700) | #60 | 239674
[Avatar]
secmask
Elite Member

[Minus]    0    [Plus]
Joined: 29/10/2004 13:52:24
Messages: 553
Location: graveyard
Offline
[Profile] [PM] [WWW]
Mình giới thiệu thêm cái Infobright.org, có thể sẽ áp dụng được, Infobright được tối ưu để lưu trữ và truy vấn(Dataware house).
[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|