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

Cách Thiết Lập Quy Tắc Tường Lửa VPC Google Cloud với Tài Khoản Dịch Vụ

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

• 5 phút đọc

Giới thiệu

Trong bài viết này, chúng ta sẽ khám phá cách thiết lập quy tắc tường lửa cho Google Cloud VPC với mục tiêu là tài khoản dịch vụ. Quy tắc này cho phép bạn áp dụng các quy tắc tường lửa cho tất cả các phiên bản máy ảo (VM) chạy với một tài khoản dịch vụ cụ thể, bất kể tên hay thẻ của chúng. Điều này rất hữu ích khi quản lý quyền truy cập dựa trên danh tính khối lượng công việc thay vì các thẻ tĩnh.

Mục lục

Bước 1: Tạo phiên bản VM

Để bắt đầu, chúng ta sẽ tạo một phiên bản VM và tải lên kịch bản khởi động nginx-webserver.sh để triển khai một máy chủ web Nginx. Dưới đây là nội dung của kịch bản:

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 - WebVM App1 </h1> 
<p><strong>Hostname 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 - Demo</p> 
</body></html>" | sudo tee /var/www/html/index.html

Tạo VM trong subnet tùy chỉnh:

Chạy lệnh sau để tạo một phiên bản VM:

bash Copy
gcloud compute instances create myvm3-service-accounts \
    --zone=us-central1-a \
    --machine-type=e2-micro \
    --network-interface=subnet=mysubnet1 \
    --metadata-from-file=startup-script=nginx-webserver.sh

Xác minh phiên bản:

Sau khi tạo xong, bạn có thể xác minh các phiên bản bằng lệnh sau:

bash Copy
gcloud compute instances list

Kiểm tra quyền truy cập trước quy tắc tường lửa:

Trước khi thiết lập quy tắc tường lửa, chúng ta sẽ kiểm tra quyền truy cập:

bash Copy
telnet <ĐỊA_CHỈ_IP_CÔNG_KHAI> 80   # Nên thất bại
curl <ĐỊA_CHỈ_IP_CÔNG_KHAI>        # Nên thất bại

Nhận xét: Quyền truy cập bị từ chối → chưa có quy tắc ingress cho cổng 80.

Bước 2: Tạo quy tắc tường lửa Ingress

Để tạo quy tắc tường lửa, bạn truy cập vào VPC Networks → vpc2-custom → FIREWALLS → THÊM QUY TẮC TƯỜNG LỬA.

  • Tên: fw-ingress-80-service-accounts
  • Mô tả: Cho phép lưu lượng đến cổng 80 cho tất cả các phiên bản với tài khoản dịch vụ đã chỉ định
  • Mạng: vpc2-custom
  • Độ ưu tiên: 1000
  • Hướng: Ingress
  • Hành động khi khớp: Cho phép
  • Mục tiêu: Tài khoản dịch vụ đã chỉ định
  • Phạm vi tài khoản dịch vụ: Trong dự án này
  • Tài khoản dịch vụ mục tiêu: Tài khoản dịch vụ mặc định của Compute Engine (hoặc bất kỳ SA tùy chỉnh nào)
  • Bộ lọc nguồn: Dải IPv4
  • Dải IPv4 nguồn: 0.0.0.0/0
  • Giao thức và cổng: TCP → 80

Nhấn Tạo để hoàn tất.

Bước 3: Truy cập ứng dụng đã triển khai trên VM

Sau khi tạo quy tắc tường lửa, hãy kiểm tra lại danh sách VM:

bash Copy
gcloud compute instances list

Kiểm tra quyền truy cập sau quy tắc tường lửa:

Chạy các lệnh sau để kiểm tra:

bash Copy
telnet <ĐỊA_CHỈ_IP_CÔNG_KHAI> 80   # Nên kết nối
curl <ĐỊA_CHỈ_IP_CÔNG_KHAI>        # Nên hiển thị trang HTML

