الدرس 13 من 24

أمان الشبكة والبنية التحتية

معمارية VPC وتجزئة الشبكة

4 دقيقة للقراءة

السحابات الخاصة الافتراضية (VPCs) هي أساس أمان شبكة السحابة. التجزئة المناسبة تعزل أعباء العمل، تحد من نطاق الانفجار، وتنفذ الدفاع في العمق.

أساسيات VPC عبر المزودين

المفهومAWS VPCAzure VNetGCP VPC
عزل الشبكةVPCVirtual NetworkVPC Network
الشبكة الفرعيةSubnet (مرتبط بـ AZ)Subnet (منطقة)Subnet (منطقة)
جدول التوجيهRoute TableRoute TableRoutes
وصول الإنترنتInternet GatewayضمنيCloud NAT
الوصول الخاصNAT GatewayNAT GatewayCloud NAT
الاقترانVPC PeeringVNet PeeringVPC Peering

معمارية VPC آمنة

معمارية متعددة الطبقات

┌─────────────────────────────────────────────────────────────┐
│                         VPC (10.0.0.0/16)                    │
├─────────────────────────────────────────────────────────────┤
│  شبكة فرعية عامة (10.0.1.0/24)                               │
│  ┌─────────────────────────────────────────────────────┐    │
│  │  موازن التحميل، NAT Gateway، Bastion Host           │    │
│  └─────────────────────────────────────────────────────┘    │
├─────────────────────────────────────────────────────────────┤
│  شبكة فرعية خاصة - التطبيق (10.0.10.0/24)                   │
│  ┌─────────────────────────────────────────────────────┐    │
│  │  خوادم الويب، خوادم API، طبقة التطبيق               │    │
│  └─────────────────────────────────────────────────────┘    │
├─────────────────────────────────────────────────────────────┤
│  شبكة فرعية خاصة - البيانات (10.0.20.0/24)                  │
│  ┌─────────────────────────────────────────────────────┐    │
│  │  قواعد البيانات، الكاش، مخازن البيانات               │    │
│  └─────────────────────────────────────────────────────┘    │
└─────────────────────────────────────────────────────────────┘

تكوين AWS VPC

# Terraform - VPC آمن
resource "aws_vpc" "main" {
  cidr_block           = "10.0.0.0/16"
  enable_dns_hostnames = true
  enable_dns_support   = true

  tags = {
    Name = "production-vpc"
  }
}

# الشبكة الفرعية العامة
resource "aws_subnet" "public" {
  vpc_id                  = aws_vpc.main.id
  cidr_block              = "10.0.1.0/24"
  availability_zone       = "us-east-1a"
  map_public_ip_on_launch = false  # لا تعيين IP عام تلقائياً أبداً

  tags = {
    Name = "public-subnet"
    Tier = "public"
  }
}

# الشبكة الفرعية الخاصة - لا مسار إنترنت
resource "aws_subnet" "private" {
  vpc_id            = aws_vpc.main.id
  cidr_block        = "10.0.10.0/24"
  availability_zone = "us-east-1a"

  tags = {
    Name = "private-subnet"
    Tier = "private"
  }
}

تكوين Azure VNet

# إنشاء VNet مع شبكات فرعية
az network vnet create \
    --name production-vnet \
    --resource-group myRG \
    --address-prefix 10.0.0.0/16 \
    --subnet-name public-subnet \
    --subnet-prefix 10.0.1.0/24

# إضافة شبكة فرعية خاصة
az network vnet subnet create \
    --name private-subnet \
    --vnet-name production-vnet \
    --resource-group myRG \
    --address-prefix 10.0.10.0/24

تكوين GCP VPC

# إنشاء VPC مخصص
gcloud compute networks create production-vpc \
    --subnet-mode=custom

# إنشاء الشبكات الفرعية
gcloud compute networks subnets create public-subnet \
    --network=production-vpc \
    --region=us-central1 \
    --range=10.0.1.0/24

gcloud compute networks subnets create private-subnet \
    --network=production-vpc \
    --region=us-central1 \
    --range=10.0.10.0/24 \
    --enable-private-ip-google-access

أفضل ممارسات تجزئة الشبكة

الحد من نطاق الانفجار

كل بيئة عمل يجب أن تكون معزولة:

البيئةVPC/VNetالاقترانالغرض
الإنتاجprod-vpcمحدودأعباء العمل الحية
التجريبstaging-vpcلـ prod (قراءة فقط)اختبار ما قبل الإنتاج
التطويرdev-vpcلا شيءصناديق رمل المطورين
الخدمات المشتركةshared-vpcمحورDNS، التسجيل، الأمان

التجزئة الدقيقة

ما وراء تجزئة الشبكة التقليدية:

تقليدي: الشبكة → الشبكة الفرعية → المضيف
سحابي أصلي: الشبكة → الشبكة الفرعية → مجموعة الأمان → التطبيق

مجموعات الأمان توفر تجزئة على مستوى التطبيق:

  • طبقة الويب: تقبل فقط 443 من موازن التحميل
  • طبقة التطبيق: تقبل فقط من طبقة الويب على منفذ محدد
  • طبقة البيانات: تقبل فقط من طبقة التطبيق على منفذ قاعدة البيانات

سجلات تدفق VPC

ضرورية لرؤية الشبكة:

# AWS - تفعيل VPC Flow Logs
aws ec2 create-flow-logs \
    --resource-type VPC \
    --resource-ids vpc-12345678 \
    --traffic-type ALL \
    --log-destination-type cloud-watch-logs \
    --log-group-name vpc-flow-logs

# Azure - تفعيل NSG Flow Logs
az network watcher flow-log create \
    --name myFlowLog \
    --nsg myNSG \
    --resource-group myRG \
    --storage-account myStorageAccount \
    --enabled true

# GCP - تفعيل VPC Flow Logs على الشبكة الفرعية
gcloud compute networks subnets update private-subnet \
    --region=us-central1 \
    --enable-flow-logs

الاتصال الخاص

إبقاء حركة المرور بعيداً عن الإنترنت العام:

الخدمةAWSAzureGCP
التخزينS3 Gateway EndpointPrivate EndpointPrivate Service Connect
قاعدة البياناتRDS عبر Interface EndpointPrivate EndpointPrivate Service Connect
APIsAPI Gateway PrivatePrivate EndpointPrivate Service Connect

التالي، سنكون مجموعات الأمان و NACLs للتحكم الدقيق في حركة المرور. :::

مراجعة سريعة: كيف تجد هذا الدرس؟

اختبار

الوحدة 4: أمان الشبكة والبنية التحتية

خذ الاختبار
نشرة أسبوعية مجانية

ابقَ على مسار النيرد

بريد واحد أسبوعياً — دورات، مقالات معمّقة، أدوات، وتجارب ذكاء اصطناعي.

بدون إزعاج. إلغاء الاشتراك في أي وقت.