GH GambleHub

S2S վավերացում

S2S-վավերացումը ապացուցում է, թե որն է ծառայությունը/vorcload-ը, և տալիս է նրան նվազագույն անհրաժեշտ իրավունքներ սահմանափակ ժամանակի համար։ Ի տարբերություն օգտագործողի հոսքերի ՝ այստեղ մարդ չկա, ուստի նրանք քննադատում են նշված տվյալների կարճ տևողությունը, կրիպտոգրաֆիկ կապվածությունը դեպի vorcloade/2019 և հստակ դիտարկումը։

1) Նպատակներն ու սկզբունքները

Zero Trust-ը լռելյայն է 'չվստահել ցանցերը, միայն վորկլոադի և կրիպտոգրաֆիայի հավաստագրումը։

Կարճ գոյատևող քրեդենշլները 'րոպե, ոչ թե օրեր/ամիսներ։

Կոնտեքստին կապելը 'tenault/region/licence/audience/scopes։

Կենտրոնացված ֆորումը, ապակենտրոնացված ստուգումը 'STS/IDP + տեղական հավատացում։

Նվազագույն արտոնությունները և ակնհայտ անջատումը 'միայն անհրաժեշտ սկաուտներ և աուդիտ։

Ռոտացիան «առանց ցավի» ՝ dox-key/dox-cript պատուհանները և ավտոմատիզացիան։

2) Սպառնալիքների մոդել (նվազագույն)

Երկարատև գաղտնիքների գողություն (API-keys, long-lived RT)։

Փոխարինումը կատարվում է SDC/2019 ներսում։

Միջերկրական հարձակումները կոտրված հատվածում։

Replay/փոխարինումը կատարվում է։

Supply-chain/փոխելով բեռնման պատկերը։

Կազմաձևման սխալները (firewall/mesh լայն կանոնները, ընդհանուր JWKS բոլորի համար)։

3) S2S հիմնական արտոնագրերը

3. 1 mTSA (փոխադարձ հավաստագրեր)

Ո՞ վ եք դուք 'ապացուցում է ալիքը։

Հավաստագրերը կարճ (ժամ-օր) ներքին PKI-ից։ / ռոտացիան կառավարում է mesh/sidecar կամ SPIRE գործակալը։

Լավ է «հարևանների» համար մեկ trust-2019-ում և binding հոսանքների համար։

3. 2 Ծառայողական JWT (STS)

Ո՞ վ եք դուք 'ապացուցում է հաղորդագրությունը։

Կարճ Windows JWT (2-5 րոպե) 'aud', 'scp', «tenault», «region»։

Ստորագրում է KFC/HSM, հանրային բանալիները JWKS-ի միջոցով '«kid» և ռոտացիայի միջոցով։

Ստուգումը տեղական է (առանց IdP ցանցային զանգահարման)։

3. 3 SPIFFE/SPIRE (SVID)

Վորկլոադի համընդհանուր ինքնությունը '"spiffe : //trust-domain/ns/< ns >/sa/< sa>։

Ավտոմատ issu.ru/rotation X.59/JWT-SVID, ինտեգրումը Istio/Linkerd-ի հետ։

3. 4 OAuth 2. 1 Client Credentials / Token Exchange (RFC 8693)

Մեքենայական հաճախորդները ստանում են հոսանք STS-ից։ օգտագործողի անունից 'OBO (token) գործողությունների համար։

Ֆեդնիրու 'mTIM ջրանցքի համար, JWT հաղորդագրության համար, SPIFFE-ը կայուն ինքնության համար։

4) Հանրաքվե-ճարտարապետություն


[KMS/HSM]       [Policy Store / PDP]

[STS/IdP (issuer)] ── JWKS ──[Gateway/PEP] ─────[Services/PEP]
│
SVID/JWT │         │    │      │
(SPIRE/Istio)│      mTLS/DPoP  │    mTLS/DPoP
│         │    │      │
[Workload/Sidecar]─────────┴───────┴────────────┘

Issuer (STS/IDP): արտադրում է կարճ JWT/CVID ծառայություններ, հրապարակում է JWKS-ը։

