Penampung, CI / CD, orkestrasi, layanan mikro, dan proses tangkas adalah tag cloud sekarang dalam kosakata teknisi keamanan. Model layanan mikro dan teknologi terkait telah menghasilkan berbagai pendekatan dalam implementasi arsitektur keamanan solusi modern, dan pendekatan tunggal untuk konstruksinya belum terlihat. Tetapi ada pemimpin teknologi dalam pengembangan layanan mikro, ada kelemahan dan kerentanan konfigurasi yang diketahui dalam penerapan pendekatan arsitektur yang berbeda, dan ada sejumlah besar "praktik terbaik" untuk membangun arsitektur yang andal. Dalam materi ini, disusun berdasarkan artikel penelitian yang diterbitkan bersama dengan Denis Makrushin (makrushin) dari tim Riset Keamanan Tingkat Lanjut dari Lab Teknologi Perangkat Lunak Canggih Huawei, kami akan menganalisis pendekatan arsitektural yang umum untuk menerapkan otentikasi dan otorisasi dalam sistem layanan mikro, kelebihan dan kekurangannya. Dan kami akan melakukan ini agar arsitek keamanan memiliki kesempatan untuk fokus pada penerapan model yang diperlukan, dan bukan pada jam mencari informasi yang diperlukan.
Tujuan penelitian
Arsitektur layanan mikro semakin banyak digunakan untuk desain dan implementasi sistem aplikasi di cloud dan infrastruktur lokal, aplikasi dan layanan berskala besar. Mempelajari Habr untuk berbagai praktik yang terkait dengan pengembangan sistem terdistribusi dan toleransi kesalahan cukup untuk memastikan penerapan model layanan mikro secara luas.
. , a (Application Security Architect – , Security Engineer'a, , ) , ( , ). , . , .
:
- ?
- ?
- ?
, , (, OWASP Moscow Meetup).
:
( , – , ) ( 1): (edge-level authorization), (service-level authorization), (external entity identity propagation), (service-to-service authentication). , .
1.
.
(edge-level authorization)
( API). API , . NIST , , API.
:
- API- ( « »);
- API , " " (defense-in-depth);
- , API (operations), , , (, , - ).
: API . , (reference- (self-contained) , HTTP (, "Cookie" "Authorization"), mTLS.
( 2), NIST. :
- Policy Administration Point (PAP) , , ;
- Policy Decision Point (PDP) , ;
- Policy Enforcement Point (PEP) , ;
- Policy Information Point (PIP) , , , PDP .
2.
. , , :
- ;
- ;
- .
PDP PEP (. 3). , , , ( 1). ( 2) (, ), ( 3) , , (enforce) ( 4).
3.
. , , .
, :
- ( « , »);
- /, , ;
- - ( « , »);
- .
, , .
, ( 4). PAP ( 1) PDP , ( 2). ( 3), PDP , PDP , ( 4). PDP ( 5).
4. PDP
:
- , , ;
- , , , , ;
- , , , API, .
DevOps- . Extensible Access Control Markup Language (XACML) Next Generation Access Control (NGAC), . , XACML , , , DevOps-.
- PDP; .
, PDP - . (, API), " ".
, ( 5). PAP ( 1) PDP , ( 2). ( 3), PDP, PDP , ( 4). PDP ( 5).
5 PDP
PDP «sidecar-». Sidecar , , , , .
PDP sidecar . PDP , . " " , , . .
“How Netflix Is Solving Authorization Across Their Cloud” " PDP" ( 6):
- — , ;
- , , ;
- ( Policy) , ( Aggregator), PDP;
- PDP () PEP.
6. PDP ()
, " PDP". , - PDP .
, :
- , , — ;
- (, ), " ";
- , — " ";
- , PAP (, PAP -);
- , , — " " .
:
- (mTLS);
- , , JSON Web Tokens.
mTLS , , . / , mTLS. mTLS . mTLS , .
. (microservice id) (scopes). , , , , , HTTP . TLS, .
(, Overcoming Security Challenges in Microservice Architectures) (, A Pragmatic Approach for Internal Security Partnerships), mTLS .
, .
, : « ?». , , , .
, , « ?» : «, . -». , «best practice» — pull requests OWASP.