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ới hạn connections / IP  XML
  [Question]   giới hạn connections / IP 24/07/2006 08:57:37 (+0700) | #1 | 9462
mainhu
Member

[Minus]    0    [Plus]
Joined: 13/07/2006 23:11:43
Messages: 31
Offline
[Profile] [PM]
Khi trước em có đọc bài viết của anh commale về loạt phóng sự tấn công HVA. Muốn hỏi kỹ hơn với anh về việc giới hạn số lượng kết nối trên 1 IP, anh có thể nói rõ hơn 1 chút ko ạ

cám ơn anh nhiều
[Up] [Print Copy]
  [Question]   giới hạn connections / IP 24/07/2006 18:41:46 (+0700) | #2 | 9526
[Avatar]
conmale
Administrator

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

mainhu wrote:
Khi trước em có đọc bài viết của anh commale về loạt phóng sự tấn công HVA. Muốn hỏi kỹ hơn với anh về việc giới hạn số lượng kết nối trên 1 IP, anh có thể nói rõ hơn 1 chút ko ạ

cám ơn anh nhiều
 


hì hì, "phóng sự" != "ký sự"

Ý em "rõ" hơn là thế nào?
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   giới hạn connections / IP 25/07/2006 13:41:05 (+0700) | #3 | 9807
[Avatar]
vietphuongtd
Member

[Minus]    0    [Plus]
Joined: 15/10/2005 01:27:12
Messages: 41
Location: TNCT
Offline
[Profile] [PM] [Email] [Yahoo!]
bác conmale hay bắt bẻ lời lẽ lắm
chú ý cảnh giác trước khi dùng,
hicc không biết bác conmale có vợ chưa... có rùi thì cũng khổ người ta...
()
[Up] [Print Copy]
  [Question]   giới hạn connections / IP 25/07/2006 18:11:25 (+0700) | #4 | 9818
[Avatar]
conmale
Administrator

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

vietphuongtd wrote:
bác conmale hay bắt bẻ lời lẽ lắm
chú ý cảnh giác trước khi dùng,
hicc không biết bác conmale có vợ chưa... có rùi thì cũng khổ người ta...
() 


Không phải bắt bẻ mà hỏi và xác định cho chính xác.

Đã cảnh cáo về cái tật chit chat trong các bài kỹ thuật mà vẫn không chừa sao?

Cảnh cáo lần thứ hai.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   giới hạn connections / IP 30/07/2006 12:12:05 (+0700) | #5 | 11064
subnetwork
Member

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

mainhu wrote:
Khi trước em có đọc bài viết của anh commale về loạt phóng sự tấn công HVA. Muốn hỏi kỹ hơn với anh về việc giới hạn số lượng kết nối trên 1 IP, anh có thể nói rõ hơn 1 chút ko ạ

cám ơn anh nhiều
 


Bạn tìm tài liệu về cái này thì bạn sẽ rõ
Module mod_limitipconn.c

Thân
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: giới hạn connections / IP 31/07/2006 09:22:39 (+0700) | #6 | 11254
msdn
Member

[Minus]    0    [Plus]
Joined: 23/06/2006 06:27:14
Messages: 214
Offline
[Profile] [PM]
Đăng nhập vào server với quyền root
#cd /usr/src
#wget http://dominia.org/djao/limit/mod_limitipconn-0.04.tar.gz
#tar xzvf mod_limitipconn-0.04.tar.gz
#cd mod_limitipconn-0.04 


Mở ra cái Makefile trời đánh này
Code:
# pico Makefile

Tìm dòng trời đánh này
Code:
APXS=apxs


Thay thế nó thành
Code:
APXS=/usr/local/apache/bin/apxs


Lưu nó lại Ctrl-0 , nhấn Ctrl_X để cho nó "biến"
#make
#make install
#service httpd restart
#pico -w /etc/httpd/conf/httpd.conf 