Gateway (PEP): Ցանցի տերմինը, որը առաջնորդում է mTSA/JWT, հարստացնում է համատեքստը, պահանջում է PDP։

Շվեյցարիան (PEP) 'կրկնվող ստուգում (depth), PDP լուծումների կեսը։

SPIRE/mesh: Avto-հավաստագրեր և SVID-ի համար mTLS-ի համար։

5) Ծառայողական JWT ձևաչափը (օրինակ)

json
{
"iss": "https://sts. core",
"sub": "svc. catalog, "//service identity
"aud": ["svc. search"] ,//target service/domain
"exp": 1730390100, "iat": 1730389800,
"tenant": "brand_eu",
"region": "EE",
"scp": ["catalog:read:public","catalog:read:tenant"],
"mtls": { "bound": true, "spiffe": "spiffe://core/ns/prod/sa/catalog" }
}

ES256/EdDSA-ի ստորագրված, «kid» -ը ցույց է տալիս ակտիվ բանալին։

Oporational binding-ին 'դրոշը, hash case, SVID-ը։

6) Միգրացիայի քաղաքականությունները (STS) և հավատալիքները

Ռուանդա

Ռուսական դիզայնը վերցվում է SVID/հաճախորդի կոդից/ռուսական հաճախորդից։

Կյանքի տևողությունը 2-5 րոպե, refresh-ը չկա, փոխարենը նորից խնդրել STS-ը։

Սկոպները/լսարանները վերցվում են Policy Store-ից (GitOps), ոչ թե հաճախորդի խնդրանքից։

Ստուգում (PEP)

1. Ստուգել mTSA (oporational) և շղթայի վալիդիությունը։

2. Ստուգել JWT ստորագրությունը JWKS-ով («kid»)։

3. Նվազեցնել 'exp/nbf/is/aud', tenault/region/licence։

4. Հարստացնել համատեքստը և հարցնել PDP (RBAC/ABAC/ReBAC)։

5. PDP լուծումը (TTL 30-120 c), հաշմանդամություն։

7) Multi tenant և տարածաշրջանները (trust domains)

Բաժանեք trust-domain 'a: <spiffe ://eu։ core`, `spiffe://latam. core`.

Առանձին JWKS/PKI տարածաշրջաններում; միջմայրցամաքը միայն վստահելի դարպասների միջոցով է։

Միացրեք «tenault/region/licence» և ստուգեք ռեսուրսի համապատասխանությունը։

Լոգա/աուդիտ սեգմենտացրեք տենանտների և տարածաշրջանների վրա։

8) Mesh/sidecar և առանց-mesh ռեժիմի ռեժիմը

Istio/Linkerd: mTSA «տուփից», policy-enforcae L4/L7 մակարդակում, SPIRE-ի հետ ինտեգրումը։

Առանց mesh 'գրադարան-հաճախորդ + mutium TSA-ում 2019-ին; ավելի դժվար է կառավարել նավարկությունը, ավտոմատիզացնել գործակալի միջոցով։

9) Բանալիներ, JWKS և նավարկություն

Մասնավոր բանալիները միայն KFC/HSM-ում; ստորագրությունը հեռավոր մարտահրավեր/սարք է։

Rotation յուրաքանչյուր N օր; dj-key: Հին + նոր են ընդունվում, issuer ստորագրում է նոր կեշի տաքացումից հետո։

Իսպանիան '«kid» սպառման մասնաբաժինը, «կախված» հաճախորդները հին բանալիով։

Կազմաձևի օրինակ (YAML)

yaml issuer:
jwks:
alg: ES256 rotation_days: 30 publish_cache_ttl: 60s sts:
access_ttl: 5m audience_policies:
- subject: "svc. catalog"
allow: ["svc. search","svc. wallet"]
scopes: ["catalog:read:"]
tenancy:
claims: ["tenant","region","licence"]
jwks_per_region: true

10) Կապում է կոմպոզիցիայի հետ (DPoP/mTSA-bound)

MTIM-bound tokens: JWT-ում ավելացրեք հաճախորդի հաճախորդի գնորդի hash; ընդունելու համար։

