- Giảm thiểu bằng cách cản lọc những đặc điểm cụ thể.
- Giảm thiểu bằng cách cản lọc theo ấn định số lần truy cập trong một khoản thời gian (nếu không tìm ra được đặc điểm cụ thể).
- Thời gian gói tin đi đến.
- Theo nguồn IP của gói tin.
- Theo dạng giao thức của gói tin.
- Theo chiều dài của gói tin.
- Và đi sâu vào tính chất của từng gói tin.
- Các gói tin đã được sắp xếp (sort) theo nguồn (IP) ở đây đang tập trung vào phân tích nguồn 113.170.184.21.
- Nếu bấm vào dòng có giao thức là HTTP và có Info là “GET / HTTP/1.1” thì sẽ thấy có giá trị “User-Agent” hiện ra. Theo thông tin ở đây, đó là một điện thoại di động dạng Android và có địa phương (locale) là Canada (en-ca).
- Gói tin HTTP kia có chiều dài là 502 bytes (bao gồm chiều dài của gói tin TCP/IP tầng dưới).
- Nếu sử dụng tính năng “follow TCP stream” của gói tin cụ thể trên, bạn sẽ thấy một nhóm các gói tin được gởi / nhận và được ráp lại.
- Nếu xoáy sâu xuống một chút, mình có thể thấy thêm đây là một gói ACK có PSH flag và có chiều dài là 448 bytes.
Nếu tiếp tục xem xét danh sách các request đi từ 113.170.184.21, bạn sẽ thấy nhiều gói tin có tính chất y hệt xảy ra nhiều lần. Đó là chuyện bình thường nhưng sự thể sẽ bất thường khi cùng một IP lại có User-Agent khác cùng gởi request trong cùng 1 giây đó và đặc biệt, chúng gởi request đến cùng một địa chỉ lặp đi lặp lại liên tục như: http://www.abc.com/ trong một khoảng thời gian.
- Tại sao một IP thuộc Việt Nam mà lại dùng bằng điện thoại Android có ấn định địa phương là Canada?
- Tại sao một IP như trên lại có User-Agent khác có ấn định địa phương là từ Đan Mạch gởi nhiều request cùng một lúc đến cùng một địa chỉ URL?
- Tại sao những HTTP requests kia có cùng những nhóm “length” y hệt nhau và lặp đi lặp lại?
- Tại sao chúng có cùng giá trị Referer, thậm chí Referer ấy không tồn tại?
- Có bao nhiêu requests xảy ra trong một giây, một phút, 5 phút đi cùng một IP có cùng một User-Agent?
- Có bao nhiêu User-Agents khác nhau đi từ một IP trong một khoản thời gian nào đó?
- Liệu những IP tấn công kia có phải là IP của một proxy có nhiều người dùng chung hay không
- v….v….v….
1. Cản lọc trên tầng IP
Là những cản lọc thuần tuý mang tính chất thuộc về tầng IP thay vì những “string” và “text” thấy được ở tầng application (sau khi các packets đã gom lại hoàn chỉnh). Ví dụ, bạn thống kê được có 1 triệu requests đánh tới “index.php” có mấy chục User-Agents khác nhau và những requests này thuộc dạng ACK-PSH và có chiều dài chung là 488, 502, 515, 576, 590 (chẳng hạn). Trong khi đó, các requests (được xem là hợp lệ và sạch sẽ) của người dùng bình thường có chiều dài khác. Bạn có thể có hai chọn lựa:- Cản cụ thể các packets ACK-PSH có chiều dài như trên vì bạn (biết) rằng người dùng đến trang web của bạn không có mấy ai xài đổ địa phương là Canada, Đan Mạch, Belarus…v.v.v.. Chọn lựa này có thể cản nhầm một số người nhưng trong tình trạng bị đập nặng nề, đó là một chọn lựa nhằm cứu vãn số người dùng còn lại.
- Cản tổng quát dựa trên số lần truy cập trong 1 giây (hoặc một phút, hoặc một khoản thời gian nào đó). Lý là người dùng bình thường chẳng có ai liên tục truy cập hàng chục lần đến trang chủ trong mỗi giây hoặc vài trăm lần đến một hoặc nhiều URL trong một phút. Chẳng có ai có thể đọc nhanh như thế.
2. Cản lọc trên tầng application
Là những cản lọc cụ thể và chính xác những “string” và “text” thấy được trên logs của các web server. Ví dụ, bạn thống kê được có 1 triệu requests đánh tới “index.php” có mấy chục User-Agents khác nhau và bạn biết rằng những User-Agents ấy trước giờ ít xuất hiện vì không có mấy ai xài đổ địa phương là Canada, Đan Mạch, Belarus…v.v.v.. Bạn cũng có hai chọn lựa:- Cản cụ thể các User-Agents lạ như đã thống kê. Chọn lựa này có thể cản nhầm một số người nhưng trong tình trạng bị đập nặng nề, đó là một chọn lựa nhằm cứu vãn số người dùng còn lại. Ngày nay, biện pháp cản lọc trên tầng application có vô số các công cụ, tiên ích, plugins, modules…v..v… giúp cho việc này.
- Cản tổng quát dựa trên số lần truy cập trong 1 giây (hoặc một phút, hoặc một khoản thời gian nào đó), y hệt với nguyên tắc phần 1.2 ở trên.