0
0
Lập trình
Admin Team
Admin Teamtechmely

Cấu Hình Quy Tắc Tường Lửa Egress Deny Trên Google Cloud

Đăng vào 7 tháng trước

• 4 phút đọc

Giới thiệu về Quy Tắc Tường Lửa Egress Deny trên Google Cloud VPC

Mặc định, các phiên bản máy ảo (VM) trong Google Cloud có thể gửi lưu lượng ra ngoài (egress) đến internet trừ khi bị hạn chế một cách rõ ràng. Trong bài viết này, chúng ta sẽ cấu hình một quy tắc tường lửa egress deny để chặn lưu lượng ra ngoài đến một số địa chỉ cụ thể.

Điều này rất hữu ích khi bạn muốn ngăn chặn các workload truy cập đến một số dịch vụ bên ngoài (vì lý do tuân thủ, bảo mật hoặc tiết kiệm chi phí).


🔹 Bước 1: Giới thiệu

  • Loại Quy Tắc Tường Lửa: Egress Deny Rule
  • Mục tiêu: Ngăn chặn lưu lượng ra ngoài từ VM đến một địa chỉ cụ thể (website hoặc dải IP).
  • Trường hợp sử dụng: Hạn chế máy chủ truy cập vào các trang web bên ngoài (như GitHub, mạng xã hội, hoặc các miền cụ thể).

🔹 Bước 2: Tạo Phiên Bản VM

Chúng ta sẽ tạo một VM có tên là myvm5-egress và kiểm tra kết nối ra ngoài.

bash Copy
# Đặt Dự Án 
gcloud config set project gcpdemos

# Tạo VM trong mysubnet1 
gcloud compute instances create myvm5-egress \
    --zone=us-central1-a \
    --machine-type=e2-micro \
    --network-interface=subnet=mysubnet1 

# Liệt kê các VM
gcloud compute instances list   

# Kết nối đến VM
gcloud compute ssh --zone "us-central1-a" "myvm5-egress" --project "gcpdemos"

# Cài đặt gói cần thiết để kiểm tra
sudo apt install -y dnsutils
sudo apt install -y telnet

Chạy Các Bài Kiểm Tra Trước Khi Thiết Lập Quy Tắc Tường Lửa

bash Copy
# Giải quyết tên miền thành IP
nslookup stacksimplify.com

# Kiểm tra kết nối
telnet stacksimplify.com 80
telnet stacksimplify.com 443
ping stacksimplify.com

🔍 Quan Sát (Trước Quy Tắc):

  • Telnet đến cổng 80 và 443 → ✅ Thành công
  • ICMP (ping) → ✅ Thành công

🔹 Bước 3: Tạo Quy Tắc Tường Lửa Egress Deny

Bây giờ chúng ta sẽ chặn tất cả lưu lượng ra ngoài từ các VM trong VPC đến stacksimplify.com.

  • Tên: fw-egress-deny-80-443-icmp
  • Mô tả: Ngăn chặn lưu lượng ra ngoài đến đích stacksimplify.com trên cổng 80, 443 và ICMP
  • Mạng: vpc2-custom
  • Độ ưu tiên: 1000
  • Hướng: Egress
  • Hành động: Deny
  • Đối tượng: Tất cả các phiên bản trong mạng
  • Bộ lọc đích: 99.84.160.0/24 (từ nslookup stacksimplify.com)
  • Giao thức/Cổng: TCP: 80, 443; Khác: ICMP

🔹 Bước 4: Thực Hiện Kiểm Tra Sau Khi Thiết Lập Quy Tắc Tường Lửa

Chạy lại các lệnh sau:

bash Copy
telnet stacksimplify.com 80
telnet stacksimplify.com 443
ping stacksimplify.com

🔍 Quan Sát (Sau Quy Tắc):

  • Telnet đến cổng 80 và 443 → ❌ Thất bại
  • ICMP (ping) → ❌ Thất bại