DPoP 'HTTP հաճախորդների համար առանց mTLS-ի համար, ստորագրեք DPoP-ի յուրաքանչյուր հարցումը, AT-ում տեղադրեք thumprint DPoP-ը։

11) Սխալներ և քաղաքական գործիչներ

Ստանդարտացրեք ստանդարտները

`401 INVALID_TOKEN`/`EXPIRED_TOKEN`/`AUD_MISMATCH`.
`401 MTLS_REQUIRED`/`MTLS_CERT_INVALID`.
`403 INSUFFICIENT_SCOPE`/`POLICY_DENY`.
`429 RATE_LIMITED`.

Պատասխանը պարունակում է machine-readable 'error _ code "և" as _ of "(ստեղնաշարի/քաղաքականության տարբերակը)։

12) Դիտողությունն ու աուդիտը

Մետրիկները

`s2s_auth_p95_ms`, `verify_jwt_p95_ms`, `jwks_skew_ms`,

`invalid_token_rate`, `aud_mismatch_rate`, `insufficient_scope_rate`,

սպառումը 'kid', mTSA-bound հարցումների մասը։

Լոգա/թրեյզներ

`subject`, `aud`, `tenant`, `region`, `scp`, `kid`, `sid/svid`, `decision`, `policy_version`, `trace_id`.

Աուդիտ (անփոփոխ)

Թոքենների օրինակը, պարտատոմսերը, քաղաքական գործչի փոփոխությունները, մերժված հարցումները։

13) Արտադրողականությունը

JWT-ի վերիֆիկացումը տեղական է, JWKS-ը (TTL 30-60 s) ֆոնային նորարարությամբ։

X.507 շղթաները CA-ի և OCSA/CRL-ի քեշը։

Վերցրեք թանկ validation I/O-ը gateway/sidecar-ում։

Օգտագործեք wwww.fetch towens/հավաստագրեր (10-20-ից մինչև նոյեմբերի)։

14) Թեստավորում

Medract/interop: տարբեր YP/գրադարաններ, clock skew No. 300

Negative: ժամկետանց/կեղծ հոսանք, սխալ «aud», ոչ թե այն տարածքը/տենանտը, որը կոտրվել է cast-chain-ի կողմից։

Chaos: Հանկարծակի վերացումը 'kid', JWKS-ի անհասանելիությունը, զանգվածային էքսպորտը, mTSA-ի փլուզումը։

Load: Pik STS-ում, verify-ի աճը gateway-ում։

E2E: mTMS-only, JWT-only, համակցված ռեժիմը, Token Express (OBO)։

15) Պլեյբուկի (runbooks)

1. Ստորագրության բանալին փոխզիջում

Վերը նշված revoke 'kid ", նոր արտադրություն, կրճատված TTL տոկեններ, աուդիտ," կախված "հաճախորդների որոնում, հարկադիր deny հին" kid "-ի համար։

2. Զանգվածային 'MSALID _ TOKEN "

Ստուգել JWKS-kes-ը, ժամացույցի ռասինխրոնը, հոսանքների ծագումը (TTL շատ կարճ), ժամանակավորապես ընդլայնել ռուսական skew-ը, տաքացնել JWKS-ը։

3. MTIM մերժումներ

CA շղթայի ստուգումը, SVID-ը, հոստի ժամանակը։ emergency-վերափոխումը SPIRE/Istio-ի միջոցով, միացնել fallback երթուղիները միայն տարածաշրջանի ներսում։

4. Աճը 'AUD _ MISMATCH'

Դրեյֆը audience-ի քաղաքական գործիչը 'համեմատել STS-policy-ը իրական մարտահրավերների հետ, ժամանակավորապես ավելացնել անհրաժեշտ «aud» -ը, պլանավորել զանգերի ճարտարապետությունը։

5. STS անհասանելի/դանդաղ

Ավելացնել TTL-ն արդեն տրված հոսանքներով (grace), ներառել wwww.fetch/refresh-նախկինում, scale-out STS-ը։

16) Տիպիկ սխալներ

Երկար գոյատևող API բանալիներ/գաղտնիքներ env/կոդում։

