WAF là gì? Giải thích các quy tắc Web Application Firewall

WAF là gì?

Scrapeless Web Unlocker truy xuất nội dung web từ các URL đích và hỗ trợ kết xuất JavaScript cho các quy trình thu thập được cho phép.

Web Application Firewall là gì?

Web application firewall, hay WAF, kiểm tra lưu lượng ứng dụng web và áp dụng các quy tắc có thể giám sát, cho phép hoặc chặn giao dịch. Trọng tâm của nó là trao đổi ở tầng ứng dụng, bao gồm cấu trúc và nội dung của HTTP request. WAF có thể giúp bảo vệ một ứng dụng, nhưng không thay thế cho thiết kế ứng dụng an toàn hoặc cơ chế cấp quyền.

Định nghĩa WAF về phía OWASP đặt cơ chế kiểm soát tại tầng ứng dụng web. Điều đó phân biệt nó với một bộ lọc mạng cơ bản, thứ chủ yếu đưa ra quyết định về địa chỉ, cổng và kết nối truyền tải.

WAF có thể được triển khai thông qua hạ tầng biên (edge), reverse proxy, hoặc các thành phần khác trên đường đi của request tới ứng dụng. Cách triển khai quyết định những gì cơ chế kiểm soát có thể kiểm tra và nơi nó có thể thực thi quyết định. Tên sản phẩm đơn lẻ không mô tả được kiến trúc đó.

Tóm tắt

  • WAF áp dụng chính sách cho các giao dịch web. Nó có thể kiểm tra các đặc điểm của request vượt ra ngoài địa chỉ và cổng của kết nối.
  • Khớp quy tắc và chặn có thể là hai giai đoạn tách biệt. Một số cấu hình tổng hợp bằng chứng trước khi thực thi một ngưỡng.
  • WAF không thể khắc phục mọi lỗ hổng ứng dụng. Xác thực, phân quyền và mã an toàn vẫn cần các cơ chế riêng.
  • Một trang từ chối truy cập cần được điều tra. Chỉ riêng phản hồi hiển thị không xác định được chính xác quy tắc đã khớp.

WAF nằm ở đâu trên đường đi của request?

WAF nằm tại một điểm kiểm tra mà lưu lượng ứng dụng liên quan đi qua. Trong thiết kế reverse-proxy, client kết nối tới hạ tầng có thể kiểm tra một request trước khi chuyển tiếp nó tới ứng dụng gốc.

Lưu lượng mã hóa tạo thêm yêu cầu về khả năng quan sát. Một thành phần cần truy cập vào nội dung HTTP đã được giải mã để kiểm tra nội dung đó. Thành phần kết thúc TLS và WAF có thể là cùng một dịch vụ hoặc các thành phần riêng biệt. Hãy vẽ tuyến đường thực tế thay vì giả định rằng mọi trung gian đều nhìn thấy cùng một dữ liệu.

Ngữ nghĩa request và response của giao thức HTTP cung cấp cấu trúc mà logic kiểm tra sẽ diễn giải. Method, target, headers và dữ liệu biểu diễn đều có thể quan trọng đối với một quy tắc. Việc một triển khai cụ thể có kiểm tra body hay không, và kiểm tra đến mức nào, là các câu hỏi cấu hình.

Khả năng tiếp cận origin cũng là một phần của kiến trúc. Nếu một tuyến không được bảo vệ truy cập trực tiếp cùng ứng dụng, thì việc kiểm tra ở biên không tự động bao phủ nó. Chủ sở hữu nên kiểm kê các điểm vào công khai và xác nhận lưu lượng nào thực sự đi qua các cơ chế kiểm soát dự định.

Các quy tắc WAF đưa ra quyết định như thế nào?

Các quy tắc WAF so sánh đặc điểm giao dịch quan sát được với các điều kiện đã cấu hình. Một quy tắc có thể tìm kiếm mẫu tấn công đã biết, hình dạng giao thức không hợp lệ, tham số bất ngờ, hoặc điều kiện tùy chỉnh do người vận hành định nghĩa.

