GH GambleHub

Firewall Siyasəti və ACL

1) Məqsədlər və prinsiplər

Firewall/ACL məlumat müstəvisinə nəzarət edir: kim, hara, nə vaxt və hansı protokol ilə gedir. Əsas prinsiplər:
  • Least privilege: yalnız zəruri icazə (açıq allow, implicit deny).
  • Segmentation: mühit izolyasiyası (prod/stage/dev), tenantlar, kritik konturlar (PCI/KMS/DB).
  • Egress-control: gedən trafik FQDN/IP siyahıları və xüsusi endpoint 'lər ilə məhdudlaşır.
  • Identity-aware (L7): qərarlar yalnız IP ilə deyil, identifikasiya edilmiş mahiyyətə (SPIFFE/OIDC) görə qəbul edilir.
  • Infrastructure as Code: kod kimi qaydalar, review/CI/CD, dəyişiklik auditi.

2) Taksonomiya: harada və nə süzülür

2. 1 Laylar və vəziyyət

L3/L4 stateless: klassik ACL (CIDR, protokol, port).
L3/L4 stateful: security groups/NSG, bağlantıları izləmək.
L7-aware: proxy/WAF/mesh RBAC (metodları, yolları, JWT-claims, SNI).
Inline vs out-of-band: inline-faervol trafiki marşrutlaşdırır; out-of-band - analiz/alert.

2. 2 Konturlar

Perimeter: edge/WAF/Anti-DDoS.
Core: transit hub / меж-VPC/VNet.
Workload: SG/NSG на VM/ENI/POD.
App-level: Envoy/Istio/NGINX policy, service-to-service mTLS.

3) Bulud modelləri

AWS

Security Group (SG): stateful на ENI/instance/LB.
Network ACL (NACL): alt şəbəkədə stateless, qaydaların qaydası, iki yönlü qeydlər.
AWS Network Firewall/GWLB: L7 inspeksiya/IDS.
Tövsiyə: «SG - əsas nəzarət, NACL - iri dənəli hasar/deny-list».

Azure

NSG (stateful), ASG (tagged app qrupları), L7/IDS üçün Azure FW, Private Endpoints.
Tövsiyə: sabnet + NIC NSG, ASG vasitəsilə xidmət etiketləri.

GCP

VPC Firewall Rules (stateful), Hierarchical FW (təşkilati/qovluq), Cloud Armor (L7), Private Service Connect.
Tövsiyə: org-level guardrails + layihə allow.

4) Qaydaların dizaynı: nümunələr

4. 1 Əsas dəstlər

Deny all egress → FQDN/IP vasitəsilə icazə verilir: paket anbarları, artefakt reyestrləri, üçüncü tərəf API (xüsusi/sabit çıxışları vasitəsilə).
East-West minimum: xidmətlər yalnız zəruri asılılıqlarla ünsiyyət qurur.
Admin Access: MFA ilə bastion/JIT vasitəsilə, sessiyaları qeyd.

4. 2 Tag və qruplar

IP əvəzinə labels/tags istifadə edin: 'env', 'service', 'tier', 'tenant', 'pci = true'.
Etiket dəyişdirildikdə yeniləmə siyasəti - əl ilə IP mesh redaktə olmadan.

4. 3 Həyat dövrü

Propose → Evaluate (staging) → Enforce (prod), dry-run/vuruş log ilə.
Köhnəlmə: Hər bir qayda üçün TTL/owner, istifadə olunmayan avtomatik yoxlama.

5) Kubernetes və xidmət mesh

5. 1 NetworkPolicy (L3/L4)

Minimum - «lazım olandan başqa hər şeyi qadağan etmək».

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 в mesh (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) Egress-nəzarət və şəxsi perimetrlər

PrivateLink/Private Service Connect-i PaaS/registrlər/anbarlara üstünlük verin.
allowlist FQDN və sabit IP (üçüncü tərəf allowlist üçün) ilə NAT/proxy vasitəsilə egress qalan.
İnternetə birbaşa pod/VM çıxışını bloklayın; istisnalar yalnız egress şlyuz vasitəsilə.

7) DNS və SNI-şüurlu qaydalar

Split-horizon: Daxili zonalar xaricdən birləşmir.
FW/Proxy FQDN/SNI dəstəyi ilə çıxış HTTPS (SNI allow).
Xüsusi təchizatçı domenlərinə pinning yazın; IP dəyişikliklərini izləyin.

8) Qeydlər, audit, müşahidə

Flow logs (VPC/VNet/NSG/NACL) daxil edin, SIEM-ə göndərin.
Log 'trace _ id' vasitəsilə proqramlarla korrelyasiya edin.
Metriklər: hit/miss qaydaları, top-talkers, drop-rates, trafik asimmetriyası, «egress sızması».
Hesabatlar: «istifadə olunmayan qaydalar», «ən geniş həllər».

9) Kod kimi idarəetmə (IaC) və yoxlamalar

Terraform/CloudFormation + modul şablon siyasətləri.
Policy as Code (OPA/Gatekeeper/Conftest): '0-da qadağa. 0. 0. 0/0 ', tələb' description/owner/ttl ', qadağan qarışdırma prod/dev.
CI: lint, statanaliz, əlçatanlıq simulyatorları (reachability analyzer), plan-baxış, mandat peer review.