Ընդհանուր JWKS/PKI «բոլոր տարածաշրջանների և բոլոր ժամանակների վրա»։

Binding (mTSA/DPoP) բացակայությունը հեշտ է հեռացնել։

Լայն «aud =» և «adman» scopes լռելյայն։

Առանց dom-key ժամանակահատվածի ռոտացիան կատարվում է զանգվածային 401։

Հոսանքների ստուգումը միայն gateway-ում (ոչ www.ense in depth)։

«Լուռ» մերժումը (ոչ «error _ code» և «reason») դժվար է հավաքագրել և ուսուցանել թիմերը։

17) Միգրացիայի մինի ձևանմուշները

PEP (gateway) կանոնները

yaml auth:
require_mtls: true jwks:
url: https://sts. core/.well-known/jwks. json cache_ttl: 60s claims:
required: ["iss","sub","aud","exp","tenant","region"]
tenant_in_header: "x-tenant"
pdp:
endpoint: "opa:8181/v1/data/policy/allow"
decision_cache_ttl: 60s

STS Policy (հատված)

yaml subjects:
- id: "svc. catalog"
spiffe: "spiffe://core/ns/prod/sa/catalog"
audiences: ["svc. search","svc. wallet"]
scopes: ["catalog:read:"]
ttl: "5m"

18) Չեկ թուղթ մինչև վաճառելը

  • Կարճ ծառայողական JWT (355 րոպե), տեղական հավատալիքները, JWKS-ի քեշը։
  • mTSA (կամ DPoP) ներառված է; գերակայություն - mTSA-bound tokens։
  • SPIFFE/SPIRE-ը կամ համարժեք է սերտիֆիկատների մեքենայական-հետախուզման/ռոտացիայի համար։
  • STS քաղաքական գործիչների հետ audience/scope; Բայց միայն վստահելի ինքնությունը։
  • Trust-domains և JWKS տարանջատումը տարածաշրջաններում; tenault/region/licence ստուգվում են։
  • PDP/PEP ինտեգրված, լուծումներ + հաշմանդամություն ունեցող անձանց համար։
  • Dox-key պատուհանը, սպառման արագությունը 'kid', ալտերտերը www.alid/aud mismatch-ի վրա։
  • Ամբողջական լոգներ/S2S աուդիտ, ներառում են արտադրողականության/սխալների չափումներ։
  • Պլեյբուկները բանալին փոխզիջելու, STS-ի անկման, mTLS-ի ձախողման վրա։
  • Www.ract/negative/chaos/load/E2E թեստերը անցան։

Եզրակացություն

S2S-վավերացումը վստահության ալիքի համադրություն է (mTRC), վստահության հաղորդագրությունը (կարճ JWT) և վորկլոադի կայուն ինքնությունը (SPIFFE), որը ղեկավարվում է կենտրոնացված STS-ի և ստուգված տեղական։ Ավելացրեք trust-scopes-ի բաժանումը, խիստ audience/scopes-ը, ավտոմատ նավարկումը և դիտարկումը, և կստանաք մի ստանդարտ, որը վստահելի է, բացատրենք և մեծանում է պլատֆորմի և նրա աշխարհագրության հետ։

Contact

Կապ հաստատեք մեզ հետ

Կապ հաստատեք մեզ հետ ցանկացած հարցի կամ աջակցության համար։Մենք միշտ պատրաստ ենք օգնել։

Telegram
@Gamble_GC
Սկսել ինտեգրացիան

Email-ը՝ պարտադիր է։ Telegram կամ WhatsApp — ըստ ցանկության։

Ձեր անունը ըստ ցանկության
Email ըստ ցանկության
Թեմա ըստ ցանկության
Նամակի բովանդակություն ըստ ցանկության
Telegram ըստ ցանկության
@
Եթե նշեք Telegram — մենք կպատասխանենք նաև այնտեղ՝ Email-ի дополнение-ով։
WhatsApp ըստ ցանկության
Ձևաչափ՝ երկրի կոդ և համար (օրինակ՝ +374XXXXXXXXX)։

Սեղմելով կոճակը՝ դուք համաձայնում եք տվյալների մշակման հետ։