-
Notifications
You must be signed in to change notification settings - Fork 705
/
nist_ocp4.yml
16593 lines (14806 loc) · 905 KB
/
nist_ocp4.yml
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
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
policy: NIST
title: Configuration Recommendations for the OpenShift Container Platform
id: nist_ocp4
version: Revision 4
source: https://www.fedramp.gov/assets/resources/documents/FedRAMP_Security_Controls_Baseline.xlsx
levels:
- id: low
- id: moderate
- id: high
controls:
- id: AC-1
status: not applicable
notes: |-
Section a: AC-1(a) is an organizational control outside the scope of OpenShift configuration.
Section b: AC-1(b) is an organizational control outside the scope of OpenShift configuration.
rules: []
description: "The organization:\n a. Develops, documents, and disseminates to [Assignment:\
\ organization-defined personnel or roles]:\n 1. An access control policy that\
\ addresses purpose, scope, roles, responsibilities, management commitment, coordination\
\ among organizational entities, and compliance; and\n 2. Procedures to facilitate\
\ the implementation of the access control policy and associated access controls;\
\ and\n b. Reviews and updates the current:\n 1. Access control policy [Assignment:\
\ organization-defined frequency]; and\n 2. Access control procedures [Assignment:\
\ organization-defined frequency].\n\nSupplemental Guidance: This control addresses\
\ the establishment of policy and procedures for the effective implementation\
\ of selected security controls and control enhancements in the AC family. Policy\
\ and procedures reflect applicable federal laws, Executive Orders, directives,\
\ regulations, policies, standards, and guidance. Security program policies and\
\ procedures at the organization level may make the need for system-specific policies\
\ and procedures unnecessary. The policy can be included as part of the general\
\ information security policy for organizations or conversely, can be represented\
\ by multiple policies reflecting the complex nature of certain organizations.\
\ The procedures can be established for the security program in general and for\
\ particular information systems, if needed. \n\nThe organizational risk management\
\ strategy is a key factor in establishing policy and procedures. Related control:\
\ PM-9.\nControl Enhancements: None.\nReferences: NIST Special Publications 800-12,\
\ 800-100.\n\nAC-1 (b) (1) [at least annually] \nAC-1 (b) (2) [at least annually\
\ or whenever a significant change occurs]"
title: >-
AC-1 - ACCESS CONTROL POLICY AND PROCEDURES
levels:
- high
- moderate
- low
- id: AC-2
status: automated
notes: |-
Section a: AC-2(a) is an organizational control outside the scope of OpenShift configuration.
Section b: AC-2(b) is an organizational control outside the scope of OpenShift configuration.
Section c: AC-2(c) is an organizational control outside the scope of OpenShift configuration.
Section d: AC-2(d) is an organizational control outside the scope of OpenShift configuration.
Section e: AC-2(e) is an organizational control outside the scope of OpenShift configuration.
Section f: AC-2(f) is an organizational control outside the scope of OpenShift configuration.
Section g: AC-2(g) is an organizational control outside the scope of OpenShift configuration.
Section h: AC-2(h) is an organizational control outside the scope of OpenShift configuration.
Section i: AC-2(i) is an organizational control outside the scope of OpenShift configuration.
Section j: AC-2(j) is an organizational control outside the scope of OpenShift configuration.
Section k: AC-2(k) is an organizational control outside the scope of OpenShift configuration.
rules:
- idp_is_configured
description: |-
The organization:
a. Identifies and selects the following types of information system accounts to support organizational missions/business functions: [Assignment: organization-defined information system account types];
b. Assigns account managers for information system accounts;
c. Establishes conditions for group and role membership;
d. Specifies authorized users of the information system, group and role membership, and access authorizations (i.e., privileges) and other attributes (as required) for each account;
e. Requires approvals by [Assignment: organization-defined personnel or roles] for requests to create information system accounts;
f. Creates, enables, modifies, disables, and removes information system accounts in accordance with [Assignment: organization-defined procedures or conditions];
g. Monitors the use of, information system accounts;
h. Notifies account managers:
1. When accounts are no longer required;
2. When users are terminated or transferred; and
3. When individual information system usage or need-to-know changes;
i. Authorizes access to the information system based on:
1. A valid access authorization;
2. Intended system usage; and
3. Other attributes as required by the organization or associated missions/business functions;
j. Reviews accounts for compliance with account management requirements [Assignment: organization-defined frequency]; and
k. Establishes a process for reissuing shared/group account credentials (if deployed) when individuals are removed from the group.
Supplemental Guidance: Information system account types include individual, shared, group, system, guest/anonymous, emergency, developer/manufacturer/vendor, temporary, and service. Some of the account management requirements listed above can be implemented by organizational information systems. The identification of authorized users of the information system and the specification of access privileges reflects the requirements in other security controls in the security plan. Users requiring administrative privileges on information system accounts receive additional scrutiny by appropriate organizational personnel (e.g., system owner, mission/business owner, or chief information security officer) responsible for approving such accounts and privileged access. Organizations may choose to define access privileges or other attributes by account, by type of account, or a combination of both. Other attributes required for authorizing access include, for example, restrictions on time-of-day, day-of-week, and point-of-origin. In defining other account attributes, organizations consider system-related requirements (e.g., scheduled maintenance, system upgrades) and mission/business requirements, (e.g., time zone differences, customer requirements, remote access to support travel requirements). Failure to consider these factors could affect information system availability. Temporary and emergency accounts are accounts intended for short-term use. Organizations establish temporary accounts as a part of normal account activation procedures when there is a need for short-term accounts without the demand for immediacy in account activation. Organizations establish emergency accounts in response to crisis situations and with the need for rapid account activation. Therefore, emergency account activation may bypass normal account authorization processes. Emergency and temporary accounts are not to be confused with infrequently used accounts (e.g., local logon accounts used for special tasks defined by organizations or when network resources are unavailable). Such accounts remain available and are not subject to automatic disabling or removal dates. Conditions for disabling or deactivating accounts include, for example: (i) when shared/group, emergency, or temporary accounts are no longer required; or (ii) when individuals are transferred or terminated. Some types of information system accounts may require specialized training. Related controls: AC-3, AC-4, AC-5, AC-6, AC-10, AC-17, AC-19, AC-20, AU-9, IA-2, IA-4, IA-5, IA-8, CM-5, CM-6, CM-11, MA-3, MA-4, MA-5, PL-4, SC-13.
References: None.
AC-2 (j) [monthly for privileged accessed, every six (6) months for non-privileged access]
title: >-
AC-2 - ACCOUNT MANAGEMENT
levels:
- high
- moderate
- low
- id: AC-2(1)
status: automated
notes: |-
OpenShift components of the system support automated
management through monitoring of accounts and system
activity by logging of related information.
While OpenShift can generate audit data, and securely
transport the data to a SIEM, OpenShift does not provide
automated mechanisms (e.g. email, text messages) after
system events. This functionality would fall to third
party software such as an Identity Provider (IdP),
Active Directory (MSAD), LDAP, etc.
To configure an IdP, see https://docs.openshift.com/container-platform/latest/authentication/understanding-identity-provider.html
Note that the using the htpasswd IDP type cannot cover this
control, therefore using htpasswd based IDPs should render
the system non-compliant.
rules:
- ocp_idp_no_htpasswd
- idp_is_configured
description: |-
The organization employs automated mechanisms to support the management of information system accounts.
Supplemental Guidance: The use of automated mechanisms can include, for example: using email or text messaging to automatically notify account managers when users are terminated or transferred; using the information system to monitor account usage; and using telephonic notification to report atypical system account usage.
title: >-
AC-2(1) - ACCOUNT MANAGEMENT | AUTOMATED SYSTEM ACCOUNT MANAGEMENT
levels:
- high
- moderate
- id: AC-2(2)
status: automated
notes: |-
OpenShift does not have the capability to create
guest/anonymous accounts or temporary accounts. Any
external emergency or temporary accounts will be
inherited from, and managed by, an external
identity service (e.g. Active Directory, LDAP, etc.)
To configure an IdP, see https://docs.openshift.com/container-platform/latest/authentication/understanding-identity-provider.html
It is recommended to grant the cluster-admin clusterrole
to a user or a group backed by an IDP and subsequently
remove the kubeadmin user as described in https://docs.openshift.com/container-platform/latest/authentication/remove-kubeadmin.html
rules:
- kubeadmin_removed
- ocp_idp_no_htpasswd
- idp_is_configured
description: "The information system automatically [Selection: removes; disables]\
\ temporary and emergency accounts after [Assignment: organization-defined time\
\ period for each type of account].\n\nSupplemental Guidance: This control enhancement\
\ requires the removal of both temporary and emergency accounts automatically\
\ after a predefined period of time has elapsed, rather than at the convenience\
\ of the systems administrator.\n\nAC-2 (2) [Selection: disables] \n[Assignment:\
\ 24 hours from last use]"
title: >-
AC-2(2) - ACCOUNT MANAGEMENT | REMOVAL OF TEMPORARY / EMERGENCY ACCOUNTS
levels:
- high
- moderate
- id: AC-2(3)
status: automated
notes: |-
OpenShift does not have the ability to automatically
disable user accounts. Automatic disabling of these
accounts must happen at the centralized account
management level; for example, within LDAP, Red Hat
IdM, or Active Directory.
To configure an IdP, see https://docs.openshift.com/container-platform/latest/authentication/understanding-identity-provider.html
Note that the using the htpasswd IDP type cannot cover this
control, therefore using htpasswd based IDPs should render
the system non-compliant.
rules:
- ocp_idp_no_htpasswd
- idp_is_configured
description: |-
The information system automatically disables inactive accounts after [Assignment: organization-defined time period].
AC-2 (3) [35 days for user accounts]
AC-2 (3) Requirement: The service provider defines the time period for non-user accounts (e.g., accounts associated with devices). The time periods are approved and accepted by the JAB/AO. Where user management is a function of the service, reports of activity of consumer users shall be made available.
title: >-
AC-2(3) - ACCOUNT MANAGEMENT | DISABLE INACTIVE ACCOUNTS
levels:
- high
- moderate
- id: AC-2(4)
status: automated
notes: |-
To meet FISMA requirements, OpenShift must be configured
to use centralized authentication (e.g. LDAP, Red Hat IdM,
Active Directory). The audit of account creation,
modification, enabling, disabling, and removal actions is
the responsibility of the centralized service. Additionally,
notification of organization-defined personnel or roles is
also the responsibility of the centralized authentication
service.
OpenShift automatically audits creation of the Identity
API objects which subsequently allow to match the creation
of the OpenShift identity to the external IDP identity. See
https://docs.openshift.com/container-platform/latest/security/audit-log-view.html
for documentation on how to view the audit logs and
https://docs.openshift.com/container-platform/latest/security/audit-log-policy-config.html
for information on configuring the audit logging.
Note that the using the htpasswd IDP type cannot cover this
control, therefore using htpasswd based IDPs should render
the system non-compliant.
rules:
- ocp_idp_no_htpasswd
- idp_is_configured
description: |-
The information system automatically audits account creation, modification, enabling, disabling, and removal actions, and notifies [Assignment: organization-defined personnel or roles].
Supplemental Guidance: Related controls: AU-2, AU-12.
AC-2 (4) [organization and/or service provider system owner]
title: >-
AC-2(4) - ACCOUNT MANAGEMENT | AUTOMATED AUDIT ACTIONS
levels:
- high
- moderate
- id: AC-2(5)
status: automated
notes: |-
To meet the requirements, OpenShift must be configured
to use centralized authentication via an IDP. The account
inactivity timeout can be either configured per OAuth client
as described here:
https://docs.openshift.com/container-platform/latest/authentication/configuring-oauth-clients.html#oauth-token-inactivity-timeout_configuring-oauth-clients
Or globally (this example uses 600s timeout):
$ oc patch oauth.config cluster -p '{"spec":{"tokenConfig":{"accessTokenInactivityTimeout": "600s"}}}' --type='merge'
Note that the global configuration does not change the configuration
of the oauthclient objects, so for proper compliance check, both must
be audited.
Also note that prior to OpenShift 4.8, changing the global oauth.config
object triggers a rollout of the kube-apiserver which can take up
to 15 minutes. You can watch the kube-apiserver rollout with
"oc get co kube-apiserver". Once the rollout finishes, the "Progressing"
column will say "False".
rules:
- idp_is_configured
- oauth_or_oauthclient_inactivity_timeout
description: |-
The organization requires that users log out when [Assignment: organization-defined time-period of expected inactivity or description of when to log out].
Supplemental Guidance: Related control: SC-23.
AC-2 (5) [inactivity is anticipated to exceed Fifteen (15) minutes]
AC-2 (5) Guidance: Should use a shorter timeframe than AC-12.
title: >-
AC-2(5) - ACCOUNT MANAGEMENT | INACTIVITY LOGOUT
levels:
- high
- moderate
- id: AC-2(6)
status: automated
notes: |-
OpenShift implements dynamic privilege management capabilities through the use
of a proper identity provider. OpenShift users can then be assigned roles through
role bindings.
To configure an IdP, see https://docs.openshift.com/container-platform/latest/authentication/understanding-identity-provider.html
rules:
- idp_is_configured
- id: AC-2(7)
status: automated
notes: |-
Section a: Establishing and administering privileged user accounts in accordance with a
role-based access scheme that organizes allowed information system access and
privileges into roles is an organizational control outside the scope of OpenShift
However to facilitate a control response, using Role Based Access Control (RBAC),
OpenShift roles can be used to grant various levels of access both cluster-wide as well as at
the project scope. Users and groups can be associated with, or bound
to, multiple roles at the same time.
For service accounts that might also have privileged access, Security
Context Constraints (SCC) should be used to limit privileged actions
in service accounts.
For the cluster, the kubeadmin user should be completely disabled.
More information on RBAC can be viewed at:
https://docs.openshift.com/container-platform/latest/authentication/using-rbac.html
More information for SCC can be viewed at:
https://docs.openshift.com/container-platform/latest/authentication/managing-security-context-constraints.html
Section b: The organization monitoring privileged role assignments is an organizational
control outside the configuration of OpenShift.
Section c: The organization taking defined actions when privileged role assignments are no
longer appropriate is an organizational control outside the scope of OpenShift.
rules:
- kubeadmin_removed
- ocp_idp_no_htpasswd
- idp_is_configured
description: |-
The organization:
(a) Establishes and administers privileged user accounts in accordance with a role-based access scheme that organizes allowed information system access and privileges into roles;
(b) Monitors privileged role assignments; and
(c) Takes [Assignment: organization-defined actions] when privileged role assignments are no longer appropriate.
Supplemental Guidance: Privileged roles are organization-defined roles assigned to individuals that allow those individuals to perform certain security-relevant functions that ordinary users are not authorized to perform. These privileged roles include, for example, key management, account management, network and system administration, database administration, and web administration.
AC-2 (7) (c) [disables/revokes access within a organization-specified timeframe]
title: >-
AC-2(7) - ACCOUNT MANAGEMENT | ROLE-BASED SCHEMES
levels:
- high
- moderate
- id: AC-2(8)
status: automated
notes: |-
OpenShift will dynamically create user and system accounts in the OpenShift cluster
when configured to connect to an identity provider.
To configure an IdP, see https://docs.openshift.com/container-platform/latest/authentication/understanding-identity-provider.html
rules:
- ocp_idp_no_htpasswd
- idp_is_configured
- id: AC-2(9)
status: not applicable
notes: |-
OpenShift does not have the concept of group accounts.
Should the organization allow shared credentials, the
creation and management of such would fall under the scope
of operating the shared identity service and not OpenShift.
It is recommended to grant the cluster-admin clusterrole
to a user or a group backed by an IDP and subsequently
remove the kubeadmin user as described in https://docs.openshift.com/container-platform/latest/authentication/remove-kubeadmin.html
rules:
- kubeadmin_removed
description: |-
The organization only permits the use of shared/group accounts that meet [Assignment: organization-defined conditions for establishing shared/group accounts].
AC-2 (9) [organization-defined need with justification statement that explains why such accounts are necessary]
AC-2 (9) Required if shared/group accounts are deployed
title: >-
AC-2(9) - ACCOUNT MANAGEMENT | RESTRICTIONS ON USE OF SHARED GROUPS / ACCOUNTS
levels:
- high
- moderate
- id: AC-2(10)
status: not applicable
notes: |-
OpenShift does not have the concept of group accounts.
Should the organization allow shared credentials, the
creation and management of such would fall under the scope
of operating the shared identity service and not OpenShift.
It is recommended to grant the cluster-admin clusterrole
to a user or a group backed by an IDP and subsequently
remove the kubeadmin user as described in https://docs.openshift.com/container-platform/latest/authentication/remove-kubeadmin.html
rules:
- kubeadmin_removed
description: "The information system terminates shared/group account credentials\
\ when members leave the group.\n\n \nAC-2 (10) Required if shared/group accounts\
\ are deployed"
title: >-
AC-2(10) - ACCOUNT MANAGEMENT | SHARED / GROUP ACCOUNT CREDENTIAL TERMINATION
levels:
- high
- moderate
- id: AC-2(11)
status: not applicable
notes: |-
Enforcement of organization-defined circumstances and/or usage
conditions is the responsibility of third party identity
management software such as Red Hat Identity Management (Red Hat IdM),
Active Directory (MSAD), LDAP, etc.
To configure an Identity Provider (IdP), refer to the "Authentication"
chapter of the OpenShift Container Platform documentation at
https://docs.openshift.com/container-platform/latest/authentication/understanding-authentication.html
rules: []
description: |-
The information system enforces [Assignment: organization-defined circumstances and/or usage conditions] for [Assignment: organization-defined information system accounts].
Supplemental Guidance: Organizations can describe the specific conditions or circumstances under which information system accounts can be used, for example, by restricting usage to certain days of the week, time of day, or specific durations of time.
title: >-
AC-2(11) - ACCOUNT MANAGEMENT | USAGE CONDITIONS
levels:
- high
- id: AC-2(12)
status: automated
notes: |-
Section a: Monitoring of atypical use is outside of the scope of OpenShift configuration.
However, setting up log forwarding can help analyze the data for suspicious
activity. Please refer to
https://docs.openshift.com/container-platform/latest/logging/cluster-logging-external.html
to learn more about setting up secure log forwarding.
Section b: Monitoring of atypical use is outside of the scope of OpenShift configuration.
However, setting up log forwarding can help analyze the data for suspicious
activity. Please refer to
https://docs.openshift.com/container-platform/latest/logging/cluster-logging-external.html
to learn more about setting up secure log forwarding.
rules:
- audit_log_forwarding_enabled
description: |-
The organization:
(a) Monitors information system accounts for [Assignment: organization-defined atypical use]; and
(b) Reports atypical usage of information system accounts to [Assignment: organization-defined personnel or roles].
Supplemental Guidance: Atypical usage includes, for example, accessing information systems at certain times of the day and from locations that are not consistent with the normal usage patterns of individuals working in organizations. Related control: CA-7.
AC-2 (12) (b)[at a minimum, the ISSO and/or similar role within the organization]
AC-2 (12)(a) Guidance: Required for privileged accounts.
AC-2 (12)(b) Guidance: Required for privileged accounts.
title: >-
AC-2(12) - ACCOUNT MANAGEMENT | ACCOUNT MONITORING / ATYPICAL USAGE
levels:
- high
- moderate
- id: AC-2(13)
status: not applicable
notes: |-
AC-2 (13) is an organizational control outside the scope of OpenShift configuration.
rules: []
description: |-
The organization disables accounts of users posing a significant risk within [Assignment: organization-defined time period] of discovery of the risk.
Supplemental Guidance: Users posing a significant risk to organizations include individuals for whom reliable evidence or intelligence indicates either the intention to use authorized access to information systems to cause harm or through whom adversaries will cause harm. Harm includes potential adverse impacts to organizational operations and assets, individuals, other organizations, or the Nation. Close coordination between authorizing officials, information system administrators, and human resource managers is essential in order for timely execution of this control enhancement. Related control: PS-4.
AC-2 (13) [one (1) hour]
title: >-
AC-2(13) - ACCOUNT MANAGEMENT | DISABLE ACCOUNTS FOR HIGH-RISK INDIVIDUALS
levels:
- high
- id: AC-3
status: inherently met
notes: |-
This control is inherently met through the use of Role-based Access Control
for an OpenShift user. Namespaces should also be configured to
sandbox users and resources to only the required projects.
rules: []
description: |-
The information system enforces approved authorizations for logical access to information and system resources in accordance with applicable access control policies.
Supplemental Guidance: Access control policies (e.g., identity-based policies, role-based policies, attribute-based policies) and access enforcement mechanisms (e.g., access control lists, access control matrices, cryptography) control access between active entities or subjects (i.e., users or processes acting on behalf of users) and passive entities or objects (e.g., devices, files, records, domains) in information systems. In addition to enforcing authorized access at the information system level and recognizing that information systems can host many applications and services in support of organizational missions and business operations, access enforcement mechanisms can also be employed at the application and service level to provide increased information security. Related controls: AC-2, AC-4, AC-5, AC-6, AC-16, AC-17, AC-18, AC-19, AC-20, AC-21, AC-22, AU-9, CM-5, CM-6, CM-11, MA-3, MA-4, MA-5, PE-3.
References: None.
title: >-
AC-3 - ACCESS ENFORCEMENT
levels:
- high
- moderate
- low
- id: AC-3(1)
status: not applicable
notes: |-
This control was withdrawn by NIST, and incorporated into
AC-6
rules: []
- id: AC-3(2)
status: pending
notes: |-
A control response for AC-3 (2) is planned. Engineering
progress can be tracked via:
https://issues.redhat.com/browse/CMP-88
rules: []
- id: AC-3(3)
status: pending
notes: |-
Section a: A response to AC-3 (3) is planned. Engineering
progress can be tracked via:
https://issues.redhat.com/browse/CMP-212
Section b: A response to AC-3 (3) is planned. Engineering
progress can be tracked via:
https://issues.redhat.com/browse/CMP-212
Section c: A response to AC-3 (3) is planned. Engineering
progress can be tracked via:
https://issues.redhat.com/browse/CMP-212
rules: []
- id: AC-3(4)
status: supported
notes: |-
Section a: OpenShift uses the concept of users and groups to segregate subjects and objects.
A user can be assigned to one or more groups, each of which represent a certain
set of users. Groups are useful when managing authorization policies to grant
permissions to multiple users at once, for example allowing access to objects
within a project, versus granting them to users individually.
OpenShift Security Context Constraints (SCC) control the actions that a pod can
perform and what it has the ability to access.
More information on Role Based Access Control (RBAC) can be viewed at:
https://docs.openshift.com/container-platform/latest/authentication/using-rbac.html
More information on Security Context Constraints (SCC) can be viewed at:
https://docs.openshift.com/container-platform/latest/authentication/managing-security-context-constraints.html
Section b: Only OpenShift cluster administrators have privileges to modify the security attributes
within OpenShift. Specifically, cluster administrators have full access to modify the
bindings of a particular role to a user. For users that have been provided more
privileges based on a particular role, those users then can only make changes based on
the privileges afforded to them.
More information on Role Based Access Control (RBAC) can be viewed at:
https://docs.openshift.com/container-platform/latest/authentication/using-rbac.html
More information on Security Context Constraints (SCC) can be viewed at:
https://docs.openshift.com/container-platform/latest/authentication/managing-security-context-constraints.html
Section c: Only OpenShift cluster administrators have privileges to modify the security attributes
within OpenShift. Specifically, cluster administrators have full access to modify the
bindings of a particular role to a user. For users that have been provided more
privileges based on a particular role, those users then can only make changes based on
the privileges afforded to them. The same is true for Security Context Constraints (SCC).
More information on Role Based Access Control (RBAC) can be viewed at:
https://docs.openshift.com/container-platform/latest/authentication/using-rbac.html
More information on Security Context Constraints (SCC) can be viewed at:
https://docs.openshift.com/container-platform/latest/authentication/managing-security-context-constraints.html
Section d: Only OpenShift cluster administrators have privileges to modify the full security attributes
within OpenShift. Specifically, cluster administrators have full access to modify the default
set of security attributes. For users that have been provided more
privileges based on a particular role, those users then can only make changes based on
the privileges afforded to them. The same is true for Security Context Constraints (SCC).
More information on Role Based Access Control (RBAC) can be viewed at:
https://docs.openshift.com/container-platform/latest/authentication/using-rbac.html
More information on Security Context Constraints (SCC) can be viewed at:
https://docs.openshift.com/container-platform/latest/authentication/managing-security-context-constraints.html
Section e: Only OpenShift cluster administrators have privileges to change rules governing access
control on the cluster. The same is true for Security Context Constraints (SCC).
More information on Role Based Access Control (RBAC) can be viewed at:
https://docs.openshift.com/container-platform/latest/authentication/using-rbac.html
More information on Security Context Constraints (SCC) can be viewed at:
https://docs.openshift.com/container-platform/latest/authentication/managing-security-context-constraints.html
rules: []
- id: AC-3(5)
status: pending
notes: |-
A response to AC-3 (5) is planned. Progress can be tracked
via:
https://issues.redhat.com/browse/CMP-91
rules: []
- id: AC-3(6)
status: not applicable
notes: |-
This control was withdrawn by NIST.
rules: []
- id: AC-3(7)
status: supported
notes: |-
This control is met through a variety of OpenShift technologies:
- Role-based Access Control
- Seccomp
- SELinux
- Namespaces
- Security Context Constraints (SCC)
rules: []
- id: AC-3(8)
status: pending
notes: |-
A response to AC-3 (8) is planned. Engineering progress can be tracked
via:
https://issues.redhat.com/browse/CMP-96
rules: []
- id: AC-3(9)
status: pending
notes: |-
Section a: A response to AC-3 (9) is planned. Engineering progress can be tracked
via:
https://issues.redhat.com/browse/CMP-97
Section b: A response to AC-3 (9) is planned. Engineering progress can be tracked
via:
https://issues.redhat.com/browse/CMP-97
rules: []
- id: AC-3(10)
status: supported
notes: |-
A response to AC-3 (10) is planned. Engineering progress can be tracked
via:
https://issues.redhat.com/browse/CMP-213
rules: []
- id: AC-4
status: automated
notes: |-
The customer is responsible for ensuring that NetworkPolicies
are configured in all non-openshift namespaces to allow traffic
only in the namespace and not across namespaces:
https://docs.openshift.com/container-platform/4.6/networking/network_policy/about-network-policy.html
Routes created in Red Hat OpenShift must also have an appropriate
policy that prefers a secure endpoint.
Documentation for creating an ingress rule can be viewed at:
https://docs.openshift.com/container-platform/latest/networking/configuring_ingress_cluster_traffic/overview-traffic.html
Documentation for creating a route can be viewed at:
https://docs.openshift.com/container-platform/latest/networking/routes/route-configuration.html
rules:
- configure_network_policies_namespaces
- routes_protected_by_tls
description: |-
The information system enforces approved authorizations for controlling the flow of information within the system and between interconnected systems based on [Assignment: organization-defined information flow control policies].
Supplemental Guidance: Information flow control regulates where information is allowed to travel within an information system and between information systems (as opposed to who is allowed to access the information) and without explicit regard to subsequent accesses to that information. Flow control restrictions include, for example, keeping export-controlled information from being transmitted in the clear to the Internet, blocking outside traffic that claims to be from within the organization, restricting web requests to the Internet that are not from the internal web proxy server, and limiting information transfers between organizations based on data structures and content. Transferring information between information systems representing different security domains with different security policies introduces risk that such transfers violate one or more domain security policies. In such situations, information owners/stewards provide guidance at designated policy enforcement points between interconnected systems. Organizations consider mandating specific architectural solutions when required to enforce specific security policies. Enforcement includes, for example: (i) prohibiting information transfers between interconnected systems (i.e., allowing access only); (ii) employing hardware mechanisms to enforce one-way information flows; and (iii) implementing trustworthy regarding mechanisms to reassign security attributes and security labels.
Organizations commonly employ information flow control policies and enforcement mechanisms to control the flow of information between designated sources and destinations (e.g., networks, individuals, and devices) within information systems and between interconnected systems. Flow control is based on the characteristics of the information and/or the information path. Enforcement occurs, for example, in boundary protection devices (e.g., gateways, routers, guards, encrypted tunnels, firewalls) that employ rule sets or establish configuration settings that restrict information system services, provide a packet-filtering capability based on header information, or message- filtering capability based on message content (e.g., implementing key word searches or using document characteristics). Organizations also consider the trustworthiness of filtering/inspection mechanisms (i.e., hardware, firmware, and software components) that are critical to information flow enforcement. Control enhancements 3 through 22 primarily address cross-domain solution needs which focus on more advanced filtering techniques, in-depth analysis, and stronger flow enforcement mechanisms implemented in cross-domain products, for example, high-assurance guards. Such capabilities are generally not available in commercial off-the-shelf information technology products. Related controls: AC-3, AC-17, AC-19, AC-21, CM-6, CM-7, SA-8, SC-2, SC-5, SC-7, SC-18.
References: None.
title: >-
AC-4 - INFORMATION FLOW ENFORCEMENT
levels:
- high
- moderate
- id: AC-4(1)
status: pending
notes: |-
A control response is planned. Progress can be tracked via:
https://issues.redhat.com/browse/CMP-99
rules: []
- id: AC-4(2)
status: pending
notes: |-
A control response is planned. Progress can be tracked via:
https://issues.redhat.com/browse/CMP-100
rules: []
- id: AC-4(3)
status: pending
notes: |-
A control response is planned. Progress can be tracked via:
https://issues.redhat.com/browse/CMP-101
rules: []
- id: AC-4(4)
status: pending
notes: |-
A control response is planned. Progress can be tracked via:
https://issues.redhat.com/browse/CMP-214
rules: []
- id: AC-4(5)
status: pending
notes: |-
A control response is planned. Progress can be tracked via:
https://issues.redhat.com/browse/CMP-215
rules: []
- id: AC-4(6)
status: pending
notes: |-
A control response is planned. Progress can be tracked via:
https://issues.redhat.com/browse/CMP-102
rules: []
- id: AC-4(7)
status: pending
notes: |-
A control response is planned. Progress can be tracked via:
https://issues.redhat.com/browse/CMP-216
rules: []
- id: AC-4(8)
status: not applicable
notes: |-
Security policy filters for data structures can check for maximum file lengths,
maximum field sizes, and data/file types (for structured and unstructured data)
can be met by OpenShift.
All of OpenShift extends the Kubernetes API with custom resource definitions.
The api has built-in limits and there are additional validations we can perform. [1]
However security policy filters for data content which checks for specific words enumerated values
or data value ranges, and hidden content, are an organizational control outside the scope of
OpenShift configuration.
[1] https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#validation-rules
rules: []
description: |-
The information system enforces information flow control using [Assignment: organization-defined security policy filters] as a basis for flow control decisions for [Assignment: organization-defined information flows].
Supplemental Guidance: Organization-defined security policy filters can address data structures and content. For example, security policy filters for data structures can check for maximum file lengths, maximum field sizes, and data/file types (for structured and unstructured data). Security policy filters for data content can check for specific words (e.g., dirty/clean word filters), enumerated values or data value ranges, and hidden content. Structured data permits the interpretation of data content by applications. Unstructured data typically refers to digital information without a particular data structure or with a data structure that does not facilitate the development of rule sets to address the particular sensitivity of the information conveyed by the data or the associated flow enforcement decisions. Unstructured data consists of: (i) bitmap objects that are inherently non language-based (i.e., image, video, or audio files); and (ii) textual objects that are based on written or printed languages (e.g., commercial off-the- shelf word processing documents, spreadsheets, or emails). Organizations can implement more than one security policy filter to meet information flow control objectives (e.g., employing clean word lists in conjunction with dirty word lists may help to reduce false positives).
title: >-
AC-4(8) - INFORMATION FLOW ENFORCEMENT | SECURITY POLICY FILTERS
levels:
- high
- id: AC-4(9)
status: pending
notes: |-
Changes to OpenShift information flows take effect immediately. It is assumed
that all information flow modifications have undergone organizational
approval processes prior to being implemented in OpenShift.
OpenShift cannot protect against authenticated users who were
given authorization to execute administrative commands (such as
information flow modifications).
A control response is planned. Progress can be tracked via:
https://issues.redhat.com/browse/CMP-104
rules: []
- id: AC-4(10)
status: supported
notes: |-
Privileged Administrators are defined as authenticated users who
were given authorization to execute privileged commands on OpenShift
systems (e.g. "sudo access").
To modify security policies users must first authenticate with
standard credentials (e.g. username/password or username/key).
Once authenticated users must elevate privileges to root access
through usage of "sudo", which will require users to re-authenticate
themselves.
A control response is planned. Progress can be tracked via:
https://issues.redhat.com/browse/CMP-217
rules: []
- id: AC-4(11)
status: supported
notes: |-
Privileged Administrators are defined as authenticated users who
were given authorization to execute privileged commands on OpenShift
systems (e.g. "sudo access").
The default system behavior allows Privileged Administrators
to (re)configure security policy filters. For example,
to reflect changes in network security policies, Privileged
Administrators can dynamically change the allowed network
ports and protocols that security policy mechanisms (such
as firewalld) check in accordance with the definitions
provided by organizations.
A control response is planned. Progress can be tracked via:
https://issues.redhat.com/browse/CMP-218
rules: []
- id: AC-4(12)
status: pending
notes: |-
A control response is planned. Progress can be tracked via:
https://issues.redhat.com/browse/CMP-105
rules: []
- id: AC-4(13)
status: pending
notes: |-
A control response is planned. Progress can be tracked via:
https://issues.redhat.com/browse/CMP-106
rules: []
- id: AC-4(14)
status: pending
notes: |-
A control response is planned. Progress can be tracked via:
https://issues.redhat.com/browse/CMP-107
rules: []
- id: AC-4(15)
status: pending
notes: |-
A control response is planned. Progress can be tracked via:
https://issues.redhat.com/browse/CMP-108
rules: []
- id: AC-4(16)
status: not applicable
notes: |-
This control was withdrawn by NIST.
rules: []
- id: AC-4(17)
status: pending
notes: |-
A control response is planned. Progress can be tracked via:
https://issues.redhat.com/browse/CMP-107
rules: []
- id: AC-4(18)
status: pending
notes: |-
A control response is planned. Progress can be tracked via:
https://issues.redhat.com/browse/CMP-110
rules: []
- id: AC-4(19)
status: pending
notes: |-
A control response is planned. Progress can be tracked via:
https://issues.redhat.com/browse/CMP-111
rules: []
- id: AC-4(20)
status: pending
notes: |-
A control response is planned. Progress can be tracked via:
https://issues.redhat.com/browse/CMP-112
rules: []
- id: AC-4(21)
status: automated
notes: |-
The customer is responsible for ensuring that NetworkPolicies
are configured in all non-openshift namespaces to allow traffic
only in the namespace and not across namespaces:
https://docs.openshift.com/container-platform/4.6/networking/network_policy/about-network-policy.html
Routes created in Red Hat OpenShift must also have an appropriate
policy that prefers a secure endpoint.
Documentation for creating an ingress rule can be viewed at:
https://docs.openshift.com/container-platform/latest/networking/configuring_ingress_cluster_traffic/overview-traffic.html
Documentation for creating a route can be viewed at:
https://docs.openshift.com/container-platform/latest/networking/routes/route-configuration.html
rules:
- configure_network_policies_namespaces
- routes_protected_by_tls
description: |-
The information system separates information flows logically or physically using [Assignment: organization-defined mechanisms and/or techniques] to accomplish [Assignment: organization- defined required separations by types of information].
Supplemental Guidance: Enforcing the separation of information flows by type can enhance protection by ensuring that information is not commingled while in transit and by enabling flow control by transmission paths perhaps not otherwise achievable. Types of separable information include, for example, inbound and outbound communications traffic, service requests and responses, and information of differing security categories.
title: >-
AC-4(21) - INFORMATION FLOW ENFORCEMENT | PHYSICAL / LOGICAL SEPARATION OF INFORMATION
FLOWS
levels:
- high
- moderate
- id: AC-4(22)
status: pending
notes: |-
A control response is planned. Progress can be tracked via:
https://issues.redhat.com/browse/CMP-114
rules: []
- id: AC-5
status: not applicable
notes: |-
Section a: Separation of duties is an organizational process outside the
scope of OpenShift configuration.
However, to aide in such processes, note that OpenShift provides the capability to
implement Role-based Access Control (RBAC) which determine whether a
user is allowed to perform a given action. Documentation on the OpenShift RBAC
capabilities can be found at
https://docs.openshift.com/container-platform/latest/authentication/using-rbac.html
Section b: Documentation of the separation of duties of individuals
is an organizational control outside the scope of OpenShift
configuration.
However, to aide in such processes, note that OpenShift provides the capability to
implement Role-based access control (RBAC) objects which determine whether a
user is allowed to perform a given action. Documentation on the OpenShift RBAC
capabilities can be found at
https://docs.openshift.com/container-platform/latest/authentication/using-rbac.html
Section c: Organizational processes which define information system access
authorizations to support separation of duties is outside
the scope of OpenShift configuration.
However, to aide in such processes, note that OpenShift provides the capability to
implement Role-based access control (RBAC) objects which determine whether a
user is allowed to perform a given action. Documentation on the OpenShift RBAC
capabilities can be found at
https://docs.openshift.com/container-platform/latest/authentication/using-rbac.html
rules: []
description: "The organization:\n a. Separates [Assignment: organization-defined\
\ duties of individuals];\n b. Documents separation of duties of individuals;\
\ and\n c. Defines information system access authorizations to support separation\
\ of duties.\n\nSupplemental Guidance: Separation of duties addresses the potential\
\ for abuse of authorized privileges and helps to reduce the risk of malevolent\
\ activity without collusion. Separation of duties includes, for example: (i)\
\ dividing mission functions and information system support functions among different\
\ individuals and/or roles; (ii) conducting information system support functions\
\ with different individuals (e.g., system management, programming, configuration\
\ management, quality assurance and testing, and network security); and (iii)\
\ ensuring security personnel administering access control functions do not also\
\ administer audit functions. Related controls: AC-3, AC-6, PE-3, PE-4, PS-2.\n\
\nControl Enhancements: None.\n\nReferences: None.\n\n \nAC-5 Guidance: CSPs\
\ have the option to provide a separation of duties matrix as an attachment to\
\ the SSP."
title: >-
AC-5 - SEPARATION OF DUTIES
levels:
- high
- moderate
- id: AC-6
status: inherently met
notes: |-
This control is inherently met through the combination of Role-based
Access Control for both user and system accounts by dividing the
roles and assigning them via RBAC to the appropriate accounts,
plus defaulting to the restricted SCC.
Documentation on the OpenShift RBAC capabilities can be found at
https://docs.openshift.com/container-platform/latest/authentication/using-rbac.html
Documentation on the OpenShift SCCs can be found at
https://docs.openshift.com/container-platform/latest/authentication/managing-security-context-constraints.html
rules: []
description: |-
The organization employs the principle of least privilege, allowing only authorized accesses for users (or processes acting on behalf of users) which are necessary to accomplish assigned tasks in accordance with organizational missions and business functions.
Supplemental Guidance: Organizations employ least privilege for specific duties and information systems. The principle of least privilege is also applied to information system processes, ensuring that the processes operate at privilege levels no higher than necessary to accomplish required organizational missions/business functions. Organizations consider the creation of additional processes, roles, and information system accounts as necessary, to achieve least privilege. Organizations also apply least privilege to the development, implementation, and operation of organizational information systems. Related controls: AC-2, AC-3, AC-5, CM-6, CM-7, PL-2.
References: None.
title: >-
AC-6 - LEAST PRIVILEGE
levels:
- high
- moderate
- id: AC-6(1)
status: automated
notes: |-
This control is inherently met because OpenShift requires the
membership in the cluster-admin role in order to change security
functions or security relevant information by default. Other
finer-grained access control can be configured using RBAC:
https://docs.openshift.com/container-platform/latest/authentication/using-rbac.html
rules:
- directory_permissions_var_log_oauth_audit
- file_ownership_var_log_oauth_audit
- file_ownership_var_log_kube_audit
- file_permissions_var_log_ocp_audit
- directory_permissions_var_log_kube_audit
- file_permissions_var_log_kube_audit
- file_permissions_var_log_oauth_audit
- file_ownership_var_log_ocp_audit
- directory_permissions_var_log_ocp_audit
description: |-
The organization explicitly authorizes access to [Assignment: organization-defined security functions (deployed in hardware, software, and firmware) and security-relevant information].
Supplemental Guidance: Security functions include, for example, establishing system accounts, configuring access authorizations (i.e., permissions, privileges), setting events to be audited, and setting intrusion detection parameters. Security-relevant information includes, for example, filtering rules for routers/firewalls, cryptographic key management information, configuration parameters for security services, and access control lists. Explicitly authorized personnel include, for example, security administrators, system and network administrators, system security officers, system maintenance personnel, system programmers, and other privileged users. Related controls: AC-17, AC-18, AC-19.
AC-6 (1) [all functions not publicly accessible and all security-relevant information not publicly available]
title: >-
AC-6(1) - LEAST PRIVILEGE | AUTHORIZE ACCESS TO SECURITY FUNCTIONS
levels:
- high
- moderate
- id: AC-6(2)
status: not applicable
notes: |-
This is an organizational/procedural control outside the scope of
OpenShift configuration.
The customer will be responsible for requiring users to use the
lowest level of access required to perform any given function. In
terms of OpenShift, this may require creation of multiple logon
accounts per user. When users require access to privileged functions
or capability, they will need to logout from the unprivileged account
and login with an account that has received appropriate RBAC rights.
Note: OpenShift does not have privilege escalation capabilities similar
to sudo in Linux. Users will have to completely logout/login when
requiring privilege escalation between accounts.
It is recommended to grant the cluster-admin clusterrole
to a user or a group backed by an IDP and subsequently
remove the kubeadmin user as described in https://docs.openshift.com/container-platform/latest/authentication/remove-kubeadmin.html
rules: []
description: |-
The organization requires that users of information system accounts, or roles, with access to [Assignment: organization-defined security functions or security-relevant information], use non- privileged accounts or roles, when accessing nonsecurity functions.
Supplemental Guidance: This control enhancement limits exposure when operating from within privileged accounts or roles. The inclusion of roles addresses situations where organizations implement access control policies such as role-based access control and where a change of role provides the same degree of assurance in the change of access authorizations for both the user and all processes acting on behalf of the user as would be provided by a change between a privileged and non-privileged account. Related control: PL-4.
AC-6 (2) [all security functions]
AC-6 (2) Guidance: Examples of security functions include but are not limited to: establishing system accounts, configuring access authorizations (i.e., permissions, privileges), setting events to be audited, and setting intrusion detection parameters, system programming, system and security administration, other privileged functions.
title: >-
AC-6(2) - LEAST PRIVILEGE | NON-PRIVILEGED ACCESS FOR NONSECURITY FUNCTIONS
levels:
- high