Quy tắc phủ định (negative) xác định các mẫu không mong muốn. Quy tắc khẳng định (positive) mô tả các hình dạng được cho phép, như cấu trúc tham số đã biết. Cả hai cách tiếp cận đều cần kiến thức về hành vi bình thường của ứng dụng. Một mẫu rộng có thể khớp với dữ liệu đầu vào hợp lệ, trong khi một quy tắc quá hẹp có thể bỏ lỡ dạng tấn công bất ngờ.

Một số bộ quy tắc sử dụng chấm điểm bất thường (anomaly scoring). Các lần khớp riêng lẻ đóng góp vào một điểm số giao dịch, và một chính sách riêng sẽ quyết định liệu kết quả tích lũy có đủ để chặn hay không. Mô hình chấm điểm bất thường của Core Rule Set tách logic phát hiện khỏi hành động gây gián đoạn cuối cùng.

Sự phân biệt này quan trọng trong quá trình xem xét sự cố. Một lần khớp quy tắc được ghi log không phải lúc nào cũng có nghĩa là request đã bị chặn. Ngược lại, một sự kiện chặn cuối cùng có thể tóm tắt nhiều lần khớp trước đó. Hãy đọc toàn bộ ngữ cảnh giao dịch trước khi thay đổi quy tắc xuất hiện gần cuối log nhất.

Thứ tự quy tắc, ngoại lệ, các giai đoạn kiểm tra và chế độ thực thi có thể thay đổi kết quả. Những chi tiết đó thuộc về engine và cấu hình cụ thể. Tránh mang một ngưỡng hoặc mã quy tắc từ cài đặt này sang cài đặt khác mà không kiểm tra xem nó có áp dụng được hay không.

WAF, Network Firewall, Bot Management và Authorization

WAF, network firewall, bot management và cơ chế cấp quyền cho ứng dụng trả lời các câu hỏi liên quan nhưng khác biệt. Một nền tảng có thể cung cấp cùng lúc một số chức năng này, nhưng ranh giới vận hành vẫn hữu ích.

Cơ chế kiểm soátTrọng tâm chínhNhững gì vẫn cần được chú ý riêng
Network firewallKết nối mạng và chính sách truyền tảiCác quy tắc nghiệp vụ ở tầng ứng dụng
WAFKiểm tra và thực thi cho các giao dịch webLogic ứng dụng an toàn và quyền định danh (identity permissions)
Bot managementHoạt động tự động và phân loại lưu lượngĐịnh nghĩa của chủ sở hữu về tự động hóa chấp nhận được
AuthorizationLiệu một danh tính có thể thực hiện một hành động hay khôngBảo vệ chống lại các mối đe dọa từ lưu lượng và đầu vào khác

Một yêu cầu có thể vượt qua kiểm tra WAF nhưng vẫn không được uỷ quyền. Một người dùng đã đăng nhập cũng có thể gửi đầu vào khớp với một quy tắc bảo vệ. Xác thực thành công, nội dung yêu cầu chấp nhận được và hành động được phép là các điều kiện tách biệt.

WAF Có Thể Bảo Vệ Chống Lại Những Gì?

Một WAF có thể giúp nhận diện và hạn chế lưu lượng khớp với logic bảo vệ đã cấu hình. Các nhóm quy tắc phổ biến liên quan đến mẫu tấn công chèn, bất thường giao thức và nội dung yêu cầu đáng ngờ. Phạm vi phụ thuộc vào bộ quy tắc, engine, khả năng quan sát và ngữ cảnh ứng dụng.

Một WAF không thể suy luận đáng tin cậy mọi bất biến nghiệp vụ chỉ từ việc kiểm tra yêu cầu chung chung. Một hành động trông có vẻ hợp lệ vẫn có thể vi phạm các quy tắc phân quyền của ứng dụng. Nếu một tài khoản có thể truy xuất đối tượng riêng tư của tài khoản khác vì ứng dụng bỏ sót kiểm tra quyền, ứng dụng vẫn cần kiểm tra đó bất kể các lớp kiểm soát lưu lượng xung quanh.

