Firewall քաղաքականություն և ACL
1) Նպատակներն ու սկզբունքները
Firewall/ACL-ը տվյալների ինքնաթիռի վերահսկումն է. Ո՞ վ, երբ և ո՞ ր արձանագրությամբ է գնում։ Հիմնական սկզբունքները
Least privilege: թույլ տալ միայն անհրաժեշտ (ակնհայտ allow, implicit deny)։
Segmentation 'շրջակա միջավայրի մեկուսացում (108/stage/dev), տենանտներ, կրիտիկական կոնտուրներ (PCI/KFC/DB)։
Egress-վերահսկում. Ելակետը սահմանափակված է FQDN/IP ցուցակներով և մասնավոր endpoint 'ami։
Identity-a.ru (L7), որոշումները ընդունվում են վավերացված էության միջոցով (SPIFFE/OIDC), ոչ միայն IP-ով։
Infrastructure as Code: Կանոնները որպես կոդ, review/CI/CD, փոփոխությունների աուդիտ։
2) Տաքսոնոմիա ՝ որտե՞ ղ և ինչ ֆիլտրում ենք
2. 1 Շերտեր և վիճակներ
L3/L4 stateless: դասական ACL (CIDR, արձանագրություն, պորտ)։
L3/L4 stateful: wwww.dups/NSG, հետևում են միացությունները։
L7-aim: proxy/WAF/mesh RBAC (մեթոդներ, ճանապարհներ, JWT-claims, SNI)։
Inronvs out of-band: inline-faervol-ը ուղղում է երթուղին; out-of-band - վերլուծություն/alant։
2. 2 Ուրվագծեր
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) Ամպային մոդելներ
AWS
Security Group (SG): stateful на ENI/instance/LB.
Network ACL (NACL): stateless ենթահողերի վրա, կանոնների կարգը, երկվորյակ գրառումները։
AWS Network Firewall/GWLB: L7 ստուգում/IDS։
Առաջարկություն. «SG-ը հիմնական վերահսկումն է, NACL-ը մեծ քանակությամբ ցանկապատ/deny-թերթ է»։
Azure
NSG (stateful), ASG (թեգերի մի խումբ), Azure FW-ը L7/IDS, Private Endpoinae-ի համար։
Առաջարկություն ՝ NSG սաբնետ + NIC, ծառայությունների թեգերը ASG-ի միջոցով։
GCP
MSC Firewall Rules (stateful), Hierarchical FW (կազմակերպական/պապիկ), Cloud Armor (L7), Private Datch Connect։
Առաջարկություն ՝ org-level guardrails + նախագծային allow։
4) Կանոնների դիզայնը 'փամփուշտներ
4. 1 Հիմնական հավաքածուներ
Deny all egress-ը թույլ է տալիս FQDN/IP-ով 'փաթեթային դեպոզիտորներ, արտեֆակտային գրանցում, API-ի կողմնակի (մասնավոր/ֆիքսված ելքերի միջոցով)։
East-West -- ծառայությունները հաղորդակցվում են միայն անհրաժեշտ կախվածության հետ։
Admin հասանելիությունը 'bastion/JIT-ի միջոցով MFA-ի հետ, նստարանների ձայնագրությունը։
4. 2 Թեգի և խմբեր
Օգտագործեք labels/tags 'IP-ի փոխարեն' "env", "no '," tier', "" tenae "," pci = 108 "։
Քաղաքականության նորարարությունը թեգը փոխելիս 'առանց IP ցանցերի ձեռքով խմբագրման։
4. 3 Կյանքի ցիկլ
Propose no Evaluate (staging) www.Enforce (1922), www.y-run/gom հարվածների հետ։
Հնացած ՝ TTL/owner յուրաքանչյուր կանոնների համար, չօգտագործվող ավտոմեքենաներ։
5) Kubernetes-ը և ծառայության-մեշը
5. 1 NetworkPolicy (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 в mesh (Istio/Envoy)
MTMS + հեղինակային իրավունքը 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-վերահսկումը և մասնավոր պարամետրերը
Նախընտրեք Privance Link/Private Systement Connection-ը PaaS/գրանցման/պահեստների համար։
Մնացած egress NAT/2019-ի միջոցով allowlist FQDN-ի և ֆիքսված IP-ի միջոցով (երրորդ կողմի allowlist)։
Արգելափակեք ենթատեսակների ուղիղ ելքը/VM ինտերնետում։ բացառություններ միայն egress-ի միջոցով։
7) III և XXI գիտակցված կանոնները
Split-horizon: Ներքին տարածքները չեն կտրվում դրսում։
FW/Proxy-ը FQDN/MSI աջակցության համար, որոնք արտադրում են HTTPS-ը (MSI allow)։
Ամրացրեք pinning-ը կոնկրետ օրինագծերի վրա։ հետևեք IP-ի փոփոխություններին։
8) Լոգա, աուդիտ, դիտողականություն
Միացրեք flow logs (MSC/VNet/NSG/NACL), ուղարկեք SIEM-ում։
Հարաբերեք ծրագրերին «trace _ id» -ի միջոցով լոգարաններում։
Մետրիկները ՝ hit/miss կանոններ, top-talkers, drop-rates, ասիմետրիա, «egress արտահոսքեր»։
Զեկույցները ՝ «չօգտագործված կանոնները», «ամենամեծ թույլատրությունները»։
9) Կառավարումը որպես կոդ (IaC) և ստուգումը
Terraform/CloudCorporation + մոդուլային քաղաքականությունները օրինակների վրա։
Policy as Code (OPA/Gatekeeper/Wintest) - արգելքը '0։ 0. 0. 0/0 ", պահանջը 'description/owner/ttl', խառնուրդի արգելք 2019/dev։
CI 'լինտ, ստատանալիզացիա, ձեռքբերման սիմուլյատորներ (reachability anportzer), դիտման պլան, մանդատ peer review։
10) Ձեռքբերման և քաոսի փորձարկումը
Conthetic-թեստերը տարբեր հաշվարկներից/AZ/տարածաշրջաններից ՝ TCP/443, հատուկ BD/brocers։
Ժամանակավոր deny 'DR ճանապարհները ստուգելու համար. կախվածության անջատումը պետք է աշխատի retries/circuit/fallback։
MTU/MSS: համոզել perimeters (հատկապես IPsec/NAT-T) մասնիկի բացակայության դեպքում։
11) Արտադրողականությունը և արտադրողականությունը
Խուսափեք կենտրոնացված նեղ վայրից 'հորիզոնական ավելացրեք inault-FW (GWLB/scale sets)։
ECTS/AS-path/BGP-ը հաբերի միջև բաժանելու համար։
TIM-2019-ի պրոֆիլները 'ներառել կետային (թանկ), պահել տպագրությունները առանձին, պահպանել կոմպլեքս։
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 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) Անտիպատերնի
`0. 0. 0. 0/0 'ingress/egress «ժամանակավորապես» մնում է ընդմիշտ։
«Ձնագնդի» (վահանակի ձեռքով) առանց կոդի և կոդավորման։
Ընդհանուր SG/NSG-ը ռուսական/stage/dev-ի համար։ քննադատական և ոչ ռիթմիկ հաշվարկների խառնուրդ։
Egress-վերահսկման և մասնավոր endpoint 's-ի բացակայությունը ռուսական/գաղտնիքների արտահոսքը դուրս է գալիս։
Անտեսելով ISO/SNI-ը, թույլ տվեցին IP-ը, վաղը այն փոխվեց և բացվեց ամբողջ միջակայքը։
Ոչ մի flow logs և runbook's ռուսական ֆորենզիկան անհնար է։
14) iGaming/ֆինանսական առանձնահատկությունները (PCI/կարգավորող)
PCI CDE-ը առանձին VRF/հատվածում, ոչ ինտերնետը։ հասանելիությունը PMS/loges - private connectivity/www.ru mTSA և HMAC-ի միջոցով։
Euresidency: PII/հիբրիդային իրադարձություններ 'երկրի/տարածաշրջանի ներսում; միջտարածաշրջանային 'միայն ագրեգատները/անոնիմը։
KFC/VASM/HSM: առանձին ենթաբաժիններ/SG, միայն mTRC հաճախորդները կարճ հավաստագրերով։
WORM-աուդիտ 'FW/flow logs անփոփոխ պահեստում (Object Prok), rentenshn ռուսական կարգավորող նվազագույնի։
Գործընկերները (PMS/KYC): FQDN allowlist, ստատիկ egress IP, SLA-ի մատակարարները պրովայդերների վրա։
15) Չեկ-թուղթ պատրաստակամության համար
- Մեկ սեգմենտացիայի մոդել (hub-and-spoke, VRF), CIDR առանց հատման։
- Deny-by-default на egress; մասնավոր endpoinment PaaS/պահեստների համար։
- SG/NSG stateful workload, NACL/roult-proters - ենթահողերի/հաբերի վրա։
- K8s: NetworkPolicy «deny-all», mesh mTLS + L7 RBAC.
- Թեգի/խմբեր IP-ի փոխարեն; owner/TTL/description յուրաքանչյուր կանոնում։
- IaC + Policy-as-Code; CI-ը ձեռքբերման սիմուլյացիայի հետ։ պարտադիր peer review.
- Flow logs-ը ներառում է; dashbords top-talkers, drop-rates; ալտերտերը «արտահոսքի» վրա։
- Bastion/JIT admin հասանելիության համար; MFA; ժապավեններ։
- Runbook 'և' ինչպես ավելացնել/նկարել կանոն, ինչպես աշխատել պատահականության ժամանակ։ «Մեռած» կանոնների իրականացումը։
- PCI/ֆինանսավորման համար 'CDE, WORM-աուդիտ, FQDN-allow PMS/KYC, ստատիկ egress IP։
16) TL; DR
Կառուցեք պաշտպանություն շերտերի վրա ՝ SG/NSG stateful, worcloads, NACL/roult-proters, L7 RBAC mesh/2019, WAF/edge պարագծի վրա։ Լռելյայն 'deny-by-international, egress միայն վերահսկվող կետերի կամ private endpoinae-ի միջոցով։ Նկարագրեք կանոնները որպես կոդ, ստուգեք դրանք քաղաքական գործիչների և ձեռքբերման սիմուլյատորների կողմից, հավաքեք ֆլոու լոգներ։ IGaming/ֆինանսավորման համար ավելացրեք PCI սեգմենտը, WORM-աուդիտը և խստորեն FQDN-allow-ը PFC/KYC-ին։