Đưa dòng này vào cuối httpd.conf này
<IfModule mod_limitipconn.c>
<Location /somewhere>
MaxConnPerIP 3
# exempting images from the connection limit is often a good
# idea if your web page has lots of inline images, since these
# pages often generate a flurry of concurrent image requests
NoIPLimit image/*
</Location> 


Thêm vào dòng trên, bạn thay đổi nó nhé, tuỳ theo mục đích sử dụng (xem manual của nó biết thêm chi tiết)

Khởi động Apache .
[Up] [Print Copy]
  [Question]   Re: giới hạn connections / IP 01/08/2006 04:43:04 (+0700) | #7 | 11469
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]
Nếu dùng Linux và dùng iptables / netfilter làm FW thì có thể dùng connlimit module để giới hạn số connection từ một IP. connlimit module vẫn làm việc tốt trên kernel 2.4.x. Tuy nhiên từ kernel 2.6.11 trở đi, connlimit có vấn đề vì cấu trúc kernel có những thay đổi nhưng code của connlimit chưa cập nhật.

Nếu không muốn dùng connlimit thì vẫn có thể dùng -m limit có sẵn trong base của netfilter. Dùng -m limit và --limit-burst cho các gói SYN đi vào để giảm thiểu số lượng truy cập (mới) tiếp tục được tạo ra.


mod_limitipconn cũng là một giải pháp nhưng có hạn chế là nó sẽ làm máy chủ trì trệ hơn bình thường. Nếu dùng mod_limitipconn mà không patch phần detect proxy thì các IP nằm sau một proxy server sẽ bị "số phận" cản vì mod_limitipconn chỉ quan tâm đến IP của proxy server.

Thân.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Re: giới hạn connections / IP 01/08/2006 08:16:41 (+0700) | #8 | 11517
msdn
Member

[Minus]    0    [Plus]
Joined: 23/06/2006 06:27:14
Messages: 214
Offline
[Profile] [PM]
Chào anh !
Trước hết cám ơn anh giải thích ở phần module mod_limitipconn .
Vâng quả đúng như anh nói, khi cài đặt mod_limitipconn và mod_security máy chủ trì trệ hơn mức bình thường và khi cài đặt module mod_evasive cho server thì máy chủ càng trì trệ hơn . Bình thường CPU load ở mức 0,98 tuy nhiên khi cài đặt 2 mod này vào, máy chủ luôn luôn chiếm trên 2,0 (máy chủ này chĩ có 1 mình em truy cập và sử dụng, em chưa test thử trên server khác vì chưa đủ tự tin để quậy)

Một điều rất lạ ở đây ví dụ em sử dụng Squid để làm proxy server thì IP của em có địa chĩ ví dụ : 10.1.50,6 và một IP cũng trực thuộc Squid này ví dụ như 10.1.50.17 nhưng ở IP đầu tiên của em truy cập vào máy chủ không bao giờ được, còn đối với 10.1.50.17 thì nó vào rầm rầm . Tại sao có chuyện lạ lùng thế này, em đang tìm câu trả lời nhưng hiện tại cũng không biết trả lời tại sao có hiện tượng lạ lùng này . Anh gặp hay thường làm với server của HVA thì cho em một lời khuyên . Thú thật tìm hoài mà chẳng biết giải thích lỗi này phải giải quyết ra sao ?

Nếu không muốn dùng connlimit thì vẫn có thể dùng -m limit có sẵn trong base của netfilter. Dùng -m limit và --limit-burst cho các gói SYN đi vào để giảm thiểu số lượng truy cập (mới) tiếp tục được tạo ra.  


Vâng cái này em đang tìm hiểu nó .

Còn ở chổ này không liên quan đến module và nhưng dính dáng đến cấu hình Apache, nhân tiện cho em hỏi ké .
Maxclients
Timeout
MaxKeepAliveRequests
KeepAlive 


Em thấy Maxclients cho phép tối đa là 256 , Timeout ví dụ thời gian nó tính bằng giây, em thiết lập là 200 . Các thông số này em điều chĩnh ra sao để cho phù hợp với một server thường xuyên bị SYN attack đây anh ? Bài toán, server có trên 20.000 lượt truy cập trong 1 ngày và khoãng 300-400 lượt truy cập cùng 1 lúc . Em phải thiết lập cấu hình cho các thông số này ra sao để đáp ứng các nhu cầu trên. :wink:
Vì hiện tại theo em nghĩ các module mà mình cài đặt ở trên cũng chưa đủ đáp ứng các cuộc DDOS, nếu đáp ứng được thì anh cũng đâu lao tâm lao lực như vậy nhĩ. Vậy còn "bí kiếp" nào nữa không anh để hạn chế ở mức thấp nhất các cuộc tấn công này . smilie

Cám ơn anh .
[Up] [Print Copy]
  [Question]   giới hạn connections / IP 01/08/2006 10:52:11 (+0700) | #9 | 11533
giti
Member

[Minus]    0    [Plus]
Joined: 10/07/2006 17:12:58
Messages: 9
Offline
[Profile] [PM]

Một điều rất lạ ở đây ví dụ em sử dụng Squid để làm proxy server thì IP của em có địa chĩ ví dụ : 10.1.50,6 và một IP cũng trực thuộc Squid này ví dụ như 10.1.50.17 nhưng ở IP đầu tiên của em truy cập vào máy chủ không bao giờ được, còn đối với 10.1.50.17 thì nó vào rầm rầm . Tại sao có chuyện lạ lùng thế này, em đang tìm câu trả lời nhưng hiện tại cũng không biết trả lời tại sao có hiện tượng lạ lùng này . Anh gặp hay thường làm với server của HVA thì cho em một lời khuyên . Thú thật tìm hoài mà chẳng biết giải thích lỗi này phải giải quyết ra sao ?
 


Cụ thể là bạn không truy cập (sử dụng) được dịch vụ nao trên server?
Bạn thử kiểm tra lại tường lửa xem sao, hoặc check lại xem /etc/host.deny. Đồng thời bạn cũng nên kiểm tra lại phần ACL của squid. Nếu lười biềng thì post squid.conf lên đây để mọi người kiểm tra giùm bạn
Chú ý:Ở đây minh chỉ đề cập đến những khả năng lỗi do software gây ra
[Up] [Print Copy]
  [Question]   giới hạn connections / IP 01/08/2006 12:34:28 (+0700) | #10 | 11564
msdn
Member

[Minus]    0    [Plus]
Joined: 23/06/2006 06:27:14
Messages: 214
Offline
[Profile] [PM]
Oh ...no, không phải iptables hay APF Firewall (tớ có cài đặt APF Firewall trên server) và cũng không phải Squid . Nếu phải mấy cái này thì IP 10.1.50.17 làm sao truy cập được đến server .
Theo mình nghĩ có "uẩn khúc" gì đó ở hai module này : mod_limitipconn và mod_evasive cho nên có lúc IP 10.1.50.17 này vào được server và IP kia thì không truy cập được server và lại có lúc IP 10.1.50.17 này không vào được server nhưng IP kia lại vào được server (Lại viết thiếu, pó tay hi hi) .
Mình đang xem lại cấu hình của hai module này để tìm giải đáp bài toán này , He he nếu có anh em tư vấn 2 cái module này thì càng tốt (chĩ trong trường hợp khi IP này đứng đằng sau Proxy server).

Cám ơn ý kiến của bạn .
Thân
[Up] [Print Copy]
  [Question]   Re: giới hạn connections / IP 01/08/2006 22:12:17 (+0700) | #11 | 11616
[Avatar]
conmale
Administrator

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

msdn wrote:
Chào anh !
Trước hết cám ơn anh giải thích ở phần module mod_limitipconn .
Vâng quả đúng như anh nói, khi cài đặt mod_limitipconn và mod_security máy chủ trì trệ hơn mức bình thường và khi cài đặt module mod_evasive cho server thì máy chủ càng trì trệ hơn . Bình thường CPU load ở mức 0,98 tuy nhiên khi cài đặt 2 mod này vào, máy chủ luôn luôn chiếm trên 2,0 (máy chủ này chĩ có 1 mình em truy cập và sử dụng, em chưa test thử trên server khác vì chưa đủ tự tin để quậy)
 

Nếu em đang dùng apache 1.3.x mà còn phải trông cậy vào mod_limitipconnmod_evasive thì chắc chắn apache... thê thảm. Lý do: apache 1.3.x chạy hoàn toàn ở chế độ prefork (cái này tương đương với MPM Prefork trên apache 2.x). Hai cái mods này chỉ nên dùng để phụ trợ cho các tầng bảo vệ thấp hơn (như trên iptables chẳng hạn). Nếu em dựa hoàn toàn vào 2 mods trên để phòng thủ thì sẽ bị nguy ngập nếu tài nguyên máy chủ kém.

Tình hình càng trì trệ hơn nữa vì apache 1.3.x "hard code" số lượng MaxClients trong mã nguồn là 256. Cho dù requests "vi phạm" bị 2 mods trên cản nhưng trên socket vẫn bị sử dụng. Con số 256 MaxClients sẽ bị sử dụng nhanh chóng và dẫn đến tình trạng người dùng không thể truy cập được trang web của em. Cách giải quyết nó là phải gia tăng MaxClients. Tổng quát như sau:
- Em phải download mã nguồn của apache 1.3.x nào đó em đang dùng về.
- điều chỉnh src/include/httpd.h và tìm dòng: #define HARD_SERVER_LIMIT 256 rồi đổi nó thành giá trị nào đó cao hơn. Đừng tham lam mà đưa vào giá trị vài ngàn nếu máy chủ của em không có nhiều RAM. Nên thử giá trị 500 trước.
- Compile lại apache với đầy đủ các mods em đang dùng rồi thử lại xem.

Em cần theo dõi thường xuyên số lượng ESTABLISHED sockets và CLOSE_WAIT sockets trên server để xác định con số thích hợp cho MaxClients (tỉ lệ thuận và hợp lý với tài nguyên máy chủ).

Một vài giá trị em cần cân nhắc là:
Timeout <bao nhiêu giây>
KeepAlive <On hay Off>
MaxKeepAliveRequests <bao nhiêu request>
KeepAliveTimeout <bao nhiêu giây>
UseCanonicalName <On hay Off>

Theo anh phỏng đoán, server của em cần set như sau:
Timeout 120
KeepAlive On
MaxKeepAliveRequests 300
KeepAliveTimeout 5
UseCanonicalName On

Giá trị KeepAliveTimeOut cực kỳ quan trọng. Nó giúp giải quyết các sockets connect đến server nhưng không có nhu cầu "keepAlive". Các socket có nhu cầu "keepAlive" là các socket người dùng bình thường tạo ra để duyệt web, download trong một khoảng thời gian nào đó. Trong khi DDoS request thì thường gởi request, server trả lời xong là xong. Những sockets này nên được triệt tiêu càng nhanh càng tốt và giá trị trên giúp cho chuyện này.

msdn wrote:

Một điều rất lạ ở đây ví dụ em sử dụng Squid để làm proxy server thì IP của em có địa chĩ ví dụ : 10.1.50,6 và một IP cũng trực thuộc Squid này ví dụ như 10.1.50.17 nhưng ở IP đầu tiên của em truy cập vào máy chủ không bao giờ được, còn đối với 10.1.50.17 thì nó vào rầm rầm . Tại sao có chuyện lạ lùng thế này, em đang tìm câu trả lời nhưng hiện tại cũng không biết trả lời tại sao có hiện tượng lạ lùng này . Anh gặp hay thường làm với server của HVA thì cho em một lời khuyên . Thú thật tìm hoài mà chẳng biết giải thích lỗi này phải giải quyết ra sao ?
 

Anh không có câu trả lời cho trường hợp này. Em nên xem log của squid để trace xem nó "xử" cái IP 10.1.50.17 thế nào.

Nếu squid của em thay mặt trình duyệt để truy cập web server của em thì đối với web server, nó chỉ biết và quan tâm đến IP của con squid chớ mấy cái IP bên trong (client) chẳng có giá trị gì hết.


msdn wrote:

Còn ở chổ này không liên quan đến module và nhưng dính dáng đến cấu hình Apache, nhân tiện cho em hỏi ké .
Maxclients
Timeout
MaxKeepAliveRequests
KeepAlive 


Em thấy Maxclients cho phép tối đa là 256 , Timeout ví dụ thời gian nó tính bằng giây, em thiết lập là 200 . Các thông số này em điều chĩnh ra sao để cho phù hợp với một server thường xuyên bị SYN attack đây anh ? Bài toán, server có trên 20.000 lượt truy cập trong 1 ngày và khoãng 300-400 lượt truy cập cùng 1 lúc . Em phải thiết lập cấu hình cho các thông số này ra sao để đáp ứng các nhu cầu trên. :wink:
Vì hiện tại theo em nghĩ các module mà mình cài đặt ở trên cũng chưa đủ đáp ứng các cuộc DDOS, nếu đáp ứng được thì anh cũng đâu lao tâm lao lực như vậy nhĩ. Vậy còn "bí kiếp" nào nữa không anh để hạn chế ở mức thấp nhất các cuộc tấn công này . smilie

Cám ơn anh .  

Xem ở trên smilie)
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Re: giới hạn connections / IP 02/08/2006 23:37:28 (+0700) | #12 | 11966
msdn
Member

[Minus]    0    [Plus]
Joined: 23/06/2006 06:27:14
Messages: 214
Offline
[Profile] [PM]
Nếu em đang dùng apache 1.3.x mà còn phải trông cậy vào mod_limitipconnmod_evasive thì chắc chắn apache... thê thảm. Lý do: apache 1.3.x chạy hoàn toàn ở chế độ prefork (cái này tương đương với MPM Prefork trên apache 2.x). Hai cái mods này chỉ nên dùng để phụ trợ cho các tầng bảo vệ thấp hơn (như trên iptables chẳng hạn). Nếu em dựa hoàn toàn vào 2 mods trên để phòng thủ thì sẽ bị nguy ngập nếu tài nguyên máy chủ kém.

Tình hình càng trì trệ hơn nữa vì apache 1.3.x "hard code" số lượng MaxClients trong mã nguồn là 256. Cho dù requests "vi phạm" bị 2 mods trên cản nhưng trên socket vẫn bị sử dụng. Con số 256 MaxClients sẽ bị sử dụng nhanh chóng và dẫn đến tình trạng người dùng không thể truy cập được trang web của em. Cách giải quyết nó là phải gia tăng MaxClients. Tổng quát như sau:
- Em phải download mã nguồn của apache 1.3.x nào đó em đang dùng về.
- điều chỉnh src/include/httpd.h và tìm dòng: #define HARD_SERVER_LIMIT 256 rồi đổi nó thành giá trị nào đó cao hơn. Đừng tham lam mà đưa vào giá trị vài ngàn nếu máy chủ của em không có nhiều RAM. Nên thử giá trị 500 trước.
- Compile lại apache với đầy đủ các mods em đang dùng rồi thử lại xem. 


Trước hết sorry vì em hỏi lang man một hồi ... lang thang đến tận trung đông và đi ra ngoài thread yêu cầu .
Máy chủ của em hàng xài rồi, mua thanh lý từ một công ty nọ . CPU 2,4Ghz và Ram chĩ có 1GB, em cài đặt Apache 1.3.x thay vì 2.x.

Ở điểm này em đang thắc mắc, nếu máy chủ có cấu hình quá kém như thế thì em nên hay không nên nâng cấp Apache lên 2.x và việc triển khai 2 mod ở trên có cấn thiết cho máy chủ có cấu hình thấp như trên không anh ?
Giải pháp bảo mật phòng chống DDOS attack giảm thiểu ở mức thấp nhất cho các máy chủ có cấu hình như trên khi cứ "đón nhận" hơn vài ngàn request thì mình phải làm những gì tiếp theo hả anh . Nếu tình trạng máy chủ cứ ứ đọng các request này, Apache không kịp xữ lý các request này thì không lâu sao hiện tượng crash server, crash RAM là điều sẽ xãy ra . :cry:
Anh có thể cho em lời khuyên về việc mình cần tham khảo tài liệu nào để hạn chế ở mức thấp nhất khi apache không kịp request các connection dẫn đến tình trạng ứ đọng trên server - server sớm muộn gì cũng tiêu tùng .

Em làm xong anh dặn, điều chĩnh lại giá trị trên và download patch mod_limitipconn về và built lại apache (bao gồm các bài viết của anh về Apache, Kernel bên diendantinhoc của bro nbt) nhưng CPU load ở mức 1,8 (Apache này em chĩ thêm có 3 mudule đó là mod_limitipconn, mod_evasive và mod_security)

Sau đó em xóa bỏ 2 module này thì hiện tại load server ở mức bình thường . CPU giảm thiểu ở mức xuống còn từ 1,1 đến 1,2 và em có thiết lập HARD_SERVER_LIMIT thành 512

Chổ này KeepAliveTimeout hiện tại em thiết lập nó thành 10, OK em điều chĩnh nó lại .
KeepAliveTimeout = Thời gian chờ cho 1 request tiếp theo từ 1 client nào đó và nó cũng được tính bằng giây

Cám ơn anh
[Up] [Print Copy]
  [Question]   Re: giới hạn connections / IP 06/08/2006 07:30:17 (+0700) | #13 | 12599
[Avatar]
conmale
Administrator

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

msdn wrote:

Trước hết sorry vì em hỏi lang man một hồi ... lang thang đến tận trung đông và đi ra ngoài thread yêu cầu .
Máy chủ của em hàng xài rồi, mua thanh lý từ một công ty nọ . CPU 2,4Ghz và Ram chĩ có 1GB, em cài đặt Apache 1.3.x thay vì 2.x.

Ở điểm này em đang thắc mắc, nếu máy chủ có cấu hình quá kém như thế thì em nên hay không nên nâng cấp Apache lên 2.x và việc triển khai 2 mod ở trên có cấn thiết cho máy chủ có cấu hình thấp như trên không anh ?
 

Đúng ra một máy chủ có khoảng 1Gb RAM và CPU là 2.4Ghz là đủ cho dịch vụ web. Nếu em có nhiều dịch vụ khác cùng chạy trên máy chủ này như database, mail, dns... và những dịch vụ đó cũng rất "busy" thì em cần phải "optimize" chúng tối đa để máy chủ có thể làm việc hiệu xuất trong phạm vi cho phép. Optimize thế nào thì nắm ngoài giới hạn của topic này. Có thể em tách rời từng dịch vụ ra từng topic riêng rồi mình đi sâu vào.

Riêng với apache, anh nghĩ em nên dùng dòng 2.x hơn là 1.3.x. Nhiều dịch vụ hosting vẫn bám vào 1.3.x vì những lý do sau:
- họ tin rằng 1.3.x ổn định
- để upgrade từ 1.3.x lên 2.x sẽ tạo những gián đoạn cho khách hàng
- có nhiều module thông dụng chỉ có cho 1.3.x mà không có cho 2.x

Apache từ dòng 2.x trở đi đã nâng cao rất nhiều, đặc biệt là phần MPM (Multi-Processing Module). Thay vì dùng prefork như 1.3.x (1.3.x chỉ có prefork), em có thể dùng worker hay perchild. Nếu dùng với php thì nên dùng worker mpm vì nó có dạng hybrid (vừa là multi-thread vừa là multi-process) web service. Chọn module này cho phép apache có khả năng đối phó với DDoS tốt hơn apache 1.3.x prefork rất nhiều.

Đại khái cách nó làm việc như sau:

- 1 parent process tạo ra nhiều child processes
- mỗi child process có nhiều thread để tiếp nhận request

Nếu một child process bị "chết" thì các threads nằm trong child này bị chết theo. Tuy nhiên, các child process khác vẫn còn tồn tại và tiếp tục phục vụ. Parent process sẽ tái tạo child process khác để thay thế. Lợi điểm ở chỗ là apache tạo child process có nhiều thread để lo liệu request thì gọn nhẹ và nhanh chóng hơn tạo hàng loạt child process và mỗi child này chỉ lo cho 1 request. Em thử nghiên cứu thêm MPM của apache (có trong phần Documentation trên trang http://httpd.apache.org hoặc tải cuốn Apache Server 2 Bible có trong thư viện HVA về nghiên cứu thêm sẽ rõ).

msdn wrote:

Giải pháp bảo mật phòng chống DDOS attack giảm thiểu ở mức thấp nhất cho các máy chủ có cấu hình như trên khi cứ "đón nhận" hơn vài ngàn request thì mình phải làm những gì tiếp theo hả anh . Nếu tình trạng máy chủ cứ ứ đọng các request này, Apache không kịp xữ lý các request này thì không lâu sao hiện tượng crash server, crash RAM là điều sẽ xãy ra . :cry:
Anh có thể cho em lời khuyên về việc mình cần tham khảo tài liệu nào để hạn chế ở mức thấp nhất khi apache không kịp request các connection dẫn đến tình trạng ứ đọng trên server - server sớm muộn gì cũng tiêu tùng .
 

Cái này đụng đến tcp/ip stack optimization. Anh nhớ anh có đề cập đến khía cạnh này trong loạt bài "Ký sự DDoS HVA" smilie). Việc giải toả các "dead" sockets là việc quan trọng hàng đầu. Tất nhiên, nếu máy chủ em kém ram, kém CPU thì thời gian duy trì để cầm cự với DDoS sẽ ngắn đi. Trong trường hợp máy chủ bị ngập ngụa "dead" sockets thì chắc chắn em phải cần thêm RAM bởi vì chúng dùng "real memory" chớ không phải virtual memory.

Chi tiết optimize kernel cho phần tcp/ip thế nào thì mình nên bàn chi tiết trong một topic "chuyên" khác. Điều em cần trang bị trước là Linux kernel (hoặc BSD kernel tuỳ em dùng cái nào) có cơ chế điều chỉnh các thông số cho tcp/ip thế nào.

msdn wrote:

Em làm xong anh dặn, điều chĩnh lại giá trị trên và download patch mod_limitipconn về và built lại apache (bao gồm các bài viết của anh về Apache, Kernel bên diendantinhoc của bro nbt) nhưng CPU load ở mức 1,8 (Apache này em chĩ thêm có 3 mudule đó là mod_limitipconn, mod_evasive và mod_security)

Sau đó em xóa bỏ 2 module này thì hiện tại load server ở mức bình thường . CPU giảm thiểu ở mức xuống còn từ 1,1 đến 1,2 và em có thiết lập HARD_SERVER_LIMIT thành 512
 

Đây là điều em phải chấp nhận. Anh đã nói trước là các "màn chắn" trên tầng application (như module cho apache) chỉ là phần thêm vào để hỗ trợ. Tuy nhiên, server load nằm ở mức 1.8 là ok nếu như em đang dùng apache và php. Đừng quan tâm lắm về server load. Miễn sao client vẫn truy cập ở mức độ chấp nhận được.

msdn wrote:

Chổ này KeepAliveTimeout hiện tại em thiết lập nó thành 10, OK em điều chĩnh nó lại .
KeepAliveTimeout = Thời gian chờ cho 1 request tiếp theo từ 1 client nào đó và nó cũng được tính bằng giây

Cám ơn anh 

Ừa, không có giá trị nào tuyệt đối đúng mà cũng chẳng có giá trị nào có giá trị lâu dài. Em phải thường xuyên theo dõi và điều chỉnh cho phù hợp với tình trạng hoạt động của máy chủ.

Thân.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Re: giới hạn connections / IP 06/08/2006 22:50:33 (+0700) | #14 | 12733
msdn
Member

[Minus]    0    [Plus]
Joined: 23/06/2006 06:27:14
Messages: 214
Offline
[Profile] [PM]
Em đọc tài liệu này Preventing Web Attacks with Apache có so sánh version 1.3.x và 2.x, bây giờ em cũng hiễu nó tại sao có server họ thường sử dụng 1.3 thay vì 2.x

Apache từ dòng 2.x trở đi đã nâng cao rất nhiều, đặc biệt là phần MPM (Multi-Processing Module). Thay vì dùng prefork như 1.3.x (1.3.x chỉ có prefork), em có thể dùng worker hay perchild. Nếu dùng với php thì nên dùng worker mpm vì nó có dạng hybrid (vừa là multi-thread vừa là multi-process) web service. Chọn module này cho phép apache có khả năng đối phó với DDoS tốt hơn apache 1.3.x prefork rất nhiều.  


Cám ơn anh định hướng và giải thích cặn kẽ vấn đề này .


[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|