10) Nail olmaq və xaos test

Müxtəlif alt şəbəkələrdən/AZ/regionlardan Synthetic nümunələri: TCP/443, xüsusi DB/broker portları.
DR yollarını yoxlamaq üçün müvəqqəti deny: asılılığı → retries/circuit/fallback işləməlidir.
MTU/MSS: perimeters-də (xüsusilə IPsec/NAT-T) parçalanma olmadığına əmin olun.

11) Performans və etibarlılıq

Mərkəzləşdirilmiş dar yerdən qaçın: inline-FW (GWLB/scale sets) üfüqi miqyaslı.
ECMP/AS-path/BGP hub arasında paylanması üçün.
TLS yoxlama profilləri: nöqtə (bahalı) daxil edin, açar izlərini ayrıca saxlayın, uyğunluğa riayət edin.

12) Konfiqurasiya nümunələri (istinad, qısaldılmış)

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 Azure NSG: deny-by-default + allow bastion

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 hierarchical firewall: 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 Envoy RBAC (L7 allow)

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) Antipattern

`0. 0. 0. 0/0 'in ingress/egress «müvəqqəti» → əbədi qalır.
«Snowflakes» (konsol əl düzəlişləri) kod və yoxlama olmadan.
prod/stage/dev üçün ümumi SG/NSG; kritik və qeyri-kritik alt şəbəkələrin qarışması.
Egress-control və xüsusi endpoint → açar sızması/sirləri yoxdur.
DNS/SNI məhəl qoymamaq: IP təchizatçısına icazə verildi - sabah dəyişdirildi və bütün diapazon açıldı.
Heç bir flow logs və runbook → forensics mümkün deyil.

14) iGaming/Maliyyə xüsusiyyətləri (PCI/tənzimləyici)

Ayrı bir VRF/seqmentdə PCI CDE, İnternet yoxdur; PSP/log giriş - mTLS və HMAC ilə private connectivity/proxy vasitəsilə.
Data residency: PII/ödəniş hadisələri - ölkə/region daxilində; regionlararası - yalnız aqreqatlar/anonim.
KMS/Vault/HSM: fərdi alt şəbəkələr/SG, yalnız mTLS müştəriləri qısa sertifikatlarla.
WORM-audit: dəyişməz saxlama (Object Lock) FW/flow log, tənzimləmə minimumu ≥ retenshn.
Partnyorlar (PSP/KYC): FQDN allowlist, statik egress IP, provayderlərin SLA monitorinqi.

15) Prod hazırlıq yoxlama siyahısı

  • Vahid seqmentasiya modeli (hub-and-spoke, VRF), CIDR heç bir kəsişmə.
  • Deny-by-default на egress; PaaS/saxlama üçün xüsusi endpoints.
  • SG/NSG stateful workload üçün, NACL/route-filters - alt şəbəkə/hub.
  • K8s: NetworkPolicy «deny-all», mesh mTLS + L7 RBAC.
  • IP əvəzinə Tags/qruplar; owner/TTL/description hər qaydada.
  • IaC + Policy-as-Code; əlçatanlıq simulyasiyası ilə CI; məcburi peer review.
  • Flow logs daxildir; daşbordlar top-talkers, drop-rates; «sızma egress» üçün alertlər.
  • admin-access üçün Bastion/JIT; MFA; sessiyaların jurnallaşdırılması.
  • Runbook 'i: Hadisə zamanı necə işləmək qaydasını necə əlavə etmək/çıxarmaq; «ölü» qaydaların müntəzəm yoxlanılması.
  • PCI/maliyyə üçün: CDE izolyasiya, WORM audit, PSP/KYC üçün FQDN-allow, statik egress IP.

16) TL; DR

Sub-şəbəkələrdə SG/NSG stateful, NACL/route-filters, mesh/proxy L7 RBAC, perimetrdə WAF/edge. Default - deny-by-default, egress yalnız nəzarət nöqtələri və ya private endpoints vasitəsilə. Qaydaları kod kimi təsvir edin, onları əlçatanlıq siyasətçiləri və simulyatorları ilə yoxlayın, flow-logları toplayın. iGaming/Finance üçün PSP/KYC-yə PCI seqmentasiyası, WORM auditi və ciddi FQDN-allow əlavə edin.

Contact

Bizimlə əlaqə

Hər hansı sualınız və ya dəstək ehtiyacınız varsa — bizimlə əlaqə saxlayın.Həmişə köməyə hazırıq!

Telegram
@Gamble_GC
İnteqrasiyaya başla

Email — məcburidir. Telegram və ya WhatsApp — istəyə bağlıdır.

Adınız istəyə bağlı
Email istəyə bağlı
Mövzu istəyə bağlı
Mesaj istəyə bağlı
Telegram istəyə bağlı
@
Əgər Telegram daxil etsəniz — Email ilə yanaşı orada da cavab verəcəyik.
WhatsApp istəyə bağlı
Format: ölkə kodu + nömrə (məsələn, +994XXXXXXXXX).

Düyməyə basmaqla məlumatların işlənməsinə razılıq vermiş olursunuz.