Các nhóm lạm dụng ứng dụng của OWASP cũng cho thấy vì sao những hành động hợp lệ lặp lại có thể tạo ra một vấn đề khác với một tải trọng sai định dạng. Chính sách bot, giới hạn ứng dụng và kiểm soát danh tính có thể bổ sung cho việc kiểm tra của WAF.

Xem WAF như một lớp trong phòng thủ dựa trên bằng chứng. Giữ các bản sửa ứng dụng trong kế hoạch kỹ thuật, rà soát các giao diện được phơi bày và xác nhận rằng WAF nhận đúng loại lưu lượng liên quan. Một yêu cầu thử nghiệm bị chặn là bằng chứng về yêu cầu đó dưới cấu hình đó, chứ không phải bằng chứng rằng mọi biến thể đều được bao phủ.

Chủ Sở Hữu Nên Điều Tra Dương Tính Giả Như Thế Nào?

Chủ sở hữu nên điều tra dương tính giả bằng cách liên kết một giao dịch hợp lệ với các quy tắc khớp, ngữ cảnh yêu cầu và hành động thực thi cuối cùng. Mục tiêu là một điều chỉnh hẹp, vẫn giữ được mức bảo vệ ở nơi khác.

  1. Ghi lại một sự cố đã được khử nhạy cảm. Giữ lại tuyến (route), khoảng thời gian, định danh yêu cầu và kết quả hiển thị với người dùng. Tránh các bản sao không cần thiết của thông tin xác thực hoặc dữ liệu cá nhân đã gửi.
  2. Xác nhận nguồn thực thi. Xác định liệu WAF, một chính sách biên khác hay chính bản thân ứng dụng đã tạo ra việc từ chối.
  3. Kiểm tra các điều kiện khớp. Xem lại trường và nội dung đã được chuẩn hóa kích hoạt quy tắc. Kiểm tra xem đầu vào đó có được mong đợi cho tuyến này hay không.
  4. Áp dụng điều chỉnh có phạm vi. Ưu tiên thay đổi cụ thể theo tuyến hoặc tham số khi phù hợp. Vô hiệu hóa một quy tắc trên diện rộng có thể ảnh hưởng đến các endpoint không liên quan.
  5. Xác thực các trường hợp bình thường và không mong muốn. Xác nhận rằng quy trình hợp lệ hoạt động và cơ chế bảo vệ dự định vẫn được áp dụng.

Bộ phận hỗ trợ và kỹ thuật nên sử dụng cùng định danh sự cố. Ảnh chụp màn hình “Access Denied” có thể giúp xác định triệu chứng, nhưng hiếm khi giải thích quy tắc. Liên kết tốt rút ngắn khoảng cách giữa báo cáo của khách hàng và bằng chứng giao dịch liên quan.

Quy Trình Thu Thập Nên Làm Gì Với Phản Hồi Từ WAF?

Một quy trình thu thập nên phân loại phản hồi từ WAF hoặc hệ thống bảo mật khác trước khi coi trang là dữ liệu nguồn. Mã trạng thái và việc phân tích HTML hoàn tất không chứng minh rằng nội dung mong muốn đã được cung cấp.

Yêu cầu thực thể và trường mong đợi, rồi nhận diện các trạng thái thay thế như đăng nhập, thử thách hoặc bị từ chối rõ ràng. Giữ kết quả rỗng thực sự tách biệt với nội dung không khả dụng. Nếu bạn kiểm soát nguồn, hãy cung cấp cho client thu thập một đường truy cập được tài liệu hóa và hợp đồng lỗi có ý nghĩa.

Tài liệu Scrapeless Web Unlocker mô tả bề mặt thu thập dựa trên URL của nó. Sản phẩm Web Unlocker có thể được đánh giá cho một quy trình làm việc được phép, trong khi chủ nguồn vẫn chịu trách nhiệm về chính sách truy cập. Đừng đánh đồng việc truy xuất kỹ thuật với được uỷ quyền.

