So sánh inbound và outbound rule năm 2024

Chào cả nhà, mình lại quay lại với series AWS. Bài này mục đích cũng là note lại các kiến thức mình học hỏi về AWS.

Bài hôm nay mình xin nói về cơ bản các giải pháp để security về Network trên AWS. Mình nghĩ nó sẽ rất hữu ích cho mọi người đó.

Network Security

So sánh inbound và outbound rule năm 2024

Đầu tiên phải nói qua về các firewall trên AWS Cloud đối với Server của bạn, ở đây là EC2.

NACL (Network ACL)

  • Được attach vào 1 subnet, vậy nên nó là subnet level hay subnet firewall
  • Là Stateless (tức là bạn phải định nghĩa rules cho cả inbound và outbound để cho phép traffic nào đó đi qua)
  • Chỉ có thể reference tới 1 CIDR range (không thể trỏ tới 1 host name)
  • Mặc định khi bạn 1 subnet thì default NACL là allow all Inbound, allow all outbound
  • Tạo mới 1 custom NACL: Denies all inbound, denies all outbound.
  • Usecase là khi muốn deny traffic đến từ 1 source nào đó.

Security Group

  • Được attach tới ENI (Elastic Network Interfaces) - interface này dùng để định nghĩa network cho các service như: EC2, RDS, Lambda trong VPC,…
  • Là Statefull, vậy nên bạn chỉ cần định nghĩa rules cho inbound traffi. Mặc định khi inbound trust thì outbound cho phép, vì thế outbound luôn là all traffic
  • Có thể tạo rule reference tới 1 CIDR range hoặc 1 security group ID (SG này phải cùng VPC, được hiểu là allow private ip)
  • Hỗ trợ security group để reference tới VPC Peering.
  • Mặc định tạo thì: inbound không allow rule nào cả, outbound thì allow all
  • Use case dùng khi muốn allow traffic đến từ một source nào đó.

Host Firewall

Và cuối cùng là firewall software được cài đặt trên chính instance của bạn. Khi bạn muốn tự quản lý, maintain cái firewall này. Thực ra khi sử dụng 2 giải pháp trên của AWS đã thực sự là tốt rồi. Giải pháp này chỉ cần dùng ở onpremise thôi. Ví dụ ở ubuntu có ufw software.

DDos

DDos?

So sánh inbound và outbound rule năm 2024

Trên mạng chắc sẽ có nhiều định nghĩa rồi, mình nói tóm tắt như sau:

  • Attacker sẽ cài virus lên các máy khách khắp thế giới, vì sao cài được thì ví dụ như bạn dùng các phần mềm crack chẳng hạn, giả dụ attacker là người cung cấp phần mềm crack đó, khi crack chúng ta cần allow các quyền, attacker lợi dụng để cài cắm luôn các virus. (tất nhiên còn nhiều cách khác)
  • Khi Attacker tấn công Application server, Attacker sẽ gửi yêu cầu tới các master server họ quản lý. Các master server này thực hiện yêu cầu hàng triệu các máy khách (các máy đã vô tình bị cài virus) thực hiện request đồng loạt tới Application Server. Từ đó Server của bạn sẽ bị thiếu tài nguyên, và downtime.
  • Các normal user sẽ không thể thực hiện truy cập vào hệ thống của bạn trong 1 khoảng thời gian. Có thể nói nó sẽ làm hạ uy tín của application của bạn.

Attack DDos Type

Mục đích chỉ là tạo nhiều request để chiếm hết tài nguyên.

Cách thức Distribute:

  • Phải nhận quá nhiều requests => Service của chúng ta bị unavailable
  • SYN Flood (Layer 4): gửi quá nhiều TCP connection requests
  • UDP Reflection (Layer 4): attacker sẽ sử dụng các server khác để gửi nhiều Big UDP requests
  • DNS flood attack: làm overhelm (kiểu như fllood, là tràn ngập) các DNS là cho các users thường không thể resolve domain để tìm được site của bạn.
  • Slow Loris attack: nhiều HTTP connection được mở và maintained

Application level attack:

  • Tạo các more complex, more specific (HTTP level) => kiểu tạo các action phức tạp ở hệ thống, truy vấn phức tạp.
  • Cache bursting strategies: làm cho backend và database bị overload, do làm vô hiệu hoá caching.

DDos Protection on AWS

