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 How to anti attack flood SQL ?  XML
  [Question]   How to anti attack flood SQL ? 30/10/2007 22:44:35 (+0700) | #1 | 94034
thanhlongcongtu
Member

[Minus]    0    [Plus]
Joined: 16/09/2007 04:50:01
Messages: 15
Offline
[Profile] [PM]
Em đang gặp vấn đề về Flood SQL mong các anh giúp đỡ.
Cụ thể site em bị tấn công liên tục vào các file php & đã anti đc rồi
Tiếp theo lại bị flood vào SQL với connection lên đến 437 / s.
Hiện tại thì tình hình đã khả quan hơn.Nhưng như vậy ko có nghĩa là mình sẽ không bị attack nữa.Vậy nay em mong mọi người có thể đưa ra một giải pháp cho vấn đề attack flood vào SQL dạng này để em và các newbie cùng học hỏi.
Chúc mọi người vui vẻ !
[Up] [Print Copy]
  [Question]   How to anti attack flood SQL ? 30/10/2007 23:05:56 (+0700) | #2 | 94041
[Avatar]
conmale
Administrator

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

thanhlongcongtu wrote:
Em đang gặp vấn đề về Flood SQL mong các anh giúp đỡ.
Cụ thể site em bị tấn công liên tục vào các file php & đã anti đc rồi
Tiếp theo lại bị flood vào SQL với connection lên đến 437 / s.
Hiện tại thì tình hình đã khả quan hơn.Nhưng như vậy ko có nghĩa là mình sẽ không bị attack nữa.Vậy nay em mong mọi người có thể đưa ra một giải pháp cho vấn đề attack flood vào SQL dạng này để em và các newbie cùng học hỏi.
Chúc mọi người vui vẻ ! 


Làm sao có thể flood vào SQL trực tiếp được?

Họ flood thế nào? SQL chạy bằng software gì? server chạy hệ điều hành nào?

PS: tôi dời bài này vào "Thảo luận bảo mật" vì nó không phải là chủ đề thâm nhập.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   How to anti attack flood SQL ? 31/10/2007 13:43:55 (+0700) | #3 | 94230
thanhlongcongtu
Member

[Minus]    0    [Plus]
Joined: 16/09/2007 04:50:01
Messages: 15
Offline
[Profile] [PM]

conmale wrote:


Làm sao có thể flood vào SQL trực tiếp được?

Họ flood thế nào? SQL chạy bằng software gì? server chạy hệ điều hành nào?

PS: tôi dời bài này vào "Thảo luận bảo mật" vì nó không phải là chủ đề thâm nhập. 


Đó là điều em muốn hỏi .
Server : Unix
SQL : Apache version 1.3.39
Em thấy nó có hiện tượng flood ,& chỉ những thứ liên quan tới database nhiều là bị chậm lại(Đứng luôn) trong khi hình ảnh & những thứ khác chạy bình thường(nhanh).
Sau khi kiểm tra log thấy : connection có cái tới 437/s =>ddos
Em kiểm tra tiếp thì thấy còn nhiều IP với mức độ connection rất lớn(không bình thường).
Theo em họ đã dùng tool nào đó để flood vào database,hoặc tạo các connection có thể hợp lệ hoặc ko tạo nhiều request tới server.
Với lại mấy ngày hôm nay bên server của em có một vài lỗi connfig em cũng chưa dám chắc rẳng mình bị ddos mà die.Vì thực sự những lần tưoớc bị ddos vào file php hoặc eating BW thì cũng ko tới nỗi nào.
Em đưa ra câu hỏi này để mong anh giải thích giùm nguyên tắc ,cách phòng chống cho tất cả mọi người.Vì trước giờ hầu như em để ý mọi người chỉ quan tâm tới ddos một cách chung chung,hoặc cũng chỉ là "em muốn học ddos...".
Em mong anh có thể bỏ chút thởi gian để nói rõ cho mọi người về vấn đề flood vào SQL (Theo em nghĩ) chứ không phải mong anh dạy em đi ddos hay xin tool.
Cảm ơn anh rất nhiều khi quan tâm tới topic này.
P/S :Các câu hỏi của anh thường là để đánh giá lại kiến thức của người hỏi .Đôi khi nghĩ nó phiền phức nhưng thật ra thì nó lại có ích nhiều cho mọi người lắm.Cảm ơn anh.

Chúc mọi người vui vẻ !


[Up] [Print Copy]
  [Question]   How to anti attack flood SQL ? 31/10/2007 13:56:25 (+0700) | #4 | 94232
subnetwork
Member

[Minus]    0    [Plus]
Joined: 05/09/2004 06:08:09
Messages: 1666
Offline
[Profile] [PM] [WWW] [Yahoo!]

thanhlongcongtu wrote:
Đó là điều em muốn hỏi .
Server : Unix
SQL : Apache version 1.3.39 


Cái này là cái gì đây, tôi không hiểu rỏ !?

thanhlongcongtu wrote:
Em thấy nó có hiện tượng flood ,& chỉ những thứ liên quan tới database nhiều là bị chậm lại(Đứng luôn) trong khi hình ảnh & những thứ khác chạy bình thường(nhanh).
Sau khi kiểm tra log thấy : connection có cái tới 437/s =>ddos
Em kiểm tra tiếp thì thấy còn nhiều IP với mức độ connection rất lớn(không bình thường).
Theo em họ đã dùng tool nào đó để flood vào database,hoặc tạo các connection có thể hợp lệ hoặc ko tạo nhiều request tới server.
Với lại mấy ngày hôm nay bên server của em có một vài lỗi connfig em cũng chưa dám chắc rẳng mình bị ddos mà die.Vì thực sự những lần tưoớc bị ddos vào file php hoặc eating BW thì cũng ko tới nỗi nào.
Em đưa ra câu hỏi này để mong anh giải thích giùm nguyên tắc ,cách phòng chống cho tất cả mọi người.Vì trước giờ hầu như em để ý mọi người chỉ quan tâm tới ddos một cách chung chung,hoặc cũng chỉ là "em muốn học ddos...". 


