Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RHEL 10 STIG Update #12348

Merged
8 changes: 4 additions & 4 deletions .github/workflows/srg-mapping-table.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -45,19 +45,19 @@ jobs:
env:
PYTHONPATH: ${{ github.workspace }}
- name: Generate XLSX for RHEL9
run: python3 utils/create_srg_export.py -c controls/srg_gpos.yml -p rhel9 -m shared/references/disa-os-srg-v2r7.xml --out-format xlsx --output $PAGES_DIR/srg-mapping-rhel9.xlsx
run: python3 utils/create_srg_export.py -c controls/srg_gpos.yml -p rhel9 -m shared/references/disa-os-srg-v3r1.xml --out-format xlsx --output $PAGES_DIR/srg-mapping-rhel9.xlsx
env:
PYTHONPATH: ${{ github.workspace }}
- name: Generate HTML for RHEL9
run: python3 utils/create_srg_export.py -c controls/srg_gpos.yml -p rhel9 -m shared/references/disa-os-srg-v2r7.xml --out-format html --output $PAGES_DIR/srg-mapping-rhel9.html
run: python3 utils/create_srg_export.py -c controls/srg_gpos.yml -p rhel9 -m shared/references/disa-os-srg-v3r1.xml --out-format html --output $PAGES_DIR/srg-mapping-rhel9.html
env:
PYTHONPATH: ${{ github.workspace }}
- name: Generate XLSX for RHEL10
run: python3 utils/create_srg_export.py -c controls/srg_gpos.yml -p rhel10 -m shared/references/disa-os-srg-v2r7.xml --out-format xlsx --output $PAGES_DIR/srg-mapping-rhel10.xlsx
run: python3 utils/create_srg_export.py -c controls/srg_gpos.yml -p rhel10 -m shared/references/disa-os-srg-v3r1.xml --out-format xlsx --output $PAGES_DIR/srg-mapping-rhel10.xlsx
env:
PYTHONPATH: ${{ github.workspace }}
- name: Generate HTML for RHEL10
run: python3 utils/create_srg_export.py -c controls/srg_gpos.yml -p rhel10 -m shared/references/disa-os-srg-v2r7.xml --out-format html --output $PAGES_DIR/srg-mapping-rhel10.html
run: python3 utils/create_srg_export.py -c controls/srg_gpos.yml -p rhel10 -m shared/references/disa-os-srg-v3r1.xml --out-format html --output $PAGES_DIR/srg-mapping-rhel10.html
env:
PYTHONPATH: ${{ github.workspace }}
- uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4
Expand Down
2 changes: 1 addition & 1 deletion cmake/SSGCommon.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -1095,7 +1095,7 @@ macro(ssg_build_html_srgmap_tables PRODUCT)
OUTPUT "${CMAKE_BINARY_DIR}/tables/table-${PRODUCT}-srgmap.html"
OUTPUT "${CMAKE_BINARY_DIR}/tables/table-${PRODUCT}-srgmap-flat.html"
COMMAND "${CMAKE_COMMAND}" -E make_directory "${CMAKE_BINARY_DIR}/tables"
COMMAND env "PYTHONPATH=$ENV{PYTHONPATH}" "${PYTHON_EXECUTABLE}" "${CMAKE_SOURCE_DIR}/utils/gen_srg_table.py" --build-dir "${CMAKE_BINARY_DIR}" "${PRODUCT}" "${SSG_SHARED_REFS}/disa-os-srg-v2r7.xml" "${CMAKE_BINARY_DIR}/tables/table-${PRODUCT}-srgmap.html" "${CMAKE_BINARY_DIR}/tables/table-${PRODUCT}-srgmap-flat.html"
COMMAND env "PYTHONPATH=$ENV{PYTHONPATH}" "${PYTHON_EXECUTABLE}" "${CMAKE_SOURCE_DIR}/utils/gen_srg_table.py" --build-dir "${CMAKE_BINARY_DIR}" "${PRODUCT}" "${SSG_SHARED_REFS}/disa-os-srg-v3r1.xml" "${CMAKE_BINARY_DIR}/tables/table-${PRODUCT}-srgmap.html" "${CMAKE_BINARY_DIR}/tables/table-${PRODUCT}-srgmap-flat.html"
DEPENDS ${PRODUCT}-compile-all "${CMAKE_CURRENT_BINARY_DIR}/ssg_build_compile_all-${PRODUCT}"
COMMENT "[${PRODUCT}-tables] generating HTML SRG map tables"
)
Expand Down
2 changes: 1 addition & 1 deletion controls/srg_gpos.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
policy: Security Requirements Guide - General Purpose Operating System
title: Security Requirements Guide - General Purpose Operating System
id: srg_gpos
version: 'v2r7'
version: 'v3r1'
source: https://public.cyber.mil/stigs/downloads/
controls_dir: srg_gpos
levels:
Expand Down
9 changes: 3 additions & 6 deletions controls/srg_gpos/SRG-OS-000024-GPOS-00007.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
controls:
- id: SRG-OS-000024-GPOS-00007
title: '{{{ full_name }}} must display the Standard Mandatory DoD Notice and Consent
Banner until users acknowledge the usage conditions and take explicit actions
to log on for further access.'
levels:
- medium

