-
Notifications
You must be signed in to change notification settings - Fork 327
/
Copy pathazure_storage_checklist.ko.json
566 lines (566 loc) · 31.4 KB
/
azure_storage_checklist.ko.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
{
"categories": [
{
"name": "ID 및 액세스 관리"
},
{
"name": "네트워크 토폴로지 및 연결성"
},
{
"name": "BC 및 DR"
},
{
"name": "거버넌스 및 보안"
},
{
"name": "비용 관리"
},
{
"name": "운영 관리"
},
{
"name": "응용 프로그램 배포"
},
{
"name": "안전"
}
],
"items": [
{
"category": "안전",
"description": "스토리지와 관련된 Microsoft 클라우드 보안 벤치마크의 지침 적용",
"guid": "d237de14-3b16-4c21-b7aa-9b64604489a8",
"id": "A01.01",
"link": "https://learn.microsoft.com/security/benchmark/azure/baselines/storage-security-baseline",
"service": "Azure Storage",
"severity": "보통",
"subcategory": " 개요",
"text": "'스토리지에 대한 Azure 보안 기준'을 고려합니다.",
"waf": "안전"
},
{
"category": "안전",
"description": "Azure Storage는 기본적으로 공용 IP 주소를 가지며 인터넷에 연결할 수 있습니다. 프라이빗 엔드포인트를 사용하면 액세스가 필요한 Azure Compute 리소스에만 Azure Storage를 안전하게 노출할 수 있으므로 공용 인터넷에 노출되지 않습니다",
"guid": "f42d78e7-9d17-4a73-a22a-5a67e7a8ed4b",
"id": "A02.01",
"link": "https://learn.microsoft.com/azure/storage/common/storage-private-endpoints",
"service": "Azure Storage",
"severity": "높다",
"subcategory": "네트워킹",
"text": "Azure Storage에 프라이빗 엔드포인트를 사용하는 것이 좋습니다.",
"waf": "안전"
},
{
"category": "안전",
"description": "새로 만든 스토리지 계정은 ARM 배포 모델을 사용하여 생성되므로 RBAC, 감사 등이 모두 활성화됩니다. 구독에 클래식 배포 모델을 사용하는 이전 저장소 계정이 없는지 확인합니다.",
"guid": "30e37c3e-2971-41b2-963c-eee079b598de",
"id": "A03.01",
"link": "https://learn.microsoft.com/azure/virtual-machines/migration-classic-resource-manager-overview#migration-of-storage-accounts",
"service": "Azure Storage",
"severity": "보통",
"subcategory": "지배구조",
"text": "이전 스토리지 계정이 '클래식 배포 모델'을 사용하지 않는지 확인",
"waf": "안전"
},
{
"category": "안전",
"description": "Microsoft Defender를 활용하여 의심스러운 활동 및 잘못된 구성에 대해 알아보세요.",
"guid": "fc5972cd-4cd2-41b0-a803-7f5e6b4bfd3d",
"id": "A03.02",
"link": "https://learn.microsoft.com/azure/storage/common/azure-defender-storage-configure",
"service": "Azure Storage",
"severity": "높다",
"subcategory": "지배구조",
"text": "모든 스토리지 계정에 대해 Microsoft Defender 사용",
"waf": "안전"
},
{
"category": "안전",
"description": "일시 삭제 메커니즘을 사용하면 실수로 삭제된 Blob을 복구할 수 있습니다.",
"guid": "503547c1-447e-4c66-828a-7100f1ce16dd",
"id": "A04.01",
"link": "https://learn.microsoft.com/azure/storage/blobs/soft-delete-blob-overview",
"service": "Azure Storage",
"severity": "보통",
"subcategory": "데이터 가용성",
"text": "Blob에 대해 '일시 삭제' 사용Enable 'soft delete' for blobs",
"waf": "안전"
},
{
"category": "안전",
"description": "예를 들어 애플리케이션이 기밀성, 개인 정보 보호 또는 규정 준수를 위해 삭제된 정보가 즉시 삭제되도록 해야 하는 경우와 같이 특정 Blob 컨테이너에 대해 '일시 삭제'를 선택적으로 사용하지 않도록 설정하는 것이 좋습니다. ",
"guid": "3f1d5e87-2e52-4e36-81cc-58b4a4b1510e",
"id": "A05.01",
"link": "https://learn.microsoft.com/azure/storage/blobs/soft-delete-blob-enable",
"service": "Azure Storage",
"severity": "보통",
"subcategory": "기밀성",
"text": "Blob에 대해 '일시 삭제' 사용 안 함",
"waf": "안전"
},
{
"category": "안전",
"description": "컨테이너에 대한 일시 삭제를 사용하면 컨테이너가 삭제된 후 복구할 수 있습니다(예: 실수로 삭제한 작업에서 복구).",
"guid": "43a58a9c-2289-4c3d-9b57-d0c655462f2a",
"id": "A06.01",
"link": "https://learn.microsoft.com/azure/storage/blobs/soft-delete-container-overview",
"service": "Azure Storage",
"severity": "높다",
"subcategory": "데이터 가용성",
"text": "컨테이너에 대해 '일시 삭제' 사용Enable 'soft delete' for containers",
"waf": "안전"
},
{
"category": "안전",
"description": "예를 들어 애플리케이션이 기밀성, 개인 정보 보호 또는 규정 준수를 위해 삭제된 정보가 즉시 삭제되도록 해야 하는 경우와 같이 특정 Blob 컨테이너에 대해 '일시 삭제'를 선택적으로 사용하지 않도록 설정하는 것이 좋습니다. ",
"guid": "3e3453a3-c863-4964-ab65-2d6c15f51296",
"id": "A07.01",
"link": "https://learn.microsoft.com/azure/storage/blobs/soft-delete-container-enable",
"service": "Azure Storage",
"severity": "보통",
"subcategory": "기밀성",
"text": "컨테이너에 대해 '일시 삭제' 사용 안 함",
"waf": "안전"
},
{
"category": "안전",
"description": "사용자가 삭제하기 전에 먼저 삭제 잠금을 제거하도록 강제하여 스토리지 계정의 우발적인 삭제를 방지합니다.",
"guid": "5398e6de-d227-4dd1-92b0-6c21d7999a64",
"id": "A08.01",
"link": "https://learn.microsoft.com/azure/storage/common/lock-account-resource",
"service": "Azure Storage",
"severity": "높다",
"subcategory": "데이터 가용성",
"text": "스토리지 계정에 대한 리소스 잠금 사용Enable resource locks on storage accounts",
"waf": "안전"
},
{
"category": "안전",
"description": "Blob에 대한 '법적 보존' 또는 '시간 기반 보존' 정책을 고려하면 Blob, 컨테이너 또는 스토리지 계정을 삭제할 수 없습니다. '불가능한'은 실제로 '불가능한'을 의미합니다. 스토리지 계정에 변경할 수 없는 Blob이 포함되면 해당 스토리지 계정을 '제거'하는 유일한 방법은 Azure 구독을 취소하는 것입니다.",
"guid": "6f4389a8-f42c-478e-98c0-6a73a22a4956",
"id": "A09.01",
"link": "https://learn.microsoft.com/azure/storage/blobs/immutable-storage-overview",
"service": "Azure Storage",
"severity": "높다",
"subcategory": "데이터 가용성, 규정 준수",
"text": "변경할 수 없는 Blob 고려",
"waf": "안전"
},
{
"category": "안전",
"description": "스토리지 계정에 대한 보호되지 않는 HTTP/80 액세스를 사용하지 않도록 설정하여 모든 데이터 전송이 암호화되고 무결성이 보호되며 서버가 인증되도록 하는 것이 좋습니다. ",
"guid": "e7a8dc4a-20e2-47c3-b297-11b1352beee0",
"id": "A10.01",
"link": "https://learn.microsoft.com/azure/storage/common/storage-require-secure-transfer",
"service": "Azure Storage",
"severity": "높다",
"subcategory": "네트워킹",
"text": "HTTPS 필요, 즉 스토리지 계정에서 포트 80 사용 안 함Require HTTPS, i.e. disable port 80 on the storage account",
"waf": "안전"
},
{
"category": "안전",
"description": "스토리지 계정에서 사용자 지정 도메인(호스트 이름)을 구성할 때 TLS/HTTPS가 필요한지 확인합니다. 이 경우 스토리지 계정 앞에 Azure CDN을 배치해야 할 수 있습니다.",
"guid": "79b588de-fc49-472c-b3cd-21bf77036e5e",
"id": "A10.02",
"link": "https://learn.microsoft.com/azure/storage/blobs/storage-custom-domain-name",
"service": "Azure Storage",
"severity": "높다",
"subcategory": "네트워킹",
"text": "HTTPS를 적용(HTTP 사용 안 함)할 때 스토리지 계정에 사용자 지정 도메인(CNAME)을 사용하지 않는지 확인합니다.",
"waf": "안전"
},
{
"category": "안전",
"description": "클라이언트가 SAS 토큰을 사용하여 Blob 데이터에 액세스할 때 HTTPS를 요구하면 자격 증명 손실 위험을 최소화하는 데 도움이 됩니다.",
"guid": "6b4bed3d-5035-447c-8347-dc56028a71ff",
"id": "A10.03",
"link": "https://learn.microsoft.com/azure/storage/common/storage-sas-overview",
"service": "Azure Storage",
"severity": "보통",
"subcategory": "네트워킹",
"text": "SAS(공유 액세스 서명) 토큰을 HTTPS 연결로만 제한",
"waf": "안전"
},
{
"category": "안전",
"description": ". 최신 TLS 버전을 적용하면 이전 버전을 사용하는 클라이언트의 요청이 거부됩니다. ",
"graph": "resources | where type == 'microsoft.storage/storageaccounts' | extend compliant = (isnull(properties.minimumTlsVersion) == false and properties.minimumTlsVersion in ('TLS1_2', 'TLS1_3')) | distinct id, compliant",
"guid": "e12be569-a18f-4562-8d5d-ce151b9e7d55",
"id": "A10.4",
"link": "https://learn.microsoft.com/azure/storage/common/transport-layer-security-configure-minimum-version",
"service": "Azure Storage",
"severity": "높다",
"subcategory": "네트워킹",
"text": "스토리지 계정에 대한 최신 TLS 버전 적용Enforce the latest TLS version for a storage account",
"waf": "안전"
},
{
"category": "안전",
"description": "가능한 경우 Microsoft Entra ID 토큰을 공유 액세스 서명보다 선호해야 합니다",
"guid": "e1ce15dd-3f0d-45e7-92d4-1e3611cc57b4",
"id": "A11.01",
"link": "https://learn.microsoft.com/azure/storage/common/authorize-data-access",
"service": "Azure Storage",
"severity": "높다",
"subcategory": "ID 및 액세스 관리",
"text": "Blob 액세스에 Microsoft Entra ID 토큰 사용Use Microsoft Entra ID tokens for blob access",
"waf": "안전"
},
{
"category": "안전",
"description": "사용자, 그룹 또는 응용 프로그램에 역할을 할당할 때 해당 보안 주체가 작업을 수행하는 데 필요한 권한만 부여합니다. 리소스에 대한 액세스를 제한하면 의도하지 않은 데이터 오용과 악의적인 데이터 오용을 모두 방지할 수 있습니다.",
"guid": "a4b1410d-4395-48a8-a228-9b3d6b57cfc6",
"id": "A11.02",
"service": "Azure Storage",
"severity": "보통",
"subcategory": "ID 및 액세스 관리",
"text": "IaM 권한의 최소 권한",
"waf": "안전"
},
{
"category": "안전",
"description": "사용자 위임 SAS는 Azure AD(Azure Active Directory) 자격 증명과 SAS에 대해 지정된 권한으로 보호됩니다. 사용자 위임 SAS는 범위와 기능 측면에서 서비스 SAS와 유사하지만 서비스 SAS에 비해 보안상의 이점을 제공합니다. ",
"guid": "55461e1a-3e34-453a-9c86-39648b652d6c",
"id": "A11.03",
"link": "https://learn.microsoft.com/azure/storage/common/storage-sas-overview?toc=%2Fazure%2Fstorage%2Fblobs%2Ftoc.json#best-practices-when-using-sas",
"service": "Azure Storage",
"severity": "높다",
"subcategory": "ID 및 액세스 관리",
"text": "SAS를 사용하는 경우 스토리지 계정 키 기반 SAS보다 '사용자 위임 SAS'를 선호합니다.",
"waf": "안전"
},
{
"category": "안전",
"description": "스토리지 계정 키('공유 키')에는 감사 기능이 거의 없습니다. 누가/언제 키 복사본을 가져왔는지 모니터링할 수 있지만 키가 여러 사람의 손에 들어가면 특정 사용자의 사용을 귀속시킬 수 없습니다. Entra ID 인증에만 의존하면 스토리지 액세스를 사용자에게 더 쉽게 연결할 수 있습니다. ",
"graph": "resources | where type == 'microsoft.storage/storageaccounts' | extend allowSharedKeyAccess = tostring(properties.allowSharedKeyAccess) | extend compliant = (isnotempty(allowSharedKeyAccess) and allowSharedKeyAccess == 'false') | distinct id, compliant",
"guid": "15f51296-5398-4e6d-bd22-7dd142b06c21",
"id": "A11.04",
"link": "https://learn.microsoft.com/rest/api/storageservices/authorize-with-shared-key",
"service": "Azure Storage",
"severity": "높다",
"subcategory": "ID 및 액세스 관리",
"text": "Microsoft Entra ID 액세스(및 사용자 위임 SAS)만 지원되도록 스토리지 계정 키를 사용하지 않도록 설정하는 것이 좋습니다.",
"waf": "안전"
},
{
"category": "안전",
"description": "활동 로그 데이터를 사용하여 스토리지 계정의 보안을 '언제', '누가', '무엇을' 및 '어떻게' 확인하거나 변경합니다(예: 스토리지 계정 키, 액세스 정책 등).",
"guid": "d7999a64-6f43-489a-af42-c78e78c06a73",
"id": "A12.01",
"link": "https://learn.microsoft.com/azure/storage/blobs/blob-storage-monitoring-scenarios#audit-account-activity",
"service": "Azure Storage",
"severity": "높다",
"subcategory": "모니터링",
"text": "Azure Monitor를 사용하여 스토리지 계정에 대한 컨트롤 플레인 작업을 감사하는 것이 좋습니다",
"waf": "안전"
},
{
"category": "안전",
"description": "키 만료 정책을 사용하면 계정 액세스 키의 교체에 대한 미리 알림을 설정할 수 있습니다. 지정된 간격이 경과하고 키가 아직 회전되지 않은 경우 알림이 표시됩니다.",
"guid": "a22a4956-e7a8-4dc4-a20e-27c3e29711b1",
"id": "A13.01",
"link": "https://learn.microsoft.com/azure/storage/common/storage-account-keys-manage?tabs=azure-portal#create-a-key-expiration-policy",
"service": "Azure Storage",
"severity": "보통",
"subcategory": "ID 및 액세스 관리",
"text": "스토리지 계정 키를 사용하는 경우 '키 만료 정책'을 사용하도록 설정하는 것이 좋습니다.",
"waf": "안전"
},
{
"category": "안전",
"description": "SAS 만료 정책은 SAS가 유효한 권장 간격을 지정합니다. SAS 만료 정책은 서비스 SAS 또는 계정 SAS에 적용됩니다. 사용자가 권장 간격보다 큰 유효성 간격으로 서비스 SAS 또는 계정 SAS를 생성하면 경고가 표시됩니다.",
"guid": "352beee0-79b5-488d-bfc4-972cd3cd21bf",
"id": "A13.02",
"link": "https://learn.microsoft.com/azure/storage/common/sas-expiration-policy",
"service": "Azure Storage",
"severity": "보통",
"subcategory": "ID 및 액세스 관리",
"text": "SAS 만료 정책을 구성하는 것이 좋습니다.",
"waf": "안전"
},
{
"category": "안전",
"description": "저장된 액세스 정책은 스토리지 계정 키를 다시 생성할 필요 없이 서비스 SAS에 대한 사용 권한을 취소할 수 있는 옵션을 제공합니다. ",
"guid": "77036e5e-6b4b-4ed3-b503-547c1347dc56",
"id": "A13.03",
"link": "https://learn.microsoft.com/rest/api/storageservices/define-stored-access-policy",
"service": "Azure Storage",
"severity": "보통",
"subcategory": "ID 및 액세스 관리",
"text": "SAS를 저장된 액세스 정책에 연결하는 것이 좋습니다.",
"waf": "안전"
},
{
"category": "안전",
"guid": "028a71ff-e1ce-415d-b3f0-d5e772d41e36",
"id": "A14.01",
"link": "https://microsoft.github.io/code-with-engineering-playbook/continuous-integration/dev-sec-ops/secret-management/recipes/detect-secrets-ado/",
"service": "Azure Storage",
"severity": "보통",
"subcategory": "CI/CD (영문)",
"text": "체크 인된 연결 문자열 및 저장소 계정 키를 검색하도록 응용 프로그램의 소스 코드 리포지토리를 구성하는 것이 좋습니다.",
"waf": "안전"
},
{
"category": "안전",
"description": "이상적으로 애플리케이션은 관리 ID를 사용하여 Azure Storage에 인증해야 합니다. 가능하지 않은 경우 Azure KeyVault 또는 동등한 서비스에 스토리지 자격 증명(연결 문자열, 스토리지 계정 키, SAS, 서비스 주체 자격 증명)을 사용하는 것이 좋습니다.",
"guid": "11cc57b4-a4b1-4410-b439-58a8c2289b3d",
"id": "A15.01",
"link": "https://learn.microsoft.com/azure/architecture/framework/security/design-storage-keys",
"service": "Azure Storage",
"severity": "높다",
"subcategory": "ID 및 액세스 관리",
"text": "Azure KeyVault에 연결 문자열을 저장하는 것이 좋습니다(관리 ID를 사용할 수 없는 시나리오에서).",
"waf": "안전"
},
{
"category": "안전",
"description": "임시 SAS 서비스 SAS 또는 계정 SAS에서 가까운 만료 시간을 사용합니다. 이러한 방식으로 SAS가 손상되더라도 짧은 시간 동안만 유효합니다. 이 방법은 저장된 액세스 정책을 참조할 수 없는 경우에 특히 중요합니다. 또한 단기 만료 시간은 Blob에 업로드할 수 있는 시간을 제한하여 Blob에 쓸 수 있는 데이터의 양을 제한합니다.",
"guid": "27138b82-1102-4cac-9eae-01e6e842e52f",
"id": "A15.02",
"link": "https://learn.microsoft.com/rest/api/storageservices/delegate-access-with-shared-access-signature",
"service": "Azure Storage",
"severity": "높다",
"subcategory": "ID 및 액세스 관리",
"text": "임시 SAS의 유효 기간을 단축하기 위해 노력",
"waf": "안전"
},
{
"category": "안전",
"description": "SAS를 만들 때는 가능한 한 구체적이고 제한적이어야 합니다. 훨씬 더 광범위한 액세스를 제공하는 SAS보다 단일 리소스 및 작업에 대해 SAS를 선호합니다.",
"guid": "4721d928-c1b1-4cd5-81e5-4a29a9de399c",
"id": "A15.03",
"link": "https://learn.microsoft.com/rest/api/storageservices/delegate-access-with-shared-access-signature",
"service": "Azure Storage",
"severity": "보통",
"subcategory": "ID 및 액세스 관리",
"text": "SAS에 좁은 범위 적용",
"waf": "안전"
},
{
"category": "안전",
"description": "SAS에는 SAS를 사용하여 리소스를 요청할 수 있는 권한이 있는 클라이언트 IP 주소 또는 주소 범위에 대한 매개 변수가 포함될 수 있습니다. ",
"guid": "fd7b28dc-9355-4562-82bf-e4564b0d834a",
"id": "A15.04",
"link": "https://learn.microsoft.com/rest/api/storageservices/create-account-sas",
"service": "Azure Storage",
"severity": "보통",
"subcategory": "ID 및 액세스 관리",
"text": "가능한 경우 SAS 범위를 특정 클라이언트 IP 주소로 지정하는 것이 좋습니다",
"waf": "안전"
},
{
"category": "안전",
"description": "SAS는 클라이언트가 업로드하는 데이터의 양을 제한할 수 없습니다. 시간 경과에 따른 스토리지 양의 가격 책정 모델을 감안할 때 클라이언트가 악의적으로 큰 콘텐츠를 업로드했는지 여부를 확인하는 것이 합리적일 수 있습니다.",
"guid": "348b263e-6dd6-4051-8a36-498f6dbad38e",
"id": "A15.05",
"service": "Azure Storage",
"severity": "낮다",
"subcategory": "ID 및 액세스 관리",
"text": "클라이언트가 SAS를 사용하여 파일을 업로드한 후 업로드된 데이터를 확인하는 것이 좋습니다. ",
"waf": "안전"
},
{
"category": "안전",
"description": "'로컬 사용자 계정'을 사용하여 SFTP를 통해 Blob Storage에 액세스하는 경우 '일반적인' RBAC 컨트롤이 적용되지 않습니다. NFS 또는 REST를 통한 Blob 액세스는 SFTP 액세스보다 더 제한적일 수 있습니다. 안타깝게도 2023년 초부터 로컬 사용자는 현재 SFTP 엔드포인트에 대해 지원되는 유일한 ID 관리 형태입니다",
"guid": "ad53cc7c-e1d7-4aaa-a357-1449ab8053d8",
"id": "A15.06",
"link": "https://learn.microsoft.com/azure/storage/blobs/secure-file-transfer-protocol-support#sftp-permission-model",
"service": "Azure Storage",
"severity": "높다",
"subcategory": "ID 및 액세스 관리",
"text": "SFTP: SFTP 액세스를 위한 '로컬 사용자'의 수를 제한하고 시간이 지남에 따라 액세스가 필요한지 여부를 감사합니다.",
"waf": "안전"
},
{
"category": "안전",
"guid": "9f89dc7b-33be-42a1-a27f-7b9e91be1f38",
"id": "A15.07",
"link": "https://learn.microsoft.com/azure/storage/blobs/secure-file-transfer-protocol-known-issues#authentication-and-authorization",
"service": "Azure Storage",
"severity": "보통",
"subcategory": "ID 및 액세스 관리",
"text": "SFTP: SFTP 엔드포인트는 POSIX와 유사한 ACL을 지원하지 않습니다.",
"waf": "안전"
},
{
"category": "안전",
"description": "스토리지는 CORS(Cross-Origin Resource Sharing), 즉 다른 도메인의 웹 앱이 동일 출처 정책을 완화할 수 있도록 하는 HTTP 기능을 지원합니다. CORS를 사용하도록 설정하는 경우 CorsRules를 최소 권한으로 유지합니다.",
"guid": "cef39812-bd46-43cb-aac8-ac199ebb91a3",
"id": "A16.01",
"link": "https://learn.microsoft.com/rest/api/storageservices/cross-origin-resource-sharing--cors--support-for-the-azure-storage-services",
"service": "Azure Storage",
"severity": "높다",
"subcategory": "네트워킹",
"text": "지나치게 광범위한 CORS 정책 방지",
"waf": "안전"
},
{
"category": "안전",
"description": "미사용 데이터는 항상 서버 쪽에서 암호화되며 클라이언트 쪽에서도 암호화될 수 있습니다. 서버 쪽 암호화는 플랫폼 관리형 키(기본값) 또는 고객 관리형 키를 사용하여 발생할 수 있습니다. 클라이언트 쪽 암호화는 클라이언트가 Azure Storage에 Blob별로 암호화/암호 해독 키를 제공하도록 하거나 클라이언트 쪽에서 암호화를 완전히 처리하여 발생할 수 있습니다. 따라서 기밀 보장을 위해 Azure Storage에 전혀 의존하지 않습니다.",
"guid": "3d90cae2-cc88-4137-86f7-c0cbafe61464",
"id": "A17.01",
"link": "https://learn.microsoft.com/azure/storage/common/storage-service-encryption",
"service": "Azure Storage",
"severity": "높다",
"subcategory": "기밀성 및 암호화",
"text": "미사용 데이터를 암호화하는 방법을 결정합니다. 데이터에 대한 스레드 모델을 이해합니다.",
"waf": "안전"
},
{
"category": "안전",
"guid": "8dd457e9-2713-48b8-8110-2cac6eae01e6",
"id": "A17.02",
"link": "https://learn.microsoft.com/azure/storage/common/customer-managed-keys-overview?toc=%2Fazure%2Fstorage%2Fblobs%2Ftoc.json&bc=%2Fazure%2Fstorage%2Fblobs%2Fbreadcrumb%2Ftoc.json",
"service": "Azure Storage",
"severity": "보통",
"subcategory": "기밀성 및 암호화",
"text": "어떤 플랫폼 암호화를 사용해야 하는지 확인합니다.",
"waf": "안전"
},
{
"category": "안전",
"guid": "e842e52f-4721-4d92-ac1b-1cd521e54a29",
"id": "A17.03",
"link": "https://learn.microsoft.com/azure/storage/blobs/encryption-customer-provided-keys",
"service": "Azure Storage",
"severity": "보통",
"subcategory": "기밀성 및 암호화",
"text": "클라이언트 쪽 암호화를 사용해야 하는지 여부를 결정합니다.",
"waf": "안전"
},
{
"category": "안전",
"description": "리소스 그래프 탐색기(리소스 | where type == 'microsoft.storage/storageaccounts' | where properties['allowBlobPublicAccess'] == true)를 활용하여 익명 Blob 액세스를 허용하는 스토리지 계정을 찾습니다.",
"graph": "resources | where type == 'microsoft.storage/storageaccounts' | extend compliant = (properties.allowBlobPublicAccess == 'false') | distinct id, compliant",
"guid": "659ae558-b937-4d49-a5e1-112dbd7ba012",
"id": "A18.01",
"link": "https://learn.microsoft.com/azure/storage/blobs/anonymous-read-access-configure?tabs=portal#allow-or-disallow-public-read-access-for-a-storage-account",
"service": "Azure Storage",
"severity": "높다",
"subcategory": "ID 및 액세스 관리",
"text": "공용 Blob 익명 액세스가 필요한지 또는 특정 스토리지 계정에 대해 사용하지 않도록 설정할 수 있는지 여부를 고려합니다. ",
"waf": "안전"
},
{
"category": "운영 관리",
"guid": "cb8eb8c0-aa62-4a25-a495-6eaa8dc4a243",
"id": "B01.01",
"link": "https://learn.microsoft.com/azure/storage/common/storage-account-upgrade?tabs=azure-portal",
"service": "Azure Storage",
"severity": "높다",
"subcategory": "플랫폼 버전",
"text": "성능 및 안정성 향상을 위해 storagev2 계정 유형 활용",
"waf": "신뢰도"
},
{
"category": "BC 및 DR",
"guid": "e05bbe20-9d49-4fda-9777-8424d116785c",
"id": "C01.01",
"link": "https://learn.microsoft.com/azure/storage/common/storage-redundancy",
"service": "Azure Storage",
"severity": "높다",
"subcategory": "가용성",
"text": "최고의 가용성을 위해 GRS, ZRS 또는 GZRS 스토리지 활용",
"waf": "신뢰도"
},
{
"category": "BC 및 DR",
"guid": "2fa56c56-ad48-4408-be72-734c486ba280",
"id": "C01.02",
"link": "https://learn.microsoft.com/azure/storage/common/storage-disaster-recovery-guidance",
"service": "Azure Storage",
"severity": "보통",
"subcategory": "페일오버",
"text": "장애 조치(failover) 후 쓰기 작업의 경우 고객 관리 장애 조치(failover)를 사용합니다. ",
"waf": "신뢰도"
},
{
"category": "운영 관리",
"guid": "dc0590cf-65de-48e1-909c-cbd579266bcc",
"id": "C01.03",
"link": "https://learn.microsoft.com/azure/storage/common/storage-disaster-recovery-guidance#microsoft-managed-failover",
"service": "Azure Storage",
"severity": "보통",
"subcategory": "페일오버",
"text": "Microsoft 관리 장애 조치(failover) 세부 정보 이해",
"waf": "신뢰도"
},
{
"category": "운영 관리",
"guid": "a274faa1-abfe-49d5-9d04-c3c4919cb1b3",
"id": "C01.04",
"link": "https://learn.microsoft.com/azure/storage/blobs/soft-delete-blob-enable?tabs=azure-portal",
"service": "Azure Storage",
"severity": "보통",
"subcategory": "데이터 보호",
"text": "일시 삭제 사용",
"waf": "신뢰도"
}
],
"metadata": {
"name": "Azure Storage Review Checklist",
"state": "Preview",
"timestamp": "August 12, 2024",
"waf": "all"
},
"severities": [
{
"name": "높다"
},
{
"name": "보통"
},
{
"name": "낮다"
}
],
"status": [
{
"description": "이 검사는 아직 검토되지 않았습니다",
"name": "확인되지 않음"
},
{
"description": "이 검사와 연관된 작업 항목이 있습니다",
"name": "열다"
},
{
"description": "이 검사는 확인되었으며 이와 관련된 추가 작업 항목이 없습니다",
"name": "성취"
},
{
"description": "권장 사항을 이해하지만 현재 요구 사항에 필요하지 않음",
"name": "필요 없음"
},
{
"description": "현재 설계에는 적용되지 않습니다.",
"name": "해당 없음"
}
],
"waf": [
{
"name": "신뢰도"
},
{
"name": "안전"
},
{
"name": "비용"
},
{
"name": "작업"
},
{
"name": "공연"
}
],
"yesno": [
{
"name": "예"
},
{
"name": "아니요"
}
]
}