Tôi củng đang tìm hiểu ddos với dđiếc đây, bạn cho tôi xem log của Apache xem .

thanhlongcongtu wrote:
Em mong anh có thể bỏ chút thởi gian để nói rõ cho mọi người về vấn đề flood vào SQL (Theo em nghĩ) chứ không phải mong anh dạy em đi ddos hay xin tool. 


SQL ? smilie
Quản lý máy chủ, cài đặt, tư vấn, thiết kế, bảo mật hệ thống máy chủ dùng *nix
http://chamsocmaychu.com
[Up] [Print Copy]
  [Question]   Re: How to anti attack flood SQL ? 31/10/2007 14:39:04 (+0700) | #5 | 94241
thanhlongcongtu
Member

[Minus]    0    [Plus]
Joined: 16/09/2007 04:50:01
Messages: 15
Offline
[Profile] [PM]
Không phải là log của SQL.
Mà là log hệ thống.
Em đc server reply all.Chứ em làm gì có quyền root trên server mà xem ?
Anh comale hỏi em server chạy hệ điều hành nào ? SQL dùng software gì ? Em mới trả lời như trên.
Việc flood SQL là do em thấy tình trạng các ứng dụng nhiều tới database bị chậm,hoặc ngưng trệ luôn trong khi các ứng dụng khác như đồ họa,các code ko ảnh hưởng tới database chạy song song thì tốc độ bình thường(Nhanh).
Hiện tại thì ko còn bị attack nữa,Nhưng điều đó không có nghĩa là sẽ không bao giờ bị hay là sẽ không ai bị giống trường hợp của em.
Vì vậy em mong các anh cho em & mọi người biết rõ thêm về vấn đề này.
Em còn nhỏ,nên có gì không phải thì mong các anh bỏ qua cho.Em cũng chỉ muốn đc học hỏi thôi.Cảm ơn & chúc mọi người vui vẻ.
[Up] [Print Copy]
  [Question]   Re: How to anti attack flood SQL ? 31/10/2007 19:39:40 (+0700) | #6 | 94251
unfaceguy
Member

[Minus]    0    [Plus]
Joined: 18/07/2007 20:52:58
Messages: 32
Offline
[Profile] [PM]
SQL : Apache version 1.3.39  

cái này la webserver mà smilie?
Còn về SQL thì nhớ rằng phải có ít nhất quyền admin mơi làm được.
Có thể do server bi thôi, nếu dùng shared host thì bị chung smilie
[Up] [Print Copy]
  [Question]   How to anti attack flood SQL ? 31/10/2007 20:32:03 (+0700) | #7 | 94260
[Avatar]
conmale
Administrator

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

thanhlongcongtu wrote:

P/S :Các câu hỏi của anh thường là để đánh giá lại kiến thức của người hỏi .Đôi khi nghĩ nó phiền phức nhưng thật ra thì nó lại có ích nhiều cho mọi người lắm.Cảm ơn anh.

 


Sai. Tôi hỏi để xác định tình hình và biên độ vấn đề để có thể góp ý một cách chính xác. Tôi không đánh giá kiến thức ai cả, ngoại trừ một cá nhân nào đó có ý định đi vào cái "cõi" ấy.

Riêng trở ngại của bồ, những thông tin bồ cung cấp cũng không đủ để giúp bồ cái gì cả.

Server : Unix
SQL : Apache version 1.3.39


- Unix nào?
- SQL nào mà Apache version 1.3.39?

Bồ nên xem lại server của mình và cung cấp chính xác thông tin. Nếu không, tôi không thể góp ý được gì cả.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Re: How to anti attack flood SQL ? 01/11/2007 01:43:56 (+0700) | #8 | 94347
thanhlongcongtu
Member

[Minus]    0    [Plus]
Joined: 16/09/2007 04:50:01
Messages: 15
Offline
[Profile] [PM]
Xin lỗi vì em nói không rõ ràng.
Thế này nhé :
Site của em nằm trên host thuộc hostvn.net
Chạy 1 forum vbb & 1 site nhạc xtremedia.
cPanel Version 11.15.0-RELEASE
cPanel Build 17802
Theme x3
Apache version 1.3.39 (Unix)
PHP version 4.4.7
MySQL version 4.1.22-standard
Architecture i686
Operating system Linux
Em muốn hỏi là có hay không flood vào mySQL.
Nếu có thì anti như thế nào.
[Up] [Print Copy]
  [Question]   Re: How to anti attack flood SQL ? 01/11/2007 01:47:09 (+0700) | #9 | 94351
[Avatar]
conmale
Administrator

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

thanhlongcongtu wrote:
Xin lỗi vì em nói không rõ ràng.
Thế này nhé :
Site của em nằm trên host thuộc hostvn.net
Chạy 1 forum vbb & 1 site nhạc xtremedia.
cPanel Version 11.15.0-RELEASE
cPanel Build 17802
Theme x3
Apache version 1.3.39 (Unix)
PHP version 4.4.7
MySQL version 4.1.22-standard
Architecture i686
Operating system Linux
Em muốn hỏi là có hay không flood vào mySQL.
Nếu có thì anti như thế nào. 


