## Guide to the Secure Configuration of SUSE Linux Enterprise 12

> with profile Standard System Security Profile for SUSE Linux Enterprise 12
> This profile contains rules to ensure standard security baseline of a SUSE Linux Enterprise 12 system. Regardless of your system's workload all of these checks should pass.

The SCAP Security Guide Project
https://www.open-scap.org/security-policies/scap-security-guide
This guide presents a catalog of security-relevant configuration settings for SUSE Linux Enterprise 12. It is a rendering of content structured in the eXtensible Configuration Checklist Description Format (XCCDF) in order to support security automation. The SCAP content is is available in the `scap-security-guide` package which is developed at https://www.open-scap.org/security-policies/scap-security-guide.
Providing system administrators with such guidance informs them how to securely configure systems under their control in a variety of network roles. Policy makers and baseline creators can use this catalog of settings, with its associated references to higher-level security control catalogs, in order to assist them in security baseline creation. This guide is a catalog, not a checklist, and satisfaction of every item is not likely to be possible or sensible in many operational scenarios. However, the XCCDF format enables granular selection and adjustment of settings, and their association with OVAL and OCIL content provides an automated checking capability. Transformations of this document, and its associated automated checking content, are capable of providing baselines that meet a diverse set of policy objectives. Some example XCCDF Profiles, which are selections of items that form checklists and can be used as baselines, are available with this guide. They can be processed, in an automated fashion, with tools that support the Security Content Automation Protocol (SCAP). The DISA STIG, which provides required settings for US Department of Defense systems, is one example of a baseline created from this guidance.
Do not attempt to implement any of the settings in this guide without first testing them in a non-operational environment. The creators of this guidance assume no responsibility whatsoever for its use by other parties, and makes no guarantees, expressed or implied, about its quality, reliability, or any other characteristic.

## Profile Information

Profile Title | Standard System Security Profile for SUSE Linux Enterprise 12
Profile ID | xccdf_org.ssgproject.content_profile_standard

#### CPE Platforms

- cpe:/o:suse:linux_enterprise_server:12
- cpe:/o:suse:linux_enterprise_desktop:12

## Revision History

Current version: 0.1.61

- draft (as of 2022-04-01)

## Table of Contents

1. System Settings
   1. File Permissions and Masks

## Checklist

Group Guide to the Secure Configuration of SUSE Linux Enterprise 12 Group contains 4 groups and 3 rules
Group System Settings Group contains 3 groups and 3 rules
[ref] Contains rules that check correct system settings.
Group File Permissions and Masks Group contains 2 groups and 3 rules
[ref] Traditional Unix security relies heavily on file and directory permissions to prevent unauthorized users from reading or modifying files to which they should not have access. Several of the commands in this section search filesystems for files or directories with certain characteristics, and are intended to be run on every local partition on a given system. When the variable PART appears in one of the commands below, it means that the command is intended to be run repeatedly, with the name of each local partition substituted for PART in turn. The following command prints a list of all xfs partitions on the local system, which is the default filesystem for SUSE Linux Enterprise 12 installations:
    $ mount -t xfs | awk '{print $3}'
For any systems that use a different local filesystem type, modify this command as appropriate.
Group Verify Permissions on Important Files and Directories Group contains 1 group and 3 rules
[ref] Permissions for many files on a system must be set restrictively to ensure sensitive information is properly protected. This section discusses important permission restrictions which can be verified to ensure that no harmful discrepancies have arisen.
Group Verify Permissions on Files with Local Account Information and Credentials Group contains 3 rules
[ref] The default restrictive permissions for files which act as important security databases such as `passwd`, `shadow`, `group`, and `gshadow` files must be maintained. Many utilities need read access to the `passwd` file in order to function properly, but read access to the `shadow` file allows malicious attacks against system passwords, and should never be enabled.
#### Rule Verify Group Who Owns passwd File [ref]
To properly set the group owner of `/etc/passwd`, run the command:
    $ sudo chgrp root /etc/passwd
Rationale: | The `/etc/passwd` file contains information about the users that are configured on the system. Protection of this file is critical for system security.
Severity: | medium
Rule ID: | xccdf_org.ssgproject.content_rule_file_groupowner_etc_passwd
Identifiers and References | References: 12, 13, 14, 15, 16, 18, 3, 5, 5.5.2.2, APO01.06, DSS05.04, DSS05.07, DSS06.02, 4.3.3.7.3, SR 2.1, SR 5.2, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.13.1.1, A.13.1.3, A.13.2.1, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CIP-003-8 R5.1.1, CIP-003-8 R5.3, CIP-004-6 R2.3, CIP-007-3 R2.1, CIP-007-3 R2.2, CIP-007-3 R2.3, CIP-007-3 R5.1, CIP-007-3 R5.1.1, CIP-007-3 R5.1.2, CM-6(a), AC-6(1), PR.AC-4, PR.DS-5, Req-8.7.c, 6.1.2
Remediation Shell script ⇲
Complexity: | low
Disruption: | low
Strategy: | configure
    chgrp 0 /etc/passwd
Remediation Ansible snippet ⇲
Complexity: | low
Disruption: | low
Strategy: | configure
    - name: Test for existence /etc/passwd
      stat:
        path: /etc/passwd
      register: file_exists
      tags:
        - CJIS-5.5.2.2
        - NIST-800-53-AC-6(1)
        - NIST-800-53-CM-6(a)
        - PCI-DSS-Req-8.7.c
        - configure_strategy
        - file_groupowner_etc_passwd
        - low_complexity
        - low_disruption
        - medium_severity
        - no_reboot_needed

    - name: Ensure group owner 0 on /etc/passwd
      file:
        path: /etc/passwd
        group: '0'
      when: file_exists.stat is defined and file_exists.stat.exists
      tags:
        - CJIS-5.5.2.2
        - NIST-800-53-AC-6(1)
        - NIST-800-53-CM-6(a)
        - PCI-DSS-Req-8.7.c
        - configure_strategy
        - file_groupowner_etc_passwd
        - low_complexity
        - low_disruption
        - medium_severity
        - no_reboot_needed
