سیاست های فایروال و ACL ها
1) اهداف و اصول
فایروال/ACL کنترل هواپیما داده است: چه کسی، کجا، چه زمانی و در چه پروتکل می رود. اصول اساسی:- حداقل امتیاز: اجازه می دهد تنها لازم (اجازه صریح، ضمنی انکار).
- تقسیم بندی: جداسازی محیط ها (prod/stage/dev)، مستاجران، خطوط بحرانی (PCI/KMS/DB).
- کنترل خروج: ترافیک خروجی محدود به لیست FQDN/IP و نقاط انتهایی خصوصی است.
- آگاهی از هویت (L7): تصمیم گیری توسط نهاد معتبر (SPIFFE/OIDC) انجام می شود، نه فقط IP.
- زیرساخت به عنوان کد: قوانین به عنوان کد، بررسی/CI/CD، تغییرات حسابرسی.
2) طبقه بندی: کجا و چه چیزی را فیلتر می کنیم
2. 1 لایه ها و وضعیت
L3/L4 بدون حالت: ACL های کلاسیک (CIDR، پروتکل، پورت).
L3/L4 stateful: گروه های امنیتی/NSG، نظارت بر اتصالات.
L7-aware: پروکسی/WAF/مش RBAC (روش ها، مسیرها، ادعاهای JWT، SNI).
درون خطی در مقابل خارج از باند: فایروال درون خطی ترافیک را هدایت می کند ؛ خارج از باند - تجزیه و تحلیل/هشدار.
2. 2 کانتورها
محیط: لبه/WAF/ضد DDoS.
هسته: مرکز حمل و نقل/ меж -VPC/VNet.
حجم کار: SG/NSG на VM/ENI/POD.
سطح برنامه: سیاست نماینده/Istio/NGINX، سرویس به سرویس mTLS.
3) مدل های ابر
وب سایت ها
گروه امنیتی (SG): دارای وضعیت на ENI/instance/LB.
شبکه ACL (NACL): بدون حالت در زیر شبکه ها، ترتیب قوانین، ورودی های دو طرفه.
فایروال شبکه AWS/GWLB: L7 بازرسی/IDS.
توصیه: «SG - کنترل پایه، NACL - شمشیربازی درشت دانه/لیست انکار».
لاجورد
NSG (stateful), ASG (application groups by tag), Azure FW for L7/IDS, Private Endpoints.
توصیه: NSG در sabnet + NIC، برچسب های خدمات از طریق ASG.
GCP
VPC Firewall Rules (stateful), Hierarchical FW (organizational/folder), Cloud Armor (L7), Private Service Connect.
توصیه: guardrails سطح + پروژه اجازه می دهد.
4) طراحی قانون: الگوها
4. 1 مجموعه های اساسی
انکار تمام خروج → مجاز از طریق FQDN/IP به: مخازن دسته ای, ثبت مصنوع, API های شخص ثالث (از طریق خصوصی/خروجی ثابت).
حداقل شرق و غرب: خدمات فقط با وابستگی های لازم ارتباط برقرار می کنند.
دسترسی مدیر: از طریق سنگر/JIT با MFA، جلسات ضبط.
4. 2 برچسب ها و گروه ها
از برچسب ها/برچسب ها به جای IP استفاده کنید: 'env'، 'service'، 'tier'، 'tenant'، 'pci = true'.
به روز رسانی سیاست زمانی که برچسب تغییر می کند - بدون ویرایش دستی شبکه های IP.
4. 3 چرخه زندگی
پیشنهاد → ارزیابی (مرحله بندی) → اجرای (prod)، با سیاهههای مربوط به خشک اجرا/ضربه.
پیری: TTL/مالک برای هر قانون، خودکار چک کردن استفاده نشده است.
5) Kubernetes و مش سرویس
5. 1 سیاست شبکه (L3/L4)
حداقل «ممنوعیت همه چیز به جز آنچه مورد نیاز است».
yaml apiVersion: networking. k8s. io/v1 kind: NetworkPolicy metadata: { name: deny-all, namespace: core }
spec:
podSelector: {}
policyTypes: ["Ingress","Egress"]
kind: NetworkPolicy metadata: { name: api-egress }
spec:
podSelector: { matchLabels: { app: api } }
egress:
- to:
- namespaceSelector: { matchLabels: { ns: db } }
ports: [{ protocol: TCP, port: 5432 }]
- to:
- ipBlock: { cidr: 10. 100. 0. 0/16 } # Private endpoints ports: [{ protocol: TCP, port: 443 }]
5. 2 L7 RBAC مش в (Istio/Envoy)
مجوز mTLS + JWT/claims/scopes/paths.
yaml apiVersion: security. istio. io/v1 kind: AuthorizationPolicy metadata: { name: api-rbac }
spec:
selector: { matchLabels: { app: api } }
rules:
- from:
- source:
principals: ["spiffe://svc. payments"]
to:
- operation: { methods: ["POST"], paths: ["/v1/payouts"] }
when:
- key: request. headers[x-tenant]
values: ["eu-1","eu-2"]
6) کنترل خروج و محیط های خصوصی
PrivateLink/Private Service Connect over PaaS/registers/repositories را ترجیح دهید.
بقیه خروج از طریق NAT/پروکسی با allowlist FQDN و IP ثابت (برای allowlist شخص ثالث).
مسدود کردن دسترسی مستقیم pod/VM به اینترنت ؛ استثنائات فقط از طریق دروازه خروج.
7) قوانین DNS و SNI آگاه
تقسیم افق: مناطق داخلی از خارج حل نمی شوند.
FW/پروکسی با پشتیبانی FQDN/SNI برای خروجی HTTPS (SNI اجازه می دهد).
رفع سنجاق به دامنه فروشنده خاص ؛ نظارت بر تغییرات IP
8) گزارش ها، ممیزی، مشاهده پذیری
فعال کردن سیاهههای مربوط به جریان (VPC/VNet/NSG/NACL)، ارسال به SIEM.
همبستگی با برنامه های کاربردی از طریق 'trace _ id' در سیاهههای مربوط.
معیارها: قوانین hit/miss، top-talkers، drop-rates، عدم تقارن ترافیک، نشت خروجی.
گزارش ها: «قوانین استفاده نشده»، «گسترده ترین مجوزها».
9) مدیریت به عنوان کد (IaC) و چک
Terraform/CloudFormation + سیاست های مدولار توسط قالب ها.
خط مشی به عنوان کد (OPA/Gatekeeper/Conftest): بدون 0. 0. 0. 0/0 '، توضیحات مورد نیاز/مالک/ttl'، ممنوعیت مخلوط کردن تولید/dev.
CI: lint، تجزیه و تحلیل استاتیک، تجزیه و تحلیل قابلیت دسترسی، نمایش برنامه، بررسی همکار اجباری.
10) تست دستیابی و هرج و مرج
نمونه های مصنوعی از زیر شبکه های مختلف/AZ/مناطق: TCP/443، پورت های خاص پایگاه داده/کارگزاران.
انکار موقت برای بررسی مسیرهای DR: غیرفعال کردن → وابستگی باید باعث تلاش مجدد/مدار/بازپرداخت شود.
MTU/MSS: مطمئن شوید که هیچ تکه تکه شدن در محیط (به خصوص IPsec/NAT-T) وجود دارد.
11) عملکرد و قابلیت اطمینان
اجتناب از یک تنگنا متمرکز: مقیاس درون خطی FW (GWLB/مقیاس مجموعه).
ECMP/AS-path/BGP برای توزیع بین هاب ها.
پروفایل های بازرسی TLS: شامل نقطه (گران)، چاپ کلید فروشگاه به طور جداگانه، مطابق با انطباق.
12) نمونه هایی از پیکربندی (مراجع، کوتاه)
12. 1 AWS SG: API → Postgres + S3 PrivateLink
hcl resource "aws_security_group" "api" {
name = "sg-api"
description = "Ingress from ALB, egress to DB and PrivateLink"
vpc_id = var. vpc_id
ingress { from_port=8080 to_port=8080 protocol="tcp" security_groups=[aws_security_group. alb. id] }
egress { from_port=5432 to_port=5432 protocol="tcp" security_groups=[aws_security_group. db. id] }
egress { from_port=443 to_port=443 protocol="tcp" prefix_list_ids=[aws_vpc_endpoint. s3. prefix_list_id] }
tags = { owner="team-api", env=var. env, ttl="2026-01-01" }
}
12. 2 لاجورد NSG: انکار به طور پیش فرض + اجازه سنگر
bash az network nsg rule create -g rg -n allow-bastion --nsg-name nsg-app \
--priority 100 --direction Inbound --access Allow --protocol Tcp \
--source-address-prefixes 10. 0. 0. 10 --source-port-ranges "" \
--destination-port-ranges 22 --destination-address-prefixes 10. 1. 0. 0/16
12. 3 فایروال سلسله مراتبی GCP: org-guardrail
yaml direction: INGRESS priority: 1000 action: deny enableLogging: true match:
layer4Configs: [{ ipProtocol: "all" }]
srcIpRanges: ["0. 0. 0. 0/0"]
targetResources: ["organizations/123456"]
12. 4 نماینده RBAC (L7 اجازه می دهد)
yaml
- name: envoy. filters. http. rbac typed_config:
rules:
action: ALLOW policies:
payments-post:
permissions: [{ url_path: { path: "/v1/payouts", ignore_case: true } }]
principals: [{ authenticated: { principal_name: { exact: "spiffe://svc. payments" } } }]
13) ضد گلوله
`0. 0. 0. 0/0 'در ورود/خروج «به طور موقت» → برای همیشه باقی می ماند.
«دانه های برف» (ویرایش دستی در کنسول) بدون کد و تجدید نظر.
SG/NSG مشترک برای تولید/مرحله/توسعه ؛ مخلوط کردن زیرشبکههای انتقادی و غیر انتقادی.
عدم کنترل خروج و نقاط پایانی خصوصی → نشت کلید/اسرار.
نادیده گرفتن DNS/SNI: IP تامین کننده مجاز است - فردا تغییر کرده و کل محدوده باز شده است.
هیچ سیاهههای مربوط به جریان و runbooks وجود ندارد - مرحله بندی غیرممکن است.
14) مشخصات iGaming/Finance (PCI/Regulatory)
PCI CDE در یک VRF/بخش جداگانه، بدون اینترنت ؛ دسترسی به PSP/سیاهههای مربوط - از طریق اتصال خصوصی/پروکسی با mTLS و HMAC.
اقامت داده: PII/رویدادهای پرداخت - در داخل کشور/منطقه ؛ بین منطقه ای - فقط aggregates/ناشناس.
KMS/Vault/HSM: زیر شبکه های فردی/SG، فقط مشتریان mTLS با گواهینامه های کوتاه.
حسابرسی WORM: سیاهههای مربوط FW/جریان در ذخیره سازی بدون تغییر (Object Lock)، نگهداری ≥ حداقل قانونی.
همکاران (PSP/KYC): allowlist FQDN، IP خروجی استاتیک، نظارت SLA توسط ارائه دهنده.
15) تولید لیست آمادگی
- مدل تقسیم بندی یکپارچه (هاب و صحبت کرد، VRF)، CIDR بدون تقاطع.
- انکار به طور پیش فرض на خروج ؛ نقاط پایانی خصوصی به PaaS/ذخیره سازی.
- SG/NSG برای حجم کار، NACL/route-filters - در زیر شبکه ها/هاب ها.
- K8s: NetworkPolicy «انکار همه»، مش mTLS + L7 RBAC.
- برچسب ها/گروه ها به جای IP ؛ مالک/TTL/توضیحات برای هر قانون.
- IaC + سیاست به عنوان کد ؛ CI با شبیه سازی دسترسی ؛ بررسی همکار اجباری.
- سیاهههای مربوط جریان فعال ؛ داشبورد بالا سخنرانان، قطره نرخ ؛ هشدار برای «خروج از نشت».
- سنگر و استحکامات/JIT برای دسترسی به مدیر ؛ MFA ؛ جلسات ثبت نام
- Runbook "و: نحوه اضافه کردن/حذف یک قانون، نحوه کار در یک حادثه ؛ تجدید نظر منظم از قوانین «مرده».
- برای PCI/Finance: جداسازی CDE، حسابرسی WORM، اجازه FQDN برای PSP/KYC، IP خروجی استاتیک.
16) TL ؛ دکتر متخصص
حفاظت توسط لایه ها: SG/NSG stateful در بارهای کاری، NACL/route-filters در زیر شبکه ها، L7 RBAC در مش/پروکسی، WAF/لبه در محیط. به طور پیش فرض - انکار به طور پیش فرض، خروج تنها از طریق نقاط کنترل شده و یا نقاط پایانی خصوصی. قوانین را به عنوان کد توصیف کنید، آنها را با سیاست ها و شبیه سازی های قابل دسترسی بررسی کنید، سیاهههای مربوط به جریان را جمع آوری کنید. برای iGaming/Finance، تقسیم بندی PCI، حسابرسی WORM و اجازه FQDN دقیق را به PSP/KYC اضافه کنید.