Có. Nếu cổng 3306 mặc định của mySQL mở toang thì có thể bị flood thẳng vào đó.

Anti: chỉnh trong my.conf để nó listen trên 127.0.0.1 hoặc dùng firewall để cản access đến cổng 3306 từ bên ngoài vào.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Re: How to anti attack flood SQL ? 01/11/2007 02:09:03 (+0700) | #10 | 94358
[Avatar]
canh_nguyen
Elite Member

[Minus]    0    [Plus]
Joined: 23/08/2004 18:55:09
Messages: 775
Location: Broken dream
Offline
[Profile] [PM] [WWW] [Yahoo!] [MSN] [ICQ]
Nếu MySQL của bồ chỉ đề listen trên 127.0.0.1 thì vẫn có thể bị flood qua ứng dụng nếu không được check kỹ.
Nếu mở port 3306 cho access từ ngoài thì giải quyết như bác conmale nói.
[Up] [Print Copy]
  [Question]   Re: How to anti attack flood SQL ? 01/11/2007 04:39:14 (+0700) | #11 | 94403
dammeit
Member

[Minus]    0    [Plus]
Joined: 06/10/2007 20:52:06
Messages: 86
Offline
[Profile] [PM]

thanhlongcongtu wrote:
Em đc server reply all.Chứ em làm gì có quyền root trên server mà xem ? 

và đây

conmale wrote:
Có. Nếu cổng 3306 mặc định của mySQL mở toang thì có thể bị flood thẳng vào đó.

Anti: chỉnh trong my.conf để nó listen trên 127.0.0.1 hoặc dùng firewall để cản access đến cổng 3306 từ bên ngoài vào.  

Nếu có quyền root mới làm dc như conmale nói. Còn ko thì ngồi chơi sơi nước đi smilie , vì ko tự mình config gì dc cả. Cấp bách quá thì mail cho thằng quản lý server bảo nó config lại.
[Up] [Print Copy]
  [Question]   Re: How to anti attack flood SQL ? 01/11/2007 05:58:35 (+0700) | #12 | 94433
unfaceguy
Member

[Minus]    0    [Plus]
Joined: 18/07/2007 20:52:58
Messages: 32
Offline
[Profile] [PM]
Hostvn mua plan reseller của the plant.com ,và nghe những người xài hostvn trên freecode nói thì :người có khả năng config server thi đa số đi vắng chỉ co 1 anh ở tiệm nhưng kô đủ khả năng --> dẫn đến server bị timeout liên tục (DDOS)
[Up] [Print Copy]
  [Question]   Re: How to anti attack flood SQL ? 01/11/2007 14:56:59 (+0700) | #13 | 94518
thanhlongcongtu
Member

[Minus]    0    [Plus]
Joined: 16/09/2007 04:50:01
Messages: 15
Offline
[Profile] [PM]
Em xin ơn mọi người rất nhiều về các ý kiến.
Chúc tất cả vui vẻ !
[Up] [Print Copy]
  [Question]   Re: How to anti attack flood SQL ? 22/01/2008 11:23:48 (+0700) | #14 | 111504
thanhlongcongtu
Member

[Minus]    0    [Plus]
Joined: 16/09/2007 04:50:01
Messages: 15
Offline
[Profile] [PM]
Dạ em thưa anh là Hostvn.net thuê trực tiếp server tại theplanet.com , còn bên đó có 2 người control server trực tiếp và em chat suốt ngày chứ có thấy đi suốt đâu nhỉ ^^ , em chơi khá thân với 2 anh ý nên gần như vấn đề gì em cũng hỏi được smilie .
[Up] [Print Copy]
  [Question]   Re: How to anti attack flood SQL ? 22/01/2008 12:08:14 (+0700) | #15 | 111507
subnetwork
Member

[Minus]    0    [Plus]
Joined: 05/09/2004 06:08:09
Messages: 1666
Offline
[Profile] [PM] [WWW] [Yahoo!]

thanhlongcongtu wrote:
Dạ em thưa anh là Hostvn.net thuê trực tiếp server tại theplanet.com , còn bên đó có 2 người control server trực tiếp và em chat suốt ngày chứ có thấy đi suốt đâu nhỉ ^^ , em chơi khá thân với 2 anh ý nên gần như vấn đề gì em cũng hỏi được smilie


Sử dụng quyền user thì lở mysql chết queo rồi thì cho nó chết queo luôn đi, chứ "đòi hỏi anti flood" làm gì . smilie
Quản lý máy chủ, cài đặt, tư vấn, thiết kế, bảo mật hệ thống máy chủ dùng *nix
http://chamsocmaychu.com
[Up] [Print Copy]
  [Question]   How to anti attack flood SQL ? 05/07/2009 00:36:50 (+0700) | #16 | 185378
jforum3000
Member

[Minus]    0    [Plus]
Joined: 26/08/2007 02:53:39
Messages: 1172
Offline
[Profile] [PM]
Xin được tiếp tục topic này vì mình cũng đang có 1 site host tại hostvn.net, chạy diễn đàn phpBB 3, và sáng nay vừa bị họ khóa tài khoản với lý do site bị flood sql.

Dưới đây là 1 phần log querry sql :