title: |-
{{{ full_name }}} must display the Standard Mandatory DoD Notice and Consent Banner until
users acknowledge the usage conditions and take explicit actions to log on for
further access.

status: does not meet
rationale: |-
The banner must be acknowledged by the user prior to allowing the user access to the operating system.
Expand Down
4 changes: 2 additions & 2 deletions controls/srg_gpos/SRG-OS-000069-GPOS-00037.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
controls:
- id: SRG-OS-000069-GPOS-00037
title: '{{{ full_name }}} must enforce password complexity by requiring that at
least one uppercase character be used.'
levels:
- medium
title: {{{ full_name }}} must enforce password complexity by requiring that at
least one upper-case character be used.
rules:
- var_password_pam_retry=3
- accounts_password_pam_enforce_root
Expand Down
4 changes: 2 additions & 2 deletions controls/srg_gpos/SRG-OS-000070-GPOS-00038.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
controls:
- id: SRG-OS-000070-GPOS-00038
title: '{{{ full_name }}} must enforce password complexity by requiring that at
least one lowercase character be used.'
levels:
- medium
title: {{{ full_name }}} must enforce password complexity by requiring that at
least one lower-case character be used.
rules:
- accounts_password_pam_enforce_root
- var_password_pam_lcredit=1
Expand Down
4 changes: 2 additions & 2 deletions controls/srg_gpos/SRG-OS-000072-GPOS-00040.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
controls:
- id: SRG-OS-000072-GPOS-00040
title: '{{{ full_name }}} must require the change of at least 50 percent of the
total number of characters when passwords are changed.'
levels:
- medium
title: {{{ full_name }}} must require the change of at least 50% of the total
number of characters when passwords are changed.
rules:
- accounts_password_pam_difok
- var_password_pam_difok=8
Expand Down
2 changes: 1 addition & 1 deletion controls/srg_gpos/SRG-OS-000075-GPOS-00043.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
controls:
- id: SRG-OS-000075-GPOS-00043
title: {{{ full_name }}} must enforce 24 hours/1 day as the minimum password lifetime.
marcusburghardt marked this conversation as resolved.
Show resolved Hide resolved
levels:
- medium
title: {{{ full_name }}} must enforce 24 hours/1 day as the minimum password lifetime.
rules:
- var_accounts_minimum_age_login_defs=1
- accounts_minimum_age_login_defs
Expand Down
2 changes: 1 addition & 1 deletion controls/srg_gpos/SRG-OS-000076-GPOS-00044.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
controls:
- id: SRG-OS-000076-GPOS-00044
title: Operating systems must enforce a 60-day maximum password lifetime restriction.
levels:
- medium
title: {{{ full_name }}} must enforce a 60-day maximum password lifetime restriction.
rules:
- var_accounts_maximum_age_login_defs=60
- accounts_maximum_age_login_defs
Expand Down
11 changes: 0 additions & 11 deletions controls/srg_gpos/SRG-OS-000077-GPOS-00045.yml

