HTTP Slowloris attack defense !

DiepNV88

VIP Members
24/09/2013
369
1.552 bài viết
HTTP Slowloris attack defense !
Chủ đề này tuy không mới nhưng do cách thức thực hiện đơn giản và hiệu quả gây thiệt hại dai dẳng cho các website bị tấn công nên mình viết chút kinh nghiệm để các bạn đang quản trị web có thể tham khảo.

Attack

Slowloris là tên của một ứng dụng client HTTP ban đầu được viết bằng ngôn ngữ lập trình perl có thể được sử dụng để tấn công từ chối dịch vụ đối với các máy chủ HTTP, Apache và máy chủ proxy. Nó hoạt động bằng cách liên tục khởi tạo hàng trăm yêu cầu HTTP hợp lệ đến máy chủ và giữ cho các kết nối này mở bằng cách sử dụng một lưu lượng TCP tối thiểu, nhằm tiêu thụ tài nguyên máy chủ. Khi tài nguyên máy chủ cạn kiệt, máy chủ sẽ không thể đáp ứng lưu lượng truy cập hợp pháp nữa.

http slow.jpg


Những đứa trẻ dễ dàng download tools Slowloris về hiện đang có rất nhiều tool viết bằng nhiều loại ngôn ngữ như Python, perl và C để đánh sập trang web mà chúng nhắm tới. Mình nhắc đứa trẻ ở đây để chỉ sự dễ dàng khi dùng tool Slowloris đánh sập một trang web.

Các máy chủ web bị ảnh hưởng:
  • Apache
  • Nginx
  • IBM HTTP Serve
  • IBM HTTP Server
  • IBM WebSphere Edge Server Caching Proxy
  • Squid caching proxy server
Tool ddos Slowloris có thể dễ dàng tìm thấy trên github viết bằng nhiều ngôn ngữ như Python....

code.png


Cách sử dụng tool khá dễ dàng nên mình không hướng dẫn ở đây các bạn muốn test sức tải của webserver nên dựng một máy chủ Linux rùi up tool lên test chứ không xài Window chạy tool ddos. Tool Slowloris tuy không dùng nhiều băng thông nhưng mình khuyên nên sử dụng VPS để tránh hiện tượng nghẽn cổ trai hoặc gây ảnh hưởng mạng đang dùng phải reset modem.
Nếu không có điều kiện các bạn vẫn có thể sử dụng 2 máy ảo : tools => web nhưng đặt tần số reqquest của tool ở mức thấp tránh treo máy.

Tất cả mục đích việc dùng tool là test để nhận biết log khi bị tấn công có gì khác biệt để phòng chống.
  • Một kiểu biến thể của dạng tấn công Slowloris là hacker cài tool vào phần mềm lậu hoặc khai thác lỗ hổng trên các thiết bị có kết nối mạng internet để tạo ra mạng botnet với rất nhiều ip. Dạng tấn công này vô cùng nguy hiểm do một khoảng thời gian 1 ip chỉ truy cập số lần rất nhỏ vào webserver nhưng với hàng ngàn ip attack webserver vẫn bị sập và khó có thể chặn hết các ip tấn công vì dễ nhầm lẫn với người dùng thực.

Defense

Phòng chống tấn công Slowloris khá nhức đầu khi các loại tường lửa IPS, IDS của các hãng như không thể nhận biết dạng tấn công này vì request tấn công không hề chứa một yêu cầu sai định dạng nào.

Một request hoàn chỉnh:
Mã:
GET / HTTP/1.0[CRLF]
User-Agent: Wget/1.10.2 (Red Hat modified)[CRLF]
Accept: */*[CRLF]
Host: 192.168.0.103[CRLF]
Connection: Keep-Alive[CRLF][CRLF]

Thường một request tấn công khi đọc log sẽ có dạng:
Mã:
GET / HTTP/1.0

Hoặc định dạng như hình dưới:

log ddos http.png


- Một số cách phòng chống tấn công Slowloris:
  • Nâng cấp tài nguyên của server như RAM, CPU cách này chỉ hiệu quả với những cuộc tấn công nhỏ không hiệu quả nhưng vẫn được dùng vì ngoài chống tấn công ddos thì còn đáp ứng lưu lượng truy cập thực tăng theo event đến website.
  • Caching: rất nhiều hệ thống website đang sử dụng ứng dụng này vì nó không những hiệu quả khi người dùng thực tăng mà còn khá hiệu quả trong chống tấn công ddos Slowloris. Giải thích dễ hiểu là khi cache dữ liệu web thì server sẽ không phải xử lý những request liên tục giống nhau mà lấy thẳng từ cache trả về cho client nên giảm tải cho webserver. Đây là cách khá hiệu quả nhưng nếu attacker dùng nhiều luồng tấn công lớn thì web vẫn có thể bị sập.
  • Loadbalancing cân bằng tải cũng là cách để gộp nhiều sức mạng phần cứng để xử lý lượng request lớn từ client. Phương pháp này đang ứng dụng cho những website có lưu lượng truy cập lớn. Nếu kết hợp caching với loadbalancing thì 99% sẽ chống được các cuộc tấn công ddos Slowloris và phương pháp này đòi hỏi chi phí khá cao chỉ áp dụng với các website có lượng truy cập lớn.
  • Cloudflare khá hữu hiệu với các cuộc tấn công băng thông lớn nhưng với ddos Slowloris mình chưa thấy tính hiệu quả của nó.
  • Firewall: hiện khá nhiều cty trong nước đã phát triển các loại firewall chống tấn công ddos như BIF của BKAV mình tuy không còn làm cho cty nhưng thấy nó rất hiệu quả vì đã tầng tham gia phát triển từ nền móng của nó. Nếu kinh tế tốt hơn có thể chọn của các hãng như Cisco hay Juniper nhưng khá khó sử dụng và support không bằng các cty Việt Nam.
Rất nhiều các bậc tiền bối có kinh nghiệm về phòng chống tấn công ddos hiệu quả có thể đóng góp ý kiến để anh em sysadmin ăn ngủ ngon hơn. Nếu bài viết của mình sai sót chỗ nào anh em góp ý nhé.
 
Chỉnh sửa lần cuối bởi người điều hành:
Thẻ
http slowloris slowloris
Bên trên