Code:
| 1003606 | database-user | localhost | database-name | Query | 991 | Locked | SELECT m.*, u.user_colour, g.group_colour, g.group_type FROM (phpbb_moderator_cache m) LEFT JOIN php |
| 1003700 | database-user | localhost | database-name | Query | 984 | Locked | SELECT u.*, s.*
FROM phpbb_users u
LEFT JOIN phpbb_sessions s ON (s.session_user_id = u.us |
| 1003932 | database-user | localhost | database-name | Query | 973 | Locked | SELECT u.*, s.*
FROM phpbb_users u
LEFT JOIN phpbb_sessions s ON (s.session_user_id = u.us |
| 1004065 | database-user | localhost | database-name | Query | 966 | Locked | SELECT u.*, s.*
FROM phpbb_users u
LEFT JOIN phpbb_sessions s ON (s.session_user_id = u.us |
| 1004324 | database-user | localhost | database-name | Query | 950 | Locked | SELECT u.*, s.*
FROM phpbb_users u
LEFT JOIN phpbb_sessions s ON (s.session_user_id = u.us |
| 1004368 | database-user | localhost | database-name | Query | 947 | Locked | SELECT u.*, s.*
FROM phpbb_sessions s, phpbb_users u
WHERE s.session_id = 'b8e7433567dce7f85 |
| 1004386 | database-user | localhost | database-name | Query | 947 | Locked | SELECT u.*, s.*
FROM phpbb_sessions s, phpbb_users u
WHERE s.session_id = 'cbfcf01f3bc9b61c3 |
| 1004420 | database-user | localhost | database-name | Query | 945 | Locked | SELECT u.*, s.*
FROM phpbb_users u
LEFT JOIN phpbb_sessions s ON (s.session_user_id = u.us |
| 1004695 | database-user | localhost | database-name | Query | 930 | Locked | SELECT u.*, s.*
FROM phpbb_users u
LEFT JOIN phpbb_sessions s ON (s.session_user_id = u.us |
| 1004926 | database-user | localhost | database-name | Query | 917 | Locked | SELECT u.*, s.*
FROM phpbb_sessions s, phpbb_users u
WHERE s.session_id = 'b8e7433567dce7f85 |
| 1004978 | database-user | localhost | database-name | Query | 914 | Locked | SELECT u.*, s.*
FROM phpbb_users u
LEFT JOIN phpbb_sessions s ON (s.session_user_id = u.us |
| 1005045 | database-user | localhost | database-name | Query | 910 | Locked | SELECT u.*, s.*
FROM phpbb_users u
LEFT JOIN phpbb_sessions s ON (s.session_user_id = u.us
|

Họ yêu cầu mình phải cam kết khắc phục tình trạng này thì account mới được kích haọat lại. Xin hỏi làm thế nào để khắc phục tình trạng này? Giải pháp đến từ phía admin của server hay từ mình? Các firewall Script chạy qua website như InV-Firewall Script có tác dụng trong trường hợp này không?
[Up] [Print Copy]
  [Question]   How to anti attack flood SQL ? 05/07/2009 07:40:32 (+0700) | #17 | 185430
[Avatar]
canh_nguyen
Elite Member

[Minus]    0    [Plus]
Joined: 23/08/2004 18:55:09
Messages: 775
Location: Broken dream
Offline
[Profile] [PM] [WWW] [Yahoo!] [MSN] [ICQ]
InV-Firewall nó như thế nào thế cậu ?
[Up] [Print Copy]
  [Question]   How to anti attack flood SQL ? 05/07/2009 10:41:26 (+0700) | #18 | 185441
jforum3000
Member

[Minus]    0    [Plus]
Joined: 26/08/2007 02:53:39
Messages: 1172
Offline
[Profile] [PM]

canh_nguyen wrote:
InV-Firewall nó như thế nào thế cậu ? 

Hosting Provider yêu cầu mình cài đặt thêm trình tường lửa vào, mình search thử thì http://sinhvienit.net/@forum/anti-ddos/7207-cai-dat-tuong-lua-inv-firewall-script-cho-dien-dan-ban-ipb-phpbb-vbulletin.html, có vấn đề gì sao bạn?
InV-Firewall Script là một firewall của tác giả Nguyen Tuan Dung, lập trình dành riêng cho hệ thống forum Invision Power Board [cũng có thể tích hợp và forum khác dễ dàng]. Tính năng của hệ thống tường lửa cho website này tập trung chính ở việc cản trở một phần các gói dữ liệu được gửi liên tục hay yêu cầu truy cập đến diễn đàn với số lượng lớn trong thời gian ngắn. 


Mình upload nó lên cho các bạn tham khảo đây
Code:
http://www.mediafire.com/?mtlz2zmjz1y
[Up] [Print Copy]
  [Question]   How to anti attack flood SQL ? 06/07/2009 04:45:34 (+0700) | #19 | 185495
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]
Thế nào là flood SQL?

Flood SQL có 2 dạng:

1) Trực tiếp: Dạng này chỉ có thể xảy ra nếu cổng SQL mở và không có cơ chế bảo vệ (tường lửa). Dạng flood SQL trực tiếp này không cần phải có account để truy cập mà nó chỉ cần tạo SYN request liên tục khiến cho dịch vụ SQL này không còn "rảnh tay" mà phục vụ các truy vấn hợp lệ nữa. Biện pháp khắc phục loại này có 2 cách chính:

a. Dùng tường lửa để cản truy cập từ bên ngoài vào.
b. Điều chỉnh dịch vụ này cho nó lắng nghe trên loopback IP (127.0.0.1) và chỉ cho phép truy vấn xảy ra từ một số IP nhất định nào đó.


2) Gián tiếp: Dạng này có thể xảy ra cho bất cứ web applications nào tạo trang động (dynamic html). Tại sao nó có thể xảy ra?

Trình duyệt <---> web server <---> php, asp, jsp <---> CSDL

Nếu trình duyệt truy cập một url như /path/to/somewhere.php và trang somewhere.php này cần truy vấn CSDL để lấy thông tin rồi mới hình thành một trang html để trả về cho trình duyệt thì CSDL này có thể "bị" truy vấn một cách gián tiếp. Nếu 1000 người cùng "truy cập" somewhere.php thì sẽ có ít nhất 1000 truy vấn đến CSDL để lấy thông tin ---> SQL bị flood. Dạng này có nhiều cách để khắc phục nhưng khá phức tạp, tùy vào cách thiết kế của web application đó và cách thiết lập dịch vụ web cũng như cơ chế bảo vệ ở tầng thấp hơn (ví dụ như firewall thật sự).

a. Cách giảm thiểu số lần truy cập: Cách này thường dựa vào quy định một IP chỉ được phép truy cập bao nhiêu lần trong một khoảng thời gian nào đó. Cách giới hạn truy cập này có thể thực hiện từ tầng thấp nhất (IP layer) đến tầng cao nhất (application layer - ngay trên code của php / asp / jsp....). Cách này lợi ở chỗ nó ấn định số lượng truy cập nên giảm thiểu số lượng truy vấn (gián tiếp) đến CSDL. InV-Firewall Script thuộc dạng "giảm thiểu số lần truy cập".

b. Cách giảm thiểu số lần truy vấn đến CSDL: Cách này thường đòi hỏi thiết kế ngay trên web application và thường áp dụng caching. Caching thì có 2 dạng chính:

b.1 Dạng caching bên ngoài: Caching bên ngoài là caching không ở biên độ web application mà ở biên độ một dịch vụ bên ngoài web application. Loại caching này thường trông cậy vào một dạng reverse proxy (apache, squid, application content filtering system.... ). Loại này đứng giữa trình duyệt và web application:

Trình duyệt <---> forward proxy (nếu có - như VNPT của VN) <----> reverse proxy <----> web server <----> web app <----> CSDL.

Hệ thống wiki nổi tiếng là một điển hình cho dạng này. Dùng reverse proxy để cache thông tin, đặc biệt là thông tin cho dymamic html dễ mà khó. Dễ ở chỗ nó có thể cache bất cứ thứ gì nhưng khó ở chỗ nếu dynamic html được tạo ra cho nhiều session khác nhau mà không kiểm soát kỹ thì bị lỗ hổng bảo mật.

b.2 Dạng caching bên trong: Dạng này cache ở ngay tại web application. Ví dụ một trang nào đó được cache vào memory và được dùng để cung cấp cho trình duyệt. Nếu thông tin trên trang này không thay đổi thì web app dùng bản đã có sẵn trên memory để cung cấp cho trình duyệt thay vì phải truy vấn CSDL để tạo trang html cho mỗi truy cập.

Riêng HVA sử dụng cả biện pháp "giảm thiểu số lần truy cập" (từ tầng IP lên đến tầng application) và dạng "caching bên trong". Một trang list.html chẳng hạn, nếu có ai đó post bài mới thì web application sẽ tạo một tập hợp có chứa các thông tin dành riêng cho "list.html" và lưu nó trong cache. Những truy cập vào "list.html" sẽ dùng thông tin trong cache để cung cấp thay vì phải truy vấn CSDL (biện pháp này được áp dụng trong bản jforum nguyên thủy nhưng khá rời rạc, bản HVA đang dùng đã được code lại chặt chẽ hơn). Tuy vậy, để bảo đảm vận tốc truy cập, cơ chế "giới hạn số lần truy cập" vẫn được áp dụng.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   How to anti attack flood SQL ? 06/07/2009 11:19:22 (+0700) | #20 | 185539
[Avatar]
canh_nguyen
Elite Member

[Minus]    0    [Plus]
Joined: 23/08/2004 18:55:09
Messages: 775
Location: Broken dream
Offline
[Profile] [PM] [WWW] [Yahoo!] [MSN] [ICQ]

jforum3000 wrote:

canh_nguyen wrote:
InV-Firewall nó như thế nào thế cậu ? 

Hosting Provider yêu cầu mình cài đặt thêm trình tường lửa vào, mình search thử thì http://sinhvienit.net/@forum/anti-ddos/7207-cai-dat-tuong-lua-inv-firewall-script-cho-dien-dan-ban-ipb-phpbb-vbulletin.html, có vấn đề gì sao bạn?
InV-Firewall Script là một firewall của tác giả Nguyen Tuan Dung, lập trình dành riêng cho hệ thống forum Invision Power Board [cũng có thể tích hợp và forum khác dễ dàng]. Tính năng của hệ thống tường lửa cho website này tập trung chính ở việc cản trở một phần các gói dữ liệu được gửi liên tục hay yêu cầu truy cập đến diễn đàn với số lượng lớn trong thời gian ngắn. 


Mình upload nó lên cho các bạn tham khảo đây
Code:
http://www.mediafire.com/?mtlz2zmjz1y
 


À mình hỏi lại cho chắc thôi mà smilie.

Về những gì to hơn thì anh conmale đã nói, mình không chuyên nên không dám có ý kiến gì smilie .

Chỉ lạm bàn một chút về code Inv kia:

Đầu tiên trong readme có hướng dẫn :
Code:
Add below:
$firewall = ROOT_PATH.'firewall/firewall.php';
if( file_exists($firewall) ){ require_once($firewall); }

Đây là một cách copy variable, khi forum đang bị ddos thì mình cũng cần tiết kiệm bộ nhớ bằng cách tránh dùng cách copy variable.
Nếu là mình mình sẽ dùng luôn :
Code:
if( file_exists(ROOT_PATH.'firewall/firewall.php') ){ require_once(ROOT_PATH.'firewall/firewall.php'); }


Tiếp theo trong firewall.php
Để ý có function check_bot()
Nếu là một kẻ cố tình tấn công thì chắc người đó cũng không bỏ qua cách fake HTTP_USER_AGENT để qua mặt firewall này smilie .

Cách này dùng cả fwrite để ghi log các ip ra file, không hiểu ddos với cường độ lớn thì cái file này hoặc php engine như thế nào?

[Up] [Print Copy]
  [Question]   How to anti attack flood SQL ? 06/07/2009 22:29:18 (+0700) | #21 | 185569
theory
Member

[Minus]    0    [Plus]
Joined: 11/02/2004 02:59:35
Messages: 17
Offline
[Profile] [PM]

conmale wrote:
Thế nào là flood SQL?

Flood SQL có 2 dạng:
 


Hì, hình như anh chưa định nghĩa "flood SQL" là gì đã đi vào phân dạng nó rồi! Theo em hiểu, flood SQL là hình thức tấn công bằng cách gửi thật nhiều yêu cầu truy vấn SQL đến database server đến nỗi database server không thể response được các yêu cầu hợp lệ khác.

conmale wrote:
b.1 Dạng caching bên ngoài: Caching bên ngoài là caching không ở biên độ web application mà ở biên độ một dịch vụ bên ngoài web application. Loại caching này thường trông cậy vào một dạng reverse proxy (apache, squid, application content filtering system.... ). Loại này đứng giữa trình duyệt và web application:

Trình duyệt <---> forward proxy (nếu có - như VNPT của VN) <----> reverse proxy <----> web server <----> web app <----> CSDL.

Hệ thống wiki nổi tiếng là một điển hình cho dạng này. Dùng reverse proxy để cache thông tin, đặc biệt là thông tin cho dymamic html dễ mà khó. Dễ ở chỗ nó có thể cache bất cứ thứ gì nhưng khó ở chỗ nếu dynamic html được tạo ra cho nhiều session khác nhau mà không kiểm soát kỹ thì bị lỗ hổng bảo mật. 


Anh giải thích giúp em thuật ngữ "dynamic html" với.
[Up] [Print Copy]
  [Question]   How to anti attack flood SQL ? 07/07/2009 18:10:43 (+0700) | #22 | 185646
[Avatar]
conmale
Administrator

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

theory wrote:

conmale wrote:
Thế nào là flood SQL?

Flood SQL có 2 dạng:
 


Hì, hình như anh chưa định nghĩa "flood SQL" là gì đã đi vào phân dạng nó rồi! Theo em hiểu, flood SQL là hình thức tấn công bằng cách gửi thật nhiều yêu cầu truy vấn SQL đến database server đến nỗi database server không thể response được các yêu cầu hợp lệ khác.
 

Flood SQL có hai dạng thì phải tách ra 2 dạng và định nghĩa 2 dạng đó chớ sao em? Sao em lại tách 1 dòng đó ra rồi cho rằng anh chưa định nghĩa mà lại phân loại? Không biết nó là loại gì thì làm sao định nghĩa? smilie .

theory wrote:

conmale wrote:
b.1 Dạng caching bên ngoài: Caching bên ngoài là caching không ở biên độ web application mà ở biên độ một dịch vụ bên ngoài web application. Loại caching này thường trông cậy vào một dạng reverse proxy (apache, squid, application content filtering system.... ). Loại này đứng giữa trình duyệt và web application:

Trình duyệt <---> forward proxy (nếu có - như VNPT của VN) <----> reverse proxy <----> web server <----> web app <----> CSDL.

Hệ thống wiki nổi tiếng là một điển hình cho dạng này. Dùng reverse proxy để cache thông tin, đặc biệt là thông tin cho dymamic html dễ mà khó. Dễ ở chỗ nó có thể cache bất cứ thứ gì nhưng khó ở chỗ nếu dynamic html được tạo ra cho nhiều session khác nhau mà không kiểm soát kỹ thì bị lỗ hổng bảo mật. 


Anh giải thích giúp em thuật ngữ "dynamic html" với.
 

Dynamic html là html động. Nó là dạng html được web application xây dựng và cung cấp cho trình duyệt khi trình duyệt truy cập đến url nào đó. Trong khi đó, static html (html tĩnh) là dạng html đã được chuẩn bị sẵn trước và nội dung không hề thay đổi (bất kể ai truy cập đến).
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   How to anti attack flood SQL ? 07/07/2009 22:56:27 (+0700) | #23 | 185670
theory
Member

[Minus]    0    [Plus]
Joined: 11/02/2004 02:59:35
Messages: 17
Offline
[Profile] [PM]

conmale wrote:

Flood SQL có hai dạng thì phải tách ra 2 dạng và định nghĩa 2 dạng đó chớ sao em? Sao em lại tách 1 dòng đó ra rồi cho rằng anh chưa định nghĩa mà lại phân loại? Không biết nó là loại gì thì làm sao định nghĩa? smilie .
 


Thì ra anh phân dạng flood SQL rồi mới định nghĩa từng dạng của nó. Sao anh không đưa ra một định nghĩa chung cho tất cả các dạng flood SQL? Theo em, flood SQL là hình thức tấn công bằng cách gửi thật nhiều yêu cầu truy vấn SQL đến database server đến nỗi database server không thể response được các yêu cầu hợp lệ khác. Anh thấy định nghĩa của em về flood SQL như thế nào?

conmale wrote:
b.1 Dạng caching bên ngoài: Caching bên ngoài là caching không ở biên độ web application mà ở biên độ một dịch vụ bên ngoài web application. Loại caching này thường trông cậy vào một dạng reverse proxy (apache, squid, application content filtering system.... ). Loại này đứng giữa trình duyệt và web application:

Trình duyệt <---> forward proxy (nếu có - như VNPT của VN) <----> reverse proxy <----> web server <----> web app <----> CSDL.

Hệ thống wiki nổi tiếng là một điển hình cho dạng này. Dùng reverse proxy để cache thông tin, đặc biệt là thông tin cho dymamic html dễ mà khó. Dễ ở chỗ nó có thể cache bất cứ thứ gì nhưng khó ở chỗ nếu dynamic html được tạo ra cho nhiều session khác nhau mà không kiểm soát kỹ thì bị lỗ hổng bảo mật.
 


Cám ơn anh, em đã hiểu thuật ngữ "dynamic html" rồi. Như vậy, dù là dynamic html hay static html, cái mà người dùng nhận được cũng đều là html, hiểu theo nghĩa là chỉ có thể đọc thông tin nhận được mà không thể thay đổi. Người dùng không thể thay đổi tức là không tác động ngược lại server nhằm làm thay đổi "thái độ làm việc" của hệ thống thì sao gọi là "lỗ hổng bảo mật" được? Anh có thể đơn cử một vài lỗ hổng có thể có của việc "không kiểm soát kỹ việc tạo ra dynamic html cho từng session khác nhau"?
[Up] [Print Copy]
  [Question]   How to anti attack flood SQL ? 07/07/2009 23:38:03 (+0700) | #24 | 185681
[Avatar]
conmale
Administrator

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

theory wrote:

conmale wrote:

Flood SQL có hai dạng thì phải tách ra 2 dạng và định nghĩa 2 dạng đó chớ sao em? Sao em lại tách 1 dòng đó ra rồi cho rằng anh chưa định nghĩa mà lại phân loại? Không biết nó là loại gì thì làm sao định nghĩa? smilie .
 


Thì ra anh phân dạng flood SQL rồi mới định nghĩa từng dạng của nó. Sao anh không đưa ra một định nghĩa chung cho tất cả các dạng flood SQL? Theo em, flood SQL là hình thức tấn công bằng cách gửi thật nhiều yêu cầu truy vấn SQL đến database server đến nỗi database server không thể response được các yêu cầu hợp lệ khác. Anh thấy định nghĩa của em về flood SQL như thế nào?
 

Định nghĩa này tốt đó. smilie

theory wrote:

conmale wrote:
b.1 Dạng caching bên ngoài: Caching bên ngoài là caching không ở biên độ web application mà ở biên độ một dịch vụ bên ngoài web application. Loại caching này thường trông cậy vào một dạng reverse proxy (apache, squid, application content filtering system.... ). Loại này đứng giữa trình duyệt và web application:

Trình duyệt <---> forward proxy (nếu có - như VNPT của VN) <----> reverse proxy <----> web server <----> web app <----> CSDL.

Hệ thống wiki nổi tiếng là một điển hình cho dạng này. Dùng reverse proxy để cache thông tin, đặc biệt là thông tin cho dymamic html dễ mà khó. Dễ ở chỗ nó có thể cache bất cứ thứ gì nhưng khó ở chỗ nếu dynamic html được tạo ra cho nhiều session khác nhau mà không kiểm soát kỹ thì bị lỗ hổng bảo mật.
 


Cám ơn anh, em đã hiểu thuật ngữ "dynamic html" rồi. Như vậy, dù là dynamic html hay static html, cái mà người dùng nhận được cũng đều là html, hiểu theo nghĩa là chỉ có thể đọc thông tin nhận được mà không thể thay đổi. Người dùng không thể thay đổi tức là không tác động ngược lại server nhằm làm thay đổi "thái độ làm việc" của hệ thống thì sao gọi là "lỗ hổng bảo mật" được? Anh có thể đơn cử một vài lỗ hổng có thể có của việc "không kiểm soát kỹ việc tạo ra dynamic html cho từng session khác nhau"? 


Một trang web chỉ cung cấp static html thường không duy trì session (xuất truy cập) để nhận diện ai là ai cả. Tất cả mọi truy cập từ client đến server chỉ đơn thuần là request / response. Client gởi request, server trả response ---> xong. Lần kết tiếp, cũng client ấy gởi request và server vẫn tiếp tục trả lời mà không cần biết có phải client đó cũng là một client vừa gởi request cách đây vài giây hoặc vài phút.

Trái lại, một trang web cung cấp dynamic html có khả năng ấn định session để nhận diện ai là ai. Bản thân HTTP là một "stateless" protocol, bởi thế, để tạo cho chúng "stateful" (giả) thì phải cần một cái gì đó để nhận diện và cookie là phương tiện phổ biến nhất. Bởi lẽ dynamic html được tạo ra có thể kèm theo khả năng "nhận diện", quyền truy cập và sử dụng trang web ấy cũng xuất hiện. Từ đó, cơ chế "nhận diện" và "quyền truy cập" khiến cho lỗ hổng cũng hình thành. Nếu một ai đó bị đánh cắp (A) trọn bộ header gởi từ trình duyệt đến server (cho mục đích nhận diện và xác định quyền truy cập) thì kẻ đánh cắp được (B) có thể giả mạo mình y hệt như người bị đánh cắp. Server có thể kiểm soát ở giới hạn nào đó hiểm hoạ này nhưng hầu hết các trang web hiện tại không làm việc ấy.

Đối với caching, nếu squid (hoặc bất cứ một ứng dụng caching nào khác) cache luôn cả thông tin liên quan đến việc "nhận diện" và "gán quyền" (đã nói ở trên) thì kẻ thứ nhì có thể truy cập vào tài nguyên của service y hệt như kẻ thứ nhất. Đây chính là lỗ hổng. Khía cạnh bảo mật này có thể khai triển ra nhiều điểm lý thú và đó là lý do tại sao cho đến ngày nay, XSS vẫn được ưa chuộng và vẫn lan tràn trên các ứng dụng web.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   How to anti attack flood SQL ? 08/07/2009 22:58:23 (+0700) | #25 | 185757
theory
Member

[Minus]    0    [Plus]
Joined: 11/02/2004 02:59:35
Messages: 17
Offline
[Profile] [PM]

conmale wrote:

Định nghĩa này tốt đó. smilie
 


Cám ơn anh đã dành thời gian giải đáp những thắc mắc của em! Chúc anh nhiều sức khỏe!
[Up] [Print Copy]
  [Question]   How to anti attack flood SQL ? 09/07/2009 00:22:20 (+0700) | #26 | 185765
myquartz
Member

[Minus]    0    [Plus]
Joined: 04/01/2005 04:58:30
Messages: 563
Offline
[Profile] [PM]
Hi!
Theo tớ Comale sử dụng thuật ngữ "dynamic html" và "static html" .. .chưa hợp lắm. Dynamic HTML dễ nhầm với DHTML (viết tắt), là 1 khái niệm với ý nghĩa khác: http://en.wikipedia.org/wiki/DHTML
Cái này ngược với Static HTML, cũng như thế.
Với 2 cái ý nghĩa tương tự như là Comale nói, thì nên được gọi là Dynamic Web Page, và Static Web Page. Xem http://en.wikipedia.org/wiki/Dynamic_web_page
Bài này nói về khái niệm, vì thế nên có ý kiến vậy.
[Up] [Print Copy]
  [Question]   How to anti attack flood SQL ? 09/07/2009 00:54:47 (+0700) | #27 | 185770
[Avatar]
conmale
Administrator

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

myquartz wrote:
Hi!
Theo tớ Comale sử dụng thuật ngữ "dynamic html" và "static html" .. .chưa hợp lắm. Dynamic HTML dễ nhầm với DHTML (viết tắt), là 1 khái niệm với ý nghĩa khác: http://en.wikipedia.org/wiki/DHTML
Cái này ngược với Static HTML, cũng như thế.
Với 2 cái ý nghĩa tương tự như là Comale nói, thì nên được gọi là Dynamic Web Page, và Static Web Page. Xem http://en.wikipedia.org/wiki/Dynamic_web_page
Bài này nói về khái niệm, vì thế nên có ý kiến vậy. 


"dynamic html" != Dynamic HTML

"dynamic html" != DHTML

smilie

Khác chỗ nào, thấy không?
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   How to anti attack flood SQL ? 09/07/2009 07:01:50 (+0700) | #28 | 185812
jforum3000
Member

[Minus]    0    [Plus]
Joined: 26/08/2007 02:53:39
Messages: 1172
Offline
[Profile] [PM]
Cái này giống Verilog HDL và VHDL bên lập trình phần cứng quá, nhìn tưởng giống nhau nhưng thật ra là khác.
[Up] [Print Copy]
  [Question]   How to anti attack flood SQL ? 09/07/2009 22:41:18 (+0700) | #29 | 185858
theory
Member

[Minus]    0    [Plus]
Joined: 11/02/2004 02:59:35
Messages: 17
Offline
[Profile] [PM]

conmale wrote:

Đối với caching, nếu squid (hoặc bất cứ một ứng dụng caching nào khác) cache luôn cả thông tin liên quan đến việc "nhận diện" và "gán quyền" (đã nói ở trên) thì kẻ thứ nhì có thể truy cập vào tài nguyên của service y hệt như kẻ thứ nhất. Đây chính là lỗ hổng. Khía cạnh bảo mật này có thể khai triển ra nhiều điểm lý thú và đó là lý do tại sao cho đến ngày nay, XSS vẫn được ưa chuộng và vẫn lan tràn trên các ứng dụng web. 


Anh có thể khai mở một ít để em có cơ sở khai triển tiếp?
[Up] [Print Copy]
  [Question]   How to anti attack flood SQL ? 09/07/2009 23:07:22 (+0700) | #30 | 185863
[Avatar]
conmale
Administrator

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

theory wrote:

conmale wrote:

Đối với caching, nếu squid (hoặc bất cứ một ứng dụng caching nào khác) cache luôn cả thông tin liên quan đến việc "nhận diện" và "gán quyền" (đã nói ở trên) thì kẻ thứ nhì có thể truy cập vào tài nguyên của service y hệt như kẻ thứ nhất. Đây chính là lỗ hổng. Khía cạnh bảo mật này có thể khai triển ra nhiều điểm lý thú và đó là lý do tại sao cho đến ngày nay, XSS vẫn được ưa chuộng và vẫn lan tràn trên các ứng dụng web. 


Anh có thể khai mở một ít để em có cơ sở khai triển tiếp? 


Thử đọc kỹ đoạn ở trên và tìm các từ khóa chính, tìm các trọng điểm của nó xem có gì để... khai triển không?
What bringing us together is stronger than what pulling us apart.
[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|