October 19, 2021

GCP Firewall Rules

Firewall là gì ?

Tường lửa (Firewall) là một hệ thống an ninh mạng, có thể dựa trên phần cứng hoặc phần mềm, sử dụng các quy tắc để kiểm soát traffic vào, ra khỏi hệ thống. Tường lửa hoạt động như một rào chắn giữa mạng an toàn và mạng không an toàn. Nó kiểm soát các truy cập đến nguồn lực của mạng thông qua một mô hình kiểm soát chủ động. Nghĩa là, chỉ những traffic phù hợp với chính sách được định nghĩa trong tường lửa mới được truy cập vào mạng, mọi traffic khác đều bị từ chối.

Firewall Rules

Firewall rules của GCP giúp bạn cho phép hoặc từ chối lưu lượng đi và đến từ các máy ảo (VM) của bạn dựa trên cấu hình bạn chỉ định. Firewall rules GCP được áp dụng ở cấp mạng ảo, vì vậy chúng cung cấp khả năng bảo vệ và kiểm soát lưu lượng hiệu quả bất kể hệ điều hành mà các máy ảo bạn sử dụng.

Firewall rules trong GCP

Quy tắc tường lửa GCP cụ thể cho mạng VPC. Mỗi quy tắc cho phép hoặc từ chối lưu lượng khi các điều kiện của nó được đáp ứng. Điều kiện của nó cho phép bạn chỉ định loại lưu lượng truy cập, chẳng hạn như cổng và giao thức và nguồn hoặc đích của lưu lượng truy cập, bao gồm địa chỉ IP, mạng con và trường hợp.

Các đặc tính của Firewall rules

  • Các quy tắc tường lửa được xác định ở cấp VPC network và network cụ thể mà chúng được định nghĩa. Bản thân các rule không thể được chia sẻ giữa các network
  • Firewall rules chỉ hỗ trợ lưu lượng IPv4. Khi chỉ định nguồn cho rules đầu vào hoặc điểm đến cho rule đầu ra theo địa chỉ, bạn chỉ có thể sử dụng địa chỉ IPv4 hoặc khối IPv4 trong cú pháp CIDR
  • Hành động được thực hiện bởi firewall rules là đồng ý hoặc từ chối. Quy tắc không thể ghi lại log dưới dạng hành động
  • Không có cơ chế ghi nhật ký cho các quy tắc tường lửa
  • Mỗi quy tắc tường lửa được xác định để áp dụng cho lưu lượng truy cập đến hoặc ra , không phải cả hai
  • GCP firewall rules là stateful firewall. Nếu kết nối được phép giữa nguồn và mục tiêu hoặc tục tiêu và đích, tất cả lưu lượng truy cập tiếp theo theo hai hướng sẽ được cho phép. Nói cách khác, Các quy tắc tường lửa cho phép giao tiếp hai chiều khi một session được thiết lập.
  • GCP firewall rules không tập hợp lại các gói TCP bị phân mảnh. Do đó, một quy tắc tường lửa áp dụng cho giao thức TCP chỉ có thể áp dụng cho mảnh đầu tiên bởi vì nó chứa TCP header. Các quy tắc tường lửa áp dụng cho giao thức TCP không áp dụng cho các đoạn TCP tiếp theo
  • Số lượng kết nối được theo dõi tối đa trong bảng quy tắc tường lửa phụ thuộc vào số lượng kết nối trạng thái được hỗ trợ bởi machine type của instance

Rules mặc định

Mỗi VPC network đều có sẵn 2 firewall rules. Những rules này có sẵn nhưng hông hiển thị trên Cloud Console.

Rules bổ sung của network mặc định

Ngoài các rules có sẵn thì Network mặc định được gắn sẵn với các firewall rules cho phép lưu lượng truy cập tới instances. Các rules này có thể chỉnh sửa hoặc xóa khi cần thiết.

  • default-allow-internal : Cho phép kết nối cho tất cả các giao thức và cổng giữa các instances trong mạng. Quy tắc này có mức độ ưu tiên thấp thứ 2 là 65534 và áp dụng cho phép các kết nối đến các VM từ những người khác trong cùng một mạng.
  • default-allow-ssh : Cho phép các kết nối TCP cổng 22 từ bất kỳ nguồn nào tới bất kỳ instance trong network với độ ưu tiên là 65534.
  • default-allow-rdp : Cho phép các kết nối TCP cổng 3389 từ bất kỳ nguồn nào tới bất kỳ instance trong network với độ ưu tiên là 65534 và nó cho phép kết nối với các instances chạy Microsoft Remote Desktop Protocol (RDP).
  • default-allow-icmp : Cho phép lưu lượng ICMP từ bất kỳ nguồn nào tới bấy kỳ instances nào trong network. Với độ ưu tiên là 65534 và nó cho phép các công cụ như ping.

Block traffic

Chặn hoặc hạn chế lưu lượng thông qua các cổng và giao thức từ internet tới các instances VM hoặc giữa các instances với nhau khi lưu lượng được gửi đến địa chỉ IP bên ngoài của chúng thông qua các cổng này. Những cổng này bị khóa vĩnh viễn và không thể được mở khóa thông qua các firewall rules.
Tất cả lưu lượng gửi đến cổng 25 (SMTP) bị chặn.
Hầu hết lưu lượng gửi đi đến cổng 465 hoặc 587 (SMTP qua SSL) đều bị chặn, ngoại trừ Google IP addresses đã biết.
Lưu lượng truy cập sử dụng giao thức khác với TCP, UDP, ICMP, SCTP, AH, ESP và IPIP bị chặn, trừ khi được cho phép rõ ràng thông qua giao thức chuyển tiếp
Lưu lượng GRE (Generic Routing Encapsulation) không chỉ bị chặn giữa các trường hợp Internet và VM mà còn giữa các cá thể VM với các địa chỉ IP bên ngoài hoặc bên trong

Các thành phần của firewall rules

  • Priority: Được sử dụng để xác định xem rules nào sẽ được áp dụng hay không. Chỉ áp dụng rule có số ưu tiên cao nhất khi các rules xung đột và các rule với độ ưu tiên thấp sẽ được bỏ qua.
  • Direction of traffic: ingress rule áp dụng cho các kết nối đến từ nguồn quy định đến GCP target và egress rule áp dụng cho lưu lượng đi từ mục tiêu đến đích quy định.
  • Action on match: Cho phép hoặc từ chối, xác định rule cho phép hoặc từ chối các lưu lượng truy cập.
  • Target: xác định các cá thể (bao gồm các cụm Kubernetes Engine và các cá thể của App Engine Flex) mà rule sẽ áp dụng.
  • Source: Nguồn cho các rules đầu vào hoặc đích đến cho các rule đầu ra.
  • Protocol: loại giao thức như là TCP, UDP, hay ICMP và cổng kết nối.

Pham Van Tuyen

Anh Tuyen Pham là Tổng giám đốc của Cloud Ace Việt Nam và là GDG Cloud HCM Chapter Lead. Anh là diễn giả quen thuộc tại các sự kiện do Google tổ chức tại Việt Nam như Kubernetes Vietnam, Google Cloud Next Extended. Anh đã có các chứng chỉ của Google Cloud như Google Cloud Architect và Data Engineer.

View all posts by Pham Van Tuyen →