נקודות קצה פרטיות ואינטרנטweather forecast
1) מדוע רשת פרטית
המטרה היא לצמצם את שטח ההתקפה ואת עלות היציאה על ידי חיבור שירותים קריטיים באמצעות קישורים פרטיים מבלי לגשת לאינטרנט. זה נותן:- בידוד PaaS/DB/Storages מן IP הציבורי;
- ציות קל יותר (PCI DSS/GDPR)
- עיכובים וניתוב צפויים.
2) מודל בסיס: VPC/VNet ו ־ hubs
מרחב כתובת: תוכנית CIDR אחת, ללא צמתים (לדוגמה, 10 '. 0. 0. 0/12 'נחתך לסביבות ומרכזים).
קטגוריה: תת-רשתות "נכנסת", "אפליקציה", "נתונים", "Ops'," משותפת "עם מסלולים נפרדים/ACL/SG.
מרכז מעבר: מרכז VPC/VNet עם שערים (VPN/DirectConnect/Explication Road/Interconnect), בין-VPC מציץ/שער מעבר וחומות אש ברשת.
דו-ערימה: תזמון IPv6 מראש (חוסך NAT, משפר את קנה המידה של הכתובת).
3) נקודות סוף פרטיות: עקרונות
Tribate endpoint/Private Link/Private Service Connect - ממשק פרטי לשירות מנוהל (אחסון אובייקטים, תורים, מסד נתונים, אחסון סודי), נגיש רק ממרחב הכתובות שלך:- התנועה נכנסת לרשת הספקים (לא דרך האינטרנט).
- מדיניות האנדפוינט מגבילה לאן אתה יכול ללכת (prefixes/ARN/resources).
- DNS מוגדר מחדש ל-IP פרטי (ראו # 6).
מטרות טיפוסיות: חנויות אובייקטים (S3/GCS/Blob), סודות/KMS, תורים, אוטובוסים, מאגרי מידע מנוהלים, שירותים אנליטיים, קופות חפצים.
4) כניסה ואיזון בפנים
עבור L4/7, אנו רואים רק מרשתות משנה פרטיות.
קוברנטס:- 'שירות' מסוג 'LailBalancer' עם הערות פנימיות.
- כניסה דרך Internal Ingress (Nginx/Contour/Gateway API) בכתובת פרטית.
- שער API (פרטי): אינטגרציה פרטית עם גב; בחוץ - רק דרך הקצה, אם נדרש.
דוגמה: K8s אינגרס היא פנימית
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) אזהרה: ”ברירת מחדל - להכחיש”
בלי אינטרנט ישיר מרשתות משנה פרטיות: הכל יוצא רק דרך:- שער NAT (לעדכונים/ריפוזיטוריות) + egress allowlist באמצעות FQDN/IP;
- בדיקת TLS/פרוקסי אם המדיניות דורשת שליטה;
- נקודות סוף פרטיות ל-PaaS/רשם במקום NAT.
- SG/NACL: הרשאות מפורשות לכל שירות, ”מזרח-מערב” - מינימום.
- מדיניות K8s Egress Policy (CNI/OPA Gatekeeeper/Calico Networking Policy) - קיצור של IP חיצוני.
6) DNS: פיצול אופק אזורים פרטיים
אזורים פנימיים נפרדים (". קורפ) וציבורי.
אזורי DNS פרטיים עבור שירותי הספק: לעקוף שמות ציבוריים (לדוגמה, דלי. s3. אזור. אמזונאוס. com ') לרשומות A/AAA פרטי.
מעבירים/מותנים DNS/Sonditional DNS (ענן ↔.
פורמט שם: צופן סביבה/אזור ('api. EU1. פנימית. קורפ '), להימנע מח "ש.
api. internal. corp. A 10. 20. 30. 40 s3. bucket. corp. A 10. 100. 0. 25 # via private endpoint
7) תבניות חיבור
הצצה (VPC↔VPC/VNet↔VNet): פשוט ומהיר; Transit אינה תמיד נתמכת ע "י שימוש ב-Transit Gateway/Virtual WAN/Cloud Router.
ענן ⇄: IPsc VPN להתחלה, ואז קו מושכר (DC/ER/IC) עם BGP וגיבוי (שני ספקים, נקודות כניסה שונות).
מקטע VRF/Route-domain: בידוד של פרוד/שלב/dev והיקף קלפים.
8) אפס אמון ואימות פנימי
MTLS-ברירת מחדל (service mesh: Istio/Linkerd/Consul), זהות מכונה: SPIFFE/SPIRE.
מדיניות L7: אישור על ידי JWT/Agains/Scopes, הגבלת מסלולים/שיטות ברמת הפרוקסי.
סודות: HashiCorp כספת/CATMS + מפעיל סודות חיצוניים; אישורים קצרי ימים (STS).
Bastion/Conferenced Access: גישה לפרטקה רק באמצעות הברוקר/JIT session (MFA, הקלטה פיקודית).
דוגמה: כתב מסנן שליח mTLS + JWT-Z (מקטע)
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 בתוך הפרטי
מסדי נתונים/אשכולות: רק כתובות פרטיות; לוח ניהול באמצעות Bastion/JIT.
Repositories: גישה מ-VPC דרך נקודת קצה פרטית; מדיניות האנדפוינט מאפשרת רק הדליים/מכולות הרצויים.
תורים/אוטובוסים: ממשקים פרטיים; יצרנים/צרכנים - באותו VPC/מציץ.
רשימות חפצים: גישה פרטית ממריצי CI/CD על רשתות משנה פרטיות.
10) יכולת תצפית ברשתות פרטיות
OpenTelemetry Collector - כשער טלמטריה: יצואנים פנימיים לארח את עצמם (Prometheus/Tempo/Loki/ClickHouse) או כדי לנהל אחוריים באמצעות נקודות קצה פרטיות.
רישומי זרימה/NSG/NACL ו-Reachability Analyser נדרשים.
פרוסות SLO: 'אתר/אזור/vpc/subnet', התראות ליציאה ו ”כיוון אינטרנט” בלתי צפוי.
11) בדיקות ואימות
מדיניות כקוד (OPA/Gatekeeeper) עבור כללי רשת/Ingress/Service.
מסלולים קנריים: תחום בדיקה ב-DNS פרטי, בדיקות סינתטיות מרשתות משנה/AZ/אזורים שונים.
רשת כאוס: עיכובים/הפסדים ב-VPC/inter-AZ (netem/Toxiproxy), בדיקות זמן ומדיניות חזרה.
12) דוגמאות הגדרות
12. 1 טרה פורם: תוויות ומסלולים (רעיון)
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: להכחיש הכל חוץ ממה שאתה צריך
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 (תוכנית פנימית) + HSTS
yaml metadata:
annotations:
alb. ingress. kubernetes. io/scheme: internal nginx. ingress. kubernetes. io/hsts: "true"
13) תרופות אנטי ־ פטריות
Common ”ניהול-אינטרנט” מרשתות משנה פרטיות; חוסר שליטה ביציאה.
פיצול מוח DNS ומדריך אקראי '/etc/מארחים '.
הצטלבות CIDRs ו ”בובות קינון NAT”.
נקודות סוף ציבוריות לבסיסי נתונים/חנויות ”למען הנוחות”.
אין רישומי זרימה/ביקורת חוקים; "פתח" ס "ג 0. 0. 0. 0/0`.
מפתחות גישה סטטית ארוכי חיים בקוד/מודיע.
14) עלות וביצועים
נקודות קצה פרטיות לרוב זולות יותר מאשר יציאת NAT קבועה ובטוחות יותר.
תזמון אשכולות NAT/az-מקומי לרוחב פס כדי להימנע מיצירת צוואר בקבוק.
מטמון/קצה ו SWR להפחית תנועה חוצה אזורית.
בחירת פרוטוקולים: HTTP/2/gRPC בתוך ה-TLS יש פחות קשרים ותקורה.
15) פרטים של iGaming/Finance
מעגל כרטיס (CDE) ברשת נפרדת/VRF, ללא אינטרנט; גישה ליומני החנות/PSP רק בנקודות קצה פרטיות; Audits Immutable (תולעת/נעילת אובייקט).
KMS/Vault: מפתחות מקוטעים לכל אזור/מותג; פעולות חתימה (HSM) זמינות רק מ-CDE מעל mTLS.
PSP/KYC: אם יש קישוריות פרטית/שווקים - שימוש; אחרת, יציאה דרך פרוקסי מהימן עם HMAC/mTLS ורשימת הקצאה מפורשת.
ריבוי דירות: תגיות ומדיניות של ”דייר ”/” מותג”; שמות DNS פרטיים נפרדים ושכבות SG.
16) רשימת מוכנות תומכת
[ ] תוכנית CIDR ללא צמתים; מחסנית כפולה מוכנה (IPv6).
[ ] Hub-and-Speak, Transit, מציץ; בענן ⇄ BGP, זוגות קשר גיבוי.
[ ] All PaaS/Storages/DB - באמצעות נקודות קצה פרטיות + נקודות קצה.
[ ] Internal LB/Ingress; היקפי ציבור - על קצה/WAF בלבד.
[ ] DNS אופק מפוצל, אזורים פרטיים, והעברה מותנית מוגדרים.
[ ] Egress ”להכחיש” כברירת מחדל; NAT/proxies מוגבלים ומחוברים.
[ ] Mesh MTLS + SPIFFE; JWT-Authorz on L7; כספת/ESO, סודות קצרים.
[ ] Networks Policy/SG/NACL - ”מינימום הכרחי”, זרימה-רישומים וניתוח-יכולת.
[ ] אוטל אספן בפנים; התראות ליציאה, SLO על ידי 'אתר/אזור/vpc'.
[ ] PCI/ביקורת: רישומי תולעת, KMS/HSM, בידוד CDE, רישומי גישה.
17) TL; DR
לבנות רשת רכזת ודיבור עם תוכנית CIDR ברורה, להשתמש בנקודות קצה פרטיות לכל PaaS/אחסון/מסד נתונים, ולתנועה אל החוץ רק דרך נקודות יציאה מנוהלות. בפנים - LB/Ingress, MTLS + SPIFFE, DNS אופק מפוצל, Networks Policy/SG וטלמטריה באמצעות OTEL. עבור iGaming/Finance, הוסף קטעי PCI, KMS/Vault וביקורת בלתי ניתנת לשינוי; פלט PSP/KYC דרך ערוצים פרטיים או פרוקסי מבוקר היטב.