Truy cập qua trình duyệt:

Mở trình duyệt và nhập địa chỉ:

Copy
http://<ĐỊA_CHỈ_IP_CÔNG_KHAI>

Nhận xét: Ứng dụng có thể truy cập được vì VM đang sử dụng tài khoản dịch vụ phù hợp với quy tắc tường lửa.

Bước 4: Dọn dẹp

Sau khi hoàn tất thử nghiệm, bạn có thể dọn dẹp bằng cách xóa quy tắc tường lửa và phiên bản VM:

bash Copy
# Xóa quy tắc tường lửa
gcloud compute firewall-rules delete fw-ingress-80-service-accounts

# Xóa VM
gcloud compute instances delete myvm3-service-accounts \
    --zone=us-central1-a --delete-disks=all

✅ Bài học chính:

  • Tất cả các phiên bản: Nhanh chóng và rộng nhưng không an toàn.
  • Thẻ mục tiêu: Tốt hơn cho việc nhóm khối lượng công việc theo chức năng.
  • Tài khoản dịch vụ: Dựa trên danh tính, linh hoạt hơn, tốt nhất cho môi trường đám mây nơi các khối lượng công việc tự động kế thừa tài khoản dịch vụ.

Các thực tiễn tốt nhất

  • Xác định rõ ràng các quy tắc tường lửa: Đảm bảo rằng các quy tắc tường lửa của bạn được xác định rõ ràng và cụ thể cho từng loại tài khoản dịch vụ, giúp dễ dàng quản lý và bảo mật.
  • Ghi chú và tài liệu: Ghi chú rõ ràng về từng quy tắc tường lửa để dễ dàng theo dõi và bảo trì sau này.

Những cạm bẫy phổ biến

  • Quy tắc tường lửa quá rộng: Tránh việc tạo ra các quy tắc tường lửa quá rộng, điều này có thể gây ra lỗ hổng bảo mật cho hệ thống.
  • Không kiểm tra trước khi tạo: Luôn kiểm tra quyền truy cập trước khi triển khai quy tắc tường lửa mới để tránh gián đoạn dịch vụ.

Mẹo hiệu suất

  • Giám sát lưu lượng truy cập: Sử dụng các công cụ giám sát để theo dõi lưu lượng truy cập đến và đi từ các VM của bạn.
  • Tối ưu hóa quy tắc tường lửa: Xem xét việc tối ưu hóa các quy tắc tường lửa của bạn để giảm thiểu độ trễ và cải thiện hiệu suất tổng thể.

Khắc phục sự cố

  • Không thể truy cập ứng dụng: Nếu bạn không thể truy cập ứng dụng, hãy kiểm tra lại quy tắc tường lửa và đảm bảo rằng tài khoản dịch vụ đã được chỉ định đúng.
  • Lỗi kết nối: Nếu bạn gặp lỗi kết nối, hãy đảm bảo rằng cổng đã được mở và không có quy tắc nào chặn lưu lượng đến.

Câu hỏi thường gặp

  1. Quy tắc tường lửa là gì?
    Quy tắc tường lửa là các quy định được thiết lập để quản lý lưu lượng truy cập đến và đi từ các VM trong Google Cloud.
  2. Tại sao nên sử dụng tài khoản dịch vụ?
    Tài khoản dịch vụ giúp quản lý quyền truy cập dựa trên danh tính, linh hoạt và dễ dàng hơn so với các thẻ tĩnh.
  3. Có cách nào để kiểm tra quy tắc tường lửa không?
    Bạn có thể sử dụng các lệnh gcloud để liệt kê và kiểm tra các quy tắc tường lửa đã tạo.

Bằng cách làm theo các bước trong bài viết này, bạn sẽ có thể thiết lập và quản lý các quy tắc tường lửa cho Google Cloud VPC một cách hiệu quả và an toàn.

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