Sử dụng các trang đại diện khi đánh giá chi phí thông qua Scrapeless pricing. Đo lường các kết quả đã được xác thực và giữ lại loại phản hồi khi một trang không đáp ứng hợp đồng của bạn. Quy trình thu thập bằng trình duyệt động liên quan cung cấp ngữ cảnh triển khai, với tài liệu hiện hành điều chỉnh các thiết lập được hỗ trợ.

Lên Kế Hoạch Triển Khai WAF Dễ Bảo Trì

Một triển khai WAF dễ bảo trì bao gồm quan sát, rà soát và một chủ sở hữu rõ ràng cho các ngoại lệ. Bắt đầu với các tuyến ứng dụng quan trọng và ghi lại đội nào có thể thay đổi hành vi thực thi.

Kiểm thử các đầu vào thông thường dễ bị bỏ qua: văn bản quốc tế, mô tả dài, bộ lọc tìm kiếm có cấu trúc và siêu dữ liệu liên quan đến tệp nơi ứng dụng chấp nhận chúng. Một quy tắc tấn công chung có thể tương tác với các đầu vào này khác với một yêu cầu trang chủ đơn giản.

Rà soát các ngoại lệ khi hành vi ứng dụng thay đổi. Một ngoại lệ từng cần thiết cho một tuyến cũ có thể trở thành lộ diện không cần thiết sau khi tuyến đó bị loại bỏ. Giữ lại lý do, phạm vi và chủ sở hữu rà soát với mỗi điều chỉnh để những người vận hành sau này có thể đánh giá liệu nó còn phù hợp hay không.

Kết Luận

WAF kiểm tra các giao dịch web và thực thi chính sách lưu lượng ở tầng ứng dụng. Giá trị của nó phụ thuộc vào vị trí triển khai đúng, quy tắc phù hợp và xử lý dương tính giả cẩn thận. Chẩn đoán sự kiện thực thi thực tế, giữ quyền ứng dụng độc lập và xác thực nội dung trả về trước khi một pipeline thu thập chấp nhận nó.

Xây Dựng Một Quy Trình Làm Việc Bạn Có Thể Xác Thực

Chọn dịch vụ Scrapeless phù hợp với nguồn dữ liệu được phép của bạn, sau đó đối chiếu nội dung trả về với các trường mà ứng dụng của bạn cần.

Đăng ký hôm nay và nhận $5 tín dụng miễn phí — không cần thẻ tín dụng.

Nhận $5 tín dụng của bạn →

Câu hỏi thường gặp

Hỏi: WAF có giống tường lửa mạng không?

WAF tập trung vào các giao dịch ứng dụng web, trong khi tường lửa mạng chủ yếu kiểm soát kết nối mạng và các chính sách liên quan. Chúng có thể bổ trợ cho nhau.

Hỏi: WAF có thay thế mã nguồn an toàn không?

WAF không thay thế mã nguồn an toàn hoặc cơ chế phân quyền của ứng dụng. Việc giám sát lưu lượng tổng quát không thể đảm bảo mọi thao tác nghiệp vụ đều có kiểm tra quyền truy cập đúng.

Hỏi: Mỗi lần một quy tắc khớp có đều dẫn đến chặn không?

Không phải mỗi lần quy tắc khớp đều dẫn đến chặn. Chế độ giám sát và cấu hình chấm điểm bất thường có thể tách biệt điều kiện được phát hiện khỏi hành động cưỡng chế cuối cùng.

Hỏi: Phản hồi của WAF có thể trông như một trang bình thường không?

Phản hồi bảo mật có thể được cung cấp dưới dạng một trang HTML thông thường. Hãy xác thực danh tính trang và nội dung bắt buộc thay vì chỉ dựa vào việc phân phối thành công.

Tài liệu tham khảo