Đầu tiên, mình muốn nói đến việc DDos attack là không thể giải quyết hoàn toàn mà chỉ có hạn chế thôi. Nhắc đến DDos attack, 1 giải pháp khá quen thuộc tức là bạn có thể dùng 1 thằng chuyên giải quyết là cloudflare, mình thấy giá cả cũng hợp lý hơn. Ở AWS cloud thì cũng có 1 dịch vụ giải quyết vấn đề DDos này, mặc dù giá cả khá chát với advanced mode. Nhưng nó dễ dàng tích hợp với các dịch vụ của AWS. => AWS Shield.

  • AWS Shield Standard: chống lại DDos Attack cho website application của bạn, cái này được áp dụng cho tất cả customer của AWS mà không mất phí
  • AWS Shield Advanced: Cái này mất phí, sẽ có đội ngũ 24/7 đảm bảo premium DDos protection. Tất nhiên giá chát.
  • AWS WAF: Filter specific requests based on rules
  • Cloudfront and Route53:
    • Bảo đảm tính Availability bằng cách sử dụng global edge network
    • Kết hợp với AWS Shield, cung cấp DDos attack migration ở các edge
  • Đảm bảo sẵn sàng scale - áp dụng AWS Auto Scaling
  • Với các static content request thì sử dụng static resources (S3/ Cloudfront), với dynamic request thì sử dụng (EC2/ ELB)
  • Tham khảo thêm sách trắng của AWS nhé https://d1.awsstatic.com/whitepapers/Security/DDoS_White_Paper.pdf

Hình dưới là 1 sample:

So sánh inbound và outbound rule năm 2024
Có thể thấy, mặc định sử dụng Route53 đã được tích hợp mặc định AWS Shield standard. Tiếp theo, sử dụng Cloudfront Distribution cũng được tích hợp mặc định AWS Shield Standard. Tiếp theo sử dụng Application Load Balancer cũng được tích hợp mặc định AWS Shield Standard. Cuối cùng, Auto Scaling Group của chúng ta phải đảm bảo sẵn sàng scale khi có DDos. Ngoài việc sử dụng AWS Shield standard, chúng ta có thể bỏ thêm chi phí để dùng AWS Shield Advanced để được support 24/7.

AWS Shield

Mình sẽ so sánh 2 mode của AWS Shield nhé:

AWS Shield Standard

  • Free service và được active với mọi customer của AWS
  • Cung cấp protect với các DDos attack là SYN/UDP Floods, Reflection attacks và các attack ở layer 3/layer 4 .

AWS Shield Advanced

  • Optional DDos migration service (3000$/month/organizer)
  • Chống lại tốt các attack lên EC2, ELB, Cloudfront, AWS Global Accelerator và Route53
  • 24/7 được hỗ trợ bởi team AWS DDos response team (DRP)
  • Chống lại việc tăng chi phí đột biến do DDos attack

AWS WAF - Web Application Firewall

Và 1 giải pháp làm firewall nữa, nó được tích hợp và đôi khi nhiều bạn lại nhầm lẫn nó chống được DDos. Nhưng không phải thế nhé. Sau đây là các features của nó:

  • Bảo vệ Web Application từ các common web exploits (khai thác ở Layer 7)
  • Deploy lên Application Load Balancer (localized rules)
  • Deploy lên API Gateway (rules chạy ở cấp region hoặc edge) - Sử dụng các giải pháp cho front khác như: CLB, EC2, custom origin, S3 website
  • WAF thì không phải là DDos protection
  • Định nghĩa Web ACL (Web Access Control List)
    • Rules có thể bao gồm: IP addresses, HTTP headers, HTTP body, URI string
    • Protect các common attack- SQL injection và Cross-Site Scripting (XSS)
    • Size constraints, Geo match
    • Rate-base rule (đếm số sự kiện xảy ra)

AWS Firewall Manager

Quản lý các rules của tất cả các account của AWS Organizer. Tức là quản lý hầu hết các rules ta vừa đọc.

  • Các security rules phổ biến
  • WAF rules (ALB, API Gateway, Cloudfront)
  • AWS Shield Advanced (ALB, CLB, Elastic IP, Cloudfront)
  • Security Groups cho EC2 và ENI resources trong VPC

Đây là Blog cá nhân của MinhHungTrinh, nơi mình chia sẻ, lưu giữ kiến thức. Nếu các bạn có góp ý, thắc mắc thì vui lòng comment bên dưới cho mình biết nhé. Mình luôn là người lắng nghe và ham học hỏi. Các vấn đề đặc biệt hoặc tế nhị mọi người có thể gửi email tới [email protected]. Cảm ơn Mọi Người đã đọc Blog của mình. Yolo!