#### Rule Verify User Who Owns passwd File [ref]
To properly set the owner of `/etc/passwd`, run the command:
    $ sudo chown root /etc/passwd
Rationale: | The `/etc/passwd` file contains information about the users that are configured on the system. Protection of this file is critical for system security.
Severity: | medium
Rule ID: | xccdf_org.ssgproject.content_rule_file_owner_etc_passwd
Identifiers and References | References: 12, 13, 14, 15, 16, 18, 3, 5, 5.5.2.2, APO01.06, DSS05.04, DSS05.07, DSS06.02, 4.3.3.7.3, SR 2.1, SR 5.2, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.13.1.1, A.13.1.3, A.13.2.1, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CIP-003-8 R5.1.1, CIP-003-8 R5.3, CIP-004-6 R2.3, CIP-007-3 R2.1, CIP-007-3 R2.2, CIP-007-3 R2.3, CIP-007-3 R5.1, CIP-007-3 R5.1.1, CIP-007-3 R5.1.2, CM-6(a), AC-6(1), PR.AC-4, PR.DS-5, Req-8.7.c, 6.1.2
Remediation Shell script ⇲
Complexity: | low
Disruption: | low
Strategy: | configure
    chown 0 /etc/passwd
Remediation Ansible snippet ⇲
Complexity: | low
Disruption: | low
Strategy: | configure
    - name: Test for existence /etc/passwd
      stat:
        path: /etc/passwd
      register: file_exists
      tags:
        - CJIS-5.5.2.2
        - NIST-800-53-AC-6(1)
        - NIST-800-53-CM-6(a)
        - PCI-DSS-Req-8.7.c
        - configure_strategy
        - file_owner_etc_passwd
        - low_complexity
        - low_disruption
        - medium_severity
        - no_reboot_needed

    - name: Ensure owner 0 on /etc/passwd
      file:
        path: /etc/passwd
        owner: '0'
      when: file_exists.stat is defined and file_exists.stat.exists
      tags:
        - CJIS-5.5.2.2
        - NIST-800-53-AC-6(1)
        - NIST-800-53-CM-6(a)
        - PCI-DSS-Req-8.7.c
        - configure_strategy
        - file_owner_etc_passwd
        - low_complexity
        - low_disruption
        - medium_severity
        - no_reboot_needed
#### Rule Verify Permissions on passwd File [ref]
To properly set the permissions of `/etc/passwd`, run the command:
    $ sudo chmod 0644 /etc/passwd
Rationale: | If the `/etc/passwd` file is writable by a group-owner or the world the risk of its compromise is increased. The file contains the list of accounts on the system and associated information, and protection of this file is critical for system security.
Severity: | medium
Rule ID: | xccdf_org.ssgproject.content_rule_file_permissions_etc_passwd
Identifiers and References | References: BP28(R36), 12, 13, 14, 15, 16, 18, 3, 5, 5.5.2.2, APO01.06, DSS05.04, DSS05.07, DSS06.02, 4.3.3.7.3, SR 2.1, SR 5.2, A.10.1.1, A.11.1.4, A.11.1.5, A.11.2.1, A.13.1.1, A.13.1.3, A.13.2.1, A.13.2.3, A.13.2.4, A.14.1.2, A.14.1.3, A.6.1.2, A.7.1.1, A.7.1.2, A.7.3.1, A.8.2.2, A.8.2.3, A.9.1.1, A.9.1.2, A.9.2.3, A.9.4.1, A.9.4.4, A.9.4.5, CIP-003-8 R5.1.1, CIP-003-8 R5.3, CIP-004-6 R2.3, CIP-007-3 R2.1, CIP-007-3 R2.2, CIP-007-3 R2.3, CIP-007-3 R5.1, CIP-007-3 R5.1.1, CIP-007-3 R5.1.2, CM-6(a), AC-6(1), PR.AC-4, PR.DS-5, Req-8.7.c, 6.1.2
Remediation Shell script ⇲
Complexity: | low
Disruption: | low
Strategy: | configure
    chmod u-xs,g-xws,o-xwt /etc/passwd
Remediation Ansible snippet ⇲
Complexity: | low
Disruption: | low
Strategy: | configure
    - name: Test for existence /etc/passwd
      stat:
        path: /etc/passwd
      register: file_exists
      tags:
        - CJIS-5.5.2.2
        - NIST-800-53-AC-6(1)
        - NIST-800-53-CM-6(a)
        - PCI-DSS-Req-8.7.c
        - configure_strategy
        - file_permissions_etc_passwd
        - low_complexity
        - low_disruption
        - medium_severity
        - no_reboot_needed

    - name: Ensure permission u-xs,g-xws,o-xwt on /etc/passwd
      file:
        path: /etc/passwd
        mode: u-xs,g-xws,o-xwt
      when: file_exists.stat is defined and file_exists.stat.exists
      tags:
        - CJIS-5.5.2.2
        - NIST-800-53-AC-6(1)
        - NIST-800-53-CM-6(a)
        - PCI-DSS-Req-8.7.c
        - configure_strategy
        - file_permissions_etc_passwd
        - low_complexity
        - low_disruption
        - medium_severity
        - no_reboot_needed

Red Hat and Red Hat Enterprise Linux are either registered trademarks or trademarks of Red Hat, Inc. in the United States and other countries. All other names are registered trademarks or trademarks of their respective companies.