Thứ Ba, 30 tháng 7, 2013

Chặn cuộc tấn công xử dụng webhunter dùng proxies

Cơ bản về tấn công bằng proxy với webhunter

Phương thức tấn công

Tấn công dos bằng proxy bằng webhunter, kẻ tấn công sẽ tìm một list các anonymous proxies sau đó sử dụng webhunter để tạo các request đến website của nạn nhân để đánh vào tài nguyên của server khiến cho website không thể truy cập được.

Đặc điểm tấn công

webhunter sử dụng list proxies do đó việc đếm số lần request theo ip của một số code truyền thống như dnp firewall không đặt được hiệu quả cao. Thêm vào đó webhunter có thể dễ dàng thay đổi và bổ xung các trường trong header một cách linh hoạt nên việc chặn dựa vào các thông tin trong header ( mà người dùng có thể thay đổi được) là không hề hiệu quả với webhunter

làm sao để chống khi bị tấn công bằng proxies với webhunter

  • Ta phải dựa vào những đặc điểm webhunter không thể thay đổi trong request header.
  • Dựa vào việc mà webhunter không thể làm ( rất nhiều botnet không thể làm) : javascript, flash, html5
Trong bài viết này mình chỉ đề cập đến việc chống dựa vào đặc điểm trong header của tấn công dùng proxy. Thông thường khi tạo request qua proxy ( các proxy được share trên mạng) trường X-Forwarded-For luôn được thêm vào request header. Trường này trong request header khi đi qua proxy là gần như không thể thay đổi. Do đó ta sẽ chặn cuộc tấn công bằng trường này với cách thức như sau:
  • Nếu web của bạn không muốn có request đến từ proxy từ người dùng => chặn tất cả request có trường này.
  • Xử dụng giá trị ip lấy từ header x-forwarded-for dùng cho việc hạn chế request.

chặn cuộc tấn công bằng webhunter với nginx.

Với nginx bạn có thể thêm config sau vào phần server để chặn toàn bộ request có x-forwared-for header
if ($http_x_forwarded_for != ''){
 return 403;
}
Để chặn theo kiểu limit reques thì ta sẽ cấu hình nginx với module realip
set_real_ip_from   0.0.0.0/0;
real_ip_header     X-Forwared-For;

trường hợp này cũng khá nguy hiểm khi kẻ tấn công phát hiện ra config của ta, khi đó hắn có thể tấn công bằng việc tạo các request với header x-forwared-for bất hợp lệ

Kết luận

Có khá nhiều cách để chặn cuộc tấn công bằng proxy đây chỉ là một cách đơn giản mà mình nghĩ ra. Nó có thể áp dụng với apache bằng việc dùng 1 số module thứ 3 như mod_security mod_slowloris ( mình chưa tìm được cách check được header x-forwared-for bằng .htacces với apache). Còn nhiều cách nữa để hạn chế tác động của tấn công dos/ddos vào hệ thống mình sẽ trình bài trong các post tiếp theo.

Nguôn` : sovietw0rm

Không có nhận xét nào:

Đăng nhận xét