GH GambleHub

პირადი endpoints და შიდა ქსელები

1) რატომ არის პირადი ქსელი

მიზანია შეტევის ზედაპირის მინიმუმამდე შემცირება და egress- ის ღირებულება, კრიტიკული სერვისების დაკავშირება პირადი ლინზების საშუალებით, ინტერნეტით წვდომის გარეშე. ეს იძლევა:
  • PaaS/DB/საცავის იზოლაცია საჯარო IP- დან;
  • შესაბამისობის გამარტივება (PCI DSS/GDPR);
  • პროგნოზირებადი შეფერხებები და მარშრუტიზაცია.

2) ძირითადი მოდელი: VPC/VNet და კერა

მისამართის სივრცე: ერთი CIDR გეგმა, კვეთა გარეშე (მაგალითად, '10. 0. 0. 0/12 'დაჭრილი გარემოთი და კერა).
სეგმენტი: ქვესადგურები 'ingress', 'app', 'data', 'ops', 'shared' ცალკეული მარშრუტებით/ACL/SG.
სატრანზიტო კერა: ცენტრალური VPC/VNet საკეტებით (VPN/DirectConnect/ExpressRoute/Interconnect), VPC peering/Transit Gateway და ქსელის ფაილები.
ორმაგი შეტევა: IPv6 დაგეგმვა წინასწარ (დაზოგავს NAT, აუმჯობესებს მისამართების მასშტაბს).

3) პირადი endpoints: პრინციპები

Private endpoint/PrivateLink/პირადი სერვისის კავშირი არის კერძო ინტერფეისი კონტროლირებადი მომსახურებისთვის (ობიექტის საცავი, ხაზი, DD, საიდუმლო საცავი), რომელიც ხელმისაწვდომია მხოლოდ თქვენი მისამართის სივრციდან:
  • ტრეფიკი გადის პროვაიდერის ქსელში (არა ინტერნეტით).
  • Endpoint policy ზღუდავს სად შეგიძლიათ წასვლა (პრეფიქსი/ARN/რესურსები).
  • DNS განისაზღვრება პირადი IP (იხ. § 6).

ტიპიური მიზნები: ობიექტის ნაკადები (S3/GCS/Blob), საიდუმლო/KMS, რიგები, ღონისძიების ავტობუსები, კონტროლირებადი DD, ანალიტიკური სერვისები, არტეფაქტური რეესტრები.

4) შიგნით შესვლა და დაბალანსება

Internal Load Balancer (ILB) L4/7 - ისთვის, ჩვენ მხოლოდ კერძო ქვესათაურებისგან ვხედავთ.

Kubernetes:
  • 'Service' ტიპის 'LoadBalancer "ინტერტონალური ვიდეოჩანაწერებით.
  • შესასვლელი Internal Ingress (Nginx/Contour/Gateway API) კერძო მისამართზე.
  • API Gateway (პირადი): კერძო ინტეგრაცია ზურგჩანთებზე; გარეთ - მხოლოდ edge მეშვეობით, საჭიროების შემთხვევაში.

მაგალითი: K8s Ingress, როგორც შიდა

yaml apiVersion: networking. k8s. io/v1 kind: Ingress metadata:
name: api-internal annotations:
kubernetes. io/ingress. class: "nginx"
alb. ingress. kubernetes. io/scheme: internal # or provider equivalent spec:
rules:
- host: api. internal. corp http:
paths:
- path: /v1/
pathType: Prefix backend:
service:
name: api port: { number: 8080 }

5) Egress კონტური: „ნაგულისხმევი - დენი“

პირადი ქვესათაურებიდან პირდაპირი ინტერნეტის გარეშე: ყველაფერი მხოლოდ მეშვეობით გამოდის:
  • NAT Gateway (apdates/საცავებისთვის) + egress allowlist FQDN/IP;
  • TLS შემოწმება/მარიონეტული, თუ პოლიტიკოსები საჭიროებენ კონტროლს;
  • პირადი endpoints PaaS/რეგისტრაციისთვის NAT- ის ნაცვლად.
  • SG/NACL: პერ სერვისის აშკარა ნებართვები, „აღმოსავლეთ-დასავლეთისკენ“ - მინიმალური.
  • K8s Egress პოლიტიკა (CNI/OPA Gatekeeper/Calico NetworkPolicy) - გარე IP აკრძალვა, მტევანი/endpoints ნებართვები.

6) DNS: split-horizon и private zones

გამოყავით შიდა ზონები ('. internal. corp ') და საჯარო.
Private DNzones პროვაიდერის სერვისებისთვის: ასახავს საზოგადოებრივ სახელებს (მაგალითად, 'bucket. s3. region. amazonaws. com ') პირადი A/AAAA ჩანაწერებისთვის.
Forwarders/Conditional DNS между on-prem ↔ cloud.
სახელების ფორმატი: დააკომპლექტეთ გარემო/რეგიონი ('app. eu1. internal. corp '), თავიდან აიცილეთ PII.

ჩაწერის მაგალითი:

api. internal. corp. A  10. 20. 30. 40 s3. bucket. corp. A  10. 100. 0. 25 # via private endpoint

