Triển khai Coraza SPOA WAF cho Haproxy
Coraza SPOA là một Web Application Firewall hàng đầu có thể tích hợp chặt chẽ với HAProxy để cung cấp giải pháp bảo mật mạnh mẽ cho các ứng dụng web. Hệ thống sử dụng Coraza Engine cho phép nó không chỉ xử lý yêu cầu cho HAProxy mà còn giám sát, bảo vệ chống lại các tấn công web đa dạng cùng với khả năng sử dụng đồng thời Stream Processing Offload Engine (SPOE) và Stream Processing Offload Protocol (SPOP) Coraza SPOA tối ưu hóa hiệu suất và bảo mật cho ứng dụng web một cách hiệu quả.
Coraza SPOA khi kết hợp với HAProxy thì nó sẽ hoạt động theo sơ đồ sau
Để triển khai nhanh được Coraza SPOA và HAProxy các bạn có thể tham khảo bản build bằng docker
git clone https://github.com/TinyActive/hwaf
Mở file docker-compose.yaml và thay đổi port thành 80 và 443 nếu bạn dùng cho môi trường product
ports: [ "4000:80", "4443:443", "4001:4001" ]
sửa file docker/haproxy/example.com.pem thành chứng chỉ ssl của bạn chạy cho một domain, file docker/haproxy/haproxy.cfg là toàn bộ cấu hình sẽ chạy HA tùy bạn cấu hình domain thêm sửa xóa, ở đây mình chỉ sửa port để test hoạt động bạn nên căn chỉnh lại cho phù hợp với hệ thống của bạn sau đó chạy lệnh
docker-compse up -d
Kiểm tra port 4001 chúng ta thấy HA đã chạy
Với port 8080 không chạy qua WAF chúng ta có thể test thấy không bị chặn với payload test
Tuy nhiên với port 80 đi qua HA và WAF khi test cùng payload sẽ bị chặn
Kiểm tra log chúng ta thấy log chặn tấn công như bên dưới chứng tỏ waf đã hoạt động đúng
Như vậy Coraza SPOA đã hoạt động tốt chặn được tấn công, lưu ý nếu chạy product thì xóa bỏ httpbin trong docker-compose