Xin chào, tiếp nối với series trước về giới thiệu các công nghệ sử dụng trong dự án JRDB. Hôm nay mình xin chia sẻ với các bạn công nghệ đến từ Google Cloud Platform (GCP) là Cloud Armor. Vậy Cloud Armor là gì hãy tìm hiểu cùng mình trong bài viết ngày hôm nay nhé.
Series Các công nghệ ứng dụng trong dự án JRDB:
Phần 1: Giới thiệu về dự án?
Cloud Armor là gì?
- Google Cloud Armor là một dịch vụ bảo mật và bảo vệ tấn công được cung cấp bởi Google Cloud Platform (GCP). Dịch vụ này được thiết kế để bảo vệ các ứng dụng và dịch vụ đám mây khỏi các mối đe dọa mạng và tấn công từ Internet. Trong đó có các kịch bản tấn công như distributed denial-of-service (DDoS), Cross-site scripting (XSS) và SQL Injection. Cloud Armor có tính năng bảo mật tự động và một số tính năng bạn cần phải cài đặt thủ công
Tính năng của Google Cloud Armor
Google Cloud Armor có một số tính năng sau:
- Web Application Firewall (WAF): Cloud Armor cho phép bạn xác định các luật tường lửa (firewall rules) để kiểm soát lưu lượng truy cập đến ứng dụng của bạn. Bạn có thể tạo và quản lý các luật để cho phép hoặc chặn lưu lượng dựa trên địa chỉ IP, Region, các điều kiện nhất định, và nhiều yếu tố khác.
- Bảo vệ chống tấn công DDoS: Cloud Armor cung cấp bảo vệ chống tấn công từ chối dịch vụ phân tán (DDoS) bằng cách phát hiện và ngăn chặn các tấn công DDoS trước khi chúng ảnh hưởng đến ứng dụng của bạn.
- Bảo vệ Web Application: Cloud Armor giúp bảo vệ ứng dụng web của bạn khỏi các mối đe dọa như SQL injection, cross-site scripting (XSS), và các tấn công khác bằng cách sử dụng luật tường lửa và bộ lọc nội dung.
- Chống gian lận và phát hiện đối tượng độc hại: Dịch vụ này có tích hợp với Google Cloud's reCAPTCHA Enterprise để giúp bảo vệ ứng dụng trước các hành vi gian lận và đối tượng độc hại.
- Báo cáo và theo dõi: Cloud Armor cung cấp các báo cáo và công cụ theo dõi để bạn có thể theo dõi lưu lượng và các hoạt động liên quan đến bảo mật của ứng dụng.
**Cài đặt Cloud Armor **
- Google Cloud Platform cung cấp cho bạn 2 cách để cài đặt cloud armor như Command-line hoặc qua cài đặt qua Console. Trên đây mình xin phép giới thiệu cài đặt Cloud Armor Qua command line.
Bước 1: Tạo và cài đặt project
gcloud config list project
gcloud config set project meta-keiba
Bước 2: Chấp nhận APIs (bao gồm computer, logging , monitoring)
gcloud services enable compute.googleapis.com
gcloud services enable logging.googleapis.com
gcloud services enable monitoring.googleapis.com
Bước 3: Tạo VPC network
gcloud compute networks create meta-keiba-vpc --subnet-mode custom
gcloud compute networks subnets create meta-keiba-subnet --network meta-keiba-vpc --range 10.0.0.0/24 --region asia-northeast-1
Bước 4: Tạo VPC Firewall & cấu hình Google health-checks
gcloud compute firewall-rules create allow-js-site --allow tcp:8080 --network meta-keiba-vpc
gcloud compute firewall-rules create allow-health-check --network=meta-keiba-vpc --action=allow --direction=ingress --source-ranges=130.211.0.0/22,35.191.0.0/16 --target-tags=allow-healthcheck --rules=tcp
Triển khai WAF
Bước 1: Xem danh sách các rules được thiết lập sẵn từ Google
gcloud compute security-policies list-preconfigured-expression-sets
Bước 2: Tạo Cloud Armor security policy
gcloud compute security-policies create meta_keiba_security
Bước 3: Bật tính năng WAF cho Cloud Armor
Update security policy để block LFI
gcloud compute security-policies rules create 9000 --security-policy meta_keiba_security --description "block local file inclusion" --expression "evaluatePreconfiguredExpr('lfi-v33-stable')" --action deny-403
Update security policy để block RCE
gcloud compute security-policies rules create 9001 --security-policy meta_keiba_security --description "block rce attacks" --expression "evaluatePreconfiguredExpr('rce-v33-stable')" --action deny-403
Update security policy để block session fixation
gcloud compute security-policies rules create 9004 --security-policy meta_keiba_security --description "block session fixation attacks" --expression "evaluatePreconfiguredExpr('sessionfixation-v33-stable')" --action deny-403
Update security policy để protocol attacks
gcloud compute security-policies rules create 9003 --security-policy meta_keiba_security--description "block protocol attacks" --expression "evaluatePreconfiguredExpr('protocolattack-v33-stable')" --action deny-403
Tùy biến rules Cloud Armor
Google Cloud Armor cho phép người dùng viết các rule tự định nghĩa để nâng cao mức độ cá nhân hóa trong bảo mật ứng dụng .
Các rule được định nghĩa thông qua 2 phương pháp cơ bản :
- Basic match condition : Câu lệnh điều kiện chứa IP hoặc một dải IP
- Advanced match condition : Chứa một “expression” để so sánh thuộc tính của một request.
“Expression” của Advanced match condition là một thành phần mở rộng của CEL ( Ngôn ngữ biểu thức chung của Google)
Một expression bao gồm 2 thành phần::
Ta có một số rules cơ bản như sau được định nghĩa như sau:
Trên đây là bài giới thiệu về Cloud Armor cũng như cách cài đặt và vận hành trên dự án JRDB, Cloud Armor đóng vai trò rất quan trọng trong dự án này nó giúp bảo vệ trang web một cách tốt nhất khỏi các kịch bản tấn công. Cám ơn bạn đã theo dõi bài viết, nếu thấy hay hãy cho mình xin 1 like và follow để tiếp tục theo dõi bài viết tiếp theo trong series "Giới thiệu về dự án JRDB và các công nghệ ứng dụng trong dự án nhé".