Giới thiệu về Nhóm bảo mật mạng (NSG)
Nhóm bảo mật mạng (Network Security Group - NSG) là một tường lửa ảo giúp kiểm soát lưu lượng mạng đến và từ các tài nguyên trong môi trường đám mây, chẳng hạn như mạng ảo. NSG sử dụng một tập hợp các quy tắc kiểm soát truy cập để cho phép hoặc từ chối lưu lượng mạng dựa trên các tiêu chí như địa chỉ IP nguồn/đích, cổng và giao thức.
Cách hoạt động của NSG
NSG hoạt động dựa trên một tập hợp các quy tắc bảo mật xác định lưu lượng nào được phép. Những quy tắc này được xử lý theo thứ tự ưu tiên, với số nhỏ nhất có ưu tiên cao nhất. Khi một quy tắc khớp với một gói lưu lượng, việc xử lý sẽ dừng lại.
Các thành phần của một quy tắc NSG:
- Hướng: Quy tắc áp dụng cho lưu lượng vào (inbound) hay ra (outbound).
- Nguồn/Đích: Có thể là một địa chỉ IP cụ thể, một dải địa chỉ IP (sử dụng định dạng CIDR), hoặc một Service Tag đại diện cho một nhóm tiền tố IP cho một dịch vụ Azure.
- Dải cổng: Một cổng cụ thể (ví dụ: 80) hoặc một dải cổng (ví dụ: 1000-2000).
- Giao thức: Xác định giao thức để khớp, như TCP, UDP hoặc ICMP.
- Hành động: Hành động thực hiện với lưu lượng nếu nó khớp với quy tắc, có thể là "Cho phép" hoặc "Từ chối".
Các khái niệm chính về NSG
- Quy tắc mặc định: NSG đi kèm với một tập hợp các quy tắc mặc định không thể bị xóa nhưng có thể bị ghi đè bởi các quy tắc do người dùng tạo với ưu tiên cao hơn.
- Lọc trạng thái (Stateful filtering): NSG là "stateful", có nghĩa là nếu một kết nối ra (outbound) được cho phép, tường lửa tự động cho phép lưu lượng vào (inbound) trả về cho kết nối đó. Bạn không cần một quy tắc vào riêng cho nó.
- Nhóm bảo mật ứng dụng (ASG): Một tính năng liên quan cho phép bạn nhóm các máy ảo theo ứng dụng hoặc vai trò, thay vì theo địa chỉ IP. Bạn có thể sử dụng ASG trong các quy tắc NSG, giúp đơn giản hóa việc quản lý và đảm bảo các chính sách bảo mật nhất quán.
- Nhật ký lưu lượng (Flow logs): Một tính năng ghi lại thông tin về lưu lượng IP đi qua một NSG, bao gồm chi tiết nguồn/đích và liệu lưu lượng đó có được phép hay không. Dữ liệu này hữu ích cho việc theo dõi và khắc phục sự cố lưu lượng mạng.
Kịch bản thực tế
Trong bài viết này, chúng ta sẽ tạo và cấu hình một nhóm bảo mật mạng dựa trên một kịch bản của một tổ chức yêu cầu kiểm soát chặt chẽ lưu lượng mạng trong mạng ứng dụng (app-vnet). Để làm điều đó, chúng ta phải đáp ứng các yêu cầu sau:
- Mạng con frontend có các máy chủ web có thể truy cập từ internet. Một nhóm bảo mật ứng dụng (ASG) là cần thiết cho những máy chủ này. ASG nên được liên kết với bất kỳ giao diện máy ảo nào trong nhóm.
- Mạng con backend có các máy chủ cơ sở dữ liệu được sử dụng bởi các máy chủ web ở frontend. Một nhóm bảo mật mạng (NSG) là cần thiết để kiểm soát lưu lượng này. NSG nên được liên kết với bất kỳ giao diện máy ảo nào sẽ được truy cập bởi các máy chủ web.
Các bước thực hiện
-
Tạo máy ảo VM1 với Ubuntu server, và liên kết tới mạng con frontend và mạng ảo app-vnet.
- Trong cổng Azure, tìm kiếm máy ảo và chọn máy ảo đã xám.
- Chọn +Tạo và chọn Máy ảo.
- Trong phần Cơ bản, điền thông tin dự án bằng cách chọn Nhóm tài nguyên, Tên máy ảo, Khu vực, Tùy chọn khả dụng, Vùng khả dụng, Hình ảnh, Kích thước.
- Trong phần Tài khoản quản trị, chọn mật khẩu rồi điền Tên người dùng và Mật khẩu.
- Trong phần Quy tắc cổng vào, chọn Không có.
- Trong phần Mạng, chọn mạng ảo app-vnet và mạng con frontend. Để mặc định cho phần còn lại.
- Chọn Xem + Tạo.
- Sau khi xác thực, chọn Tạo và chờ đợi triển khai.
-
Tạo máy ảo VM2 với Ubuntu server, và liên kết tới mạng con backend và mạng ảo app-vnet. Thực hiện tương tự như bước trên.
-
Xác minh cả hai máy ảo VM1 và VM2 đang hoạt động. Sau đó, tạo một Nhóm bảo mật ứng dụng. Nhóm bảo mật ứng dụng (ASGs) cho phép bạn nhóm các máy chủ có chức năng tương tự.
Tạo Nhóm bảo mật ứng dụng (ASG)
- Trong cổng, tìm kiếm và chọn Nhóm bảo mật ứng dụng.
- Chọn + Tạo.
- Cấu hình nhóm bảo mật ứng dụng:
- Đăng ký: Đăng ký 1
- Nhóm tài nguyên: RG1
- Tên: app-frontend-asg
- Khu vực: Đông Mỹ
- Chọn Xem + Tạo.
- Chọn Tạo.
Lưu ý: Bạn đang tạo nhóm bảo mật ứng dụng trong cùng khu vực với mạng ảo đã tồn tại.
Liên kết nhóm bảo mật ứng dụng với giao diện mạng của VM
- Trong cổng Azure, tìm kiếm và chọn VM1.
- Trong phần Mạng, chọn Nhóm bảo mật ứng dụng và sau đó chọn Thêm nhóm bảo mật ứng dụng.
- Chọn app-frontend-asg và sau đó chọn Thêm.
Tạo và liên kết Nhóm bảo mật mạng (NSG)
- Trong cổng, tìm kiếm và chọn Nhóm bảo mật mạng.
- Chọn + Tạo.
- Cấu hình nhóm bảo mật mạng:
- Đăng ký: Đăng ký 1
- Nhóm tài nguyên: RG1
- Tên: app-vnet-nsg
- Khu vực: Đông Mỹ
- Chọn Xem + Tạo.
- Chọn Tạo sau khi xác thực.
Liên kết NSG với mạng con backend của app-vnet
- Chọn đi đến tài nguyên hoặc điều hướng đến tài nguyên app-vnet-nsg. Trong phần Cài đặt, chọn Mạng con.
- Chọn + Liên kết.
- Chọn app-vnet (RG1) và sau đó là Mạng con Backend. Chọn OK.
Tạo Quy tắc Nhóm bảo mật mạng
- Trong hộp tìm kiếm ở đầu cổng, nhập Nhóm bảo mật mạng. Chọn Nhóm bảo mật mạng trong kết quả tìm kiếm.
- Chọn app-vnet-nsg từ danh sách các nhóm bảo mật mạng.
- Trong phần Cài đặt, chọn Quy tắc bảo mật vào.
- Chọn + Thêm.
- Cấu hình một quy tắc bảo mật vào và Thêm.
Các thực tiễn tốt nhất
- Luôn kiểm tra các quy tắc NSG trong môi trường phát triển trước khi triển khai vào sản xuất.
- Sử dụng nhóm bảo mật ứng dụng để quản lý các máy chủ theo chức năng, giúp dễ dàng hơn trong việc cập nhật và quản lý quy tắc bảo mật.
Những cạm bẫy thường gặp
- Không thiết lập quy tắc cho phép lưu lượng hồi phục cho các kết nối outbound.
- Quên kiểm tra các quy tắc mặc định của NSG, dẫn đến việc lưu lượng không được phép vào hoặc ra.
Mẹo hiệu suất
- Cố gắng tối ưu hóa quy tắc NSG bằng cách giảm thiểu số lượng quy tắc bằng cách nhóm các máy chủ tương tự vào cùng một ASG.
Giải quyết sự cố
- Kiểm tra nhật ký lưu lượng để xác định xem liệu lưu lượng đã bị từ chối hay không và nguyên nhân từ đâu.
Kết luận
Việc tạo và cấu hình nhóm bảo mật mạng là một phần quan trọng trong việc đảm bảo an toàn cho các tài nguyên trong môi trường đám mây. Bằng cách làm theo các bước đã hướng dẫn, bạn có thể kiểm soát lưu lượng mạng một cách hiệu quả, bảo vệ các dịch vụ của mình khỏi các mối đe dọa bên ngoài. Hãy bắt đầu ngay hôm nay để bảo vệ hạ tầng của bạn!
Câu hỏi thường gặp (FAQ)
- NSG có thể áp dụng cho những gì?
- NSG có thể áp dụng cho các mạng con và các giao diện mạng của máy ảo trong Azure.
- Có thể có bao nhiêu quy tắc trong một NSG?
- Một NSG có thể có tối đa 400 quy tắc.
- Làm thế nào để kiểm tra xem quy tắc NSG đã hoạt động hay chưa?
- Bạn có thể kiểm tra nhật ký lưu lượng để xem lưu lượng có bị từ chối hay không.
Hãy đảm bảo theo dõi các tài liệu của Azure để cập nhật các thay đổi và cải tiến mới nhất trong việc quản lý bảo mật mạng.