7) ოფშორული კავშირების ნიმუშები

Peering (VPC, VPC/VNet): მარტივი და სწრაფი; ტრანზიტი ყოველთვის არ არის მხარდაჭერილი - გამოიყენეთ Transit Gateway/ვირტუალური WAN/Cloud Router ვარსკვლავისთვის (hub-and-spoke).
On-prem-cloud: IPsec VPN დაწყებისთვის, შემდეგ გამოყოფილი ხაზი (DC/ER/IC) BGP და რეზერვით (ორი პროვაიდერი, სხვადასხვა შესასვლელი წერტილები).
VRF/Route-domain სეგმენტი: იზოლაცია/stage/dev და კარტის პერიმეტრი.

8) Zero Trust და შიდა ავთენტიფიკაცია

mTLS ნაგულისხმევი (სერვისი: Istio/Linkerd/Consul), მანქანების თვითმყოფადობა: SPIFFE/SPIRE.
L7 პოლიტიკოსები: საავტორო უფლებები JWT/claims/scopes, მარშრუტების/მეთოდების შეზღუდვა მარიონეტულ დონეზე.
Secrets: HashiCorp Vault/КMS + External Secrets Operator; მოკლე credenchels (STS).
Bastion/კერძო წვდომა: კერძო პირზე წვდომა მხოლოდ ბროკერის/JIT სესიის საშუალებით (MFA, ბრძანებების ჩანაწერი).

მაგალითი: Envoy ფილტრი mTLS + JWT-authz (ფრაგმენტი)

yaml transport_socket:
name: tls typed_config: {... spiffe://svc. api... }
http_filters:
- name: envoy. filters. http. jwt_authn typed_config:
providers:
oidc: { issuer: https://idp. corp, audiences: ["api"], remote_jwks: {...} }
rules: [{ match: { prefix: "/v1" }, requires: { provider_name: oidc } }]

9) მონაცემები და PaaS კონფიგურაციის შიგნით

ბაზები/მტევანი: მხოლოდ პირადი მისამართები; Admink bastion/JIT.
შენახვა: VPC- დან წვდომა კერძო endpoint- ზე; endpoint პოლიტიკა საშუალებას აძლევს მხოლოდ საჭირო ტანკები/კონტეინერები.
რიგები/საბურავები: პირადი ინტერფეისები; მწარმოებლები/კონსუტერები - იმავე VPC/peering.
არტეფაქტების რეესტრები: პირადი წვდომა CI/CD runners- დან კერძო ქვესათაურებში.

10) კერძო ქსელებში დაკვირვება

OpenTelemetry Collector - როგორც ტელემეტრიული კარიბჭე: შინაგანი ექსპორტიორები self-hosted (Prometheus/Tempo/Loki/ClickHouse) ან კერძო ობიექტების მართვადი ბუკენდებში.
Flow logs/NSG/NACL ლოგები და რეაქციის ანალიზები სავალდებულოა.
SLO სექციები: 'site/region/vpc/subnet ", ალერტები egress გაჟონვისთვის და მოულოდნელი" ინტერნეტ მიმართულება ".

11) ტესტირება და გადამოწმება

პოლიტიკა არის კოდი (OPA/Gatekeeper) ქსელის წესებისთვის/Ingress/Service.
კანარის მარშრუტები: სატესტო დომენები კერძო DNS- ში, სინთეზური შემოწმებები სხვადასხვა ქვესახეობიდან/AZ/რეგიონებიდან.
Chaos ქსელი: შეფერხებები/ზარალი VPC/VTC-AZ (netem/Toxiproxy), ტაიმაუტების შემოწმება და retry პოლიტიკოსი.

12) კონფიგურაციის მაგალითები

12. 1 Terraform: ნიშნები და მარშრუტები (იდეა)

hcl resource "aws_route_table" "app" {
vpc_id = aws_vpc. core. id tags = { Name = "rt-app", env = var. env, zone = "private" }
}
Route on PrivateLink endpoint (interface endpoint is created separately)
resource "aws_vpc_endpoint_route_table_association" "s3" {
route_table_id = aws_route_table. app. id vpc_endpoint_id = aws_vpc_endpoint. s3. id
}

12. 2 K8s NetworkPolicy: აკრძალვა ყველაფერი, გარდა საჭირო

yaml apiVersion: networking. k8s. io/v1 kind: NetworkPolicy metadata: { name: deny-all }
spec:
podSelector: {}
policyTypes: ["Ingress","Egress"]
kind: NetworkPolicy metadata: { name: allow-core }
spec:
podSelector: { matchLabels: { app: api } }
egress:
- to:
- namespaceSelector: { matchLabels: { ns: db } }
ports: [{ port: 5432, protocol: TCP }]
- to:
- ipBlock: { cidr: 10. 100. 0. 0/16 }  # private endpoints ports: [{ port: 443, protocol: TCP }]

12. 3 Nginx Ingress (internal scheme) + HSTS

yaml metadata:
annotations:
alb. ingress. kubernetes. io/scheme: internal nginx. ingress. kubernetes. io/hsts: "true"

13) ანტიპატერები