Lưu lượng ra ngoài bây giờ đã bị chặn như mong đợi.


🔹 Bước 5: Dọn Dẹp

bash Copy
# Xóa quy tắc tường lửa
gcloud compute firewall-rules delete fw-egress-deny-80-443-icmp

# Xóa VM
gcloud compute instances delete myvm5-egress --zone=us-central1-a

🔹 Phân Tích Thực Tế

  • Hãy tưởng tượng quy tắc egress deny giống như một tường lửa của công ty ngăn chặn nhân viên truy cập vào một số trang web nhất định.
  • Không có quy tắc → nhân viên (VM) có thể truy cập mọi nơi.
  • Với egress deny → truy cập đến “các trang bị hạn chế” (như mạng xã hội, phát trực tuyến, hoặc các IP cụ thể) bị chặn.

✅ Tóm Tắt

  • Mặc định, Google Cloud cho phép lưu lượng ra ngoài.
  • Quy tắc tường lửa egress deny cho phép bạn chặn lưu lượng không mong muốn đến các địa chỉ cụ thể.
  • Điều này rất cần thiết cho bảo mật, tuân thủ và quản lý trong các môi trường đám mây.

Các Thực Hành Tốt Nhất

  1. Đánh giá chính xác yêu cầu kết nối: Trước khi tạo quy tắc, hãy xem xét kỹ lưỡng các dịch vụ bên ngoài mà VM của bạn cần truy cập.
  2. Sử dụng độ ưu tiên hợp lý: Đặt độ ưu tiên cho quy tắc tường lửa một cách cẩn thận để đảm bảo các quy tắc khác không bị ảnh hưởng.
  3. Kiểm tra định kỳ: Thực hiện kiểm tra định kỳ để đảm bảo quy tắc tường lửa đang hoạt động như mong đợi.

Những Cạm Bẫy Thường Gặp

  • Thiếu sót trong việc cập nhật quy tắc: Cần thường xuyên cập nhật quy tắc tường lửa khi có sự thay đổi trong các yêu cầu kết nối của ứng dụng.
  • Cấu hình sai địa chỉ đích: Đảm bảo rằng địa chỉ mà bạn muốn chặn là chính xác, tránh việc chặn nhầm các dịch vụ cần thiết.

Mẹo Tối Ưu Hiệu Suất

  • Theo dõi lưu lượng: Sử dụng các công cụ giám sát để theo dõi lưu lượng ra ngoài và xác định những quy tắc cần điều chỉnh.
  • Sử dụng nhóm quy tắc: Nếu có nhiều quy tắc tương tự, hãy nhóm chúng lại để dễ quản lý hơn.

Giải Quyết Sự Cố

  1. Không thể kết nối đến địa chỉ mong muốn: Kiểm tra lại quy tắc tường lửa và đảm bảo rằng nó không chặn các địa chỉ cần thiết.
  2. Quy tắc không hoạt động: Đảm bảo rằng quy tắc có độ ưu tiên cao hơn các quy tắc khác có thể cho phép lưu lượng ra ngoài.

FAQ

Q: Quy tắc tường lửa có thể áp dụng cho các loại dịch vụ nào?
A: Quy tắc tường lửa có thể áp dụng cho tất cả các dịch vụ trong Google Cloud, bao gồm cả Compute Engine, Kubernetes Engine và App Engine.

Q: Làm thế nào để xóa một quy tắc tường lửa?
A: Bạn có thể sử dụng lệnh gcloud compute firewall-rules delete để xóa quy tắc tường lửa.

Q: Quy tắc tường lửa có thể được áp dụng cho một số VM nhất định không?
A: Có, bạn có thể chỉ định các đối tượng cụ thể khi tạo quy tắc tường lửa.


Hãy bắt đầu bảo vệ hạ tầng đám mây của bạn ngay hôm nay bằng cách áp dụng các quy tắc tường lửa phù hợp!

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào