0
0
Lập trình
Harry Tran
Harry Tran106580903228332612117

Cấu Hình Quy Tắc Tường Lửa VPC Google Cloud với Lọc Đích

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

• 4 phút đọc

Hướng Dẫn Cấu Hình Quy Tắc Tường Lửa VPC Google Cloud với Lọc Đích

Trong bài viết này, chúng ta sẽ cùng nhau tìm hiểu cách cấu hình quy tắc tường lửa VPC trên Google Cloud bằng cách sử dụng lọc đích (Destination Filter). Việc này cực kỳ quan trọng để bảo vệ và kiểm soát lưu lượng truy cập vào các máy chủ ảo (VM) trong mạng VPC của bạn.

Mục Tiêu

Mục tiêu chính của hướng dẫn này là cho phép lưu lượng truy cập chỉ đến các VM cụ thể bên trong VPC dựa trên địa chỉ IP đích của chúng. Điều này hữu ích khi bạn muốn chỉ cung cấp quyền truy cập cho một VM cụ thể từ Internet trong khi giữ các VM khác trong cùng một subnet bị chặn.

Bảng Nội Dung

Bước 1: Tạo Hai VM

Chúng ta sẽ tạo hai VM (VM1 và VM2) trong cùng một subnet (mysubnet1) và triển khai một máy chủ web nginx đơn giản bằng cách sử dụng một script khởi động.

Script khởi động: nginx-webserver.sh

bash Copy
#!/bin/bash
sudo apt install -y telnet
sudo apt install -y nginx
sudo systemctl enable nginx
sudo chmod -R 755 /var/www/html
HOSTNAME=$(hostname)
sudo echo "<!DOCTYPE html> <html> 
<body style='background-color:rgb(250, 210, 210);'> 
<h1>Chào mừng đến với Latchu@DevOps - Ứng dụng WebVM App1 </h1> 
<p><strong>Tên máy chủ VM:</strong> $HOSTNAME</p> 
<p><strong>Địa chỉ IP VM:</strong> $(hostname -I)</p> 
<p><strong>Phiên bản ứng dụng:</strong> V1</p> 
<p>Nền tảng Google Cloud - Các demo</p> 
</body></html>" | sudo tee /var/www/html/index.html

Lệnh Tạo VM

bash Copy
# Thiết lập dự án
gcloud config set project gcpdemos

# Tạo VM1
gcloud compute instances create myvm1-destination1 \
    --zone=us-central1-a \
    --machine-type=e2-micro \
    --network-interface=subnet=mysubnet1 \
    --metadata-from-file=startup-script=nginx-webserver.sh

# Tạo VM2
gcloud compute instances create myvm2-destination2 \
    --zone=us-central1-a \
    --machine-type=e2-micro \
    --network-interface=subnet=mysubnet1 \
    --metadata-from-file=startup-script=nginx-webserver.sh

Quan Sát

Cả hai VM1 và VM2 đã được khởi động, nhưng lưu lượng HTTP (cổng 80) sẽ không thành công vì chưa có quy tắc tường lửa nào tồn tại.

Bước 2: Tạo Quy Tắc Tường Lửa với Lọc Đích

Chúng ta sẽ tạo một quy tắc tường lửa để cho phép lưu lượng HTTP chỉ đến VM1 (sử dụng địa chỉ IP nội bộ của nó).

Cấu Hình Quy Tắc Tường Lửa

  • Tên: fw-ingress-80-destination-filter
  • Mạng: vpc2-custom
  • Ưu tiên: 1000
  • Hướng: Ingress
  • Hành động: Allow
  • Mục tiêu: Tất cả các máy chủ trong mạng
  • Nguồn: 0.0.0.0/0 (bất kỳ từ Internet)
  • Lọc đích: VM1_INTERNAL_IP/32 (ví dụ: 10.225.0.6/32)
  • Giao thức/Cổng: TCP:80

Tạo Quy Tắc

Chạy lệnh sau để tạo quy tắc:

bash Copy
gcloud compute firewall-rules create fw-ingress-80-destination-filter \
    --network vpc2-custom \
    --allow tcp:80 \
    --source-ranges 0.0.0.0/0 \
    --target-tags VM1_INTERNAL_TAG \
    --priority 1000

Bước 3: Kiểm Tra Quy Tắc Tường Lửa

Kiểm Tra VM1

bash Copy
telnet VM1_EXTERNAL_IP 80
curl VM1_EXTERNAL_IP
  • Kết quả: Thành công.
  • Truy cập trình duyệt: http://VM1_EXTERNAL_IP → ✅ Trang tải thành công.

Kiểm Tra VM2

bash Copy
telnet VM2_EXTERNAL_IP 80
curl VM2_EXTERNAL_IP
  • Kết quả: Thất bại.
  • Truy cập trình duyệt: http://VM2_EXTERNAL_IP → ❌ Trang không truy cập được.

Quan Sát

  • VM1 có thể truy cập vì IP của nó đã được cho phép trong quy tắc lọc đích.
  • VM2 bị chặn vì IP của nó không được bao gồm trong quy tắc tường lửa.

Bước 4: Thực Tế và Tóm Tắt

Như bạn thấy, quy tắc tường lửa GCP không chỉ có thể lọc lưu lượng dựa trên nguồn mà còn dựa trên đích. Bằng cách sử dụng các bộ lọc đích, chúng ta có thể kiểm soát chặt chẽ những VM nào trong một subnet được phép tiếp cận. Điều này cung cấp một lớp bảo mật bổ sung trong các môi trường nhiều VM.

Mẹo và Thực Hành Tốt

  • Luôn luôn kiểm tra các quy tắc tường lửa của bạn: Đảm bảo rằng lưu lượng truy cập đến là cần thiết và an toàn.
  • Ghi chú địa chỉ IP và các tag: Giúp dễ dàng quản lý và theo dõi trong tương lai.
  • Thực hiện kiểm tra định kỳ: Để xác minh rằng các quy tắc vẫn còn hợp lệ và không có lỗ hổng bảo mật nào xuất hiện.

Câu Hỏi Thường Gặp

1. Tôi có thể sử dụng nhiều quy tắc tường lửa không?

Có, bạn có thể tạo nhiều quy tắc cho các mục đích khác nhau và quản lý chúng một cách hiệu quả.

2. Có cách nào để kiểm tra các quy tắc tường lửa không?

Bạn có thể sử dụng lệnh gcloud compute firewall-rules list để xem tất cả các quy tắc hiện có.

3. Làm thế nào để xóa một quy tắc tường lửa?

Sử dụng lệnh gcloud compute firewall-rules delete [RULE_NAME] để xóa quy tắc không cần thiết.

Kết Luận

Cấu hình quy tắc tường lửa VPC trên Google Cloud với lọc đích là một kỹ thuật hiệu quả để bảo vệ các VM của bạn. Bằng cách chỉ cho phép lưu lượng truy cập đến những VM cụ thể, bạn có thể tăng cường bảo mật cho hạ tầng điện toán đám mây của mình. Hãy thử ngay hôm nay và đảm bảo rằng môi trường của bạn luôn được bảo vệ.

👉 Đừng quên theo dõi các bài viết tiếp theo để cập nhật thêm nhiều kiến thức thú vị về Google Cloud!

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