ზოგადი „მენეჯმენტის ინტერნეტი“ პირადი ქვესათაურებიდან; egress კონტროლის არარსებობა.
Split-brain DNS და შემთხვევითი სახელმძღვანელო '/etc/hosts '.
კვეთა CIDR და „NAT მატრიოშკა“.
საზოგადოებრივი endpoint's BD/საცავი „მოხერხებულობისთვის“.
ნაკადების/აუდიტის წესების ნაკლებობა; „ღია“ SG '0. 0. 0. 0/0`.
გრძელი სტატიკური კოდის გასაღებები/CI.

14) ღირებულება და შესრულება

Private endpoints ხშირად იაფია, ვიდრე მუდმივი NAT egress და უსაფრთხო.
დაგეგმეთ NAT მტევანი/az-local გამტარუნარიანობისთვის, რათა არ შექმნათ bottleneck.
ქეში/edge და SWR ამცირებენ ჯვარედინი რეგიონალური ტრაფიკს.
პროტოკოლების არჩევანი: HTTP/2/gRPC შიგნით ნაკლებია ნაერთები და TLS overhaed.

15) iGaming/ფინანსების სპეციფიკა

PCI DSS: ბარათების წრე (CDE) ცალკეულ ქსელში/VRF, არა ინტერნეტი; ნაკადის წვდომა/PSP ლოგოები მხოლოდ კერძო endpoints- ით; უცვლელი აუდიტი (WORM/Object Lock).
KMS/Vault: გასაღებები სეგმენტირებულია პერის რეგიონში/ბრენდზე; ხელმოწერის ოპერაციები (HSM) ხელმისაწვდომია მხოლოდ CDE- დან mTLS- ზე.
PSP/KYC: თუ არსებობს პირადი კავშირი/ბაზრები - გამოიყენეთ; წინააღმდეგ შემთხვევაში - egress სანდო მარიონეტული საშუალებით HMAC/mTLS და აშკარა allowlist.
მრავალ ტენდენცია: ჭდეები და პოლიტიკოსები 'tenant '/' brand'; ინდივიდუალური პირადი DNS სახელები და SG ფენები.

16) მზადყოფნის სიის სია

  • CIDR გეგმა კვეთა გარეშე; ორმაგი შეტევა მზად არის (IPv6).
  • Hub-and-Spoke, Transit, peering; on-prem-cloud - BGP, სარეზერვო საბრძოლო წყვილი.
  • ყველა PaaS/საცავი/BD - კერძო endpoints + endpoint policies- ის საშუალებით.
  • Internal LB/Ingress; საჯარო პერიმეტრი - მხოლოდ edge/WAF.
  • Split-horizon DNS, პირადი ზონები და conditional-forwarding მორგებულია.
  • ნაგულისხმევი „დენი“; NAT/მარიონეტული შეზღუდულია და ჟღერს.
  • Mesh mTLS + SPIFFE; JWT-authz L7- ზე; Vault/ESO, მოკლე საიდუმლოებები.
  • ქსელის პოლიტიკა/SG/NACL - „მინიმალური საჭირო“, flow-logs და reachability ანალიზი.
  • OTel Collector შიგნით; ალერტები გაჟონვისთვის, SLO 'site/region/vpc'.
  • PCI/აუდიტი: WORM ჟურნალები, KMS/HSM, CDE იზოლაცია, runbook წვდომა.

17) TL; DR

ააშენეთ ქსელი hub-and-spoke სქემის მიხედვით, მკაფიო CIDR გეგმით, გამოიყენეთ პირადი endpoints თითოეული PaaS/შენახვის/BD- ისთვის, ხოლო გარედან ტრაფიკი მხოლოდ კონტროლირებადი egress წერტილების საშუალებით. შიგნით - Internal LB/Ingress, mTLS + SPIFFE, split-horizon DNS, მკაცრი ქსელის პოლიტიკა/SG და ტელემეტრია OTel- ის საშუალებით. IGaming/ფინანსებისთვის დაამატეთ PCI სეგმენტი, KMS/Vault და უცვლელი აუდიტი; PSP/KYC ამოიღეთ პირადი არხებით ან მკაცრად კონტროლირებადი მარიონეტებით.

Contact

დაგვიკავშირდით

დაგვიკავშირდით ნებისმიერი კითხვის ან მხარდაჭერისთვის.ჩვენ ყოველთვის მზად ვართ დაგეხმაროთ!

Telegram
@Gamble_GC
ინტეგრაციის დაწყება

Email — სავალდებულოა. Telegram ან WhatsApp — სურვილისამებრ.

თქვენი სახელი არასავალდებულო
Email არასავალდებულო
თემა არასავალდებულო
შეტყობინება არასავალდებულო
Telegram არასავალდებულო
@
თუ მიუთითებთ Telegram-ს — ვუპასუხებთ იქაც, დამატებით Email-ზე.
WhatsApp არასავალდებულო
ფორმატი: ქვეყნის კოდი და ნომერი (მაგალითად, +995XXXXXXXXX).

ღილაკზე დაჭერით თქვენ ეთანხმებით თქვენი მონაცემების დამუშავებას.