- vừa được xem lúc

AWS Security Groups - Câu chuyện về bảo mật trên "mây"

0 0 17

Người đăng: Pham Hieu

Theo Viblo Asia

Giới thiệu về AWS Security Groups

Security groups là một thành phần quan trọng cần lưu ý khi tiếp cận với bất cứ dịch vụ nào của AWS. Nhìn chung, Security Groups có thể được hiểu theo các ý tưởng sau:

  • Security Groups là nền tảng cơ bản của network security trong AWS.
  • Security Groups sẽ chịu trách nhiệm kiểm soát các luồng truy cập vào/ra của các máy chủ EC2.

AWS Security Groups

  • Security Groups chỉ bao gồm các "allow" rule. (Những rule không xuất hiện trong Security Groups sẽ bị deny).
  • Có thể cấu hình Security Groups thông qua IP hoặc các Security Group khác.
  • Thông thường, mỗi EC2 Instance sẽ có thể cấu hình lên tới 5000 Security Groups trên mỗi khu vực (region), mỗi Group cho phép cấu hình 60 Inbound (request đến) và 60 Outbound (request đi) Rules.
  • Mỗi Security Group có thể được áp dụng cho nhiều EC2 Instances.

Xem thêm về EC2 Instance: Giới thiệu về AWS - EC2

Security Groups "Deeper Dive"

Đi sâu hơn (Depper Dive) vào Security Groups, chúng ta sẽ tìm hiểu xem cách mà các Security Group bảo vệ các máy chủ EC2
Như đã nói ở phần mở đầu, các Security Groups hoạt động như một tường lửa nhằm bảo vệ các hệ thống phía sau, cụ thể ở đây là các EC2 Instances. Tại đây, chúng ta có thể cấu hình các rule liên quan đến nhiều yếu tố cơ bản để truy cập vào một máy chủ thông thường như dưới đây:

  • Truy cập đến các Ports
  • Cấp quyền truy cập cho các địa chỉ IP xác định. Tính năng này hỗ trợ cả IPv4 lẫn IPv6.
  • Kiểm soát các request từ bên ngoài đến các EC2 Instances (Inbound Request) và ngược lại (Outbound Request).
  • Kiểm soát chi tiết các giao thức có thể kết nối đến các EC2 Instances (Ví dụ SSH, SCP, TCP...).

inbound

Để hiểu rõ hơn về cách mà Security Groups hoạt động, sơ đồ phía dưới trình bày cách mà các Security Groups cấp phép hoặc reject các request đến các EC2 Instances. Tất cả các request đến (inbound) và đi (outbound) đều được kiểm soát chặt chẽ thông qua các Security Groups này.

Diagram

Thông qua diagram phía trên, chúng ta có thể rút ra được các yếu tố chính cần lưu ý đối với Security Groups:

  • Một Security Group có thể được gắn cho nhiều Instance.
  • Mặc định, các Security Group sẽ không cho phép các request đến (inbound) và đi (outbound) từ các Region/VPC khác của AWS (tuy nhiên có thể giải quyết tình trạng này thông qua các jump host/bastion server, VPN, hoặc VPC peering).
  • Đối với các request đi (outbound), nếu chúng bị chặn bởi các Security Groups, máy chủ EC2 sẽ hoàn toàn không thể "nhìn" thấy được đích đến. (Request sẽ bị chặn hoàn toàn, đối với EC2 Instance bị chặn, đích đến kia sẽ bị coi là không tồn tại)
  • Nên thiết lập riêng một Security Group độc lập cho các tác vụ liên quan đến SSH. Điều này là vô cùng quan trọng để tránh các tác động không mong muốn đến các rule này khi thay đổi các rule khác trong Security Group. Việc các rule SSH bị ảnh hưởng dẫn đến việc không thể truy cập vào Instance thông qua SSH có thể gây nhiều phiền toái không đáng có.
  • Trong trường hợp ứng dụng của bạn không thể truy cập (timeout), lỗi này thường đến từ các Security Groups.
  • Trong trường hợp gặp lỗi connection refused, lỗi này không đến từ các Security Groups mà thường do lỗi của ứng dụng hoặc đơn giản chúng đang không hoạt động.
  • Mặc định, tất cả các request tới (inbound traffic) sẽ bị chặn, trong khi tất cả các request đi (outbound traffic) sẽ được mở.

ref-other

Thông thường, ngoại trừ các Application Port có thể cấu hình tùy ý, cần lưu ý và tránh một số port mặc định của các giao thức thông dụng như sau:

  • 22 = SSH (Secure Shell) - Truy cập vào các Instance Linux (Windows Server và MacOS có thể cần cài đặt SSH Server)
  • 21 = FTP (File Transfer Protocol) - upload files thông qua file share
  • 22 = SFTP (Secure File Transfer Protocol) - Upload file thông qua SSH
  • 80 = HTTP – access unsecured websites - Truy cập các website không sử dụng SSL
  • 443 = HTTPS – access secured websites -Truy cập các website có sử dụng SSL
  • 3389 = RDP (Remote Desktop Protocol) - Windows hoặc MacOS

Bình luận

Bài viết tương tự

- vừa được xem lúc

PDF Export, cẩn thận với những input có thể truyền vào

Giới thiệu. Dạo gần đây mình tình cờ gặp rất nhiều lỗi XSS, tuy nhiên trang đó lại có sử dụng dữ liệu người dùng input vào để export ra PDF.

0 0 66

- vừa được xem lúc

Giới thiệu về AWS Batch

Khi sử dụng hệ thống cloud service, điều chúng ta thường phải quan tâm đến không chỉ là hiệu suất hoạt động (performance) mà còn phải chú ý đến cả chi phí bỏ ra để duy trì hoạt động của hệ thống. Chắn hẳn là hệ thống lớn hay nhỏ nào cũng đã từng phải dùng đến những instance chuyên để chạy batch thực

0 0 143

- vừa được xem lúc

Tìm hiểu về AWS KMS

1. AWS KMS là gì. Ở KMS bạn có thể lựa chọn tạo symetric key (khóa đối xứng) hoặc asymetric key (khóa bất đối xứng) để làm CMK (Customer Master Key). Sau khi tạo key thì có thể thiết đặt key policy để control quyền access và sử dụng key.

0 0 66

- vừa được xem lúc

AWS VPC cho người mới bắt đầu

Tuần này, tôi trình bày lại những gì tôi đã học được về Virtual Private Cloud (VPC) của Amazon. Nếu bạn muốn xem những gì tôi đã học được về AWS, hãy xem Tổng quan về DynamoDB và Tổng quan về S3. VPC là gì. Những điều cần lưu ý:.

0 0 84

- vừa được xem lúc

AWS Essentials (Phần 6): Guildline SNS Basic trên AWS

Tiếp tục với chuỗi bài viết về Basic AWS Setting, chúng ta tiếp tục tìm hiểu tiếp tới SNS (Simple Notification Service). Đây là một service của AWS cho phép người dùng setting thực hiện gửi email, text message hay push notification tự động tới mobile device dựa trên event người dùng setting phía AWS

0 0 145

- vừa được xem lúc

Sử dụng Amazon CloudFront Content Delivery Network với Private S3 Bucket — Signing URLs

Trong nhiều trường hợp, thì việc sử dụng CDN là bắt buộc. Mình đã trải nghiệm với một số CDN nhưng cuối cùng mình lựa chọn sử dụng AWS CloudFront.

0 0 118