الحاوية ، CI / CD ، التنسيق ، الخدمات المصغرة والعمليات الرشيقة هي عبارة عن سحابة علامات الآن في مفردات مهندسي الأمن. لقد أدى نموذج الخدمات المصغرة والتقنيات ذات الصلة إلى مجموعة متنوعة من الأساليب في تنفيذ البنية الأمنية للحلول الحديثة ، ولم يتم حتى الآن رؤية نهج واحد لبنائها. ولكن هناك قادة تقنيون في تطوير الخدمات المصغرة ، وهناك عيوب في التكوين ونقاط ضعف معروفة في تنفيذ الأساليب المعمارية المختلفة ، وهناك عدد كبير من "أفضل الممارسات" لبناء بنية موثوقة. في هذه المادة ، تم إعدادها على أساس مقال بحثي نُشر بالاشتراك مع Denis Makrushin (ماكروشين) من فريق البحث الأمني المتقدم في مختبر Huawei Advanced Software Technology Lab ، سنقوم بتحليل الأساليب المعمارية النموذجية لتنفيذ المصادقة والتفويض في أنظمة الخدمات المصغرة ومزاياها وعيوبها. وسنفعل ذلك حتى تتاح الفرصة لمهندسي الأمن للتركيز على تنفيذ النموذج المطلوب ، وليس على ساعات من البحث عن المعلومات اللازمة.
أهداف البحث
يتم استخدام بنية الخدمات المصغرة بشكل متزايد لتصميم وتنفيذ أنظمة التطبيقات في كل من البنية التحتية السحابية والمحلية والتطبيقات والخدمات واسعة النطاق. يكفي دراسة هابر لمختلف الممارسات المتعلقة بتطوير الأنظمة الموزعة والمتسامحة مع الأخطاء للتأكد من التطبيق الواسع لنموذج الخدمات المصغرة.
أثناء تطوير منتج البرنامج وتنفيذه ، يجب معالجة العديد من مشكلات الأمان. المتطلبات الأساسية التي يضعها مهندس الأمن على عقولهم (مهندس أمن التطبيقات هو دور في شركة منتجات كبيرة لا تلغي المهام الفنية لمهندس الأمن ، ولكنها تضيف بالفعل مشكلات عالية المستوى تتعلق بالعمارة والعمليات) والتي تحتاج إلى حل في مرحلة التصميم ، هي المصادقة والترخيص (AA اختصارًا). لذلك ، من الضروري لمهندسي أمان التطبيقات فهم الأنماط المعمارية الحالية واستخدامها بشكل صحيح لتنفيذ AA في الأنظمة القائمة على الخدمات المصغرة. كان الهدف من دراستنالتحديد هذه الأنماط وتقديم المشورة للمهندس الأمني بشأن استخدامها المحتمل.
:
- ?
- ?
- ?
, , (, 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.