This file was deleted.

4 changes: 2 additions & 2 deletions controls/srg_gpos/SRG-OS-000108-GPOS-00055.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
controls:
- id: SRG-OS-000108-GPOS-00055
title: '{{{ full_name }}} must use multifactor authentication for local access to
nonprivileged accounts.'
levels:
- medium
title: {{{ full_name }}} must use multifactor authentication for local access
to non-privileged accounts.
rules:
- sshd_enable_pubkey_auth
- configure_opensc_card_drivers
Expand Down
5 changes: 2 additions & 3 deletions controls/srg_gpos/SRG-OS-000113-GPOS-00058.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,8 @@ controls:
- id: SRG-OS-000113-GPOS-00058
levels:
- medium
title: {{{ full_name }}} must implement replay-resistant authentication mechanisms for
network access to non-privileged accounts.

title: '{{{ full_name }}} must implement replay-resistant authentication mechanisms
for network access to nonprivileged accounts.'
marcusburghardt marked this conversation as resolved.
Show resolved Hide resolved
status: inherently met
check: |-
{{{ full_name }}} supports this requirement and cannot be configured to be out of compliance.
Expand Down
4 changes: 2 additions & 2 deletions controls/srg_gpos/SRG-OS-000123-GPOS-00064.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
controls:
- id: SRG-OS-000123-GPOS-00064
title: The information system must automatically remove or disable emergency accounts
after the crisis is resolved or 72 hours.
levels:
- medium
title: {{{ full_name }}} must automatically remove or disable emergency accounts
after the crisis is resolved or 72 hours.
rules:
- account_temp_expire_date
status: automated
7 changes: 0 additions & 7 deletions controls/srg_gpos/SRG-OS-000126-GPOS-00066.yml

This file was deleted.

4 changes: 2 additions & 2 deletions controls/srg_gpos/SRG-OS-000138-GPOS-00069.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
controls:
- id: SRG-OS-000138-GPOS-00069
title: Operating systems must prevent unauthorized and unintended information transfer
via shared system resources.
levels:
- medium
title: {{{ full_name }}} must prevent unauthorized and unintended information transfer
via shared system resources.
rules:
- dir_perms_world_writable_sticky_bits
- dir_perms_world_writable_root_owned
Expand Down
14 changes: 0 additions & 14 deletions controls/srg_gpos/SRG-OS-000191-GPOS-00080.yml

This file was deleted.

7 changes: 4 additions & 3 deletions controls/srg_gpos/SRG-OS-000228-GPOS-00088.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
controls:
- id: SRG-OS-000228-GPOS-00088
levels:
- medium
title: Any publicly accessible connection to {{{ full_name }}} must display
title: Any publically accessible connection to the operating system must display
the Standard Mandatory DoD Notice and Consent Banner before granting access to
the system.

levels:
- medium
rules:
- sshd_enable_warning_banner
- banner_etc_issue
Expand Down
6 changes: 3 additions & 3 deletions controls/srg_gpos/SRG-OS-000269-GPOS-00103.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
controls:
- id: SRG-OS-000269-GPOS-00103
levels:
- medium
title: In the event of a system failure, {{{ full_name }}} must preserve any
title: In the event of a system failure, the operating system must preserve any
information necessary to determine cause of failure and any information necessary
to return to operations with least disruption to mission processes.
levels:
- medium
status: automated
rules:
- service_systemd-journald_enabled
14 changes: 8 additions & 6 deletions controls/srg_gpos/SRG-OS-000276-GPOS-00106.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
controls:
- id: SRG-OS-000276-GPOS-00106
title: '{{{ full_name }}} must notify system administrators and ISSOs when accounts are disabled.'
levels:
- medium
title: {{{ full_name }}} must notify system administrators and ISSOs when accounts are disabled.
rules:
- audit_rules_usergroup_modification_passwd
status: does not meet
mitigation: |-
Mitigate with third-party software.

