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 hệ điều hành *nix chuyển mod_security của apache sang nginx.  XML
  [Discussion]   chuyển mod_security của apache sang nginx. 05/04/2010 02:12:44 (+0700) | #1 | 208432
[Avatar]
Phó Hồng Tuyết
Member

[Minus]    0    [Plus]
Joined: 20/04/2007 20:02:10
Messages: 275
Location: Nơi Sâu Thẳm Tâm Hồn
Offline
[Profile] [PM] [WWW] [Yahoo!]
hiện nginx và mod_security phổ biến. Mình không bàn luận về công dụng của nginx và mod_security.

đối với các bạn dùng nginx làm reverse proxy + apache thì mod_security không có gì để nói.

nhưng nếu bạn dùng nginx + fastcgi thì khi muốn dùng mod_security thì nó lại là một vấn không dễ dàng gì, Mình mở topic này muốn các bạn và mình chung tay convert mod_security từ apache qua nginx.

Điểm quan trọng ở đây của nginx chính là : request_uri

nếu ta xem lại các rules của mod_security thì quả thật cũng có REQUEST_URI và mình nghĩ tại sao không thử áp dụng vào nginx.

Sau khi áp dụng thử thì kết quả như mong đợi.

Code:
if ($request_uri ~* (/etc/passwd) ) {
return 403;
}


dòng trên có nghĩa là các request_uri sẽ được nginx kiểm tra matches của uri nếu có giá trị là /etc/passwd sẽ trả về lỗi 403.

đây là log debug

2010/04/04 16:07:56 [notice] 2323#0: *592 "(/etc/passwd)" matches "/etc/passwd", client: xxx.xxx.xxx.xxx, server: abc.net, request: "GET /etc/passwd HTTP/1.1", host: "abc.net"

và đây là log của rules

04/Apr/2010:16:07:56 -0400] "GET /etc/passwd HTTP/1.1" 403 131 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3" "-"

mình đã tạo một số rules về xss và inject sql và một số rules khác.

mình biết một mình không thể nào hoàn thiện được nên mở topic này để cùng các bạn trao đổi và có thể hoàn thiện convert rules của mod_security sang nginx.

rất mong mọi người cùng tham gia và thảo luận.

"Một người thành công không có ý nghĩ đổ thừa thất bại do ...."
[Up] [Print Copy]
  [Discussion]   chuyển mod_security của apache sang nginx. 05/04/2010 07:46:47 (+0700) | #2 | 208438
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]
Thật ra dùng chức năng rewrite của nginx để thực hiện một phần cản lọc tương tự như mod_security cũng chỉ giới hạn ở phase2 trong các bước xử lý request thôi. mod_security có khả năng nhiều hơn việc rewrite requests. mod_security có khả năng intercept requests và phân tích + xử lý tất cả các giá trị trong HTTP headers. Chẳng những vậy, từ phiên bản trở đi nó có những chức năng tạo rules gần như hoàn chỉnh cho mỗi tình huống (xuyên qua chain, pass, deny, allow.....). Chẳng những vậy, mod_security còn có khả năng inject thông tin vào response của server trước khi nó đi ngược lại trình duyệt.

Một trong những tính năng mới và cực kỳ hay của mod_security là nó cho phép tạo persistent variables để kiểm soát các requests. Tính năng này cực kỳ hữu dụng để chế ngự session hijack, session fixation và hữu dụng ngay cả trong việc hạn chế DDoS nữa.

Hiện tại mod_security chỉ có một giới hạn duy nhất (cái này cũng không hẳn là giới hạn của mod_security) đó là nó không intercept request sớm hơn. Đây là lý do tại sao những dạng tấn công tương tự như slowloris vào apache và mod_security hoàn toàn không có tác dụng gì hết.

Thật ra tạo một loạt rewrite rules trên nginx có tính năng tương tự như mod_security trên apache là việc rất hay nhưng khó có thể so sánh với khả năng thật sự của mod_security.

Thân mến.
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|