Although the listed mitigation is supporting the security function, it is not sufficient to reduce the residual risk of this requirement.
status_justification:
Notification when accounts are created/modified/deleted must be provided by a third-party application that will communicate that an audit record of these actions has been created.
rules:
- audit_rules_usergroup_modification_passwd
status: does not meet
status_justification: |-
Notification when accounts are created/modified/deleted must
be provided by a third-party application that will communicate that an audit record
of these actions has been created.
4 changes: 2 additions & 2 deletions controls/srg_gpos/SRG-OS-000304-GPOS-00121.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
controls:
- id: SRG-OS-000304-GPOS-00121
title: '{{{ full_name }}} must notify system administrators (SAs) and information
system security officers (ISSOs) of account enabling actions.'
levels:
- medium
title: {{{ full_name }}} must notify system administrators and ISSOs of account
enabling actions.
rules:
- audit_rules_sudoers
- audit_rules_sudoers_d
Expand Down
8 changes: 3 additions & 5 deletions controls/srg_gpos/SRG-OS-000324-GPOS-00125.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
controls:
- id: SRG-OS-000324-GPOS-00125
title: '{{{ full_name }}} must prevent nonprivileged users from executing privileged
functions to include disabling, circumventing, or altering implemented security
safeguards/countermeasures.'
levels:
- high
title: |-
{{{ full_name }}} must prevent nonprivileged users from executing privileged functions
to include disabling, circumventing, or altering implemented security
safeguards/countermeasures.

rules:
- disable_ctrlaltdel_burstaction
- disable_ctrlaltdel_reboot
Expand Down
8 changes: 3 additions & 5 deletions controls/srg_gpos/SRG-OS-000341-GPOS-00132.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
controls:
- id: SRG-OS-000341-GPOS-00132
title: '{{{ full_name }}} must allocate audit record storage capacity to store at
least one week''s worth of audit records, when audit records are not immediately
sent to a central audit record storage facility.'
levels:
- low
title: |-
{{{ full_name }}} must allocate audit record storage capacity to store at least
one week's worth of audit records, when audit records are not immediately sent to a
central audit record storage facility.

rules:
- grub2_audit_backlog_limit_argument
- partition_for_var_log_audit
Expand Down
11 changes: 6 additions & 5 deletions controls/srg_gpos/SRG-OS-000355-GPOS-00143.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
controls:
- id: SRG-OS-000355-GPOS-00143
title: '{{{ full_name }}} must, for networked systems, compare internal information
system clocks at least every 24 hours with a server which is synchronized to one
of the redundant United States Naval Observatory (USNO) time servers, or a time
server designated for the appropriate DOD network (NIPRNet/SIPRNet), and/or the
Global Positioning System (GPS).'

levels:
- medium
title: {{{ full_name }}} must, for networked systems, compare internal information
system clocks at least every 24 hours with a server which is synchronized to one
of the redundant United States Naval Observatory (USNO) time servers, or a time
server designated for the appropriate DoD network (NIPRNet/SIPRNet),
and/or the Global Positioning System (GPS).
rules:
- chronyd_or_ntpd_set_maxpoll
- chronyd_server_directive
Expand Down
14 changes: 0 additions & 14 deletions controls/srg_gpos/SRG-OS-000373-GPOS-00156.yml

This file was deleted.

10 changes: 0 additions & 10 deletions controls/srg_gpos/SRG-OS-000373-GPOS-00157.yml

This file was deleted.

10 changes: 0 additions & 10 deletions controls/srg_gpos/SRG-OS-000373-GPOS-00158.yml

This file was deleted.

18 changes: 0 additions & 18 deletions controls/srg_gpos/SRG-OS-000374-GPOS-00159.yml

This file was deleted.

30 changes: 0 additions & 30 deletions controls/srg_gpos/SRG-OS-000380-GPOS-00165.yml

This file was deleted.

Loading
Loading