{
  "format_version": 3,
  "policy": {
    "external_id": "6b1b8b2c42fb3b8146aca641de1ca3f5",
    "name": "Ubuntu 24.04 LTS STIG V1R5",
    "version": "1.0.1",
    "description": "This Security Technical Implementation Guide is published as a tool to improve the security of Department of Defense (DOD) information systems. The requirements are derived from the National Institute of Standards and Technology (NIST) 800-53 and related documents. Comments or proposed revisions to this document should be sent via email to the following address: disa.stig_spt@mail.mil.",
    "author": "DISA"
  },
  "tests": [
    {
      "external_id": "dfea9ba073e213536feb75398996fb4d",
      "name": "UBTU-24-100410 — Ubuntu 24.04 LTS must produce audit records and reports containing informatio...",
      "description": "Ubuntu 24.04 LTS must produce audit records and reports containing information to establish when, where, what type, the source, and the outcome for all DOD-defined auditable events and actions in near real time.",
      "rational": "Without establishing the when, where, type, source, and outcome of events that occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. \n \nWithout the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n \nAudit...",
      "remediation": "Configure the audit service to produce audit records containing the information needed to establish when (date and time) an event occurred. \n \nEnable the audit service with the following command: \n \n$ sudo systemctl enable auditd.service \n \nTo reload the rules file, issue the following command: \n \n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "SERVICE",
          "input": "auditd",
          "selement": "ENABLED",
          "condition": null,
          "sinput": null
        },
        {
          "type": "condition",
          "element": "PROCESS",
          "input": "auditd",
          "selement": "EXISTS",
          "condition": "",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "f4050d23d1555646e6712c142e92dccc",
      "name": "UBTU-24-100010 — Ubuntu 24.04 LTS must not have the \"systemd-timesyncd\" package installed.",
      "description": "Ubuntu 24.04 LTS must not have the \"systemd-timesyncd\" package installed.",
      "rational": "Inaccurate time stamps make it more difficult to correlate events and can lead to an inaccurate analysis. Determining the correct time a particular event occurred on a system is critical when conducting forensic analysis and investigating system events. Sources outside the configured acceptable allowance (drift) may be inaccurate. \n\nOrganizations must consider endpoints that may not have regula...",
      "remediation": "The \"systemd-timesyncd\" package will be uninstalled as part of the \"chrony\" package install. Purge the remaining configuration files for \"systemd-timesyncd\" from Ubuntu 24.04 LTS:\n\n$ sudo apt-get purge systemd-timesyncd",
      "severity": "Low",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "PACKAGE",
          "input": "systemd-timesyncd",
          "selement": "NOT EXISTS",
          "condition": "",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "71a0d1b3b342ce0d11f5d7f82132fb2f",
      "name": "UBTU-24-100020 — Ubuntu 24.04 LTS must not have the \"ntp\" package installed.",
      "description": "Ubuntu 24.04 LTS must not have the \"ntp\" package installed.",
      "rational": "Inaccurate time stamps make it more difficult to correlate events and can lead to an inaccurate analysis. Determining the correct time a particular event occurred on a system is critical when conducting forensic analysis and investigating system events. Sources outside the configured acceptable allowance (drift) may be inaccurate. \n\nOrganizations must consider endpoints that may not have regula...",
      "remediation": "Uninstall the \"ntp\" package using the following command:\n\n$ sudo apt remove ntp\n\nIf there are additional configuration files on the system that must be removed, the following command can be used instead:\n\n$ sudo apt-get purge ntp",
      "severity": "Low",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "PACKAGE",
          "input": "ntp",
          "selement": "NOT EXISTS",
          "condition": "",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "ae88f9db136db25e07e3de7a68ffe4b7",
      "name": "UBTU-24-100030 — Ubuntu 24.04 LTS must not have the telnet package installed.",
      "description": "Ubuntu 24.04 LTS must not have the telnet package installed.",
      "rational": "Remote access services, such as those providing remote access to network devices and information systems, which lack automated control capabilities, increase risk and make remote user access management difficult at best. \n \nRemote access is access to DOD nonpublic information systems by an authorized user (or an information system) communicating through an external, nonorganization-controlled n...",
      "remediation": "Remove the telnet package from Ubuntu 24.04 LTS with the following command: \n \n$ sudo apt remove telnetd",
      "severity": "High",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "PACKAGE",
          "input": "telnetd",
          "selement": "NOT EXISTS",
          "condition": "",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "1cab143801f23ce429b1c5f044ddede9",
      "name": "UBTU-24-100040 — Ubuntu 24.04 LTS must not have the rsh-server package installed.",
      "description": "Ubuntu 24.04 LTS must not have the rsh-server package installed.",
      "rational": "It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore, may remain unsecured. They increase the risk to the platform by providing additional attack vectors. \n \nOperating systems are capable of providing a wide variety of functions and serv...",
      "remediation": "Configure Ubuntu 24.04 LTS to disable nonessential capabilities by removing the rsh-server package from the system with the following command: \n \n$ sudo apt remove rsh-server",
      "severity": "High",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "PACKAGE",
          "input": "rsh-server",
          "selement": "NOT EXISTS",
          "condition": "",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "6f5e55e179c2f6a09790e6381168d0a2",
      "name": "UBTU-24-100100 — Ubuntu 24.04 LTS must use a file integrity tool to verify correct operation o...",
      "description": "Ubuntu 24.04 LTS must use a file integrity tool to verify correct operation of all security functions.",
      "rational": "Without verification, security functions may not operate correctly and the failure may go unnoticed. Security function is defined as the hardware, software, and/or firmware of the information system responsible for enforcing the system security policy and supporting the isolation of code and data on which the protection is based. Security functionality includes, but is not limited to, establish...",
      "remediation": "Install the \"AIDE\" file integrity package:\n\n$ sudo apt install -y aide",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "PACKAGE",
          "input": "aide",
          "selement": "EXISTS",
          "condition": "",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "ac3124f5568100c7ebd6052b734439f6",
      "name": "UBTU-24-100110 — Ubuntu 24.04 LTS must configure AIDE to perform file integrity checking on th...",
      "description": "Ubuntu 24.04 LTS must configure AIDE to perform file integrity checking on the file system if installed.",
      "rational": "Without verification, security functions may not operate correctly and the failure may go unnoticed. Security function is defined as the hardware, software, and/or firmware of the information system responsible for enforcing the system security policy and supporting the isolation of code and data on which the protection is based. Security functionality includes, but is not limited to, establish...",
      "remediation": "Initialize the AIDE package (this may take a few minutes):\n$ sudo aideinit\nRunning aide --init...\n\nThe new database will need to be renamed to be read by AIDE:\n$ sudo cp -p /var/lib/aide/aide.db.new /var/lib/aide/aide.db\n\nPerform a manual check:\n$ sudo aide -c /etc/aide/aide.conf --check\n\nExample output:\n...\nStart timestamp: 2024-10-30 14:22:38 -0400 (AIDE 0.18.6)\nAIDE found differences between database and filesystem!!\n...\n\nDone.",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo aide -c /etc/aide/aide.conf --check",
          "selement": "OUTPUT",
          "condition": "NOT EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "52f576c17f7bef7929a25d27d28d3588",
      "name": "UBTU-24-100120 — Ubuntu 24.04 LTS must be configured so that the script which runs each 30 day...",
      "description": "Ubuntu 24.04 LTS must be configured so that the script which runs each 30 days or less to check file integrity is the default one.",
      "rational": "Without verification, security functions may not operate correctly and the failure may go unnoticed. Security function is defined as the hardware, software, and/or firmware of the information system responsible for enforcing the system security policy and supporting the isolation of code and data on which the protection is based. Security functionality includes, but is not limited to, establish...",
      "remediation": "The cron file for AIDE is fairly complex as it creates the report. This file is installed with the \"aide-common\" package, and the default can be restored by copying it from the package: \n \nDownload the original package to the /tmp dir: \n \n$ cd /tmp; apt download aide-common \n \nExtract the aide script to its original place: \n\n$ dpkg-deb --fsys-tarfile /tmp/aide-common_*.deb | sudo tar -x --wildcards ./usr/share/aide/config/cron.daily/dailyaidecheck* -C /\n \nCopy it to the cron.daily directory:...",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo sha256sum /etc/aide/aide.conf",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "f3bbea2552f2c5b475627850d8a5fba1659df6466986d5a18948d9821ecbe491  /etc/aide/aide.conf"
        },
        {
          "type": "condition",
          "element": "CMD",
          "input": "cd /tmp; apt download aide-common",
          "selement": "OUTPUT",
          "condition": "NOT EQUALS",
          "sinput": ""
        },
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo dpkg-deb --fsys-tarfile /tmp/aide-common_0.18.6-2build2_all.deb | tar -xO ./usr/share/aide/config/aide/aide.conf | sha256sum",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "f3bbea2552f2c5b475627850d8a5fba1659df6466986d5a18948d9821ecbe491  -"
        },
        {
          "type": "condition",
          "element": "FILE",
          "input": "/etc/crontab",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "/etc/cron.daily/dailyaidecheck:SCRIPT=\"/usr/share/aide/bin/dailyaidecheck\""
        },
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo systemctl list-timers | grep aide",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "Thu 2024-10-31 02:01:58 EDT           10h Wed 2024-10-30 13:47:41 EDT            - dailyaidecheck.timer           dailyaidecheck.service"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "4a96790898fb4cbf7403feefd56794f1",
      "name": "UBTU-24-100130 — Ubuntu 24.04 LTS must notify designated personnel if baseline configurations ...",
      "description": "Ubuntu 24.04 LTS must notify designated personnel if baseline configurations are changed in an unauthorized manner. The file integrity tool must notify the system administrator (SA) when changes to the baseline configuration or anomalies in the operation of any security functions are discovered.",
      "rational": "Unauthorized changes to the baseline configuration could make the system vulnerable to various attacks or allow unauthorized access to Ubuntu 24.04 LTS. Changes to Ubuntu 24.04 LTS configurations can have unintended side effects, some of which may be relevant to security. \n \nDetecting such changes and providing an automated response can help avoid unintended, negative consequences that could ul...",
      "remediation": "Configure Ubuntu 24.04 LTS to notify designated personnel if baseline configurations are changed in an unauthorized manner. \n \nModify the \"SILENTREPORTS\" parameter in the \"/etc/default/aide\" file with a value of \"no\" if it does not already exist as follows:\n\nSILENTREPORTS=no",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "FILE",
          "input": "/etc/default/aide",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "SILENTREPORTS=no"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "c376296e647f7d2c0dae956bdb25e7ee",
      "name": "UBTU-24-100200 — Ubuntu 24.04 LTS must be configured to preserve log records from failure events.",
      "description": "Ubuntu 24.04 LTS must be configured to preserve log records from failure events.",
      "rational": "Failure to a known state can address safety or security in accordance with the mission/business needs of the organization. Failure to a known secure state helps prevent a loss of confidentiality, integrity, or availability in the event of a failure of the information system or a component of the system.  \n \nPreserving operating system state information helps to facilitate operating system resta...",
      "remediation": "Configure the log service to collect failure events. \n \nInstall the log service (if the log service is not already installed) with the following command: \n \n$ sudo apt install -y rsyslog \n \nEnable the log service with the following command: \n \n$ sudo systemctl enable --now rsyslog",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "PACKAGE",
          "input": "rsyslog",
          "selement": "EXISTS",
          "condition": "",
          "sinput": ""
        },
        {
          "type": "condition",
          "element": "SERVICE",
          "input": "rsyslog",
          "selement": "ENABLED",
          "condition": null,
          "sinput": null
        },
        {
          "type": "condition",
          "element": "PROCESS",
          "input": "rsyslog",
          "selement": "EXISTS",
          "condition": "",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "e8712891ab578ff4a162c227a67d732e",
      "name": "UBTU-24-100300 — Ubuntu 24.04 LTS must have an application firewall installed in order to cont...",
      "description": "Ubuntu 24.04 LTS must have an application firewall installed in order to control remote access methods.",
      "rational": "Remote access services, such as those providing remote access to network devices and information systems, which lack automated control capabilities, increase risk, and make remote user access management difficult at best. \n \nRemote access is access to DOD nonpublic information systems by an authorized user (or an information system) communicating through an external, nonorganization-controlled...",
      "remediation": "Install the ufw by using the following command: \n \n$ sudo apt install -y ufw",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "PACKAGE",
          "input": "ufw",
          "selement": "NOT EXISTS",
          "condition": "",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "2564726768747cb5b3cecc4ffd712689",
      "name": "UBTU-24-100310 — Ubuntu 24.04 LTS must enable and run the Uncomplicated Firewall (ufw).",
      "description": "Ubuntu 24.04 LTS must enable and run the Uncomplicated Firewall (ufw).",
      "rational": "Remote access services, such as those providing remote access to network devices and information systems, which lack automated control capabilities, increase risk, and make remote user access management difficult at best. \n \nRemote access is access to DOD nonpublic information systems by an authorized user (or an information system) communicating through an external, nonorganization-controlled...",
      "remediation": "Enable the ufw by using the following command: \n \n$ sudo ufw enable\n\nNote: Enabling the firewall will potentially disrupt ssh sessions.",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo ufw status",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "Status: active"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "e9a06aabfb6996d4838eaa43245d3625",
      "name": "UBTU-24-100400 — Ubuntu 24.04 LTS must have the \"auditd\" package installed.",
      "description": "Ubuntu 24.04 LTS must have the \"auditd\" package installed.",
      "rational": "Without establishing the when, where, type, source, and outcome of events that occurred, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack. \n \nWithout the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n \nAudit...",
      "remediation": "Configure the audit service to produce audit records containing the information needed to establish when (date and time) an event occurred. \n \nInstall the audit service (if the audit service is not already installed) with the following command: \n \n$ sudo apt install -y auditd",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "PACKAGE",
          "input": "auditd",
          "selement": "EXISTS",
          "condition": "",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "b26899e4be7495699f2f30d78340dbdf",
      "name": "UBTU-24-100450 — Ubuntu 24.04 LTS audit event multiplexor must be configured to offload audit ...",
      "description": "Ubuntu 24.04 LTS audit event multiplexor must be configured to offload audit logs onto a different system or storage media from the system being audited.",
      "rational": "Information stored in one location is vulnerable to accidental or incidental deletion or alteration. \n \nOffloading is a common process in information systems with limited audit storage capacity.\n\nSatisfies: SRG-OS-000342-GPOS-00133, SRG-OS-000479-GPOS-00224",
      "remediation": "Configure the audit event multiplexor to offload audit records to a different system or storage media from the system being audited. \n \nInstall the audisp-remote plugin: \n \n$ sudo apt install -y audispd-plugins\n \nSet the audisp-remote plugin as active by editing the \"/etc/audit/plugins.d/au-remote.conf\" file: \n \n$ sudo sed -i -E 's/active\\s*=\\s*no/active = yes/' /etc/audit/plugins.d/au-remote.conf \n \nSet the address of the remote machine by editing the \"/etc/audit/audisp-remote.conf\" file:...",
      "severity": "Low",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "PACKAGE",
          "input": "audispd-plugins",
          "selement": "EXISTS",
          "condition": "",
          "sinput": ""
        },
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep -i active /etc/audit/plugins.d/au-remote.conf",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "active = yes"
        },
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep -i ^remote_server /etc/audit/audisp-remote.conf",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "remote_server = 192.168.122.126"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "d71d582123fe6c968f368976d6be1164",
      "name": "UBTU-24-100500 — Ubuntu 24.04 LTS must have AppArmor installed.",
      "description": "Ubuntu 24.04 LTS must have AppArmor installed.",
      "rational": "Control of program execution is a mechanism used to prevent execution of unauthorized programs. Some operating systems may provide a capability that runs counter to the mission or provides users with functionality that exceeds mission requirements. This includes functions and services installed at Ubuntu 24.04 LTS-level. \n \nSome of the programs, installed by default, may be harmful or may not b...",
      "remediation": "Install \"AppArmor\" with the following command: \n \n$ sudo apt install apparmor \n \nNote: AppArmor must have properly configured profiles for applications and home directories. All configurations will be based on the actual system setup and organization and normally are on a per role basis. Refer to the AppArmor documentation for more information on configuring profiles.",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "PACKAGE",
          "input": "apparmor",
          "selement": "EXISTS",
          "condition": "",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "4d184afc97a009ae9ed0257a5e445d93",
      "name": "UBTU-24-100510 — Ubuntu 24.04 LTS must be configured to use AppArmor.",
      "description": "Ubuntu 24.04 LTS must be configured to use AppArmor.",
      "rational": "Control of program execution is a mechanism used to prevent execution of unauthorized programs. Some operating systems may provide a capability that runs counter to the mission or provides users with functionality that exceeds mission requirements. This includes functions and services installed at Ubuntu 24.04 LTS-level. \n \nSome of the programs, installed by default, may be harmful or may not b...",
      "remediation": "Enable \"apparmor\" with the following command:\n \n$ sudo systemctl enable apparmor.service \n \nStart \"apparmor\" with the following command: \n \n$ sudo systemctl start apparmor.service \n \nNote: AppArmor must have properly configured profiles for applications and home directories. All configurations will be based on the actual system setup and organization and normally are on a per role basis. Refer to the AppArmor documentation for more information on configuring profiles.",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "SERVICE",
          "input": "apparmor",
          "selement": "ACTIVE",
          "condition": null,
          "sinput": null
        },
        {
          "type": "condition",
          "element": "SERVICE",
          "input": "apparmor",
          "selement": "ENABLED",
          "condition": null,
          "sinput": null
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "ecc4db83ee54c1f7443581f3b6079b85",
      "name": "UBTU-24-100600 — Ubuntu 24.04 LTS must have the \"libpam-pwquality\" package installed.",
      "description": "Ubuntu 24.04 LTS must have the \"libpam-pwquality\" package installed.",
      "rational": "Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. \"pwquality\" enforces complex password construction configuration and has the ability to limit brute-force attacks on the system.",
      "remediation": "Install the \"pam_pwquality\" package by using the following command: \n \n$ sudo apt install -y libpam-pwquality",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "PACKAGE",
          "input": "libpam-pwquality",
          "selement": "EXISTS",
          "condition": "",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "160460077c78ff5462a07e3943cc0dd0",
      "name": "UBTU-24-200650 — Ubuntu 24.04 LTS must enable the graphical user logon banner to display the S...",
      "description": "Ubuntu 24.04 LTS must enable the graphical user logon banner to display the Standard Mandatory DOD Notice and Consent Banner before granting local access to the system via a graphical user logon.",
      "rational": "Display of a standardized and approved use notification before granting access to Ubuntu 24.04 LTS ensures privacy and security notification verbiage used is consistent with applicable federal laws, Executive Orders, directives, policies, regulations, standards, and guidance. \n \nSystem use notifications are required only for access via logon interfaces with human users and are not required when...",
      "remediation": "Configure Ubuntu 24.04 LTS to display the Standard Mandatory DOD Notice and Consent Banner before granting access to Ubuntu 24.04 LTS via a graphical user logon.\n\nEdit the \"/etc/gdm3/greeter.dconf-defaults\" file. \n \nLook for the \"banner-message-enable\" parameter under the \"[org/gnome/login-screen]\" section and uncomment it (remove the leading \"#\" characters): \n[org/gnome/login-screen] \nbanner-message-enable=true \n \nUpdate the GDM with the new configuration: \n \n$ sudo dconf update \n$ sudo syst...",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "FILE",
          "input": "/etc/gdm3/greeter.dconf-defaults",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "banner-message-enable=true"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "7366921abe35504eb7b77ae6aa96bcb3",
      "name": "UBTU-24-100650 — Ubuntu 24.04 LTS must have the \"SSSD\" package installed.",
      "description": "Ubuntu 24.04 LTS must have the \"SSSD\" package installed.",
      "rational": "Without the use of multifactor authentication, the ease of access to privileged functions is greatly increased. \n \nMultifactor authentication requires using two or more factors to achieve authentication. \n \nFactors include:  \n1) Something a user knows (e.g., password/PIN); \n2) Something a user has (e.g., cryptographic identification device, token); and \n3) Something a user is (e.g., biometric)....",
      "remediation": "Install the sssd.service and the required pam packages with the following commands: \n \n$ sudo apt install -y sssd\n\n$ sudo apt install -y libpam-sss\n\n$ sudo apt install -y libnss-sss",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "PACKAGE",
          "input": "sssd",
          "selement": "EXISTS",
          "condition": "",
          "sinput": ""
        },
        {
          "type": "condition",
          "element": "PACKAGE",
          "input": "libpam-sss",
          "selement": "EXISTS",
          "condition": "",
          "sinput": ""
        },
        {
          "type": "condition",
          "element": "PACKAGE",
          "input": "libnss-sss",
          "selement": "EXISTS",
          "condition": "",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "8119c246495d729ef73d11b1e1d0e1f0",
      "name": "UBTU-24-100660 — Ubuntu 24.04 LTS must use the \"SSSD\" package for multifactor authentication s...",
      "description": "Ubuntu 24.04 LTS must use the \"SSSD\" package for multifactor authentication services.",
      "rational": "Without the use of multifactor authentication, the ease of access to privileged functions is greatly increased. \n \nMultifactor authentication requires using two or more factors to achieve authentication. \n \nFactors include:  \n1) Something a user knows (e.g., password/PIN); \n2) Something a user has (e.g., cryptographic identification device, token); and \n3) Something a user is (e.g., biometric)....",
      "remediation": "Enable the \"sssd.service to start automatically on reboot with the following command: \n \n$ sudo systemctl enable sssd.service \n \nensure the \"sssd\" service is running \n \n$ sudo systemctl start sssd.service",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "SERVICE",
          "input": "sssd",
          "selement": "ENABLED",
          "condition": null,
          "sinput": null
        },
        {
          "type": "condition",
          "element": "PROCESS",
          "input": "sssd",
          "selement": "EXISTS",
          "condition": "",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "3875a72147f4a49635ea25b3f0f569b2",
      "name": "UBTU-24-100700 — Ubuntu 24.04 LTS must have the \"chrony\" package installed.",
      "description": "Ubuntu 24.04 LTS must have the \"chrony\" package installed.",
      "rational": "Inaccurate time stamps make it more difficult to correlate events and can lead to an inaccurate analysis. Determining the correct time a particular event occurred on a system is critical when conducting forensic analysis and investigating system events. Sources outside the configured acceptable allowance (drift) may be inaccurate. \n\nOrganizations must consider endpoints that may not have regula...",
      "remediation": "Install the \"chrony\" network time protocol package using the following command:\n\n$ sudo apt install -y chrony",
      "severity": "Low",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "PACKAGE",
          "input": "chrony",
          "selement": "EXISTS",
          "condition": "",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "d73afe58aa9014469ed44923edda6e8e",
      "name": "UBTU-24-100800 — Ubuntu 24.04 LTS must have SSH installed.",
      "description": "Ubuntu 24.04 LTS must have SSH installed.",
      "rational": "Without protection of the transmitted information, confidentiality and integrity may be compromised because unprotected communications can be intercepted and either read or altered.  \n \nThis requirement applies to both internal and external networks and all types of information system components from which information can be transmitted (e.g., servers, mobile devices, notebook computers, printe...",
      "remediation": "Install the \"ssh\" meta-package on the system with the following command: \n \n$ sudo apt install -y ssh",
      "severity": "High",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "PACKAGE",
          "input": "openssh",
          "selement": "EXISTS",
          "condition": "",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "cab92616783ed65af188afd422b5a70a",
      "name": "UBTU-24-400400 — Ubuntu 24.04 LTS must encrypt all stored passwords with a FIPS 140-3 approved...",
      "description": "Ubuntu 24.04 LTS must encrypt all stored passwords with a FIPS 140-3 approved cryptographic hashing algorithm.",
      "rational": "Passwords need to be protected at all times, and encryption is the standard method for protecting passwords. If passwords are not encrypted, they can be plainly read (i.e., clear text) and easily compromised.",
      "remediation": "Configure Ubuntu 24.04 LTS to encrypt all stored passwords.  \n \nEdit/modify the following line in the \"/etc/login.defs\" file and set \"ENCRYPT_METHOD\" to SHA512: \n \nENCRYPT_METHOD SHA512",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "FILE",
          "input": "/etc/login.defs",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "ENCRYPT_METHOD SHA512"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "5ffaf2bf2e73f663924f3cbf4d5545ae",
      "name": "UBTU-24-100810 — Ubuntu 24.04 LTS must use SSH to protect the confidentiality and integrity of...",
      "description": "Ubuntu 24.04 LTS must use SSH to protect the confidentiality and integrity of transmitted information.",
      "rational": "Without protection of the transmitted information, confidentiality and integrity may be compromised because unprotected communications can be intercepted and either read or altered.  \n \nThis requirement applies to both internal and external networks and all types of information system components from which information can be transmitted (e.g., servers, mobile devices, notebook computers, printe...",
      "remediation": "Enable the \"ssh\" service to start automatically on reboot with the following command: \n \n$ sudo systemctl enable ssh.service \n \nensure the \"ssh\" service is running \n \n$ sudo systemctl start ssh.service",
      "severity": "High",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "SERVICE",
          "input": "ssh",
          "selement": "ENABLED",
          "condition": null,
          "sinput": null
        },
        {
          "type": "condition",
          "element": "PROCESS",
          "input": "sshd",
          "selement": "EXISTS",
          "condition": "",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "c44fb768f1485594cac3827102c455c4",
      "name": "UBTU-24-100820 — Ubuntu 24.04 LTS must configure the SSH daemon to use FIPS 140-3 approved cip...",
      "description": "Ubuntu 24.04 LTS must configure the SSH daemon to use FIPS 140-3 approved ciphers to prevent the unauthorized disclosure of information and/or detect changes to information during transmission.",
      "rational": "Without cryptographic integrity protections, information can be altered by unauthorized users without detection.  \n \nRemote access (e.g., RDP) is access to DOD nonpublic information systems by an authorized user (or an information system) communicating through an external, nonorganization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless.  \n \nNonlo...",
      "remediation": "Configure Ubuntu 24.04 LTS to allow the SSH daemon to only implement FIPS-approved algorithms. \n \nAdd the following line (or modify the line to have the required value) to the \"/etc/ssh/sshd_config\" file (this file may be named differently or be in a different location if using a version of SSH that is provided by a third-party vendor): \n \nCiphers aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes128-ctr\n \nRestart the \"sshd\" service for changes to take effect: \n \n$ sudo systemctl re...",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep -r 'Ciphers' /etc/ssh/sshd_config*",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "Ciphers aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes128-ctr"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "aa67595b2a0f68b904695a029f661e92",
      "name": "UBTU-24-100830 — Ubuntu 24.04 LTS must configure the SSH daemon to use Message Authentication ...",
      "description": "Ubuntu 24.04 LTS must configure the SSH daemon to use Message Authentication Codes (MACs) employing FIPS 140-3 approved cryptographic hashes to prevent the unauthorized disclosure of information and/or detect changes to information during transmission.",
      "rational": "Without cryptographic integrity protections, information can be altered by unauthorized users without detection.  \n \nRemote access (e.g., RDP) is access to DOD nonpublic information systems by an authorized user (or an information system) communicating through an external, nonorganization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless. Nonlocal...",
      "remediation": "Configure Ubuntu 24.04 LTS to allow the SSH daemon to only use MACs that employ FIPS 140-3 approved ciphers. \n \nAdd the following line (or modify the line to have the required value) to the \"/etc/ssh/sshd_config\" file (this file may be named differently or be in a different location if using a version of SSH that is provided by a third-party vendor): \n \nMACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512,hmac-sha2-256\n \nRestart the \"sshd\" service for changes to take...",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "FILE",
          "input": "/etc/ssh/sshd_config*",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512,hmac-sha2-256"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "6e3af90f5753c35f482ec85f231885b6",
      "name": "UBTU-24-100840 — Ubuntu 24.04 LTS SSH server must be configured to use only FIPS 140-3 validat...",
      "description": "Ubuntu 24.04 LTS SSH server must be configured to use only FIPS 140-3 validated key exchange algorithms.",
      "rational": "Without cryptographic integrity protections provided by FIPS-validated cryptographic algorithms, information can be viewed and altered by unauthorized users without detection.\n\nThe system will attempt to use the first algorithm presented by the client that matches the server list.",
      "remediation": "Configure the SSH daemon to use only FIPS-validated key exchange algorithms by adding or modifying the following line in \"/etc/ssh/sshd_config\":\n\nKexAlgorithms ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group14-sha256\n\nRestart the \"sshd\" service for changes to take effect:\n\n$ sudo systemctl restart sshd",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep -ir kexalgorithms /etc/ssh/sshd_config*",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "KexAlgorithms ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group14-sha256"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "9db11a0842743d47c9834fbe4360930a",
      "name": "UBTU-24-100850 — Ubuntu 24.04 LTS must configure the SSH client to use FIPS 140-3 approved cip...",
      "description": "Ubuntu 24.04 LTS must configure the SSH client to use FIPS 140-3 approved ciphers to prevent the unauthorized disclosure of information and/or detect changes to information during transmission.",
      "rational": "Without cryptographic integrity protections, information can be altered by unauthorized users without detection.  \n \nRemote access (e.g., RDP) is access to DOD nonpublic information systems by an authorized user (or an information system) communicating through an external, nonorganization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless.  \n \nNonlo...",
      "remediation": "Configure the Ubuntu 24.04 LTS SSH client to use only ciphers employing FIPS 140-3 approved algorithms by updating the \"/etc/ssh/ssh_config\" file with the following line:\n\nCiphers aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes128-ctr\n\nRestart the \"ssh\" service for changes to take effect:\n\n$ sudo systemctl restart ssh",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep -r 'Ciphers' /etc/ssh/ssh_config*",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "Ciphers aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes128-ctr"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "4bfc00c0320b77ef3dbfa561e75b782c",
      "name": "UBTU-24-100860 — Ubuntu 24.04 LTS SSH client must be configured to use only Message Authentica...",
      "description": "Ubuntu 24.04 LTS SSH client must be configured to use only Message Authentication Codes (MACs) employing FIPS 140-3 validated cryptographic hash algorithms.",
      "rational": "Without cryptographic integrity protections, information can be altered by unauthorized users without detection.  \n \nRemote access (e.g., RDP) is access to DOD nonpublic information systems by an authorized user (or an information system) communicating through an external, nonorganization-controlled network. Remote access methods include, for example, dial-up, broadband, and wireless. Nonlocal...",
      "remediation": "Configure the Ubuntu 24.04 LTS SSH client to use only MACs employing FIPS 140-3 approved algorithms by updating the \"/etc/ssh/ssh_config\" file with the following line:\n\nMACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512,hmac-sha2-256\n\nRestart the \"ssh\" service for changes to take effect:\n\n$ sudo systemctl restart ssh",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep -ir macs /etc/ssh/ssh_config*",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512,hmac-sha2-256"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "0af85bf3831d2e1fb899b4317fe620cf",
      "name": "UBTU-24-100900 — Ubuntu 24.04 LTS must accept Personal Identity Verification (PIV) credentials.",
      "description": "Ubuntu 24.04 LTS must accept Personal Identity Verification (PIV) credentials.",
      "rational": "The use of PIV credentials facilitates standardization and reduces the risk of unauthorized access. \n \nDOD has mandated the use of the common access card (CAC) to support identity management and personal authentication for systems covered under Homeland Security Presidential Directive (HSPD) 12, as well as making the CAC a primary component of layered protection for national security systems.",
      "remediation": "Configure Ubuntu 24.04 LTS to accept PIV credentials. \n \nInstall the \"opensc-pkcs11\" package using the following command: \n \n$ sudo apt install -y opensc-pkcs11",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "PACKAGE",
          "input": "opensc-pkcs11",
          "selement": "EXISTS",
          "condition": "",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "e43661cdcbc1c87852d5573484456b79",
      "name": "UBTU-24-100910 — Ubuntu 24.04 LTS must accept Personal Identity Verification (PIV) credentials...",
      "description": "Ubuntu 24.04 LTS must accept Personal Identity Verification (PIV) credentials managed through the Privileged Access Management (PAM)  framework.",
      "rational": "The use of PIV credentials facilitates standardization and reduces the risk of unauthorized access. \n \nDOD has mandated the use of the common access card (CAC) to support identity management and personal authentication for systems covered under Homeland Security Presidential Directive (HSPD) 12, as well as making the CAC a primary component of layered protection for national security systems.",
      "remediation": "Configure Ubuntu 24.04 LTS to accept PIV credentials that are managed through the PAM framework. \n \nInstall the \"libpam-pkcs11\" package using the following command: \n \n$ sudo apt install -y libpam-pkcs11",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "PACKAGE",
          "input": "libpam-pkcs11",
          "selement": "EXISTS",
          "condition": "",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "72ca7d5a2a41bbca5fb7d5653f367634",
      "name": "UBTU-24-101000 — Ubuntu 24.04 LTS must allow users to directly initiate a session lock for all...",
      "description": "Ubuntu 24.04 LTS must allow users to directly initiate a session lock for all connection types.",
      "rational": "A session lock is a temporary action taken when a user stops work and moves away from the immediate physical vicinity of the information system but does not want to log out because of the temporary nature of the absence. \n \nThe session lock is implemented at the point where session activity can be determined. Rather than be forced to wait for a period of time to expire before the user session c...",
      "remediation": "Install the \"vlock\" package (if it is not already installed) by running the following command: \n \n$ sudo apt install -y vlock",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "PACKAGE",
          "input": "vlock",
          "selement": "EXISTS",
          "condition": "",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "5ab80e540ab910749521e43d661128da",
      "name": "UBTU-24-102000 — Ubuntu 24.04 LTS when booted must require authentication upon booting into si...",
      "description": "Ubuntu 24.04 LTS when booted must require authentication upon booting into single-user and maintenance modes.",
      "rational": "To mitigate the risk of unauthorized access to sensitive information by entities that have been issued certificates by DOD-approved PKIs, all DOD systems (e.g., web servers and web portals) must be properly configured to incorporate access control methods that do not rely solely on the possession of a certificate for access.  \n \nSuccessful authentication must not automatically give an entity ac...",
      "remediation": "Configure the system to require a password for authentication upon booting into single-user and maintenance modes. \n \nGenerate an encrypted (grub) password for root with the following command: \n \n$ grub-mkpasswd-pbkdf2 \nEnter Password: \nReenter Password: \nPBKDF2 hash of your password is grub.pbkdf2.sha512.10000.MFU48934NJD84NF8NSD39993JDHF84NG \n \nUsing the hash from the output, modify the \"/etc/grub.d/40_custom\" file with the following command to add a boot password: \n \n$ sudo sed -i '$i set...",
      "severity": "High",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep -i password /boot/grub/grub.cfg",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "password_pbkdf2 root grub.pbkdf2.sha512.10000.MFU48934NJA87HF8NSD34493GDHF84NG"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "6aba7d033b0cc809dea7dda33e2faf87",
      "name": "UBTU-24-102010 — Ubuntu 24.04 LTS must initiate session audits at system startup.",
      "description": "Ubuntu 24.04 LTS must initiate session audits at system startup.",
      "rational": "If auditing is enabled late in the startup process, the actions of some startup processes may not be audited. Some audit systems also maintain state information only available if auditing is enabled before a given process is created.",
      "remediation": "Configure Ubuntu 24.04 LTS to produce audit records at system startup.  \n \nEdit the \"/etc/default/grub\" file and add \"audit=1\" to the \"GRUB_CMDLINE_LINUX\" option and to the \"GRUB_CMDLINE_LINUX_DEFAULT\" option. \n\nGRUB_CMDLINE_LINUX_DEFAULT=\"audit=1\"\nGRUB_CMDLINE_LINUX=\"audit=1\"\n \nTo update the grub config file, run: \n \n$ sudo update-grub",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep -ir GRUB_CMDLINE_LINUX /etc/default/grub",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "/etc/default/grub:GRUB_CMDLINE_LINUX_DEFAULT=\"audit=1\""
        },
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep \"^\\s*linux\" /boot/grub/grub.cfg",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "linux   /vmlinuz-6.8.0-31-generic root=UUID=c92a542f-aee4-4af9-94b2-203624ccb8e3 ro audit=1 quiet splash $vt_handoff"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "aaa633737b7f9441520ddf53c11688ca",
      "name": "UBTU-24-200000 — Ubuntu 24.04 LTS must limit the number of concurrent sessions to 10 for all a...",
      "description": "Ubuntu 24.04 LTS must limit the number of concurrent sessions to 10 for all accounts and/or account types.",
      "rational": "Ubuntu 24.04 LTS management includes the ability to control the number of users and user sessions that utilize an operating system. Limiting the number of allowed users and sessions per user is helpful in reducing the risks related to denial-of-service (DoS) attacks. \n \nThis requirement addresses concurrent sessions for information system accounts and does not address concurrent sessions by sin...",
      "remediation": "Configure Ubuntu 24.04 LTS to limit the number of concurrent sessions to 10 for all accounts and/or account types. \n \nAdd the following line to the top of the /etc/security/limits.conf or in a \".conf\" file defined in /etc/security/limits.d/: \n \n* hard maxlogins 10",
      "severity": "Low",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "FILE",
          "input": "/etc/security/limits.d/*.conf",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "/etc/security/limits.d/maxlogins.conf:* hard maxlogins 10"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "77062cc02588b180be1035272a039a2f",
      "name": "UBTU-24-200020 — Ubuntu 24.04 LTS must initiate a graphical session lock after 10 minutes of i...",
      "description": "Ubuntu 24.04 LTS must initiate a graphical session lock after 10 minutes of inactivity.",
      "rational": "A session lock is a temporary action taken when a user stops work and moves away from the immediate physical vicinity of the information system but does not want to log out because of the temporary nature of the absence. \n \nThe session lock is implemented at the point where session activity can be determined. \n \nRegardless of where the session lock is determined and implemented, once invoked, a...",
      "remediation": "Configure Ubuntu 24.04 LTS to lock the current graphical user interface session after 10 minutes of inactivity.  \n \nCreate or edit a file named /etc/dconf/db/local.d/00-screensaver with the following contents:\n\n[org/gnome/desktop/session]\nidle-delay=uint32 900\n\n[org/gnome/desktop/screensaver]\nlock-enabled=true\nlock-delay=uint32 600\n\nUpdate the dconf settings:\n\n$ sudo dconf update",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "gsettings get org.gnome.desktop.screensaver lock-delay",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "uint32 0"
        },
        {
          "type": "condition",
          "element": "CMD",
          "input": "gsettings get org.gnome.desktop.session idle-delay",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "uint32 600"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "19035ff94c477bb8a8918a14a4885776",
      "name": "UBTU-24-200040 — Ubuntu 24.04 LTS must prevent a user from overriding the disabling of the gra...",
      "description": "Ubuntu 24.04 LTS must prevent a user from overriding the disabling of the graphical user interface automount function.",
      "rational": "A nonprivileged account is any operating system account with authorizations of a nonprivileged user.\n\nSatisfies: SRG-OS-000114-GPOS-00059, SRG-OS-000378-GPOS-00163, SRG-OS-000480-GPOS-00227",
      "remediation": "Configure Ubuntu 24.04 LTS so the GNOME desktop does not allow a user to change the setting that disables automated mounting of removable media.\n\nAdd the following line to \"/etc/dconf/db/local.d/locks/00-security-settings-lock\" to prevent user modification:\n\n/org/gnome/desktop/media-handling/automount-open\n\nUpdate the dconf system databases:\n\n$ sudo dconf update",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep system-db /etc/dconf/profile/user",
          "selement": "OUTPUT",
          "condition": "NOT EQUALS",
          "sinput": ""
        },
        {
          "type": "condition",
          "element": "CMD",
          "input": "grep 'automount-open' /etc/dconf/db/local.d/locks/*",
          "selement": "OUTPUT",
          "condition": "NOT EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "b1fffb605b178f22a6d93687527d7dfb",
      "name": "UBTU-24-200060 — Ubuntu 24.04 LTS must automatically terminate a user session after inactivity...",
      "description": "Ubuntu 24.04 LTS must automatically terminate a user session after inactivity timeouts have expired.",
      "rational": "Automatic session termination addresses the termination of user-initiated logical sessions in contrast to the termination of network connections associated with communications sessions (i.e., network disconnect). A logical session (for local, network, and remote access) is initiated whenever a user (or process acting on behalf of a user) accesses an organizational information system. Such user...",
      "remediation": "Configure Ubuntu 24.04 LTS to automatically terminate a user session after inactivity timeouts have expired or at shutdown. \n \nCreate the file \"/etc/profile.d/99-terminal_tmout.sh\" file if it does not exist. \n \nModify or append the following line in the \"/etc/profile.d/99-terminal_tmout.sh \" file: \n \nTMOUT=600 \n \nThis will set a timeout value of 10 minutes for all future sessions. \n \nTo set the timeout for the current sessions, execute the following command over the terminal session: \n \n$ exp...",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep -E \"\\bTMOUT=[0-9]+\" /etc/bash.bashrc /etc/profile.d/*",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "/etc/profile.d/99-terminal_tmout.sh:TMOUT=600"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "e751db363a06d77bdb70c5e92fef8345",
      "name": "UBTU-24-200090 — Ubuntu 24.04 LTS must monitor remote access methods.",
      "description": "Ubuntu 24.04 LTS must monitor remote access methods.",
      "rational": "Remote access services, such as those providing remote access to network devices and information systems, which lack automated monitoring capabilities, increase risk, and make remote user access management difficult at best. \n \nRemote access is access to DOD nonpublic information systems by an authorized user (or an information system) communicating through an external, nonorganization-controll...",
      "remediation": "Configure Ubuntu 24.04 LTS to monitor all remote access methods by adding the following lines to the \"/etc/rsyslog.d/50-default.conf\" file: \n \nauth.*,authpriv.* /var/log/secure \ndaemon.* /var/log/messages \n \nFor the changes to take effect, restart the \"rsyslog\" service with the following command: \n \n$ sudo systemctl restart rsyslog.service",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "FILE",
          "input": "/etc/rsyslog.*",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "/etc/rsyslog.d/50-default.conf:auth,authpriv.* /var/log/auth.log"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "c6aa008982e1c17b703e5622b2245239",
      "name": "UBTU-24-200250 — Ubuntu 24.04 LTS must automatically remove or disable emergency accounts afte...",
      "description": "Ubuntu 24.04 LTS must automatically remove or disable emergency accounts after 72 hours.",
      "rational": "Temporary accounts are privileged or nonprivileged accounts established during pressing circumstances, such as new software or hardware configuration or an incident response, where the need for prompt account activation requires bypassing normal account authorization procedures. If any inactive temporary accounts are left enabled on the system and are not either manually removed or automaticall...",
      "remediation": "Configure Ubuntu 24.04 LTS to expire temporary accounts after 72 hours with the following command:\n\n$ sudo chage -E $(date -d +3days +%Y-%m-%d) <temporary_account_name>",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo chage -l <temporary_account_name> | grep -i \"account expires\"",
          "selement": "OUTPUT",
          "condition": "NOT EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "3a06fc8794d492ff878654ef89c8a9d5",
      "name": "UBTU-24-200260 — Ubuntu 24.04 LTS must disable account identifiers (individuals, groups, roles...",
      "description": "Ubuntu 24.04 LTS must disable account identifiers (individuals, groups, roles, and devices) after 35 days of inactivity.",
      "rational": "Inactive identifiers pose a risk to systems and applications because attackers may exploit an inactive identifier and potentially obtain undetected access to the system. Owners of inactive accounts will not notice if unauthorized access to their user account has been obtained. \n \nOperating systems need to track periods of inactivity and disable application identifiers after 35 days of inactivit...",
      "remediation": "Configure Ubuntu 24.04 LTS to disable account identifiers after 35 days of inactivity after the password expiration.  \n \nRun the following command to change the configuration for adduser: \n \n$ sudo useradd -D -f 35 \n \nNote: DOD recommendation is 35 days, but a lower value is acceptable. The value \"0\" will disable the account immediately after the password expires.",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "FILE",
          "input": "/etc/default/useradd",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "INACTIVE=35"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "a875214bbbedddbb1cff8a506349b33b",
      "name": "UBTU-24-200280 — Ubuntu 24.04 LTS must generate audit records for all account creations, modif...",
      "description": "Ubuntu 24.04 LTS must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/passwd.",
      "rational": "Once an attacker establishes access to a system, the attacker often attempts to create a persistent method of reestablishing access. One way to accomplish this is for the attacker to create an account. Auditing account creation actions provides logging that can be used for forensic purposes. \n \nTo address access requirements, many operating systems may be integrated with enterprise-level authen...",
      "remediation": "Configure Ubuntu 24.04 LTS to generate audit records for all account creations, modifications, disabling, and termination events that affect \"/etc/passwd\". \n \nAdd or update the following rule to \"/etc/audit/rules.d/stig.rules\": \n \n-w /etc/passwd -p wa -k usergroup_modification \n  \nTo reload the rules file, issue the following command: \n \n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep passwd",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-w /etc/passwd -p wa -k usergroup_modification"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "251e2793783388ca14813f02e2482b98",
      "name": "UBTU-24-200290 — Ubuntu 24.04 LTS must generate audit records for all account creations, modif...",
      "description": "Ubuntu 24.04 LTS must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/group.",
      "rational": "Once an attacker establishes access to a system, the attacker often attempts to create a persistent method of reestablishing access. One way to accomplish this is for the attacker to create an account. Auditing account creation actions provides logging that can be used for forensic purposes. \n \nTo address access requirements, many operating systems may be integrated with enterprise-level authen...",
      "remediation": "Configure Ubuntu 24.04 LTS to generate audit records for all account creations, modifications, disabling, and termination events that affect \"/etc/group\". \n \nAdd or update the following rule to \"/etc/audit/rules.d/stig.rules\": \n \n-w /etc/group -p wa -k usergroup_modification \n  \nTo reload the rules file, issue the following command: \n \n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep group",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-w /etc/group -p wa -k usergroup_modification"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "5ce5df536113e6e627d58461477fc0cb",
      "name": "UBTU-24-200300 — Ubuntu 24.04 LTS must generate audit records for all account creations, modif...",
      "description": "Ubuntu 24.04 LTS must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/shadow.",
      "rational": "Once an attacker establishes access to a system, the attacker often attempts to create a persistent method of reestablishing access. One way to accomplish this is for the attacker to create an account. Auditing account creation actions provides logging that can be used for forensic purposes. \n \nTo address access requirements, many operating systems may be integrated with enterprise-level authen...",
      "remediation": "Configure Ubuntu 24.04 LTS to generate audit records for all account creations, modifications, disabling, and termination events that affect \"/etc/shadow\". \n \nAdd or update the following rule to \"/etc/audit/rules.d/stig.rules\": \n \n-w /etc/shadow -p wa -k usergroup_modification \n  \nTo reload the rules file, issue the following command: \n \n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep shadow",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-w /etc/shadow -p wa -k usergroup_modification"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "d7c3cd53966fdf9e663155ac4f760dc5",
      "name": "UBTU-24-200310 — Ubuntu 24.04 LTS must generate audit records for all account creations, modif...",
      "description": "Ubuntu 24.04 LTS must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/gshadow.",
      "rational": "Once an attacker establishes access to a system, the attacker often attempts to create a persistent method of reestablishing access. One way to accomplish this is for the attacker to create an account. Auditing account creation actions provides logging that can be used for forensic purposes. \n \nTo address access requirements, many operating systems may be integrated with enterprise-level authen...",
      "remediation": "Configure Ubuntu 24.04 LTS to generate audit records for all account creations, modifications, disabling, and termination events that affect \"/etc/gshadow\". \n \nAdd or update the following rule to \"/etc/audit/rules.d/stig.rules\": \n \n-w /etc/gshadow -p wa -k usergroup_modification \n  \nTo reload the rules file, issue the following command: \n \n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep gshadow",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-w /etc/gshadow -p wa -k usergroup_modification"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "54d6c1df3e20ac82ab66ef5d05e62c66",
      "name": "UBTU-24-200320 — Ubuntu 24.04 LTS must generate audit records for all account creations, modif...",
      "description": "Ubuntu 24.04 LTS must generate audit records for all account creations, modifications, disabling, and termination events that affect /etc/opasswd.",
      "rational": "Once an attacker establishes access to a system, the attacker often attempts to create a persistent method of reestablishing access. One way to accomplish this is for the attacker to create an account. Auditing account creation actions provides logging that can be used for forensic purposes. \n \nTo address access requirements, many operating systems may be integrated with enterprise-level authen...",
      "remediation": "Configure Ubuntu 24.04 LTS to generate audit records for all account creations, modifications, disabling, and termination events that affect \"/etc/security/opasswd\". \n \nAdd or update the following rule to \"/etc/audit/rules.d/stig.rules\": \n \n-w /etc/security/opasswd -p wa -k usergroup_modification \n  \nTo reload the rules file, issue the following command: \n \n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep opasswd",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-w /etc/security/opasswd -p wa -k usergroup_modification"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "81082e869c882bc1dfa4acfd0dd0dd61",
      "name": "UBTU-24-200580 — Ubuntu 24.04 LTS must prevent all software from executing at higher privilege...",
      "description": "Ubuntu 24.04 LTS must prevent all software from executing at higher privilege levels than users executing the software and the audit system must be configured to audit the execution of privileged functions.",
      "rational": "In certain situations, software applications/programs need to execute with elevated privileges to perform required functions. However, if the privileges required for execution are at a higher level than the privileges assigned to organizational users invoking such applications/programs, those users are indirectly provided with greater privileges than assigned by the organizations. \n \nSome progr...",
      "remediation": "Configure Ubuntu 24.04 LTS to audit the execution of all privileged functions. \n \nAdd or update the following rules in the \"/etc/audit/rules.d/stig.rules\" file: \n \n-a always,exit -F arch=b64 -S execve -C uid!=euid -F euid=0 -F key=execpriv\n-a always,exit -F arch=b64 -S execve -C gid!=egid -F egid=0 -F key=execpriv\n-a always,exit -F arch=b32 -S execve -C uid!=euid -F euid=0 -F key=execpriv\n-a always,exit -F arch=b32 -S execve -C gid!=egid -F egid=0 -F key=execpriv\n \nNotes: For 32-bit architect...",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep execve",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-a always,exit -F arch=b64 -S execve -C uid!=euid -F euid=0 -F key=execpriv"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "5dbf3c3de83cbe4c3e51a794c9945074",
      "name": "UBTU-24-200610 — Ubuntu 24.04 LTS must automatically lock an account until the locked account ...",
      "description": "Ubuntu 24.04 LTS must automatically lock an account until the locked account is released by an administrator when three unsuccessful logon attempts have been made.",
      "rational": "By limiting the number of failed logon attempts, the risk of unauthorized system access via user password guessing, otherwise known as brute-forcing, is reduced. Limits are imposed by locking the account.\n\nSatisfies: SRG-OS-000021-GPOS-00005, SRG-OS-000329-GPOS-00128",
      "remediation": "Configure Ubuntu 24.04 LTS to utilize the \"pam_faillock\" module. \n\nEdit the /etc/pam.d/common-auth file to add the following lines below the \"auth\" definition for pam_unix.so:\nauth     [default=die]  pam_faillock.so authfail\nauth     sufficient     pam_faillock.so authsucc\n\nConfigure the \"pam_faillock\" module to use the following options:\n\nEdit the /etc/security/faillock.conf file and add/update the following keywords and values:\naudit\nsilent\ndeny = 3\nfail_interval = 900\nunlock_time = 0",
      "severity": "Low",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "FILE",
          "input": "/etc/pam.d/common-auth",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "auth     [default=die]  pam_faillock.so authfail"
        },
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo egrep 'silent|audit|deny|fail_interval| unlock_time' /etc/security/faillock.conf",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "audit"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "4682a33f4e048f438def107b2ffc6569",
      "name": "UBTU-24-200640 — Ubuntu 24.04 LTS must display the Standard Mandatory DOD Notice and Consent B...",
      "description": "Ubuntu 24.04 LTS must display the Standard Mandatory DOD Notice and Consent Banner before granting access to via an SSH logon.",
      "rational": "Display of a standardized and approved use notification before granting access to the publicly accessible operating system ensures privacy and security notification verbiage used is consistent with applicable federal laws, Executive Orders, directives, policies, regulations, standards, and guidance. \n \nSystem use notifications are required only for access via logon interfaces with human users a...",
      "remediation": "Configure Ubuntu 24.04 LTS to display the Standard Mandatory DOD Notice and Consent Banner before granting access via an SSH logon.\n\nSet the parameter Banner in \"/etc/ssh/sshd_config\" to point to the \"/etc/issue.net\" file: \n \n$ sudo sed -i '/^Banner/d' /etc/ssh/sshd_config \n$ sudo sed -i '$aBanner /etc/issue.net' /etc/ssh/sshd_config \n \nEither create the file containing the banner or replace the text in the file with the Standard Mandatory DOD Notice and Consent Banner. The DOD required text...",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep -ir banner /etc/ssh/sshd_config*",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "/etc/ssh/sshd_config:Banner /etc/issue.net"
        },
        {
          "type": "condition",
          "element": "FILE",
          "input": "/etc/issue.net",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "\"You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only."
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "962bc4e1da92afb9f53ee52300600396",
      "name": "UBTU-24-200660 — Ubuntu 24.04 LTS must display the Standard Mandatory DOD Notice and Consent B...",
      "description": "Ubuntu 24.04 LTS must display the Standard Mandatory DOD Notice and Consent Banner before granting local access to the system via a graphical user logon.",
      "rational": "Display of a standardized and approved use notification before granting access to Ubuntu 24.04 LTS ensures privacy and security notification verbiage used is consistent with applicable federal laws, Executive Orders, directives, policies, regulations, standards, and guidance. \n \nSystem use notifications are required only for access via logon interfaces with human users and are not required when...",
      "remediation": "Configure Ubuntu 24.04 LTS displays the Standard Mandatory DOD Notice and Consent Banner before granting access to Ubuntu 24.04 LTS via a graphical user logon.\n\nEdit the \"/etc/gdm3/greeter.dconf-defaults\" file. \n \nSet the \"banner-message-text\" line to contain the appropriate banner message text as shown below: \n \nbanner-message-text='You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only.\\n\\nBy using this IS (which includes any device at...",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "FILE",
          "input": "/etc/gdm3/greeter.dconf-defaults",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "banner-message-text=\"You are accessing a U.S. Government \\(USG\\) Information System \\(IS\\) that is provided for USG-authorized use only.\\s+By using this IS \\(which includes any device attached to this IS\\), you consent to the following conditions:\\s+-The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct \\(PM\\), law enforcement \\(LE\\), and counterintelligence \\(CI\\) investigations.\\s+-At any time, the USG may inspect and seize data stored on this IS.\\s+-Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose.\\s+-This IS includes security measures \\(e.g., authentication and access controls\\) to protect USG interests--not for your personal benefit or privacy.\\s+-Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details.\""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "8e2a8e3b38c23491eb0c6db8f40da965",
      "name": "UBTU-24-200680 — Ubuntu 24.04 LTS must be configured to enforce the acknowledgement of the Sta...",
      "description": "Ubuntu 24.04 LTS must be configured to enforce the acknowledgement of the Standard Mandatory DOD Notice and Consent Banner for all SSH connections.",
      "rational": "The banner must be acknowledged by the user prior to allowing the user access to Ubuntu 24.04 LTS. This provides assurance that the user has seen the message and accepted the conditions for access. If the consent banner is not acknowledged by the user, DOD will not be in compliance with system use notifications required by law. \n \nUbuntu 24.04 LTS must prevent further activity until the user ex...",
      "remediation": "Configure Ubuntu 24.04 LTS to prompt a user to acknowledge the Standard Mandatory DOD Notice and Consent Banner before granting access:\n\n$ sudo vi /etc/profile.d/ssh_confirm.sh\n#!/bin/bash\n\nif [ -n \"$SSH_CLIENT\" ] || [ -n \"$SSH_TTY\" ]; then\n        while true; do\n                read -p \" \n\nYou are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only.\n\nBy using this IS (which includes any device attached to this IS), you consent to the followi...",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "less /etc/profile.d/ssh_confirm.sh",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "#!/bin/bash"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "40fb90fc81012d19fdb788f5b774db29",
      "name": "UBTU-24-300001 — Ubuntu 24.04 LTS Advance Package Tool (APT) must be configured to prevent the...",
      "description": "Ubuntu 24.04 LTS Advance Package Tool (APT) must be configured to prevent the installation of patches, service packs, device drivers, or Ubuntu 24.04 LTS components without verification they have been digitally signed using a certificate that is recognized and approved by the organization.",
      "rational": "Changes to any software components can have significant effects on the overall security of Ubuntu 24.04 LTS. This requirement ensures the software has not been tampered with and that it has been provided by a trusted vendor. \n \nAccordingly, patches, service packs, device drivers, or operating system components must be signed with a certificate recognized and approved by the organization. \n \nVer...",
      "remediation": "Configure APT to prevent the installation of patches, service packs, device drivers, or Ubuntu 24.04 LTS components without verification they have been digitally signed using a certificate recognized and approved by the organization. \n \nRemove/update any APT configuration files that contain the variable \"AllowUnauthenticated\" to \"false\" or remove \"AllowUnauthenticated\" entirely from each file. Below is an example of setting the \"AllowUnauthenticated\" variable to \"false\": \n \nAPT::Get::AllowUna...",
      "severity": "Low",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "grep AllowUnauthenticated /etc/apt/apt.conf.d/*",
          "selement": "OUTPUT",
          "condition": "NOT EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "b49b024fbe5701267288eac3236f9c97",
      "name": "UBTU-24-300006 — Ubuntu 24.04 LTS library files must have mode 0755 or less permissive.",
      "description": "Ubuntu 24.04 LTS library files must have mode 0755 or less permissive.",
      "rational": "If Ubuntu 24.04 LTS were to allow any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. \n \nThis requirement applies to operating systems with software libraries that are accessible and configurable, as in the case of interpreted languages. Software libr...",
      "remediation": "Configure the systemwide shared library files contained in the directories \"/lib\", \"/lib64\", \"/usr/lib\", and \"/usr/lib64\" to have mode 0755 or less permissive with the following command:\n\n$ sudo find /lib /lib64 /usr/lib /usr/lib64 -type f -name '*.so*' -perm /022 -exec chmod go-w {} +",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo find /lib /lib64 /usr/lib /usr/lib64 -type f -name '*.so*' -perm /022 -exec stat -c \"%n %a\" {} +",
          "selement": "OUTPUT",
          "condition": "EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "6c07f2b5530a7e5ac2f09e29873a2968",
      "name": "UBTU-24-300007 — Ubuntu 24.04 LTS library files must be owned by root.",
      "description": "Ubuntu 24.04 LTS library files must be owned by root.",
      "rational": "If Ubuntu 24.04 LTS were to allow any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. \n \nThis requirement applies to operating systems with software libraries that are accessible and configurable, as in the case of interpreted languages. Software libr...",
      "remediation": "Configure the systemwide shared library files contained in the directories \"/lib\", \"/lib64\", \"/usr/lib\", and \"/usr/lib64\" to be owned by root with the following command:\n\n$ sudo find /lib /lib64 /usr/lib /usr/lib64 -type f -name '*.so*' ! -user root -exec chown root {} +",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo find /lib /lib64 /usr/lib /usr/lib64 -type f -name '*.so*' ! -user root -exec stat -c \"%n %U\" {} +",
          "selement": "OUTPUT",
          "condition": "EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "5eaade301be011d3dc78456bf1a70100",
      "name": "UBTU-24-300008 — Ubuntu 24.04 LTS library directories must be owned by root.",
      "description": "Ubuntu 24.04 LTS library directories must be owned by root.",
      "rational": "If Ubuntu 24.04 LTS were to allow any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. \n \nThis requirement applies to operating systems with software libraries that are accessible and configurable, as in the case of interpreted languages. Software libr...",
      "remediation": "Configure the library files and their respective parent directories to be protected from unauthorized access. Run the following command: \n \n$ sudo find /lib /lib64 /usr/lib /usr/lib64 ! -user root -type d -exec chown root '{}' \\;",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo find /lib /lib64 /usr/lib /usr/lib64 ! -user root -type d -exec stat -c \"%n %U\" '{}' \\;",
          "selement": "OUTPUT",
          "condition": "EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "3db84c77115fe9a8ac1f492f56dc95ab",
      "name": "UBTU-24-300009 — Ubuntu 24.04 LTS library files must be group-owned by root or a system account.",
      "description": "Ubuntu 24.04 LTS library files must be group-owned by root or a system account.",
      "rational": "If Ubuntu 24.04 LTS were to allow any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. \n \nThis requirement applies to operating systems with software libraries that are accessible and configurable, as in the case of interpreted languages. Software libr...",
      "remediation": "Configure the systemwide shared library files contained in the directories \"/lib\", \"/lib64\", \"/usr/lib\", and \"/usr/lib64\" to be group owned by root with the following command:\n\n$ sudo find /lib /lib64 /usr/lib /usr/lib64 -type f -name '*.so*' ! -group root -exec chown :root {} +",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo find /lib /lib64 /usr/lib /usr/lib64 -type f -name '*.so*' ! -group root -exec stat -c \"%n %G\" {} +",
          "selement": "OUTPUT",
          "condition": "EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "3ad46a390ad3b40859c37252211233e4",
      "name": "UBTU-24-300010 — Ubuntu 24.04 LTS library directories must be group-owned by root.",
      "description": "Ubuntu 24.04 LTS library directories must be group-owned by root.",
      "rational": "If Ubuntu 24.04 LTS were to allow any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. \n \nThis requirement applies to operating systems with software libraries that are accessible and configurable, as in the case of interpreted languages. Software libr...",
      "remediation": "Configure the system library directories to be protected from unauthorized access. Run the following command: \n \n$ sudo find /lib /usr/lib /lib64 ! -group root -type d -exec chgrp root '{}' \\;",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo find /lib /usr/lib /lib64 ! -group root -type d -exec stat -c \"%n %G\" '{}' \\;",
          "selement": "OUTPUT",
          "condition": "EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "01ccdb6902c1aea3bea6a71e7ebe41bf",
      "name": "UBTU-24-300011 — Ubuntu 24.04 LTS must have system commands set to a mode of 0755 or less perm...",
      "description": "Ubuntu 24.04 LTS must have system commands set to a mode of 0755 or less permissive.",
      "rational": "If Ubuntu 24.04 LTS were to allow any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. \n \nThis requirement applies to Ubuntu 24.04 LTS with software libraries that are accessible and configurable, as in the case of interpreted languages. Software libra...",
      "remediation": "Configure the system commands to be protected from unauthorized access. Run the following command: \n \n$ sudo find /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin -perm /022 -type f -exec chmod 755 '{}' \\;",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo find /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin -perm /022 -type f -exec stat -c \"%n %a\" '{}' \\;",
          "selement": "OUTPUT",
          "condition": "EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "0e8f152ed8cb362fbfb1af30e2780fe1",
      "name": "UBTU-24-300012 — Ubuntu 24.04 LTS must have system commands owned by root or a system account.",
      "description": "Ubuntu 24.04 LTS must have system commands owned by root or a system account.",
      "rational": "If Ubuntu 24.04 LTS were to allow any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. \n \nThis requirement applies to Ubuntu 24.04 LTS with software libraries that are accessible and configurable, as in the case of interpreted languages. Software libra...",
      "remediation": "Configure the system commands and their respective parent directories to be protected from unauthorized access. Run the following command, replacing \"[FILE]\" with any system command file not owned by \"root\" or a required system account: \n \n$ sudo chown root [FILE]",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo find /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin ! -user root -type f -exec stat -c \"%n %U\" '{}' \\;",
          "selement": "OUTPUT",
          "condition": "EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "5e231bad45c8df6d711bb7d5e3c69374",
      "name": "UBTU-24-300013 — Ubuntu 24.04 LTS must have system commands group-owned by root or a system ac...",
      "description": "Ubuntu 24.04 LTS must have system commands group-owned by root or a system account.",
      "rational": "If Ubuntu 24.04 LTS were to allow any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process. \n \nThis requirement applies to Ubuntu 24.04 LTS with software libraries that are accessible and configurable, as in the case of interpreted languages. Software libra...",
      "remediation": "Configure the system commands to be protected from unauthorized access. Run the following command, replacing \"[FILE]\" with any system command file not group-owned by \"root\" or a required system account: \n \n$ sudo chgrp [SYSTEMACCOUNT] [FILE]",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "find /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin \\-type f -perm -u=x -exec stat --format=\"%n %G\" {} + |  \\awk '$2 != \"root\" && $2 != \"daemon\" && $2 != \"adm\" && $2 != \"shadow\" && $2 != \"mail\" && $2 != \"crontab\" && $2 != \"_ssh\"'",
          "selement": "OUTPUT",
          "condition": "EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "21641dd61ccdff4a54d43b24c745ff9b",
      "name": "UBTU-24-300014 — Ubuntu 24.04 LTS must prevent the use of dictionary words for passwords.",
      "description": "Ubuntu 24.04 LTS must prevent the use of dictionary words for passwords.",
      "rational": "Password-based authentication applies to passwords regardless of whether they are used in single-factor or multifactor authentication. Long passwords or passphrases are preferable over shorter passwords. Enforced composition rules provide marginal security benefits while decreasing usability. However, organizations may choose to establish certain rules for password generation (e.g., minimum cha...",
      "remediation": "Configure Ubuntu 24.04 LTS to prevent the use of dictionary words for passwords. \n \nAdd or update the following line in the \"/etc/security/pwquality.conf\" file to include the \"dictcheck=1\" parameter: \n \ndictcheck=1",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "FILE",
          "input": "/etc/security/pwquality.conf",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "dictcheck=1"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "c7bd744a7b5fe84e4ff1514ccf0eebae",
      "name": "UBTU-24-300016 — Ubuntu 24.04 LTS must be configured so that when passwords are changed or new...",
      "description": "Ubuntu 24.04 LTS must be configured so that when passwords are changed or new passwords are established, pwquality must be used.",
      "rational": "Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. \"pwquality\" enforces complex password construction configuration and has the ability to limit brute-force attacks on the system.",
      "remediation": "Configure Ubuntu 24.04 LTS to use \"pwquality\" to enforce password complexity rules. \n \nAdd the following line to \"/etc/security/pwquality.conf\" (or modify the line to have the required value): \n \nenforcing = 1 \n \nAdd the following line to \"/etc/pam.d/common-password\" (or modify the line to have the required value): \n \npassword requisite pam_pwquality.so retry=3 \n \nNote: Ensure the value of \"retry\" is between \"1\" and \"3\".",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "FILE",
          "input": "/etc/security/pwquality.conf",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "enforcing = 1"
        },
        {
          "type": "condition",
          "element": "CMD",
          "input": "cat /etc/pam.d/common-password | grep requisite | grep pam_pwquality",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "password requisite pam_pwquality.so retry=3"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "d17965fd7530f2d89e96d390d2820e52",
      "name": "UBTU-24-300017 — Ubuntu 24.04 LTS must enforce a delay of at least four seconds between logon ...",
      "description": "Ubuntu 24.04 LTS must enforce a delay of at least four seconds between logon prompts following a failed logon attempt.",
      "rational": "Limiting the number of logon attempts over a certain time interval reduces the chances that an unauthorized user may gain access to an account.\n\nThe delay option is set in microseconds.",
      "remediation": "Configure Ubuntu 24.04 LTS to enforce a delay of at least four seconds between logon prompts following a failed logon attempt. \n \nEdit the file \"/etc/pam.d/common-auth\" and set the parameter \"pam_faildelay\" to a value of \"4000000\" or greater: \n \nauth    required    pam_faildelay.so    delay=4000000",
      "severity": "Low",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "FILE",
          "input": "/etc/pam.d/common-auth",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "auth    required    pam_faildelay.so    delay=4000000"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "1c98489d0c1d0af2b06ba2c095ae098b",
      "name": "UBTU-24-300021 — Ubuntu 24.04 LTS must require users to reauthenticate for privilege escalatio...",
      "description": "Ubuntu 24.04 LTS must require users to reauthenticate for privilege escalation or when changing roles.",
      "rational": "Without reauthentication, users may access resources or perform tasks for which they do not have authorization.\n \nWhen operating systems provide the capability to escalate a functional capability, it is critical the user reauthenticate.",
      "remediation": "Remove any occurrence of \"!authenticate\" found in \"/etc/sudoers\" file or files in the \"/etc/sudoers.d\" directory.",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo egrep -iR '!authenticate' /etc/sudoers /etc/sudoers.d/",
          "selement": "OUTPUT",
          "condition": "NOT EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "bb3e05a44f39e916d141c82dc47ace2c",
      "name": "UBTU-24-300022 — Ubuntu 24.04 LTS must be configured so that remote X connections are disabled...",
      "description": "Ubuntu 24.04 LTS must be configured so that remote X connections are disabled, unless to fulfill documented and validated mission requirements.",
      "rational": "The security risk of using X11 forwarding is that the client's X11 display server may be exposed to attack when the SSH client requests forwarding. A system administrator (SA) must protect clients that may expose themselves to attack by unwittingly requesting X11 forwarding, which can warrant a ''no'' setting. \n \nX11 forwarding must be enabled with caution. Users with the ability to bypass file...",
      "remediation": "Edit the \"/etc/ssh/sshd_config\" file to uncomment or add the line for the \"X11Forwarding\" keyword and set its value to \"no\" (this file may be named differently or be in a different location if using a version of SSH that is provided by a third-party vendor): \n \nX11Forwarding no \n \nRestart the SSH daemon for the changes to take effect: \n \n$ sudo systemctl restart sshd.service",
      "severity": "High",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep -ir x11forwarding /etc/ssh/sshd_config* | grep -v \"^#\"",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "X11Forwarding no"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "88beba594e3c716364c69e951dec43c8",
      "name": "UBTU-24-300023 — Ubuntu 24.04 LTS SSH daemon must prevent remote hosts from connecting to the ...",
      "description": "Ubuntu 24.04 LTS SSH daemon must prevent remote hosts from connecting to the proxy display.",
      "rational": "When X11 forwarding is enabled, there may be additional exposure to the server and client displays if the sshd proxy display is configured to listen on the wildcard address. By default, sshd binds the forwarding server to the loopback address and sets the hostname part of the DISPLAY environment variable to localhost. This prevents remote hosts from connecting to the proxy display.",
      "remediation": "Configure the SSH daemon to prevent remote hosts from connecting to the proxy display. \n \nEdit the \"/etc/ssh/sshd_config\" file to uncomment or add the line for the \"X11UseLocalhost\" keyword and set its value to \"yes\" (this file may be named differently or be in a different location if using a version of SSH that is provided by a third-party vendor): \n \nX11UseLocalhost yes \n \nRestart the SSH daemon for the changes to take effect: \n \n$ sudo systemctl restart sshd.service",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep -ir x11uselocalhost /etc/ssh/sshd_config*",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "X11UseLocalhost yes"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "11375f9fdfe45557a0d94cdeb3996e16",
      "name": "UBTU-24-300025 — Ubuntu 24.04 LTS must disable the x86 Ctrl-Alt-Delete key sequence if a graph...",
      "description": "Ubuntu 24.04 LTS must disable the x86 Ctrl-Alt-Delete key sequence if a graphical user interface is installed.",
      "rational": "A locally logged-on user who presses Ctrl-Alt-Delete, when at the console, can reboot the system. If accidentally pressed, as could happen in the case of a mixed OS environment, this can create the risk of short-term loss of availability of systems due to unintentional reboot. In the graphical environment, risk of unintentional reboot from the Ctrl-Alt-Delete sequence is reduced because the use...",
      "remediation": "Configure Ubuntu 24.04 LTS to disable the Ctrl-Alt-Delete sequence when using a graphical user interface.\n\nCreate or edit a file named /etc/dconf/db/local.d/00-mediakeys with the following contents:\n\n[org/gnome/settings-daemon/plugins/media-keys]\nlogout=@as []\n\nUpdate the dconf settings:\n\n$ sudo dconf update",
      "severity": "High",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "gsettings get org.gnome.settings-daemon.plugins.media-keys logout",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "@as []"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "e17d53828b5a35ff8133b38ac31d8f1a",
      "name": "UBTU-24-300026 — Ubuntu 24.04 LTS must disable the x86 Ctrl-Alt-Delete key sequence.",
      "description": "Ubuntu 24.04 LTS must disable the x86 Ctrl-Alt-Delete key sequence.",
      "rational": "A locally logged-on user who presses Ctrl-Alt-Delete, when at the console, can reboot the system. If accidentally pressed, as could happen in the case of a mixed OS environment, this can create the risk of short-term loss of availability of systems due to unintentional reboot.",
      "remediation": "Configure the system to disable the Ctrl-Alt-Delete sequence for the command line with the following commands:\n\n$ sudo systemctl disable ctrl-alt-del.target\n[...]\n\n$ sudo systemctl mask ctrl-alt-del.target\nCreated symlink /etc/systemd/system/ctrl-alt-del.target ? /dev/null.\n\nReload the daemon to take effect: \n\n$ sudo systemctl daemon-reload",
      "severity": "High",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "systemctl status ctrl-alt-del.target",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "o   ctrl-alt-del.target"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "0089b2ac5ba23911e84e361cef16be1f",
      "name": "UBTU-24-300027 — Ubuntu 24.04 LTS must not have accounts configured with blank or null passwords.",
      "description": "Ubuntu 24.04 LTS must not have accounts configured with blank or null passwords.",
      "rational": "If an account has an empty password, anyone could log on and run commands with the privileges of that account. Accounts with empty passwords must never be used in operational environments.",
      "remediation": "Configure all accounts on the system to have a password or lock the account with the following commands:\n\nPerform a password reset:\n$ sudo passwd [username]\n\nLock an account:\n$ sudo passwd -l [username]",
      "severity": "High",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo awk -F: '!$2 {print $1}' /etc/shadow",
          "selement": "OUTPUT",
          "condition": "NOT EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "721aabfc5f2e15391401b90b42ed7e4a",
      "name": "UBTU-24-300028 — Ubuntu 24.04 LTS must not allow accounts configured in Pluggable Authenticati...",
      "description": "Ubuntu 24.04 LTS must not allow accounts configured in Pluggable Authentication Modules (PAM) with blank or null passwords.",
      "rational": "If an account has an empty password, anyone could log on and run commands with the privileges of that account. Accounts with empty passwords must never be used in operational environments.",
      "remediation": "If an account is configured for password authentication but does not have an assigned password, it is possible to log on to the account without authenticating.\n\nRemove any instances of the \"nullok\" option in \"/etc/pam.d/common-password\" to prevent logons with empty passwords.",
      "severity": "High",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "grep nullok /etc/pam.d/common-password /etc/pam.d/common-auth",
          "selement": "OUTPUT",
          "condition": "NOT EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "336b965992e66effe04044051ade35af",
      "name": "UBTU-24-300029 — Ubuntu 24.04 LTS must generate audit records for all events that affect the s...",
      "description": "Ubuntu 24.04 LTS must generate audit records for all events that affect the systemd journal files.",
      "rational": "Once an attacker establishes access to a system, the attacker often attempts to create a persistent method of reestablishing access. One way to accomplish this is for the attacker to modify system level binaries and their operation. Auditing the systemd journal files provides logging that can be used for forensic purposes.\n \nTo address access requirements, many operating systems may be integrat...",
      "remediation": "Configure Ubuntu 24.04 LTS to generate audit records for events that affect \"/var/log/journal\". \n \nAdd or update the following rule to \"/etc/audit/rules.d/stig.rules\": \n \n-w /var/log/journal -p wa -k systemd_journal \n  \nTo reload the rules file, issue the following command: \n \n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep journal",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-w /var/log/journal -p wa -k systemd_journal"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "974899c0d0786d79d9d9254af485ba10",
      "name": "UBTU-24-300030 — Ubuntu 24.04 LTS default filesystem permissions must be defined in such a way...",
      "description": "Ubuntu 24.04 LTS default filesystem permissions must be defined in such a way that all authenticated users can read and modify only their own files.",
      "rational": "Setting the most restrictive default permissions ensures that when new accounts are created, they do not have unnecessary access.",
      "remediation": "Configure the system to define the default permissions for all authenticated users in such a way that the user can read and modify only their own files. \n \nEdit the \"UMASK\" parameter in the \"/etc/login.defs\" file to match the example below: \n \nUMASK 077",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "FILE",
          "input": "/etc/login.defs",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "UMASK 077"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "5ea5b62ab50fe1650b96956f5b15b709",
      "name": "UBTU-24-300031 — Ubuntu 24.04 LTS must not allow unattended or automatic login via SSH.",
      "description": "Ubuntu 24.04 LTS must not allow unattended or automatic login via SSH.",
      "rational": "Failure to restrict system access to authenticated users negatively impacts Ubuntu 24.04 LTS security.",
      "remediation": "Configure Ubuntu 24.04 LTS to allow the SSH daemon to not allow unattended or automatic login to the system. \n \nAdd or edit the following lines in the \"/etc/ssh/sshd_config\" file: \n \nPermitEmptyPasswords no \nPermitUserEnvironment no \n \nRestart the SSH daemon for the changes to take effect: \n \n$ sudo systemctl restart sshd.service",
      "severity": "High",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "egrep -r '(Permit(.*?)(Passwords|Environment))' /etc/ssh/sshd_config",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "PermitEmptyPasswords no"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "d40dd217813c40c3e9eafb16f764b8a3",
      "name": "UBTU-24-300039 — Ubuntu 24.04 LTS must disable automatic mounting of Universal Serial Bus (USB...",
      "description": "Ubuntu 24.04 LTS must disable automatic mounting of Universal Serial Bus (USB) mass storage driver.",
      "rational": "Without authenticating devices, unidentified or unknown devices may be introduced, thereby facilitating malicious activity.\n\nPeripherals include, but are not limited to, devices such as flash drives, external storage, and printers.\n\nSatisfies: SRG-OS-000690-GPOS-00140, SRG-OS-000378-GPOS-00163",
      "remediation": "Configure Ubuntu 24.04 LTS to disable using the USB storage kernel module with the following command: \n\n$ sudo su -c \"echo install usb-storage /bin/false >> /etc/modprobe.d/DISASTIG.conf\"\n\nConfigure Ubuntu 24.04 LTS to disable the ability to use USB mass storage devices with the following command:\n\n$ sudo su -c \"echo blacklist usb-storage >> /etc/modprobe.d/DISASTIG.conf\"",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep usb-storage /etc/modprobe.d/* | grep \"/bin/false\"",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "/etc/modprobe.d/DISASTIG.conf:install usb-storage /bin/false"
        },
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep usb-storage /etc/modprobe.d/* | grep -i \"blacklist\"",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "/etc/modprobe.d/DISASTIG.conf:blacklist usb-storage"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "57b9e20a7032f2c57dee23bfcfd98d5a",
      "name": "UBTU-24-300041 — Ubuntu 24.04 LTS must be configured to prohibit or restrict the use of functi...",
      "description": "Ubuntu 24.04 LTS must be configured to prohibit or restrict the use of functions, ports, protocols, and/or services, as defined in the Ports, Protocols, and Services Management Category Assurance List (PPSM CAL) and vulnerability assessments.",
      "rational": "To prevent unauthorized connection of devices, unauthorized transfer of information, or unauthorized tunneling (i.e., embedding of data types within data types), organizations must disable or restrict unused or unnecessary physical and logical ports/protocols on information systems. \n \nOperating systems are capable of providing a wide variety of functions and services. Some of the functions and...",
      "remediation": "Add all ports, protocols, or services allowed by the PPSM CLSA by using the following command: \n \n$ sudo ufw allow <direction> <port/protocol/service> \n \nWhere the direction is \"in\" or \"out\" and the port is the one corresponding to the protocol or service allowed. \n \nTo deny access to ports, protocols, or services, use: \n \n$ sudo ufw deny <direction> <port/protocol/service>",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo ufw show raw",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "Chain OUTPUT (policy ACCEPT)"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "d23405c53fa597ab66dfbe1b8c392e9a",
      "name": "UBTU-24-400000 — Ubuntu 24.04 LTS must uniquely identify interactive users.",
      "description": "Ubuntu 24.04 LTS must uniquely identify interactive users.",
      "rational": "To ensure accountability and prevent unauthenticated access, organizational users must be identified and authenticated to prevent potential misuse and compromise of the system. \n \nOrganizational users include organizational employees or individuals the organization deems to have equivalent status of employees (e.g., contractors). Organizational users (and processes acting on behalf of users) mu...",
      "remediation": "Edit the file \"/etc/passwd\" and provide each interactive user account that has a duplicate UID with a unique UID.",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "awk -F \":\" 'list[$3]++{print $1, $3}' /etc/passwd",
          "selement": "OUTPUT",
          "condition": "NOT EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "ec6f40270a3540ed80f2c3afc051d67e",
      "name": "UBTU-24-400020 — Ubuntu 24.04 LTS must implement smart card logins for multifactor authenticat...",
      "description": "Ubuntu 24.04 LTS must implement smart card logins for multifactor authentication for local and network access to privileged and nonprivileged accounts.",
      "rational": "Without the use of multifactor authentication, the ease of access to privileged functions is greatly increased. \n \nMultifactor authentication requires using two or more factors to achieve authentication. \n \nFactors include:  \n1) Something a user knows (e.g., password/PIN); \n2) Something a user has (e.g., cryptographic identification device, token); and \n3) Something a user is (e.g., biometric)....",
      "remediation": "Configure Ubuntu 24.04 LTS to use multifactor authentication for access to accounts. \n \nAdd or update \"pam_pkcs11.so\" in \"/etc/pam.d/common-auth\" to match the following line: \n \nauth    [success=2 default=ignore] pam_pkcs11.so",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "FILE",
          "input": "/etc/pam.d/common-auth",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "auth    [success=2 default=ignore] pam_pkcs11.so"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "a15ffbb969986673ae850aeadf8cc914",
      "name": "UBTU-24-400030 — Ubuntu 24.04 LTS must implement smart card logins for multifactor authenticat...",
      "description": "Ubuntu 24.04 LTS must implement smart card logins for multifactor authentication for local and network access to privileged and nonprivileged accounts over SSH.",
      "rational": "Without the use of multifactor authentication, the ease of access to privileged functions is greatly increased. \n \nMultifactor authentication requires using two or more factors to achieve authentication. \n \nFactors include:  \n1) Something a user knows (e.g., password/PIN); \n2) Something a user has (e.g., cryptographic identification device, token); and \n3) Something a user is (e.g., biometric)....",
      "remediation": "Configure Ubuntu 24.04 LTS to use multifactor authentication for access to accounts. \n \nSet the sshd option \"PubkeyAuthentication\" to \"yes\" in the \"/etc/ssh/sshd_config\" file.\n\nPubkeyAuthentication yes",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep -r ^PubkeyAuthentication /etc/ssh/sshd_config*",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "/etc/ssh/sshd_config:PubkeyAuthentication yes"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "000fd9337d63fad6fc4f526bd1c918d8",
      "name": "UBTU-24-400060 — Ubuntu 24.04 LTS must electronically verify Personal Identity Verification (P...",
      "description": "Ubuntu 24.04 LTS must electronically verify Personal Identity Verification (PIV) credentials.",
      "rational": "The use of PIV credentials facilitates standardization and reduces the risk of unauthorized access. \n \nDOD has mandated the use of the common access card (CAC) to support identity management and personal authentication for systems covered under Homeland Security Presidential Directive (HSPD) 12, as well as making the CAC a primary component of layered protection for national security systems.",
      "remediation": "Configure Ubuntu 24.04 LTS to do certificate status checking for multifactor authentication. \n \nModify all of the \"cert_policy\" lines in \"/etc/pam_pkcs11/pam_pkcs11.conf\" to include \"ocsp_on\".",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep use_pkcs11_module /etc/pam_pkcs11/pam_pkcs11.conf | awk '/pkcs11_module opensc {/,/}/' /etc/pam_pkcs11/pam_pkcs11.conf | grep cert_policy | grep ocsp_on",
          "selement": "OUTPUT",
          "condition": "NOT EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "e6d4a5ffba9c0962660235ea3543d0cd",
      "name": "UBTU-24-400110 — Ubuntu 24.04 LTS must prevent direct login to the root account.",
      "description": "Ubuntu 24.04 LTS must prevent direct login to the root account.",
      "rational": "To ensure individual accountability and prevent unauthorized access, organizational users must be individually identified and authenticated. \n \nA group authenticator is a generic account used by multiple individuals. Use of a group authenticator alone does not uniquely identify individual users. Examples of the group authenticator are the Unix OS \"root\" user account, the Windows \"Administrator\"...",
      "remediation": "Configure Ubuntu 24.04 LTS to prevent direct logins to the root account by performing the following operations: \n \n$ sudo passwd -l root",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo passwd -S root",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "root L 04/08/2024 0 99999 7 -1"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "090d1734b9934a7ebdc2251c1c2c9bbb",
      "name": "UBTU-24-400220 — Ubuntu 24.04 LTS must store only encrypted representations of passwords.",
      "description": "Ubuntu 24.04 LTS must store only encrypted representations of passwords.",
      "rational": "Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. If the information system or application allows the user to consecutively reuse their password when that password has exceeded its defined lifetime, the end result is a password that is not changed per policy requirements.",
      "remediation": "Configure Ubuntu 24.04 LTS to store encrypted representations of passwords.\n\nAdd or modify the \"sha512\" parameter value to the following line in \"/etc/pam.d/common-password\" file:\n\npassword [success=1 default=ignore] pam_unix.so obscure sha512 shadow rounds=100000",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "FILE",
          "input": "/etc/pam.d/common-password",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "password [success=1 default=ignore] pam_unix.so obscure sha512 shadow rounds=100000"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "36b6a642eeb044371df57bdea9795119",
      "name": "UBTU-24-400260 — Ubuntu 24.04 LTS must enforce password complexity by requiring that at least ...",
      "description": "Ubuntu 24.04 LTS must enforce password complexity by requiring that at least one uppercase character be used.",
      "rational": "Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. \n \nPassword complexity is one factor of several that determines how long it takes to crack a password. The more complex the password, the greater the nu...",
      "remediation": "Configure Ubuntu 24.04 LTS to enforce password complexity by requiring that at least one uppercase character be used. \n\nAdd or update the \"/etc/security/pwquality.conf\" file to contain the \"ucredit\" parameter: \n \nucredit=-1",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "FILE",
          "input": "/etc/security/pwquality.conf",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "ucredit=-1"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "fd6979e65bbc31ab7cb027a95893b102",
      "name": "UBTU-24-400270 — Ubuntu 24.04 LTS must enforce password complexity by requiring that at least ...",
      "description": "Ubuntu 24.04 LTS must enforce password complexity by requiring that at least one lowercase character be used.",
      "rational": "Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. \n \nPassword complexity is one factor of several that determines how long it takes to crack a password. The more complex the password, the greater the nu...",
      "remediation": "Configure Ubuntu 24.04 LTS to enforce password complexity by requiring that at least one lowercase character be used. \n\nAdd or update the \"/etc/security/pwquality.conf\" file to contain the \"lcredit\" parameter: \n \nlcredit=-1",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "FILE",
          "input": "/etc/security/pwquality.conf",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "lcredit=-1"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "97dac9dcf92175a6f6b1b46e0c9d0848",
      "name": "UBTU-24-400280 — Ubuntu 24.04 LTS must enforce password complexity by requiring that at least ...",
      "description": "Ubuntu 24.04 LTS must enforce password complexity by requiring that at least one numeric character be used.",
      "rational": "Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. \n \nPassword complexity is one factor of several that determines how long it takes to crack a password. The more complex the password, the greater the nu...",
      "remediation": "Configure Ubuntu 24.04 LTS to enforce password complexity by requiring that at least one numeric character be used. \n \nAdd or update the \"/etc/security/pwquality.conf\" file to contain the \"dcredit\" parameter: \n \ndcredit=-1",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "FILE",
          "input": "/etc/security/pwquality.conf",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "dcredit=-1"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "01f505dba07744b54475ee820dc415f3",
      "name": "UBTU-24-400290 — Ubuntu 24.04 LTS must require the change of at least eight characters when pa...",
      "description": "Ubuntu 24.04 LTS must require the change of at least eight characters when passwords are changed.",
      "rational": "If Ubuntu 24.04 LTS allows the user to consecutively reuse extensive portions of passwords, this increases the chances of password compromise by increasing the window of opportunity for attempts at guessing and brute-force attacks. \n \nThe number of changed characters refers to the number of changes required with respect to the total number of positions in the current password. In other words, c...",
      "remediation": "Configure Ubuntu 24.04 LTS to require the change of at least eight characters when passwords are changed. \n \nAdd or update the \"/etc/security/pwquality.conf\" file to include the \"difok=8\" parameter: \n \ndifok=8",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "FILE",
          "input": "/etc/security/pwquality.conf",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "difok=8"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "c67ed319516a3e1d7ee86dead81324cd",
      "name": "UBTU-24-400300 — Ubuntu 24.04 LTS must enforce 24 hours/1 day as the minimum password lifetime...",
      "description": "Ubuntu 24.04 LTS must enforce 24 hours/1 day as the minimum password lifetime. Passwords for new users must have a 24 hours/1 day minimum password lifetime restriction.",
      "rational": "Enforcing a minimum password lifetime helps to prevent repeated password changes to defeat the password reuse or history enforcement requirement. If users are allowed to immediately and continually change their password, then the password could be repeatedly changed in a short period of time to defeat the organization's policy regarding password reuse.\n\nSatisfies: SRG-OS-000075-GPOS-00043, SRG-...",
      "remediation": "Configure Ubuntu 24.04 LTS to enforce a 24 hours/1 day minimum password lifetime. \n \nAdd or modify the following line in the \"/etc/login.defs\" file: \n \nPASS_MIN_DAYS    1",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "FILE",
          "input": "/etc/login.defs",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "PASS_MIN_DAYS    1"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "9c28706410ac4b6a2662265c416c0d62",
      "name": "UBTU-24-400310 — Ubuntu 24.04 LTS must enforce a 60-day maximum password lifetime restriction....",
      "description": "Ubuntu 24.04 LTS must enforce a 60-day maximum password lifetime restriction. Passwords for new users must have a 60-day maximum password lifetime restriction.",
      "rational": "Any password, no matter how complex, can eventually be cracked. Therefore, passwords need to be changed periodically. If Ubuntu 24.04 LTS does not limit the lifetime of passwords and force users to change their passwords, there is the risk that Ubuntu 24.04 LTS passwords could be compromised.\n\nSatisfies: SRG-OS-000076-GPOS-00044, SRG-OS-000730-GPOS-00190",
      "remediation": "Configure Ubuntu 24.04 LTS to enforce a 60-day maximum password lifetime. \n \nAdd or modify the following line in the \"/etc/login.defs\" file: \n \nPASS_MAX_DAYS    60",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "FILE",
          "input": "/etc/login.defs",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "PASS_MAX_DAYS    60"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "cf78ea3b5190771ba265236d1b15a7d9",
      "name": "UBTU-24-400320 — Ubuntu 24.04 LTS must enforce a minimum 15-character password length.",
      "description": "Ubuntu 24.04 LTS must enforce a minimum 15-character password length.",
      "rational": "The shorter the password, the lower the number of possible combinations that need to be tested before the password is compromised. \n \nPassword complexity, or strength, is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. Password length is one factor of several that helps to determine strength and how long it takes to crack a password. Use o...",
      "remediation": "Configure Ubuntu 24.04 LTS to enforce a minimum 15-character password length. \n \nAdd or modify the \"minlen\" parameter value to the \"/etc/security/pwquality.conf\" file: \n \nminlen=15",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "FILE",
          "input": "/etc/security/pwquality.conf",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "minlen=15"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "c4c1448b5b25de94ad6d47b026bd3d70",
      "name": "UBTU-24-400330 — Ubuntu 24.04 LTS must enforce password complexity by requiring that at least ...",
      "description": "Ubuntu 24.04 LTS must enforce password complexity by requiring that at least one special character be used.",
      "rational": "Use of a complex password helps to increase the time and resources required to compromise the password. Password complexity or strength is a measure of the effectiveness of a password in resisting attempts at guessing and brute-force attacks. \n \nPassword complexity is one factor in determining how long it takes to crack a password. The more complex the password, the greater the number of possib...",
      "remediation": "Configure Ubuntu 24.04 LTS to enforce password complexity by requiring that at least one special character be used.  \n \nAdd or update the following line in the \"/etc/security/pwquality.conf\" file to include the \"ocredit=-1\" parameter: \n \nocredit=-1",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "FILE",
          "input": "/etc/security/pwquality.conf",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "ocredit=-1"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "29e92b26a784dded1935fbffdb274f50",
      "name": "UBTU-24-400340 — Ubuntu 24.04 LTS must be configured such that Pluggable Authentication Module...",
      "description": "Ubuntu 24.04 LTS must be configured such that Pluggable Authentication Module (PAM) prohibits the use of cached authentications after one day.",
      "rational": "If cached authentication information is out-of-date, the validity of the authentication information may be questionable.",
      "remediation": "Configure PAM to prohibit the use of cached authentications after one day. Add or change the following line in \"/etc/sssd/sssd.conf\" just below the line \"[pam]\": \n \noffline_credentials_expiration = 1 \n \nNote: It is valid for this configuration to be in a file with a name that ends with \".conf\" and does not begin with a \".\" in the \"/etc/sssd/conf.d/\" directory instead of the \"/etc/sssd/sssd.conf\" file.",
      "severity": "Low",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep offline_credentials_expiration /etc/sssd/sssd.conf /etc/sssd/conf.d/*.conf",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "offline_credentials_expiration = 1"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "090f91318258dfec3d7e09a5eec6fc00",
      "name": "UBTU-24-400360 — Ubuntu 24.04 LTS, for PKI-based authentication, SSSD must validate certificat...",
      "description": "Ubuntu 24.04 LTS, for PKI-based authentication, SSSD must validate certificates by constructing a certification path (which includes status information) to an accepted trust anchor.",
      "rational": "Without path validation, an informed trust decision by the relying party cannot be made when presented with any certificate not already explicitly trusted. \n \nA trust anchor is an authoritative entity represented via a public key and associated data. It is used in the context of public key infrastructures, X.509 digital certificates, and DNSSEC. \n \nWhen there is a chain of trust, usually the to...",
      "remediation": "Configure Ubuntu 24.04 LTS, for PKI-based authentication, to validate certificates by constructing a certification path to an accepted trust anchor. \n \nAdd or update the /etc/sssd/sssd.conf so that the following entries are in the correct sections of the file: \n \n$ sudo vi /etc/sssd/sssd.conf\n\n[sssd]\nservices = nss,pam,ssh\nconfig_file_version = 2\n\n[pam]\npam_cert_auth = True\n\n[domain/example.com]\nldap_user_certificate = usercertificate;binary\ncertificate_verification = ca_cert,ocsp\nca_cert = /...",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep -A 1 '^\\[sssd\\]' /etc/sssd/sssd.conf",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "[sssd]"
        },
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep -A 1 '^\\[pam]' /etc/sssd/sssd.conf",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "[pam]"
        },
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep certificate_verification /etc/sssd/sssd.conf",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "certificate_verification = ca_cert,ocsp"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "f681fa8597afbaae2d4c89c82c49dbc1",
      "name": "UBTU-24-400370 — Ubuntu 24.04 LTS must map the authenticated identity to the user or group acc...",
      "description": "Ubuntu 24.04 LTS must map the authenticated identity to the user or group account for PKI-based authentication.",
      "rational": "Without mapping the certificate used to authenticate to the user account, the ability to determine the identity of the individual user or group will not be available for forensic analysis.",
      "remediation": "Configure sssd to map authenticated certificates to the appropriate user group by adding the following line to the \"/etc/sssd/sssd.conf\" file:\n\nldap_user_certificate=userCertificate;binary",
      "severity": "High",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "FILE",
          "input": "/etc/sssd/sssd.conf",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "ldap_user_certificate=userCertificate;binary"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "b63a6598ef0bfbab3f4d6ca5d19eb71e",
      "name": "UBTU-24-400375 — Ubuntu 24.04 LTS, for PKI-based authentication, Privileged Access Management ...",
      "description": "Ubuntu 24.04 LTS, for PKI-based authentication, Privileged Access Management (PAM) must validate certificates by constructing a certification path (which includes status information) to an accepted trust anchor.",
      "rational": "Without path validation, an informed trust decision by the relying party cannot be made when presented with any certificate not already explicitly trusted. \n \nA trust anchor is an authoritative entity represented via a public key and associated data. It is used in the context of public key infrastructures, X.509 digital certificates, and DNSSEC. \n \nWhen there is a chain of trust, usually the to...",
      "remediation": "Configure Ubuntu 24.04 LTS, for PKI-based authentication, to validate certificates by constructing a certification path to an accepted trust anchor. \n \nDetermine which pkcs11 module is being used via the \"use_pkcs11_module\" in \"/etc/pam_pkcs11/pam_pkcs11.conf\" and ensure \"ca\" is enabled in \"cert_policy\". \n \nAdd or update the \"cert_policy\" to ensure \"ca\" is enabled: \n \ncert_policy = ca,signature,ocsp_on; \n \nIf the system is missing an \"/etc/pam_pkcs11/\" directory and an \"/etc/pam_pkcs11/pam_pk...",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep use_pkcs11_module /etc/pam_pkcs11/pam_pkcs11.conf | awk '/pkcs11_module opensc {/,/}/' /etc/pam_pkcs11/pam_pkcs11.conf | grep cert_policy | grep ca",
          "selement": "OUTPUT",
          "condition": "NOT EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "16f4ddfb8de576b5e13f2cffd0d76f14",
      "name": "UBTU-24-400380 — Ubuntu 24.04 LTS for PKI-based authentication, must implement a local cache o...",
      "description": "Ubuntu 24.04 LTS for PKI-based authentication, must implement a local cache of revocation data in case of the inability to access revocation information via the network.",
      "rational": "Without configuring a local cache of revocation data, there is the potential to allow access to users who are no longer authorized (users with revoked certificates).",
      "remediation": "Configure Ubuntu 24.04 LTS, for PKI-based authentication, to use local revocation data when unable to access the network to obtain it remotely. \n \nAdd or update the \"cert_policy\" option in \"/etc/pam_pkcs11/pam_pkcs11.conf\" to include \"crl_auto\" or \"crl_offline\". \n \ncert_policy = ca,signature,ocsp_on, crl_auto; \n \nIf the system is missing an \"/etc/pam_pkcs11/\" directory and an \"/etc/pam_pkcs11/pam_pkcs11.conf\", find an example to copy into place and modify accordingly at \"/usr/share/doc/libpam...",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "grep cert_policy /etc/pam_pkcs11/pam_pkcs11.conf | grep  -E -- 'crl_auto|crl_offline'",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "cert_policy = ca,signature,ocsp_on,crl_auto;"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "bbc7d75773533ccdd8741aaeb6eab262",
      "name": "UBTU-24-500010 — Ubuntu 24.04 LTS must generate audit records for privileged activities, nonlo...",
      "description": "Ubuntu 24.04 LTS must generate audit records for privileged activities, nonlocal maintenance, diagnostic sessions, and other system-level access.",
      "rational": "If events associated with nonlocal administrative access or diagnostic sessions are not logged, a major tool for assessing and investigating attacks would not be available. \n \nThis requirement addresses auditing-related issues associated with maintenance tools used specifically for diagnostic and repair actions on organizational information systems. \n \nNonlocal maintenance and diagnostic activi...",
      "remediation": "Configure Ubuntu 24.04 LTS to audit activities performed during nonlocal maintenance and diagnostic sessions. \n \nAdd or update the following rules in the \"/etc/audit/rules.d/stig.rules\" file: \n \n-w /var/log/sudo.log -p wa -k maintenance \n  \nTo reload the rules file, issue the following command: \n \n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep sudo.log",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-w /var/log/sudo.log -p wa -k maintenance"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "f1434669180bb1ed817cafffd05c9628",
      "name": "UBTU-24-500050 — Ubuntu 24.04 LTS must use strong authenticators in establishing nonlocal main...",
      "description": "Ubuntu 24.04 LTS must use strong authenticators in establishing nonlocal maintenance and diagnostic sessions.",
      "rational": "Nonlocal maintenance and diagnostic activities are those activities conducted by individuals communicating through a network, either an external network (e.g., the internet) or an internal network. Local maintenance and diagnostic activities are those activities carried out by individuals physically present at the information system or information system component and not communicating across a...",
      "remediation": "Configure Ubuntu 24.04 LTS to use strong authentication when establishing nonlocal maintenance and diagnostic sessions.  \n \nAdd or modify the following line to /etc/ssh/sshd_config: \n \nUsePAM yes",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep -r ^UsePAM /etc/ssh/sshd_config*",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "/etc/ssh/sshd_config:UsePAM yes"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "50efe7acd4e5ee1d6e1979d19906f3fe",
      "name": "UBTU-24-600000 — Ubuntu 24.04 LTS must immediately terminate all network connections associate...",
      "description": "Ubuntu 24.04 LTS must immediately terminate all network connections associated with SSH traffic after a period of inactivity.",
      "rational": "Automatic session termination addresses the termination of user-initiated logical sessions in contrast to the termination of network connections that are associated with communications sessions (i.e., network disconnect). A logical session (for local, network, and remote access) is initiated whenever a user (or process acting on behalf of a user) accesses an organizational information system. S...",
      "remediation": "Configure Ubuntu 24.04 LTS to automatically terminate inactive SSH sessions after a period of inactivity. \n \nModify or append the following line in the \"/etc/ssh/sshd_config\" file, replacing \"[Count]\" with a value of 1: \n \nClientAliveCountMax 1 \n \nRestart the SSH daemon for the changes to take effect: \n \n$ sudo systemctl restart ssh.service",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep -ir ClientAliveCountMax /etc/ssh/sshd_config*",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "/etc/ssh/sshd_config:ClientAliveCountMax  1"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "8663dbad8716a702918edd165e96ac19",
      "name": "UBTU-24-600010 — Ubuntu 24.04 LTS must immediately terminate all network connections associate...",
      "description": "Ubuntu 24.04 LTS must immediately terminate all network connections associated with SSH traffic at the end of the session or after 10 minutes of inactivity.",
      "rational": "Terminating an idle session within a short time period reduces the window of opportunity for unauthorized personnel to take control of a management session enabled on the console or console port that has been left unattended. In addition, quickly terminating an idle session will also free up resources committed by the managed network element.  \n \nTerminating network connections associated with...",
      "remediation": "Configure Ubuntu 24.04 LTS to automatically terminate all network connections associated with SSH traffic at the end of a session or after a 10-minute period of inactivity.\n\nIn the file /etc/ssh/sshd_config set ClientAliveInterval to a value of \"600\" or less: \n\nClientAliveInterval 600\n\nRestart the SSH daemon for the changes to take effect:\n\n$ sudo systemctl restart sshd.service",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "FILE",
          "input": "/etc/ssh/sshd_config*",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "/etc/ssh/sshd_config:ClientAliveInterval 600"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "8948be6e4e770b096d7b188aff1cc73b",
      "name": "UBTU-24-600030 — Ubuntu 24.04 LTS must implement NIST FIPS-validated cryptography to protect c...",
      "description": "Ubuntu 24.04 LTS must implement NIST FIPS-validated cryptography to protect classified information and for the following: To provision digital signatures, to generate cryptographic hashes, and to protect unclassified information requiring confidentiality and cryptographic protection in accordance with applicable federal laws, Executive Orders, directives, policies, regulations, and standards.",
      "rational": "Use of weak or untested encryption algorithms undermines the purposes of utilizing encryption to protect data. Ubuntu 24.04 LTS must implement cryptographic modules adhering to the higher standards approved by the federal government since this provides assurance they have been tested and validated.\n\nSatisfies: SRG-OS-000478-GPOS-00223, SRG-OS-000396-GPOS-00176",
      "remediation": "Configure the system to run in FIPS mode. Add \"fips=1\" to the kernel parameter during Ubuntu 24.04 LTSs install. \n \nEnabling a FIPS mode on a pre-existing system involves a number of modifications to Ubuntu 24.04 LTS. Refer to the Ubuntu Pro security certification documentation for instructions.  \n \nA subscription to the \"Ubuntu Pro\" plan is required to obtain the FIPS Kernel cryptographic modules and enable FIPS.\n\nNote: Ubuntu Pro security certification instructions can be found at: https://...",
      "severity": "High",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "FILE",
          "input": "/proc/sys/crypto/fips_enabled",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "1"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "256f16ac89588c497a7580f196190317",
      "name": "UBTU-24-600060 — Ubuntu 24.04 LTS must use DOD PKI-established certificate authorities (CAs) f...",
      "description": "Ubuntu 24.04 LTS must use DOD PKI-established certificate authorities (CAs) for verification of the establishment of protected sessions.",
      "rational": "Untrusted CAs can issue certificates, but they may be issued by organizations or individuals that seek to compromise DOD systems or by organizations with insufficient security controls. If the CA used for verifying the certificate is not a DOD-approved CA, trust of this CA has not been established. \n \nThe DOD will only accept PKI-certificates obtained from a DOD-approved internal or external ce...",
      "remediation": "Configure Ubuntu 24.04 LTS to use of DOD PKI-established CAs for verification of the establishment of protected sessions. \n \nEdit the \"/etc/ca-certificates.conf\" file, adding the character \"!\" to the beginning of all uncommented lines that do not start with the \"!\" character with the following command: \n \n$ sudo sed -i -E 's/^([^!#]+)/!\\1/' /etc/ca-certificates.conf \n \nAdd at least one CA to the \"/usr/local/share/ca-certificates\" directory in the PEM format. \n \nUpdate the \"/etc/ssl/certs\" dir...",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "FILE",
          "input": "/etc/ssl/certs",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "DOD_PKE_CA_chain.pem"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "33d9b996e555ee5f81e93f5e51806fb0",
      "name": "UBTU-24-600070 — Ubuntu 24.04 LTS must disable kernel core dumps.",
      "description": "Ubuntu 24.04 LTS must disable kernel core dumps.",
      "rational": "Kernel core dumps may contain the full contents of system memory at the time of the crash. Kernel core dumps may consume a considerable amount of disk space and may result in denial of service by exhausting the available space on the target file system partition.",
      "remediation": "If kernel core dumps are not required, disable the \"kdump-tools\" service with the following command: \n \n$ sudo systemctl disable kdump-tools.service\n \nIf kernel core dumps are required, document the need with the ISSO.",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "systemctl status kdump-tools.service",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "o kdump-tools.service"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "0475b63c6e30356830b3a4c6243d2f50",
      "name": "UBTU-24-600090 — Ubuntu 24.04 LTS handling data requiring \"data at rest\" protections must empl...",
      "description": "Ubuntu 24.04 LTS handling data requiring \"data at rest\" protections must employ cryptographic mechanisms to prevent unauthorized disclosure and modification of the information at rest.",
      "rational": "Information at rest refers to the state of information when it is located on a secondary storage device (e.g., disk drive and tape drive, when used for backups) within an operating system. \n \nThis requirement addresses protection of user-generated data, as well as operating system-specific configuration data. Organizations may choose to employ different mechanisms to achieve confidentiality and...",
      "remediation": "To encrypt an entire partition, dedicate a partition for encryption in the partition layout. \n \nNote: Encrypting a partition in an already-installed system is more difficult because it will need to be resized and existing partitions changed.",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo fdisk -l",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "(..)"
        },
        {
          "type": "condition",
          "element": "CMD",
          "input": "more /etc/crypttab",
          "selement": "OUTPUT",
          "condition": "NOT EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "364b8bb5933b099da5810f30a0cb24be",
      "name": "UBTU-24-600130 — Ubuntu 24.04 LTS must ensure only users who need access to security functions...",
      "description": "Ubuntu 24.04 LTS must ensure only users who need access to security functions are part of sudo group.",
      "rational": "An isolation boundary provides access control and protects the integrity of the hardware, software, and firmware that perform security functions. \n \nSecurity functions are the hardware, software, and/or firmware of the information system responsible for enforcing the system security policy and supporting the isolation of code and data on which the protection is based. Operating systems implemen...",
      "remediation": "Configure the sudo group with only members requiring access to security functions. \n \nTo remove a user from the sudo group, run: \n \n$ sudo gpasswd -d <username> sudo",
      "severity": "High",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "FILE",
          "input": "/etc/group",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "sudo:x:27:foo"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "33d4d6a8fbbebfe48d59da6bf6aaef1d",
      "name": "UBTU-24-600140 — Ubuntu 24.04 LTS must restrict access to the kernel message buffer.",
      "description": "Ubuntu 24.04 LTS must restrict access to the kernel message buffer.",
      "rational": "Restricting access to the kernel message buffer limits access only to root. This prevents attackers from gaining additional system information as a nonprivileged user.",
      "remediation": "Configure Ubuntu 24.04 LTS to restrict access to the kernel message buffer.\n\nSet the system to the required kernel parameter by adding or modifying the following line in /etc/sysctl.conf or a config file in the /etc/sysctl.d/ directory:\n\n     kernel.dmesg_restrict = 1\n\nRemove any configurations that conflict with the above from the following locations: \n     /run/sysctl.d/\n     /etc/sysctl.d/\n     /usr/local/lib/sysctl.d/\n     /usr/lib/sysctl.d/\n     /lib/sysctl.d/\n     /etc/sysctl.conf\n\nRelo...",
      "severity": "Low",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sysctl -n kernel.dmesg_restrict",
          "selement": "OUTPUT",
          "condition": "EQUALS",
          "sinput": "1"
        },
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep -r kernel.dmesg_restrict /run/sysctl.d/* /etc/sysctl.d/* /usr/local/lib/sysctl.d/* /usr/lib/sysctl.d/* /lib/sysctl.d/* /etc/sysctl.conf 2> /dev/null",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "/etc/sysctl.d/10-kernel-hardening.conf:kernel.dmesg_restrict = 1"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "a00ade8b883a4d537468c5ba260cb14f",
      "name": "UBTU-24-600150 — Ubuntu 24.04 LTS must set a sticky bit on all public directories to prevent u...",
      "description": "Ubuntu 24.04 LTS must set a sticky bit on all public directories to prevent unauthorized and unintended information transferred via shared system resources.",
      "rational": "Preventing unauthorized information transfers mitigates the risk of information, including encrypted representations of information, produced by the actions of prior users/roles (or the actions of processes acting on behalf of prior users/roles) from being available to any current users/roles (or current processes) that obtain access to shared system resources (e.g., registers, main memory, har...",
      "remediation": "Configure all public directories to have the sticky bit set to prevent unauthorized and unintended information transferred via shared system resources. \n \nSet the sticky bit on all public directories using the following command, replacing \"[Public Directory]\" with any directory path missing the sticky bit: \n \n$ sudo chmod +t  [Public Directory]",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo find / -type d -perm -002 ! -perm -1000",
          "selement": "OUTPUT",
          "condition": "EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "84ad0d8dda3988925652d09359d903be",
      "name": "UBTU-24-600160 — Ubuntu 24.04 LTS must compare internal information system clocks at least eve...",
      "description": "Ubuntu 24.04 LTS must compare internal information system clocks at least every 24 hours with an authoritative time server.",
      "rational": "Inaccurate time stamps make it more difficult to correlate events and can lead to an inaccurate analysis. Determining the correct time a particular event occurred on a system is critical when conducting forensic analysis and investigating system events. Sources outside the configured acceptable allowance (drift) may be inaccurate. \n \nSynchronizing internal information system clocks provides uni...",
      "remediation": "To configure the system clock to compare to the authoritative time source at least every 24 hours, edit the \"/etc/chrony/chrony.conf\" file. Add or correct the following lines, by replacing \"[source]\" in the following line with an authoritative time source: \n\nserver [source] iburst maxpoll 16 \n\nIf the \"chrony\" service was running and the value of \"maxpoll\" or \"server\" was updated, the service must be restarted using the following command: \n\n$ sudo systemctl restart chrony.service",
      "severity": "Low",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep -ir maxpoll /etc/chrony*",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "server [source] iburst maxpoll 16"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "b3ebe55b227e9c42e3eff6fae5c57b1c",
      "name": "UBTU-24-600180 — Ubuntu 24.04 LTS must synchronize internal information system clocks to the a...",
      "description": "Ubuntu 24.04 LTS must synchronize internal information system clocks to the authoritative time source when the time difference is greater than one second.",
      "rational": "Inaccurate time stamps make it more difficult to correlate events and can lead to an inaccurate analysis. Determining the correct time a particular event occurred on a system is critical when conducting forensic analysis and investigating system events. \n \nSynchronizing internal information system clocks provides uniformity of time stamps for information systems with multiple system clocks and...",
      "remediation": "Configure chrony to synchronize the internal system clocks to the authoritative source when the time difference is greater than one second by doing the following: \n \nEdit the \"/etc/chrony/chrony.conf\" file and add: \n \nmakestep 1 -1 \n \nRestart the chrony service: \n \n$ sudo systemctl restart chrony.service",
      "severity": "Low",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "FILE",
          "input": "/etc/chrony/chrony.conf",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "makestep 1 -1"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "074aa5b9ef1139d6a099cedd6309ef53",
      "name": "UBTU-24-600190 — Ubuntu 24.04 LTS must be configured to use TCP syncookies.",
      "description": "Ubuntu 24.04 LTS must be configured to use TCP syncookies.",
      "rational": "Denial of service (DoS) occurs when a resource is not available for legitimate users, resulting in the organization not being able to accomplish its mission or causing it to operate at degraded capacity.  \n \nManaging excess capacity ensures sufficient capacity is available to counter flooding attacks. Employing increased capacity and service redundancy may reduce the susceptibility to some DoS...",
      "remediation": "Configure Ubuntu 24.04 LTS to use TCP syncookies with the following command: \n \n$ sudo sysctl -w net.ipv4.tcp_syncookies=1 \n \nIf \"1\" is not the system's default value, add or update the following line in \"/etc/sysctl.conf\": \n \nnet.ipv4.tcp_syncookies = 1",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sysctl -n net.ipv4.tcp_syncookies",
          "selement": "OUTPUT",
          "condition": "EQUALS",
          "sinput": "1"
        },
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep -ir net.ipv4.tcp_syncookies /etc/sysctl.d/*.conf /run/sysctl.d/*.conf /usr/local/lib/sysctl.d/*.conf /usr/lib/sysctl.d/*.conf /lib/sysctl.d/*.conf /etc/sysctl.conf 2> /dev/null",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "/etc/sysctl.d/99-sysctl.conf:net.ipv4.tcp_syncookies=1"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "d0a902dbccbcfe91b7778f12a107a134",
      "name": "UBTU-24-600200 — Ubuntu 24.04 LTS must configure the uncomplicated firewall to rate-limit impa...",
      "description": "Ubuntu 24.04 LTS must configure the uncomplicated firewall to rate-limit impacted network interfaces.",
      "rational": "Denial of service (DoS) occurs when a resource is not available for legitimate users, resulting in the organization not being able to accomplish its mission or causing it to operate at degraded capacity.\n \nThis requirement addresses the configuration of Ubuntu 24.04 LTS to mitigate the impact of DoS attacks that have occurred or are ongoing on system availability. For each system, known and pot...",
      "remediation": "Configure the application firewall to protect against or limit the effects of DoS attacks by ensuring Ubuntu 24.04 LTS is implementing rate-limiting measures on impacted network interfaces. \n \nTo change the Status of ufw to \"active\" use the following command:\n$ sudo ufw enable\n\nCheck all the services listening to the ports with the following command: \n \n$ sudo ss -l46ut \nNetid               State                Recv-Q                Send-Q                               Local Address:Port...",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "ss -l46ut",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "Netid               State          Recv-Q          Send-Q                               Local Address:Port            Peer Address:Port               Process"
        },
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo ufw status",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "Status: active"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "a8d78e9865f13e664e3073247f1448fb",
      "name": "UBTU-24-600230 — Ubuntu 24.04 LTS must disable all wireless network adapters.",
      "description": "Ubuntu 24.04 LTS must disable all wireless network adapters.",
      "rational": "Without protection of communications with wireless peripherals, confidentiality and integrity may be compromised because unprotected communications can be intercepted and either read, altered, or used to compromise Ubuntu 24.04 LTS. \n \nThis requirement applies to wireless peripheral technologies (e.g., wireless mice, keyboards, displays, etc.) used with an operating system. Wireless peripherals...",
      "remediation": "List all the wireless interfaces with the following command: \n \n$ ls -L -d /sys/class/net/*/wireless | xargs dirname | xargs basename \n \nFor each interface, configure the system to disable wireless network interfaces with the following command: \n \n$ sudo ifdown <interface name> \n \nFor each interface listed, find their respective module with the following command: \n \n$ basename $(readlink -f /sys/class/net/<interface name>/device/driver) \n \nwhere <interface name> must be substituted by the act...",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "ls -L -d /sys/class/net/*/wireless | xargs dirname | xargs basename",
          "selement": "OUTPUT",
          "condition": "NOT EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "901dad9f679b434aad1dc98ab0dc7f67",
      "name": "UBTU-24-700010 — Ubuntu 24.04 LTS must generate error messages that provide information necess...",
      "description": "Ubuntu 24.04 LTS must generate error messages that provide information necessary for corrective actions without revealing information that could be exploited by adversaries.",
      "rational": "Any operating system providing too much information in error messages risks compromising the data and security of the structure, and organizations must carefully consider the content and structure of error messages. \n \nThe extent to which information systems are able to identify and handle error conditions is guided by organizational policy and operational requirements. Information that could b...",
      "remediation": "Configure Ubuntu 24.04 LTS to set permissions of all log files under the /var/log directory to \"640\" or more restricted by using the following command:\n\nNote: The btmp, wtmp, lastlog, history, and eipp.log.xz files are excluded. Refer to the Discussion for details.\n\n$ sudo find /var/log -perm /137 ! -name '*[bw]tmp' ! -name '*lastlog' -type f -exec chmod 640 '{}' \\;",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo find /var/log -perm /137 ! -name '*[bw]tmp' ! -name '*lastlog' -type f -exec stat -c \"%n %a\" {} \\;",
          "selement": "OUTPUT",
          "condition": "EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "bd0a2ef1a5b6fe9608996ef293e666f8",
      "name": "UBTU-24-700020 — Ubuntu 24.04 LTS must generate system journal entries without revealing infor...",
      "description": "Ubuntu 24.04 LTS must generate system journal entries without revealing information that could be exploited by adversaries.",
      "rational": "Any operating system providing too much information in error messages risks compromising the data and security of the structure, and content of error messages must be carefully considered by the organization. \n \nOrganizations carefully consider the structure/content of error messages. The extent to which information systems are able to identify and handle error conditions is guided by organizat...",
      "remediation": "Configure the system to set the appropriate permissions to the files and directories used by the systemd journal.\n\nCreate a drop-in file if it does not already exist with the following command:\n\n$ sudo vi /etc/tmpfiles.d/zzz-systemd-stig.conf\n \nAdd or modify the following lines in the \"/usr/lib/tmpfiles.d/zzz-systemd-stig.conf\" file: \n\nz /run/log/journal 0640 root systemd-journal - -\nZ /run/log/journal/%m ~0640 root systemd-journal - -\nz /var/log/journal 0640 root systemd-journal - -\nz /var/l...",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo find /run/log/journal /var/log/journal  -type d -exec stat -c \"%n %a\" {} \\;",
          "selement": "OUTPUT",
          "condition": "EQUALS",
          "sinput": ""
        },
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo find /run/log/journal /var/log/journal  -type f -exec stat -c \"%n %a\" {} \\;",
          "selement": "OUTPUT",
          "condition": "EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "2f0d85b2339a2ef4e2d8b9d13b05308a",
      "name": "UBTU-24-700030 — Ubuntu 24.04 LTS must be configured so that the \"journalctl\" command is not a...",
      "description": "Ubuntu 24.04 LTS must be configured so that the \"journalctl\" command is not accessible by unauthorized users.",
      "rational": "Any operating system providing too much information in error messages risks compromising the data and security of the structure, and content of error messages must be carefully considered by the organization. \n \nOrganizations carefully consider the structure/content of error messages. The extent to which information systems are able to identify and handle error conditions is guided by organizat...",
      "remediation": "Configure journalctl to have a permission set of \"740\":\n\n$ sudo chmod 740 /usr/bin/journalctl",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo find /usr/bin/journalctl -exec stat -c \"%n %a\" {} \\;",
          "selement": "OUTPUT",
          "condition": "EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "884b654fa08e00e0bb99c46b1b5144b7",
      "name": "UBTU-24-700040 — Ubuntu 24.04 LTS must be configured so that the \"journalctl\" command is owned...",
      "description": "Ubuntu 24.04 LTS must be configured so that the \"journalctl\" command is owned by \"root\".",
      "rational": "Only authorized personnel are to be made aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify Ubuntu 24.04 LTS or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives....",
      "remediation": "Configure journalctl to be owned by \"root\":\n\n$ sudo chown root /usr/bin/journalctl",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo find /usr/bin/journalctl -exec stat -c \"%n %U\" {} \\;",
          "selement": "OUTPUT",
          "condition": "EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "6f7ca9c039f15b36661f622800fb9c9d",
      "name": "UBTU-24-700050 — Ubuntu 24.04 LTS must be configured so that the \"journalctl\" command is group...",
      "description": "Ubuntu 24.04 LTS must be configured so that the \"journalctl\" command is group-owned by \"root\".",
      "rational": "Only authorized personnel are to be made aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify Ubuntu 24.04 LTS or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives....",
      "remediation": "Configure journalctl to be group-owned by \"root\":\n\n$ sudo chown :root /usr/bin/journalctl",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo find /usr/bin/journalctl -exec stat -c \"%n %G\" {} \\;",
          "selement": "OUTPUT",
          "condition": "EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "9232ec264b0e36ae7970b2d25e980082",
      "name": "UBTU-24-700060 — Ubuntu 24.04 LTS must configure the directories used by the system journal to...",
      "description": "Ubuntu 24.04 LTS must configure the directories used by the system journal to be group-owned by \"systemd-journal\".",
      "rational": "Only authorized personnel are to be made aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify Ubuntu 24.04 LTS or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives....",
      "remediation": "Configure the system to set the appropriate group-ownership to the directories used by the systemd journal.\n\nCreate a drop-in file if it does not already exist with the following command:\n\n$ sudo vi /etc/tmpfiles.d/zzz-systemd-stig.conf\n \nAdd or modify the following lines in the \"/usr/lib/tmpfiles.d/zzz-systemd-stig.conf\" file: \n\nz /run/log/journal 0640 root systemd-journal - -\nz /var/log/journal 0640 root systemd-journal - -\n\nNote: Restart the system for these settings to take effect.",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo find /run/log/journal /var/log/journal  -type d -exec stat -c \"%n %G\" {} \\;",
          "selement": "OUTPUT",
          "condition": "EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "d79d27cc64e17376432a608708de2027",
      "name": "UBTU-24-700070 — Ubuntu 24.04 LTS must configure the files used by the system journal to be gr...",
      "description": "Ubuntu 24.04 LTS must configure the files used by the system journal to be group-owned by \"systemd-journal\".",
      "rational": "Only authorized personnel are to be made aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify Ubuntu 24.04 LTS or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives....",
      "remediation": "Configure the system to set the appropriate group-ownership to the files used by the systemd journal.\n\nCreate a drop-in file if it does not already exist with the following command:\n\n$ sudo vi /etc/tmpfiles.d/zzz-systemd-stig.conf\n \nAdd or modify the following lines in the \"/usr/lib/tmpfiles.d/zzz-systemd-stig.conf\" file: \n\nZ /run/log/journal/%m ~0640 root systemd-journal - -\nz /var/log/journal/%m 0640 root systemd-journal - -\nz /var/log/journal/%m/system.journal 0640 root systemd-journal - -...",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo find /run/log/journal /var/log/journal  -type f -exec stat -c \"%n %G\" {} \\;",
          "selement": "OUTPUT",
          "condition": "EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "868e00c17b08f4246ae3d610235df07d",
      "name": "UBTU-24-700080 — Ubuntu 24.04 LTS must configure the directories used by the system journal to...",
      "description": "Ubuntu 24.04 LTS must configure the directories used by the system journal to be owned by \"root\".",
      "rational": "Only authorized personnel are to be made aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify Ubuntu 24.04 LTS or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives....",
      "remediation": "Configure the system to set the appropriate ownership to the directories used by the systemd journal.\n\nCreate a drop-in file if it does not already exist with the following command:\n\n$ sudo vi /etc/tmpfiles.d/zzz-systemd-stig.conf\n \nAdd or modify the following lines in the \"/usr/lib/tmpfiles.d/zzz-systemd-stig.conf\" file: \n\nz /run/log/journal 0640 root systemd-journal - -\nz /var/log/journal 0640 root systemd-journal - -\n\nNote: Restart the system for these settings to take effect.",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo find /run/log/journal /var/log/journal  -type d -exec stat -c \"%n %U\" {} \\;",
          "selement": "OUTPUT",
          "condition": "EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "29d896b8a974595a3c6e860b8a75a1e2",
      "name": "UBTU-24-700090 — Ubuntu 24.04 LTS must configure the files used by the system journal to be ow...",
      "description": "Ubuntu 24.04 LTS must configure the files used by the system journal to be owned by \"root\"",
      "rational": "Only authorized personnel are to be made aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify Ubuntu 24.04 LTS or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives....",
      "remediation": "Configure the system to set the appropriate ownership to the files used by the systemd journal.\n\nCreate a drop-in file if it does not already exist with the following command:\n\n$ sudo vi /etc/tmpfiles.d/zzz-systemd-stig.conf\n \nAdd or modify the following lines in the \"/usr/lib/tmpfiles.d/zzz-systemd-stig.conf\" file: \n\nZ /run/log/journal/%m ~0640 root systemd-journal - -\nz /var/log/journal/%m 0640 root systemd-journal - -\nz /var/log/journal/%m/system.journal 0640 root systemd-journal - -\n\nNote...",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo find /run/log/journal /var/log/journal  -type f -exec stat -c \"%n %U\" {} \\;",
          "selement": "OUTPUT",
          "condition": "EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "2dfb5bfb90768ceeae50d39c32840c67",
      "name": "UBTU-24-700100 — Ubuntu 24.04 LTS must configure the /var/log directory to be group-owned by s...",
      "description": "Ubuntu 24.04 LTS must configure the /var/log directory to be group-owned by syslog.",
      "rational": "Only authorized personnel are to be made aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify Ubuntu 24.04 LTS or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives....",
      "remediation": "Configure Ubuntu 24.04 LTS to have syslog group-own the /var/log directory with the following command: \n \n$ sudo chgrp syslog /var/log",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "DIRECTORY",
          "input": "/var/log",
          "selement": "GROUP",
          "condition": "EQUALS",
          "sinput": "syslog"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "cfb1a41b711dfc3747a4ce885e1195b8",
      "name": "UBTU-24-700110 — Ubuntu 24.04 LTS must configure the /var/log directory to be owned by root.",
      "description": "Ubuntu 24.04 LTS must configure the /var/log directory to be owned by root.",
      "rational": "Only authorized personnel are to be made aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify Ubuntu 24.04 LTS or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives....",
      "remediation": "Configure Ubuntu 24.04 LTS to have root own the /var/log directory by running the following command: \n \n$ sudo chown root /var/log",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "DIRECTORY",
          "input": "/var/log",
          "selement": "OWNER",
          "condition": "EQUALS",
          "sinput": "root"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "c41c814895b858c6a52c015c586379fb",
      "name": "UBTU-24-700120 — Ubuntu 24.04 LTS must configure the /var/log directory to have mode \"0755\" or...",
      "description": "Ubuntu 24.04 LTS must configure the /var/log directory to have mode \"0755\" or less permissive.",
      "rational": "Only authorized personnel are to be made aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify Ubuntu 24.04 LTS or platform. Additionally, personally identifiable information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives....",
      "remediation": "Configure Ubuntu 24.04 LTS to have permissions of \"0755\" for the /var/log directory by running the following command: \n \n$ sudo chmod 0755 /var/log",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "FILE",
          "input": "/var/log",
          "selement": "PERMISSION",
          "condition": "LESS THAN",
          "sinput": "755"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "c3cfe8aa7d89fb77a8195905bbe7d641",
      "name": "UBTU-24-700130 — Ubuntu 24.04 LTS must configure the /var/log/syslog file to be group-owned by...",
      "description": "Ubuntu 24.04 LTS must configure the /var/log/syslog file to be group-owned by adm.",
      "rational": "Only authorized personnel are to be made aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify Ubuntu 24.04 LTS or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives....",
      "remediation": "Configure Ubuntu 24.04 LTS to have adm group-own the /var/log/syslog file by running the following command: \n \n$ sudo chgrp adm /var/log/syslog",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "FILE",
          "input": "/var/log/syslog",
          "selement": "GROUP",
          "condition": "EQUALS",
          "sinput": "adm"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "ef8a9fad2f10947fc9f305c8bc98df5c",
      "name": "UBTU-24-700140 — Ubuntu 24.04 LTS must configure /var/log/syslog file to be owned by syslog.",
      "description": "Ubuntu 24.04 LTS must configure /var/log/syslog file to be owned by syslog.",
      "rational": "Only authorized personnel are to be made aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify Ubuntu 24.04 LTS or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives....",
      "remediation": "Configure Ubuntu 24.04 LTS to have syslog own the /var/log/syslog file by running the following command: \n \n$ sudo chown syslog /var/log/syslog",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "FILE",
          "input": "/var/log/syslog",
          "selement": "OWNER",
          "condition": "EQUALS",
          "sinput": "syslog"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "298c893fe1f415e9ea2b8b8db436270a",
      "name": "UBTU-24-700150 — Ubuntu 24.04 LTS must configure /var/log/syslog file with mode \"0640\" or less...",
      "description": "Ubuntu 24.04 LTS must configure /var/log/syslog file with mode \"0640\" or less permissive.",
      "rational": "Only authorized personnel are to be made aware of errors and the details of the errors. Error messages are an indicator of an organization's operational state or can identify Ubuntu 24.04 LTS or platform. Additionally, Personally Identifiable Information (PII) and operational information must not be revealed through error messages to unauthorized personnel or their designated representatives....",
      "remediation": "Configure Ubuntu 24.04 LTS to have permissions of \"0640\" for the /var/log/syslog file by running the following command: \n \n$ sudo chmod 0640 /var/log/syslog",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "FILE",
          "input": "/var/log/syslog",
          "selement": "PERMISSION",
          "condition": "LESS THAN",
          "sinput": "640"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "1d70d8675e2e14dd8f807d16d83e268c",
      "name": "UBTU-24-700300 — Ubuntu 24.04 LTS must implement nonexecutable data to protect its memory from...",
      "description": "Ubuntu 24.04 LTS must implement nonexecutable data to protect its memory from unauthorized code execution.",
      "rational": "Some adversaries launch attacks with the intent of executing code in nonexecutable regions of memory or in memory locations that are prohibited. Security safeguards employed to protect memory include, for example, data execution prevention and address space layout randomization. Data execution prevention safeguards can either be hardware-enforced or software-enforced with hardware providing the...",
      "remediation": "Configure Ubuntu 24.04 LTS to enable NX. \n \nIf \"nx\" is not showing up in \"/proc/cpuinfo\", and the system's BIOS setup configuration permits toggling the No Execution bit, set it to \"enable\".",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo dmesg | grep -i \"execute disable\"",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "[    0.000000] NX (Execute Disable) protection: active"
        },
        {
          "type": "condition",
          "element": "CMD",
          "input": "grep flags /proc/cpuinfo | grep -w nx | sort -u",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "flags       : fpu vme de pse tsc ms nx rdtscp lm constant_tsc"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "09351917834e0cc687c00dd0499b3896",
      "name": "UBTU-24-700310 — Ubuntu 24.04 LTS must implement address space layout randomization to protect...",
      "description": "Ubuntu 24.04 LTS must implement address space layout randomization to protect its memory from unauthorized code execution.",
      "rational": "Some adversaries launch attacks with the intent of executing code in nonexecutable regions of memory or in memory locations that are prohibited. Security safeguards employed to protect memory include, for example, data execution prevention and address space layout randomization. Data execution prevention safeguards can either be hardware-enforced or software-enforced with hardware providing the...",
      "remediation": "Remove the \"kernel.randomize_va_space\" entry found in the \"/etc/sysctl.conf\" file or any file located in the \"/etc/sysctl.d/\" directory. \n \nAfter the line has been removed, the kernel settings from all system configuration files must be reloaded before any of the changes will take effect. Run the following command to reload all of the kernel system configuration files: \n \n$ sudo sysctl --system",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sysctl -n kernel.randomize_va_space",
          "selement": "OUTPUT",
          "condition": "EQUALS",
          "sinput": "2"
        },
        {
          "type": "condition",
          "element": "FILE",
          "input": "/proc/sys/kernel/randomize_va_space",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "2"
        },
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo egrep -R \"^kernel.randomize_va_space=[^2]\" /etc/sysctl.conf /etc/sysctl.d",
          "selement": "OUTPUT",
          "condition": "NOT EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "c5ec35c9953d2348259b527aec2df04e",
      "name": "UBTU-24-700320 — Ubuntu 24.04 LTS must be configured so that Advance Package Tool (APT) remove...",
      "description": "Ubuntu 24.04 LTS must be configured so that Advance Package Tool (APT) removes all software components after updated versions have been installed.",
      "rational": "Previous versions of software components that are not removed from the information system after updates have been installed may be exploited by adversaries. Some information technology products may remove older versions of software automatically from the information system.",
      "remediation": "Configure APT to remove all software components after updated versions have been installed. \n \nAdd or update the following options to the \"/etc/apt/apt.conf.d/50unattended-upgrades\" file: \n \nUnattended-Upgrade::Remove-Unused-Dependencies \"true\"; \nUnattended-Upgrade::Remove-Unused-Kernel-Packages \"true\";",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "FILE",
          "input": "/etc/apt/apt.conf.d/50unattended-upgrades",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Unattended-Upgrade::Remove-Unused-Dependencies \"true\";"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "221f97478c8f53f3a49ec569a25c2815",
      "name": "UBTU-24-900040 — Ubuntu 24.04 LTS must be configured so that audit configuration files are not...",
      "description": "Ubuntu 24.04 LTS must be configured so that audit configuration files are not write-accessible by unauthorized users.",
      "rational": "Without the capability to restrict which roles and individuals can select which events are audited, unauthorized personnel may be able to prevent the auditing of critical events. \n \nMisconfigured audits may degrade the system's performance by overwhelming the audit log. Misconfigured audits may also make it more difficult to establish, correlate, and investigate the events relating to an incide...",
      "remediation": "Configure /etc/audit/audit.rules, /etc/audit/rules.d/*, and /etc/audit/auditd.conf files to have a mode of \"0640\" by using the following command: \n \n$ sudo chmod -R 0640 /etc/audit/audit*.{rules,conf} /etc/audit/rules.d/*",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo ls -al /etc/audit/ /etc/audit/rules.d/",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "/etc/audit/:"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "3a70734eff3737d0da5bb8c0cfda7a07",
      "name": "UBTU-24-900050 — Ubuntu 24.04 LTS must permit only authorized accounts to own the audit config...",
      "description": "Ubuntu 24.04 LTS must permit only authorized accounts to own the audit configuration files.",
      "rational": "Without the capability to restrict which roles and individuals can select which events are audited, unauthorized personnel may be able to prevent the auditing of critical events.  \n \nMisconfigured audits may degrade the system's performance by overwhelming the audit log. Misconfigured audits may also make it more difficult to establish, correlate, and investigate the events relating to an incid...",
      "remediation": "Configure /etc/audit/audit.rules, /etc/audit/rules.d/*, and /etc/audit/auditd.conf files to be owned by \"root\" user by using the following command: \n \n$ sudo chown root /etc/audit/audit*.{rules,conf} /etc/audit/rules.d/*",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo ls -al /etc/audit/ /etc/audit/rules.d/",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "/etc/audit/:"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "d845203cc8ea6c4b17278b7ee54f1ea0",
      "name": "UBTU-24-900060 — Ubuntu 24.04 LTS must permit only authorized groups to own the audit configur...",
      "description": "Ubuntu 24.04 LTS must permit only authorized groups to own the audit configuration files.",
      "rational": "Without the capability to restrict which roles and individuals can select which events are audited, unauthorized personnel may be able to prevent the auditing of critical events.  \n \nMisconfigured audits may degrade the system's performance by overwhelming the audit log. Misconfigured audits may also make it more difficult to establish, correlate, and investigate the events relating to an incid...",
      "remediation": "Configure /etc/audit/audit.rules, /etc/audit/rules.d/*, and /etc/audit/auditd.conf files to be owned by \"root\" group by using the following command: \n \n$ sudo chown :root /etc/audit/audit*.{rules,conf} /etc/audit/rules.d/*",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo ls -al /etc/audit/ /etc/audit/rules.d/",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "/etc/audit/:"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "c520e19d8afb0081d5e189187f536443",
      "name": "UBTU-24-900730 — Ubuntu 24.04 LTS must generate audit records when successful/unsuccessful att...",
      "description": "Ubuntu 24.04 LTS must generate audit records when successful/unsuccessful attempts to use modprobe command.",
      "rational": "Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n \nAudit records can be generated from various components within the information system (e.g., module or policy filter).",
      "remediation": "Configure Ubuntu 24.04 LTS to audit the execution of the module management program \"modprobe\". \n \nAdd or update the following rule in the \"/etc/audit/rules.d/stig.rules\" file: \n \n-w /sbin/modprobe -p x -k modules \n  \nTo reload the rules file, issue the following command: \n \n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep '/sbin/modprobe'",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-w /sbin/modprobe -p x -k modules"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "394db6b81259c5ae0b12b0c42ed8858b",
      "name": "UBTU-24-900070 — Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses...",
      "description": "Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses of the su command.",
      "rational": "Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n \nAudit records can be generated from various components within the information system (e.g., module or policy filter).",
      "remediation": "Configure Ubuntu 24.04 LTS to generate audit records when successful/unsuccessful attempts to use the \"su\" command occur. \n \nAdd or update the following rules in the \"/etc/audit/rules.d/stig.rules\" file: \n \n-a always,exit -F path=/bin/su -F perm=x -F auid>=1000 -F auid!=-1 -k privileged-priv_change  \n \nTo reload the rules file, issue the following command: \n \n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep /bin/su",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-a always,exit -F path=/bin/su -F perm=x -F auid>=1000 -F auid!=-1 -k privileged-priv_change"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "632e6b4965f2e6445a99d27b3799a222",
      "name": "UBTU-24-900080 — Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses...",
      "description": "Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses of the chfn command.",
      "rational": "Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n \nAudit records can be generated from various components within the information system (e.g., module or policy filter).",
      "remediation": "Configure the audit system to generate an audit event for any successful/unsuccessful uses of the \"chfn\" command. \n \nAdd or update the following rules in the \"/etc/audit/rules.d/stig.rules\" file: \n \n-a always,exit -F path=/usr/bin/chfn -F perm=x -F auid>=1000 -F auid!=-1 -k privileged-chfn \n \nTo reload the rules file, issue the following command: \n \n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep /usr/bin/chfn",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-a always,exit -F path=/usr/bin/chfn -F perm=x -F auid>=1000 -F auid!=-1 -k privileged-chfn"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "3a7faf58fcab57af11dbb287d6749b85",
      "name": "UBTU-24-900090 — Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses...",
      "description": "Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses of the mount command.",
      "rational": "Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n \nAudit records can be generated from various components within the information system (e.g., module or policy filter).",
      "remediation": "Configure the audit system to generate an audit event for any successful/unsuccessful use of the \"mount\" command.  \n \nAdd or update the following rules in the \"/etc/audit/rules.d/stig.rules\" file: \n \n-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=-1 -k privileged-mount \n \nTo reload the rules file, issue the following command: \n \n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep /usr/bin/mount",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-a always,exit -F path=/usr/bin/mount -F perm=x -F auid>=1000 -F auid!=-1 -k privileged-mount"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "a4c4cf493105701ac066dcde423bf943",
      "name": "UBTU-24-900100 — Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses...",
      "description": "Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses of the umount command.",
      "rational": "Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n \nAudit records can be generated from various components within the information system (e.g., module or policy filter).",
      "remediation": "Configure the audit system to generate an audit event for any successful/unsuccessful use of the \"umount\" command.  \n \nAdd or update the following rules in the \"/etc/audit/rules.d/stig.rules\" file: \n \n-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=-1 -k privileged-umount \n \nTo reload the rules file, issue the following command: \n \n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep /usr/bin/umount",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-a always,exit -F path=/usr/bin/umount -F perm=x -F auid>=1000 -F auid!=-1 -k privileged-umount"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "93f16c4fa84e644d8b9b664420cf12f5",
      "name": "UBTU-24-900110 — Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses...",
      "description": "Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses of the ssh-agent command.",
      "rational": "Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n \nAudit records can be generated from various components within the information system (e.g., module or policy filter).",
      "remediation": "Configure the audit system to generate an audit event for any successful/unsuccessful use of the \"ssh-agent\" command.  \n \nAdd or update the following rules in the \"/etc/audit/rules.d/stig.rules\" file: \n \n-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=-1 -k privileged-ssh \n \nTo reload the rules file, issue the following command: \n \n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep /usr/bin/ssh-agent",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-a always,exit -F path=/usr/bin/ssh-agent -F perm=x -F auid>=1000 -F auid!=-1 -k privileged-ssh"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "6612f731e14ef387b84bdaadef2175c5",
      "name": "UBTU-24-900120 — Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses...",
      "description": "Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses of the ssh-keysign command.",
      "rational": "Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n \nAudit records can be generated from various components within the information system (e.g., module or policy filter).",
      "remediation": "Configure the audit system to generate an audit event for any successful/unsuccessful use of the \"ssh-keysign\" command.  \n \nAdd or update the following rules in the \"/etc/audit/rules.d/stig.rules\" file: \n \n-a always,exit -F path=/usr/lib/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=-1 -k privileged-ssh \n \nTo reload the rules file, issue the following command: \n \n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep ssh-keysign",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-a always,exit -F path=/usr/lib/openssh/ssh-keysign -F perm=x -F auid>=1000 -F auid!=-1 -k privileged-ssh"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "ff37516208e28e086a1c405da34f3b0b",
      "name": "UBTU-24-900130 — Ubuntu 24.04 LTS must generate audit records for any use of the setxattr, fse...",
      "description": "Ubuntu 24.04 LTS must generate audit records for any use of the setxattr, fsetxattr, lsetxattr, removexattr, fremovexattr, and lremovexattr system calls.",
      "rational": "Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nThe system call rules are loaded into a ma...",
      "remediation": "Configure the audit system to generate an audit event for any successful/unsuccessful use of the \"setxattr\", \"fsetxattr\", \"lsetxattr\", \"removexattr\", \"fremovexattr\", and \"lremovexattr\" system calls. \n \nAdd or update the following rules in the \"/etc/audit/rules.d/stig.rules\" file: \n \n-a always,exit -F arch=b32 -S setxattr,fsetxattr,lsetxattr,removexattr,fremovexattr,lremovexattr -F auid>=1000 -F auid!=-1 -k perm_mod \n-a always,exit -F arch=b32 -S setxattr,fsetxattr,lsetxattr,removexattr,fremov...",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep xattr",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-a always,exit -F arch=b32 -S setxattr,fsetxattr,lsetxattr,removexattr,fremovexattr,lremovexattr -F auid>=1000 -F auid!=-1 -k perm_mod"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "ae93b3e0a00ad4f1f0e03f258a688703",
      "name": "UBTU-24-900140 — Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses...",
      "description": "Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses of the chown, fchown, fchownat, and lchown system calls.",
      "rational": "Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n \nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nThe system call rules are loaded into a m...",
      "remediation": "Configure the audit system to generate an audit event for any successful/unsuccessful use of the \"chown\", \"fchown\", \"fchownat\", and \"lchown\" system calls. \n \nAdd or update the following rules in the \"/etc/audit/rules.d/stig.rules\": \n \n-a always,exit -F arch=b32 -S chown,fchown,fchownat,lchown -F auid>=1000 -F auid!=-1 -k perm_chng \n-a always,exit -F arch=b64 -S chown,fchown,fchownat,lchown -F auid>=1000 -F auid!=-1 -k perm_chng \n \nNote: For 32-bit architectures, only the 32-bit specific entri...",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep chown",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-a always,exit -F arch=b32 -S chown,fchown,fchownat,lchown -F auid>=1000 -F auid!=-1 -k perm_chng"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "ba4ca07e83d4887de63dff14411aa6b4",
      "name": "UBTU-24-900150 — Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses...",
      "description": "Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses of the chmod, fchmod, and fchmodat system calls.",
      "rational": "Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n \nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nThe system call rules are loaded into a m...",
      "remediation": "Configure the audit system to generate an audit event for any successful/unsuccessful use of the \"chmod\", \"fchmod\", and \"fchmodat\" system calls. \n \nAdd or update the following rules in the \"/etc/audit/rules.d/stig.rules\": \n \n-a always,exit -F arch=b32 -S chmod,fchmod,fchmodat -F auid>=1000 -F auid!=-1 -k perm_chng \n-a always,exit -F arch=b64 -S chmod,fchmod,fchmodat -F auid>=1000 -F auid!=-1 -k perm_chng \n \nNote: For 32-bit architectures, only the 32-bit specific entries are required.  \n \nTo...",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep chmod",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-a always,exit -F arch=b32 -S chmod,fchmod,fchmodat -F auid>=1000 -F auid!=-1 -k perm_chng"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "e1c2d74a6ba2c9fc162d042b1f6e159d",
      "name": "UBTU-24-900160 — Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses...",
      "description": "Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses of the creat, open, openat, open_by_handle_at, truncate, and ftruncate system calls.",
      "rational": "Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n \nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nThe system call rules are loaded into a m...",
      "remediation": "Configure the audit system to generate an audit event for any unsuccessful use of the \"creat\", \"open\", \"openat\", \"open_by_handle_at\", \"truncate\", and \"ftruncate\" system calls.  \n \nAdd or update the following rules in the \"/etc/audit/rules.d/stig.rules\" file: \n \n-a always,exit -F arch=b32 -S creat,open,openat,open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=-1 -k perm_access \n-a always,exit -F arch=b32 -S creat,open,openat,open_by_handle_at,truncate,ftruncate -F exit=...",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep 'open\\|truncate\\|creat'",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-a always,exit -F arch=b32 -S creat,open,openat,open_by_handle_at,truncate,ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=-1 -k perm_access"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "e79d43417e125be807cdd529fa79c4f9",
      "name": "UBTU-24-900170 — Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses...",
      "description": "Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses of the sudo command.",
      "rational": "Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n \nAudit records can be generated from various components within the information system (e.g., module or policy filter).",
      "remediation": "Configure the audit system to generate an audit event for any successful/unsuccessful use of the \"sudo\" command.  \n \nAdd or update the following rules in the \"/etc/audit/rules.d/stig.rules\" file: \n \n-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=-1 -k priv_cmd \n   \nTo reload the rules file, issue the following command: \n \n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep /usr/bin/sudo",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-a always,exit -F path=/usr/bin/sudo -F perm=x -F auid>=1000 -F auid!=-1 -k priv_cmd"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "3d875b4c4ef390e0fd229d179b2eb0dd",
      "name": "UBTU-24-900180 — Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses...",
      "description": "Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses of the sudoedit command.",
      "rational": "Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n \nAudit records can be generated from various components within the information system (e.g., module or policy filter).",
      "remediation": "Configure the audit system to generate an audit event for any successful/unsuccessful use of the \"sudoedit\" command.  \n \nAdd or update the following rules in the \"/etc/audit/rules.d/stig.rules\": \n \n-a always,exit -F path=/usr/bin/sudoedit -F perm=x -F auid>=1000 -F auid!=-1 -k priv_cmd \n   \nTo reload the rules file, issue the following command: \n \n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep /usr/bin/sudoedit",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-a always,exit -F path=/usr/bin/sudoedit -F perm=x -F auid>=1000 -F auid!=-1 -k priv_cmd"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "46872089767e0043becd2e80a636223d",
      "name": "UBTU-24-900190 — Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses...",
      "description": "Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses of the chsh command.",
      "rational": "Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n \nAudit records can be generated from various components within the information system (e.g., module or policy filter).",
      "remediation": "Configure the audit system to generate an audit event for any successful/unsuccessful use of the \"chsh\" command.  \n \nAdd or update the following rules in the \"/etc/audit/rules.d/stig.rules\" file: \n \n-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=-1 -k priv_cmd \n   \nTo reload the rules file, issue the following command: \n \n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep chsh",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-a always,exit -F path=/usr/bin/chsh -F perm=x -F auid>=1000 -F auid!=-1 -k priv_cmd"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "89af9652d0fdd53ad74512df09bdca80",
      "name": "UBTU-24-900200 — Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses...",
      "description": "Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses of the newgrp command.",
      "rational": "Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n \nAudit records can be generated from various components within the information system (e.g., module or policy filter).",
      "remediation": "Configure the audit system to generate an audit event for any successful/unsuccessful use of the \"newgrp\" command.  \n \nAdd or update the following rules in the \"/etc/audit/rules.d/stig.rules\" file: \n \n-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=-1 -k priv_cmd \n   \nTo reload the rules file, issue the following command: \n \n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep newgrp",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-a always,exit -F path=/usr/bin/newgrp -F perm=x -F auid>=1000 -F auid!=-1 -k priv_cmd"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "0a6f64f35246bf3771954fb2439e2737",
      "name": "UBTU-24-900210 — Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses...",
      "description": "Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses of the chcon command.",
      "rational": "Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n \nAudit records can be generated from various components within the information system (e.g., module or policy filter).",
      "remediation": "Configure the audit system to generate an audit event for any successful/unsuccessful use of the \"chcon\" command.  \n \nAdd or update the following rules in the \"/etc/audit/rules.d/stig.rules\" file: \n \n-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=-1 -k perm_chng \n   \nTo reload the rules file, issue the following command: \n \n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep chcon",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-a always,exit -F path=/usr/bin/chcon -F perm=x -F auid>=1000 -F auid!=-1 -k perm_chng"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "51999cb99440979872db9f438b92c1d9",
      "name": "UBTU-24-900220 — Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses...",
      "description": "Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses of the apparmor_parser command.",
      "rational": "Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n \nAudit records can be generated from various components within the information system (e.g., module or policy filter).",
      "remediation": "Configure the audit system to generate an audit event for any successful/unsuccessful use of the \"apparmor_parser\" command.  \n \nAdd or update the following rules in the \"/etc/audit/rules.d/stig.rules\" file: \n \n-a always,exit -F path=/sbin/apparmor_parser -F perm=x -F auid>=1000 -F auid!=-1 -k perm_chng \n   \nTo reload the rules file, issue the following command: \n \n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep apparmor_parser",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-a always,exit -F path=/sbin/apparmor_parser -F perm=x -F auid>=1000 -F auid!=-1 -k perm_chng"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "c35f56289672a22b2cbd0ce52a52a59d",
      "name": "UBTU-24-900230 — Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses...",
      "description": "Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses of the setfacl command.",
      "rational": "Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n \nAudit records can be generated from various components within the information system (e.g., module or policy filter).",
      "remediation": "Configure the audit system to generate an audit event for any successful/unsuccessful use of the \"setfacl\" command.  \n \nAdd or update the following rules in the \"/etc/audit/rules.d/stig.rules\" file: \n \n-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=-1 -k perm_chng \n   \nTo reload the rules file, issue the following command: \n \n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep setfacl",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-a always,exit -F path=/usr/bin/setfacl -F perm=x -F auid>=1000 -F auid!=-1 -k perm_chng"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "45f085b8e96deb9b2682ac923426b422",
      "name": "UBTU-24-900240 — Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses...",
      "description": "Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses of the chacl command.",
      "rational": "Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n \nAudit records can be generated from various components within the information system (e.g., module or policy filter).",
      "remediation": "Configure the audit system to generate an audit event for any successful/unsuccessful use of the \"chacl\" command.  \n \nAdd or update the following rules in the \"/etc/audit/rules.d/stig.rules\" file: \n \n-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=-1 -k perm_chng \n    \nTo reload the rules file, issue the following command: \n \n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo audtctl -l | grep chacl",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-a always,exit -F path=/usr/bin/chacl -F perm=x -F auid>=1000 -F auid!=-1 -k perm_chng"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "3bbe5f27deb0297d4225236eef212c93",
      "name": "UBTU-24-900250 — Ubuntu 24.04 LTS must generate audit records for the use and modification of ...",
      "description": "Ubuntu 24.04 LTS must generate audit records for the use and modification of faillog file.",
      "rational": "Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n \nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nSatisfies: SRG-OS-000064-GPOS-00033, SRG-...",
      "remediation": "Configure the audit system to generate an audit event for any successful/unsuccessful modifications to the \"faillog\" file.  \n \nAdd or update the following rules in the \"/etc/audit/rules.d/stig.rules\" file: \n \n-w /var/log/faillog -p wa -k logins \n   \nTo reload the rules file, issue the following command: \n \n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep faillog",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-w /var/log/faillog -p wa -k logins"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "4e4ab7cca0c85b521d7a7e380fef371b",
      "name": "UBTU-24-900260 — Ubuntu 24.04 LTS must generate audit records for the use and modification of ...",
      "description": "Ubuntu 24.04 LTS must generate audit records for the use and modification of the lastlog file.",
      "rational": "Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n \nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nSatisfies: SRG-OS-000064-GPOS-00033, SRG-...",
      "remediation": "Configure the audit system to generate an audit event for any successful/unsuccessful modifications to the \"lastlog\" file.  \n \nAdd or update the following rules in the \"/etc/audit/rules.d/stig.rules\" file: \n \n-w /var/log/lastlog -p wa -k logins \n  \nTo reload the rules file, issue the following command: \n \n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep lastlog",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-w /var/log/lastlog -p wa -k logins"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "33e6c49290c963f06f7038049b5bee79",
      "name": "UBTU-24-900270 — Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses...",
      "description": "Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses of the passwd command.",
      "rational": "Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n \nAudit records can be generated from various components within the information system (e.g., module or policy filter).",
      "remediation": "Configure the audit system to generate an audit event for any successful/unsuccessful uses of the \"passwd\" command.  \n \nAdd or update the following rule in the \"/etc/audit/rules.d/stig.rules\" file: \n \n-a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=-1 -k privileged-passwd \n   \nTo reload the rules file, issue the following command: \n \n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep -w passwd",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-a always,exit -S all -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=-1 -F key=privileged-passwd"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "a0848a3b5e8682890c73f707a146efef",
      "name": "UBTU-24-900280 — Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses...",
      "description": "Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses of the unix_update command.",
      "rational": "Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n \nAudit records can be generated from various components within the information system (e.g., module or policy filter).",
      "remediation": "Configure the audit system to generate an audit event for any successful/unsuccessful uses of the \"unix_update\" command.  \n \nAdd or update the following rules in the \"/etc/audit/rules.d/stig.rules\" file: \n \n-a always,exit -F path=/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=-1 -k privileged-unix-update \n  \nTo reload the rules file, issue the following command: \n \n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep -w unix_update",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-a always,exit -F path=/sbin/unix_update -F perm=x -F auid>=1000 -F auid!=-1 -k privileged-unix-update"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "73e0532971e1011119f4449599eb4e62",
      "name": "UBTU-24-900290 — Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses...",
      "description": "Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses of the gpasswd command.",
      "rational": "Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n \nAudit records can be generated from various components within the information system (e.g., module or policy filter).",
      "remediation": "Configure the audit system to generate an audit event for any successful/unsuccessful uses of the \"gpasswd\" command.  \n \nAdd or update the following rules in the \"/etc/audit/rules.d/stig.rules\" file: \n \n-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=-1 -k privileged-gpasswd \n   \nTo reload the rules file, issue the following command: \n \n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep -w gpasswd",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-a always,exit -F path=/usr/bin/gpasswd -F perm=x -F auid>=1000 -F auid!=-1 -k privileged-gpasswd"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "e8fc8f9ace496f67c08383b4903cc746",
      "name": "UBTU-24-900300 — Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses...",
      "description": "Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses of the chage command.",
      "rational": "Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n \nAudit records can be generated from various components within the information system (e.g., module or policy filter).",
      "remediation": "Configure the audit system to generate an audit event for any successful/unsuccessful uses of the \"chage\" command.  \n \nAdd or update the following rules in the \"/etc/audit/rules.d/stig.rules\" file: \n \n-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=-1 -k privileged-chage \n   \nTo reload the rules file, issue the following command: \n \n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep -w chage",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-a always,exit -F path=/usr/bin/chage -F perm=x -F auid>=1000 -F auid!=-1 -k privileged-chage"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "72bd8381e1c358219450031c95b38bdf",
      "name": "UBTU-24-900310 — Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses...",
      "description": "Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses of the usermod command.",
      "rational": "Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n \nAudit records can be generated from various components within the information system (e.g., module or policy filter).",
      "remediation": "Configure the audit system to generate an audit event for any successful/unsuccessful uses of the \"usermod\" command.  \n \nAdd or update the following rules in the \"/etc/audit/rules.d/stig.rules\" file: \n \n-a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=-1 -k privileged-usermod \n   \nTo reload the rules file, issue the following command: \n \n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep -w usermod",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-a always,exit -F path=/usr/sbin/usermod -F perm=x -F auid>=1000 -F auid!=-1 -k privileged-usermod"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "a2402744418e52b46025a3ebef3cc7aa",
      "name": "UBTU-24-900320 — Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses...",
      "description": "Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses of the crontab command.",
      "rational": "Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n \nAudit records can be generated from various components within the information system (e.g., module or policy filter).",
      "remediation": "Configure the audit system to generate an audit event for any successful/unsuccessful uses of the \"crontab\" command.  \n \nAdd or update the following rules in the \"/etc/audit/rules.d/stig.rules\" file: \n \n-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=-1 -k privileged-crontab \n   \nTo reload the rules file, issue the following command: \n \n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep -w crontab",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=-1 -k privileged-crontab"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "3a2794096e63fcaa7a9488cf17b9d2a4",
      "name": "UBTU-24-900330 — Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses...",
      "description": "Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses of the pam_timestamp_check command.",
      "rational": "Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n \nAudit records can be generated from various components within the information system (e.g., module or policy filter).",
      "remediation": "Configure the audit system to generate an audit event for any successful/unsuccessful uses of the \"pam_timestamp_check\" command.  \n \nAdd or update the following rules in the \"/etc/audit/rules.d/stig.rules\" file: \n \n-a always,exit -F path=/usr/sbin/pam_timestamp_check -F perm=x -F auid>=1000 -F auid!=-1 -k privileged-pam_timestamp_check \n   \nTo reload the rules file, issue the following command: \n \n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep -w pam_timestamp_check",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-a always,exit -F path=/usr/sbin/pam_timestamp_check -F perm=x -F auid>=1000 -F auid!=-1 -k privileged-pam_timestamp_check"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "c30e838af8c04958963b661c9b4c67b0",
      "name": "UBTU-24-900340 — Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses...",
      "description": "Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses of the init_module and finit_module syscalls.",
      "rational": "Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n \nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nThe system call rules are loaded into a m...",
      "remediation": "Configure the audit system to generate an audit event for any successful/unsuccessful use of the \"init_module\" and \"finit_module\" syscalls.  \n \nAdd or update the following rules in the \"/etc/audit/rules.d/stig.rules\" file: \n \n-a always,exit -F arch=b32 -S init_module,finit_module -F auid>=1000 -F auid!=-1 -k module_chng \n-a always,exit -F arch=b64 -S init_module,finit_module -F auid>=1000 -F auid!=-1 -k module_chng \n  \nNote: For 32-bit architectures, only the 32-bit specific entries are requi...",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep init_module",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-a always,exit -F arch=b32 -S init_module,finit_module -F auid>=1000 -F auid!=-1 -k module_chng"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "d827fd9a48bc25176549d1ef0743a3b0",
      "name": "UBTU-24-900350 — Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses...",
      "description": "Ubuntu 24.04 LTS must generate audit records for successful/unsuccessful uses of the delete_module syscall.",
      "rational": "Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nSatisfies: SRG-OS-000064-GPOS-00033, SRG-O...",
      "remediation": "Configure the audit system to generate an audit event for any successful/unsuccessful use of the \"delete_module\" syscall.  \n \nAdd or update the following rules in the \"/etc/audit/rules.d/stig.rules\" file: \n \n-a always,exit -F arch=b32 -S delete_module -F auid>=1000 -F auid!=-1 -k module_chng \n-a always,exit -F arch=b64 -S delete_module -F auid>=1000 -F auid!=-1 -k module_chng \n  \nNote: For 32-bit architectures, only the 32-bit specific entries are required.  \n  \nTo reload the rules file, issu...",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep -w delete_module",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-a always,exit -F arch=b32 -S delete_module -F auid>=1000 -F auid!=-1 -k module_chng"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "5c6b12cb173414f5e400063a7dd0133e",
      "name": "UBTU-24-900510 — Ubuntu 24.04 LTS must generate audit records when successful/unsuccessful att...",
      "description": "Ubuntu 24.04 LTS must generate audit records when successful/unsuccessful attempts to modify the /etc/sudoers file occur.",
      "rational": "Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).",
      "remediation": "Configure Ubuntu 24.04 LTS to generate audit records for all modifications that affect \"/etc/sudoers\".  \n\nAdd or update the following rule to \"/etc/audit/rules.d/stig.rules\": \n\n-w /etc/sudoers -p wa -k privilege_modification \n\nTo reload the rules file, issue the following command: \n\n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep sudoers",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-w /etc/sudoers -p wa -k privilege_modification"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "488e42b8903a809216a49a61c7547bbb",
      "name": "UBTU-24-900520 — Ubuntu 24.04 LTS must generate audit records when successful/unsuccessful att...",
      "description": "Ubuntu 24.04 LTS must generate audit records when successful/unsuccessful attempts to modify the /etc/sudoers.d directory occur.",
      "rational": "Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.\n\nAudit records can be generated from various components within the information system (e.g., module or policy filter).",
      "remediation": "Configure Ubuntu 24.04 LTS to generate audit records for all modifications that affect \"/etc/sudoers.d\" directory.  \n\nAdd or update the following rule to \"/etc/audit/rules.d/stig.rules\": \n\n-w /etc/sudoers.d -p wa -k privilege_modification \n\nTo reload the rules file, issue the following command: \n\n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep sudoers.d",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-w /etc/sudoers.d -p wa -k privilege_modification"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "1221bb9e881325d256908c9ee346b107",
      "name": "UBTU-24-900540 — Ubuntu 24.04 LTS must generate audit records for any successful/unsuccessful ...",
      "description": "Ubuntu 24.04 LTS must generate audit records for any successful/unsuccessful use of unlink, unlinkat, rename, renameat, and rmdir system calls.",
      "rational": "Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n \nAudit records can be generated from various components within the information system (e.g., module or policy filter).\n\nThe system call rules are loaded into a m...",
      "remediation": "Configure the audit system to generate audit events for any successful/unsuccessful use of \"unlink\", \"unlinkat\", \"rename\", \"renameat\", and \"rmdir\" system calls. \n \nAdd or update the following rules in the \"/etc/audit/rules.d/stig.rules\" file:\n \n-a always,exit -F arch=b64 -S unlink,unlinkat,rename,renameat,rmdir -F auid>=1000 -F auid!=-1 -k delete \n-a always,exit -F arch=b32 -S unlink,unlinkat,rename,renameat,rmdir -F auid>=1000 -F auid!=-1 -k delete \n\nNote: For 32-bit architectures, only the...",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep 'unlink\\|rename\\|rmdir'",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-a always,exit -F arch=b64 -S unlink,unlinkat,rename,renameat,rmdir -F auid>=1000 -F auid!=-1 -F key=delete"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "49532bec00d3c24ceba43dfdb03bf737",
      "name": "UBTU-24-900590 — Ubuntu 24.04 LTS must generate audit records for the /var/log/wtmp file.",
      "description": "Ubuntu 24.04 LTS must generate audit records for the /var/log/wtmp file.",
      "rational": "Without generating audit records that are specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n \nAudit records can be generated from various components within the information system (e.g., module or policy filter).",
      "remediation": "Configure the audit system to generate audit events showing start and stop times for user access via the \"/var/log/wtmp\" file. \n \nAdd or update the following rules in the \"/etc/audit/rules.d/stig.rules\" file: \n \n-w /var/log/wtmp -p wa -k logins \n  \nTo reload the rules file, issue the following command: \n \n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep '/var/log/wtmp'",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-w /var/log/wtmp -p wa -k logins"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "6c9f151d8e2393e36ec80bc3042a88eb",
      "name": "UBTU-24-900600 — Ubuntu 24.04 LTS must generate audit records for the /var/run/utmp file.",
      "description": "Ubuntu 24.04 LTS must generate audit records for the /var/run/utmp file.",
      "rational": "Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n \nAudit records can be generated from various components within the information system (e.g., module or policy filter).",
      "remediation": "Configure the audit system to generate audit events showing start and stop times for user access via the \"/var/run/utmp\" file. \n \nAdd or update the following rules in the \"/etc/audit/rules.d/stig.rules\" file: \n \n-w /var/run/utmp -p wa -k logins \n  \nTo reload the rules file, issue the following command: \n \n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep '/var/run/utmp'",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-w /var/run/utmp -p wa -k logins"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "12ae9cfa8858b5e6ce1ea4a3eecfec09",
      "name": "UBTU-24-900610 — Ubuntu 24.04 LTS must generate audit records for the /var/log/btmp file.",
      "description": "Ubuntu 24.04 LTS must generate audit records for the /var/log/btmp file.",
      "rational": "Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n \nAudit records can be generated from various components within the information system (e.g., module or policy filter).",
      "remediation": "Configure the audit system to generate audit events showing start and stop times for user access via the \"/var/log/btmp file\". \n \nAdd or update the following rules in the \"/etc/audit/rules.d/stig.rules\" file: \n \n-w /var/log/btmp -p wa -k logins \n  \nTo reload the rules file, issue the following command: \n \n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep '/var/log/btmp'",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-w /var/log/btmp -p wa -k logins"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "6e88088d1862b26c3eaf543a7a84041c",
      "name": "UBTU-24-900740 — Ubuntu 24.04 LTS must generate audit records when successful/unsuccessful att...",
      "description": "Ubuntu 24.04 LTS must generate audit records when successful/unsuccessful attempts to use the kmod command.",
      "rational": "Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n \nAudit records can be generated from various components within the information system (e.g., module or policy filter).",
      "remediation": "Configure Ubuntu 24.04 LTS to audit the execution of the module management program \"kmod\". \n \nAdd or update the following rule in the \"/etc/audit/rules.d/stig.rules\" file: \n \n-w /bin/kmod -p x -k modules \n  \nTo reload the rules file, issue the following command: \n \n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep kmod",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-w /bin/kmod -p x -k module"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "542eba7e93ce42bb6ba74667b6b2830e",
      "name": "UBTU-24-900750 — Ubuntu 24.04 LTS must generate audit records when successful/unsuccessful att...",
      "description": "Ubuntu 24.04 LTS must generate audit records when successful/unsuccessful attempts to use the fdisk command.",
      "rational": "Without generating audit records specific to the security and mission needs of the organization, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. \n \nAudit records can be generated from various components within the information system (e.g., module or policy filter).",
      "remediation": "Configure Ubuntu 24.04 LTS to audit the execution of the partition management program \"fdisk\". \n \nAdd or update the following rule in the \"/etc/audit/rules.d/stig.rules\" file: \n \n-w /usr/sbin/fdisk -p x -k fdisk \n  \nTo reload the rules file, issue the following command: \n \n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep fdisk",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-w /usr/sbin/fdisk -p x -k fdisk"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "c75bd1b02640250a736e07545d83b466",
      "name": "UBTU-24-900920 — Ubuntu 24.04 LTS must allocate audit record storage capacity to store at leas...",
      "description": "Ubuntu 24.04 LTS 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.",
      "rational": "To ensure operating systems have a sufficient storage capacity in which to write the audit logs, operating systems must be able to allocate audit record storage capacity. \n \nThe task of allocating audit record storage capacity is usually performed during initial installation of Ubuntu 24.04 LTS.",
      "remediation": "Allocate enough storage capacity for at least one week's worth of audit records when audit records are not immediately sent to a central audit record storage facility. \n \nIf audit records are stored on a partition made specifically for audit records, use the \"parted\" program to resize the partition with sufficient space to contain one week's worth of audit records. \n \nIf audit records are not stored on a partition made specifically for audit records, a new partition with sufficient amount of...",
      "severity": "Low",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep ^log_file /etc/audit/auditd.conf",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "log_file = /var/log/audit/audit.log"
        },
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo df -h /var/log/audit/",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "/dev/sda2 24G 10.4G 13.6G 43% /var/log/audit"
        },
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo du -sh [audit_partition]",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "1.8G /var/log/audit"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "d8791b1a812111331ad74b2c532dbf20",
      "name": "UBTU-24-900950 — Ubuntu 24.04 LTS must have a crontab script running weekly to offload audit e...",
      "description": "Ubuntu 24.04 LTS must have a crontab script running weekly to offload audit events of standalone systems.",
      "rational": "Information stored in one location is vulnerable to accidental or incidental deletion or alteration. \n \nOffloading is a common process in information systems with limited audit storage capacity.",
      "remediation": "Create a script that offloads audit logs to external media and runs weekly. \n \nThe script must be located in the \"/etc/cron.weekly\" directory.",
      "severity": "Low",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "ls /etc/cron.weekly",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "audit-offload"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "176d026756492ded936818d799a472c4",
      "name": "UBTU-24-900960 — Ubuntu 24.04 LTS must immediately notify the system administrator (SA) and in...",
      "description": "Ubuntu 24.04 LTS must immediately notify the system administrator (SA) and information system security officer (ISSO) (at a minimum) when allocated audit record storage volume reaches 75 percent of the repository maximum audit record storage capacity.",
      "rational": "If security personnel are not notified immediately when storage volume reaches 75 percent utilization, they are unable to plan for audit record storage capacity expansion.",
      "remediation": "Edit \"/etc/audit/auditd.conf\" and set the \"space_left_action\" parameter to \"exec\" or \"email\".  \n \nIf the \"space_left_action\" parameter is set to \"email\", set the \"action_mail_acct\" parameter to an email address for the SA and ISSO. \n \nIf the \"space_left_action\" parameter is set to \"exec\", ensure the command being executed notifies the SA and ISSO. \n \nEdit \"/etc/audit/auditd.conf\" and set the \"space_left\" parameter to be at least 25 percent of the repository maximum audit record storage capacity.",
      "severity": "Low",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep ^space_left_action /etc/audit/auditd.conf",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "space_left_action email"
        },
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep ^space_left /etc/audit/auditd.conf",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "space_left 250000"
        },
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep ^action_mail_acct /etc/audit/auditd.conf",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "action_mail_acct root@localhost"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "989c2fb6ccbf9ef469ae27d6ce0b86f6",
      "name": "UBTU-24-900980 — Ubuntu 24.04 LTS must alert the system administrator (SA) and information sys...",
      "description": "Ubuntu 24.04 LTS must alert the system administrator (SA) and information system security officer (ISSO) (at a minimum) in the event of an audit processing failure.",
      "rational": "It is critical for the appropriate personnel to be aware if a system is at risk of failing to process audit logs as required. Without this notification, the security personnel may be unaware of an impending failure of the audit capability, and system operation may be adversely affected. \n \nAudit processing failures include software/hardware errors, failures in the audit capturing mechanisms, an...",
      "remediation": "Configure \"auditd\" service to notify the SA and ISSO in the event of an audit processing failure.  \n \nEdit the following line in \"/etc/audit/auditd.conf\" to ensure administrators are notified via email for those situations: \n \naction_mail_acct = <administrator_account> \n \nNote: Change \"administrator_account\" to an account for security personnel. \n \nRestart the \"auditd\" service so the changes take effect: \n \n$ sudo systemctl restart auditd.service",
      "severity": "Low",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep '^action_mail_acct' /etc/audit/auditd.conf",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "action_mail_acct = <administrator_account>"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "6728f5714e93f333e49701b6c3c65aff",
      "name": "UBTU-24-901220 — Ubuntu 24.04 LTS must record time stamps for audit records that can be mapped...",
      "description": "Ubuntu 24.04 LTS must record time stamps for audit records that can be mapped to Coordinated Universal Time (UTC) or Greenwich Mean Time (GMT).",
      "rational": "If time stamps are not consistently applied and there is no common time reference, it is difficult to perform forensic analysis. \n \nTime stamps generated by Ubuntu 24.04 LTS include date and time. Time is commonly expressed in Coordinated Universal Time (UTC), a modern continuation of Greenwich Mean Time (GMT), or local time with an offset from UTC.",
      "remediation": "To configure the system time zone to use UTC or GMT, run the following command, replacing [ZONE] with UTC or GMT: \n \n$ sudo timedatectl set-timezone [ZONE]",
      "severity": "Low",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "timedatectl status | grep -i \"time zone\"",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "Time zone: UTC (UTC, +0000)"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "3f48b2d4870c9a80742e29b8df52f081",
      "name": "UBTU-24-901230 — Ubuntu 24.04 LTS must configure audit tools with a mode of \"0755\" or less per...",
      "description": "Ubuntu 24.04 LTS must configure audit tools with a mode of \"0755\" or less permissive.",
      "rational": "Protecting audit information also includes identifying and protecting the tools used to view and manipulate log data. Therefore, protecting audit tools is necessary to prevent unauthorized operation on audit information. \n \nOperating systems providing tools to interface with audit information will leverage user permissions, roles identifying the user accessing the tools, and the corresponding u...",
      "remediation": "Configure the audit tools on Ubuntu 24.04 LTS to be protected from unauthorized access by setting the correct permissive mode using the following command: \n \n$ sudo chmod 0755 [audit_tool] \n \nReplace \"[audit_tool]\" with the audit tool that does not have the correct permissions.",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "stat -c \"%n %a\" /sbin/auditctl /sbin/aureport /sbin/ausearch /sbin/autrace /sbin/auditd /sbin/audispd* /sbin/augenrules | awk '{if ($NF > 755) print}'",
          "selement": "OUTPUT",
          "condition": "EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "6674a1b7c4fde1fb7b0986e57218da62",
      "name": "UBTU-24-901240 — Ubuntu 24.04 LTS must configure audit tools to be owned by root.",
      "description": "Ubuntu 24.04 LTS must configure audit tools to be owned by root.",
      "rational": "Protecting audit information also includes identifying and protecting the tools used to view and manipulate log data. Therefore, protecting audit tools is necessary to prevent unauthorized operation on audit information. \n \nOperating systems providing tools to interface with audit information will leverage user permissions, roles identifying the user accessing the tools, and the corresponding u...",
      "remediation": "Configure the audit tools on Ubuntu 24.04 LTS to be protected from unauthorized access by setting the file owner as root using the following command: \n \n$ sudo chown root [audit_tool] \n \nReplace \"[audit_tool]\" with each audit tool not owned by root.",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "stat -c \"%n %U\" /sbin/auditctl /sbin/aureport /sbin/ausearch /sbin/autrace /sbin/auditd /sbin/audispd* /sbin/augenrules | grep -v \" root$\"",
          "selement": "OUTPUT",
          "condition": "EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "211b6129888e03becb60bf936e177ade",
      "name": "UBTU-24-901250 — Ubuntu 24.04 LTS must configure the audit tools to be group owned by root.",
      "description": "Ubuntu 24.04 LTS must configure the audit tools to be group owned by root.",
      "rational": "Protecting audit information also includes identifying and protecting the tools used to view and manipulate log data. Therefore, protecting audit tools is necessary to prevent unauthorized operation on audit information. \n \nOperating systems providing tools to interface with audit information will leverage user permissions, roles identifying the user accessing the tools, and the corresponding u...",
      "remediation": "Configure the audit tools on Ubuntu 24.04 LTS to be protected from unauthorized access by setting the file group as root using the following command: \n \n$ sudo chown :root [audit_tool] \n \nReplace \"[audit_tool]\" with each audit tool not group owned by root.",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "stat -c \"%n %G\" /sbin/auditctl /sbin/aureport /sbin/ausearch /sbin/autrace /sbin/auditd /sbin/audispd* /sbin/augenrules | grep -v \" root$\"",
          "selement": "OUTPUT",
          "condition": "EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "9fe44c4e73900fe681d242b8a4a30a9c",
      "name": "UBTU-24-901260 — Ubuntu 24.04 LTS must have directories that contain system commands set to a ...",
      "description": "Ubuntu 24.04 LTS must have directories that contain system commands set to a mode of \"0755\" or less permissive.",
      "rational": "Protecting audit information also includes identifying and protecting the tools used to view and manipulate log data. Therefore, protecting audit tools is necessary to prevent unauthorized operation on audit information. \n \nOperating systems providing tools to interface with audit information will leverage user permissions and roles identifying the user accessing the tools and the corresponding...",
      "remediation": "Configure the system commands directories to be protected from unauthorized access. Run the following command: \n \n$ sudo find /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin -perm /022 -type d -exec chmod -R 755 '{}' \\;",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "find /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin -perm /022 -type d -exec stat -c \"%n %a\" '{}' \\;",
          "selement": "OUTPUT",
          "condition": "EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "8420109aa4c25208d5b160104bce7888",
      "name": "UBTU-24-901270 — Ubuntu 24.04 LTS must have directories that contain system commands owned by ...",
      "description": "Ubuntu 24.04 LTS must have directories that contain system commands owned by root.",
      "rational": "Protecting audit information also includes identifying and protecting the tools used to view and manipulate log data. Therefore, protecting audit tools is necessary to prevent unauthorized operation on audit information. \n \nOperating systems providing tools to interface with audit information will leverage user permissions and roles identifying the user accessing the tools and the corresponding...",
      "remediation": "Configure the system commands directories to be protected from unauthorized access. Run the following command: \n \n$ sudo find /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin ! -user root -type d -exec chown root '{}' \\;",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo find /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin ! -user root -type d -exec stat -c \"%n %U\" '{}' \\;",
          "selement": "OUTPUT",
          "condition": "EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "47891b5ec9428eb7f27d3cab012244a9",
      "name": "UBTU-24-901280 — Ubuntu 24.04 LTS must have directories that contain system commands group-own...",
      "description": "Ubuntu 24.04 LTS must have directories that contain system commands group-owned by root.",
      "rational": "Protecting audit information also includes identifying and protecting the tools used to view and manipulate log data. Therefore, protecting audit tools is necessary to prevent unauthorized operation on audit information. \n \nOperating systems providing tools to interface with audit information will leverage user permissions and roles identifying the user accessing the tools and the corresponding...",
      "remediation": "Configure the system commands directories to be protected from unauthorized access. Run the following command: \n \n$ sudo find /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin ! -group root -type d -exec chgrp root '{}' \\;",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo find /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin ! -group root -type d -exec stat -c \"%n %G\" '{}' \\;",
          "selement": "OUTPUT",
          "condition": "EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "7020dfc660e9ecf94fe34d91395fa97b",
      "name": "UBTU-24-200043 — Ubuntu 24.04 LTS must conceal, via the session lock, information previously v...",
      "description": "Ubuntu 24.04 LTS must conceal, via the session lock, information previously visible on the display with a publicly viewable image.",
      "rational": "Setting the screensaver mode to blank-only conceals the contents of the display from passersby.",
      "remediation": "Configure Ubuntu 24.04 LTS to prevent a user from overriding the picture-uri setting for graphical user interfaces.\n\nIn the file \"/etc/dconf/db/local.d/00-security-settings\", add or update the following lines:\n\n[org/gnome/desktop/screensaver]\npicture-uri=''\n\nPrevent user modification by adding the following line to \"/etc/dconf/db/local.d/locks/00-security-settings-lock\":\n\n/org/gnome/desktop/screensaver/picture-uri\n\nUpdate the dconf system databases:\n\n$ sudo dconf update",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "gsettings writable org.gnome.desktop.screensaver picture-uri",
          "selement": "OUTPUT",
          "condition": "NOT EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "beb828850c9a42154be070506344a09b",
      "name": "UBTU-24-901300 — Ubuntu 24.04 LTS must be configured so that audit log files are not read or w...",
      "description": "Ubuntu 24.04 LTS must be configured so that audit log files are not read or write-accessible by unauthorized users.",
      "rational": "Unauthorized disclosure of audit records can reveal system and configuration data to attackers, thus compromising its confidentiality. \n \nAudit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit operating system activity.\n\nSatisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028",
      "remediation": "Configure the audit log files to have a mode of \"0600\" or less permissive. \n \nDetermine where the audit logs are stored with the following command: \n \n$ sudo grep -iw log_file /etc/audit/auditd.conf \n\nlog_file = /var/log/audit/audit.log \n \nUsing the path of the directory containing the audit logs, configure the audit log files to have a mode of \"0600\" or less permissive by using the following command: \n \n$ sudo chmod 0600 /var/log/audit/*",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep -iw log_file /etc/audit/auditd.conf",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "log_file = /var/log/audit/audit.log"
        },
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo stat -c \"%n %a\" /var/log/audit/* | awk '{if ($NF > 600) print}'",
          "selement": "OUTPUT",
          "condition": "EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "cfcf5247259a788e23aac4782d01e9d3",
      "name": "UBTU-24-901310 — Ubuntu 24.04 LTS must be configured to permit only authorized users ownership...",
      "description": "Ubuntu 24.04 LTS must be configured to permit only authorized users ownership of the audit log files.",
      "rational": "Unauthorized disclosure of audit records can reveal system and configuration data to attackers, thus compromising its confidentiality. \n \nAudit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit operating system activity.\n\nSatisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPOS-00029",
      "remediation": "Configure the audit log directory and its underlying files to be owned by \"root\" user. \n \nDetermine where the audit logs are stored with the following command: \n \n$ sudo grep -iw log_file /etc/audit/auditd.conf \n\nlog_file = /var/log/audit/audit.log \n \nUsing the path of the directory containing the audit logs, configure the audit log files to be owned by \"root\" user by using the following command: \n \n$ sudo chown root /var/log/audit/*",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep -iw log_file /etc/audit/auditd.conf",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "log_file = /var/log/audit/audit.log"
        },
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo stat -c \"%n %U\" /var/log/audit/* | grep -v \" root$\"",
          "selement": "OUTPUT",
          "condition": "EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "9e56a70b6b946cbb03239a61222349a8",
      "name": "UBTU-24-901350 — Ubuntu 24.04 LTS must permit only authorized groups ownership of the audit lo...",
      "description": "Ubuntu 24.04 LTS must permit only authorized groups ownership of the audit log files.",
      "rational": "Unauthorized disclosure of audit records can reveal system and configuration data to attackers, thus compromising its confidentiality. \n \nAudit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit operating system activity.\n\nSatisfies: SRG-OS-000057-GPOS-00027, SRG-OS-000058-GPOS-00028, SRG-OS-000059-GPOS-00029",
      "remediation": "Configure the audit log directory and its underlying files to be owned by \"root\" group.\n\nSet the \"log_group\" parameter of the audit configuration file to the \"root\" value so when a new log file is created, its group owner is properly set:\n\n$ sudo sed -i '/^log_group/D' /etc/audit/auditd.conf\n$ sudo sed -i /^log_file/a'log_group = root' /etc/audit/auditd.conf\n\nSignal the audit daemon to reload the configuration file to update the group owners of existing files:\n\n$ sudo systemctl kill auditd -s...",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep -iw log_group /etc/audit/auditd.conf",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "log_group = root"
        },
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep -iw log_file /etc/audit/auditd.conf",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "log_file = /var/log/audit/audit.log"
        },
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo stat -c \"%n %G\" /var/log/audit/* | grep -v \" root$\"",
          "selement": "OUTPUT",
          "condition": "EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "6de1c9e14f62280fbf958aa3c7b849c1",
      "name": "UBTU-24-901380 — Ubuntu 24.04 LTS must be configured so that the audit log directory is not wr...",
      "description": "Ubuntu 24.04 LTS must be configured so that the audit log directory is not write-accessible by unauthorized users.",
      "rational": "If audit information were to become compromised, then forensic analysis and discovery of the true source of potentially malicious system activity is impossible to achieve. \n \nTo ensure the veracity of audit information, Ubuntu 24.04 LTS must protect audit information from unauthorized deletion. This requirement can be achieved through multiple methods, which will depend upon system architecture...",
      "remediation": "Configure the audit log directory to have a mode of \"0750\" or less permissive. \n \nDetermine where the audit logs are stored with the following command: \n \n$ sudo grep -iw ^log_file /etc/audit/auditd.conf \n\nlog_file = /var/log/audit/audit.log \n \nUsing the path of the directory containing the audit logs, configure the audit log directory to have a mode of \"0750\" or less permissive by using the following command: \n \n$ sudo chmod -R  750 /var/log/audit",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep -iw ^log_file /etc/audit/auditd.conf",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "log_file = /var/log/audit/audit.log"
        },
        {
          "type": "condition",
          "element": "FILE",
          "input": "/var/log/audit",
          "selement": "PERMISSION",
          "condition": "LESS THAN",
          "sinput": "750"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "bed4b4b86f89ff99b951910cd4ff386c",
      "name": "UBTU-24-909890 — Ubuntu 24.04 LTS must use cryptographic mechanisms to protect the integrity o...",
      "description": "Ubuntu 24.04 LTS must use cryptographic mechanisms to protect the integrity of audit tools.",
      "rational": "Protecting the integrity of the tools used for auditing purposes is a critical step toward ensuring the integrity of audit information. Audit information includes all information (e.g., audit records, audit settings, and audit reports) needed to successfully audit information system activity. \n \nAudit tools include, but are not limited to, vendor-provided and open source audit tools needed to s...",
      "remediation": "Add or update the following selection lines for \"/etc/aide/aide.conf\" to protect the integrity of the audit tools: \n \n# Audit Tools \n/sbin/auditctl p+i+n+u+g+s+b+acl+xattrs+sha512 \n/sbin/auditd p+i+n+u+g+s+b+acl+xattrs+sha512 \n/sbin/ausearch p+i+n+u+g+s+b+acl+xattrs+sha512 \n/sbin/aureport p+i+n+u+g+s+b+acl+xattrs+sha512 \n/sbin/autrace p+i+n+u+g+s+b+acl+xattrs+sha512 \n/sbin/augenrules p+i+n+u+g+s+b+acl+xattrs+sha512",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "egrep '(\\/sbin\\/(audit|au))' /etc/aide/aide.conf",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "/sbin/auditctl p+i+n+u+g+s+b+acl+xattrs+sha512"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "d7a84aa95f907f0d919028a8d474fb34",
      "name": "UBTU-24-909000 — Ubuntu 24.04 LTS audit system must protect auditing rules from unauthorized c...",
      "description": "Ubuntu 24.04 LTS audit system must protect auditing rules from unauthorized change.",
      "rational": "Unauthorized disclosure of audit records can reveal system and configuration data to attackers, thus compromising its confidentiality. Audit information includes all information (e.g., audit records, audit settings, audit reports) needed to successfully audit Ubuntu 24.04 LTS system activity. In immutable mode, unauthorized users cannot execute changes to the audit system to potentially hide ma...",
      "remediation": "Configure the audit system to set the audit rules to be immutable by adding the following line to the end of \"/etc/audit/rules.d/audit.rules\":\n\n-e 2",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "FILE",
          "input": "/etc/audit/audit.rules",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "-e 2"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "248b518d7fdbef3923d1cd7ee96921cd",
      "name": "UBTU-24-300020 — Ubuntu 24.04 LTS must require users to provide a password for privilege escal...",
      "description": "Ubuntu 24.04 LTS must require users to provide a password for privilege escalation.",
      "rational": "Without reauthentication, users may access resources or perform tasks for which they do not have authorization.\n\nWhen operating systems provide the capability to escalate a functional capability, it is critical that the user reauthenticate.\n\nSatisfies: SRG-OS-000373-GPOS-00156, SRG-OS-000373-GPOS-00157, SRG-OS-000373-GPOS-00158",
      "remediation": "Configure the operating system to not allow users to execute privileged actions without authenticating with a password.\n\nRemove any occurrence of \"NOPASSWD\" found in \"/etc/sudoers\" file or files in the \"/etc/sudoers.d\" directory.\n\n$ sudo find /etc/sudoers /etc/sudoers.d -type f -exec sed -i '/NOPASSWD/ s/^/# /g' {} \\;",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo egrep -iR 'NOPASSWD' /etc/sudoers /etc/sudoers.d/",
          "selement": "OUTPUT",
          "condition": "NOT EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "e8ead9d45566195df8e3d5996ed61314",
      "name": "UBTU-24-300019 — Ubuntu 24.04 LTS must restrict privilege elevation to authorized personnel.",
      "description": "Ubuntu 24.04 LTS must restrict privilege elevation to authorized personnel.",
      "rational": "If the \"sudoers\" file is not configured correctly, any user defined on the system can initiate privileged actions on the target system.",
      "remediation": "Configure the operating system to restrict privilege elevation to authorized personnel.\n\nRemove the following entries from the /etc/sudoers file or any configuration file under /etc/sudoers.d/:\n\nALL     ALL=(ALL) ALL\nALL     ALL=(ALL:ALL) ALL",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo grep -iwR 'ALL' /etc/sudoers /etc/sudoers.d/ | grep -v '#'",
          "selement": "OUTPUT",
          "condition": "NOT EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "24b26d9841a8d4357c8910633341794e",
      "name": "UBTU-24-200270 — Ubuntu 24.04 LTS must audit any script or executable called by cron as root o...",
      "description": "Ubuntu 24.04 LTS must audit any script or executable called by cron as root or by any privileged user.",
      "rational": "Any script or executable called by cron as root or by any privileged user must be owned by that user, must have the permissions 755 or more restrictive, and should have no extended rights that allow any nonprivileged user to modify the script or executable.",
      "remediation": "Configure Ubuntu 24.04 LTS to audit the execution of any system call made by cron as root or as any privileged user.\n\nAdd or update the following file system rules to \"/etc/audit/rules.d/audit.rules\":\n-w /etc/cron.d/ -p wa -k cronjobs\n-w /var/spool/cron/ -p wa -k cronjobs\n\nTo load the rules to the kernel immediately, use the following command:\n\n$ sudo augenrules --load",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep /etc/cron.d",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-w /etc/cron.d -p wa -k cronjobs"
        },
        {
          "type": "condition",
          "element": "CMD",
          "input": "sudo auditctl -l | grep /var/spool/cron",
          "selement": "OUTPUT",
          "condition": "CONTAINS",
          "sinput": "-w /var/spool/cron -p wa -k cronjobs"
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "34a0e6dce1814c9ba9f16940ea6acd2f",
      "name": "UBTU-24-200041 — Ubuntu 24.04 LTS must prevent a user from overriding the disabling of the gra...",
      "description": "Ubuntu 24.04 LTS must prevent a user from overriding the disabling of the graphical user interface autorun function.",
      "rational": "Techniques used to address this include protocols using nonces (e.g., numbers generated for a specific one-time use) or challenges (e.g., TLS, WS_Security). Additional techniques include time-synchronous or challenge-response one-time authenticators.\n\nSatisfies: SRG-OS-000114-GPOS-00059, SRG-OS-000378-GPOS-00163, SRG-OS-000480-GPOS-00227",
      "remediation": "Configure the Ubuntu 24.04 LTS GNOME desktop to not allow a user to change the setting that disables autorun on removable media.\n\nAdd the following line to \"/etc/dconf/db/local.d/locks/00-security-settings-lock\" to prevent user modification:\n\n/org/gnome/desktop/media-handling/autorun-never\n\nUpdate the dconf system databases:\n\n$ sudo dconf update",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "gsettings writable org.gnome.desktop.media-handling autorun-never",
          "selement": "OUTPUT",
          "condition": "NOT EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "0cadedbbeab60308e94176d19bca002c",
      "name": "UBTU-24-200042 — Ubuntu 24.04 LTS must prevent a user from overriding the disabling of the gra...",
      "description": "Ubuntu 24.04 LTS must prevent a user from overriding the disabling of the graphical user smart card removal action.",
      "rational": "A session lock is a temporary action taken when a user stops work and moves away from the immediate physical vicinity of the information system but does not want to log out because of the temporary nature of the absence.\n\nThe session lock is implemented at the point where session activity can be determined. Rather than be forced to wait for a period of time to expire before the user session can...",
      "remediation": "Configure Ubuntu 24.04 LTS to prevent a user from overriding the disabling of the graphical user smart card removal action.\n\nAdd the following line to \"/etc/dconf/db/local.d/locks/00-security-settings-lock\":\n\n/org/gnome/settings-daemon/peripherals/smartcard/removal-action\n\nUpdate the dconf system databases:\n\n$ sudo dconf update",
      "severity": "Medium",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "CMD",
          "input": "gsettings writable org.gnome.settings-daemon.peripherals.smartcard removal-action",
          "selement": "OUTPUT",
          "condition": "NOT EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "2a31a597d91e67061db19beec87add61",
      "name": "UBTU-24-700400 — Ubuntu 24.04 LTS must be a vendor-supported release.",
      "description": "Ubuntu 24.04 LTS must be a vendor-supported release.",
      "rational": "An operating system release is considered \"supported\" if the vendor continues to provide security patches for the product. With an unsupported release, it will not be possible to resolve security issues discovered in the system software.\n\nThe support status of the OS depends on its subscription status.  \n\nEnd Of Life dates for Ubuntu 24.04 releases are as follows:\nStandard Support: April 2029\nE...",
      "remediation": "Upgrade to a supported version of Ubuntu 24.04 LTS.",
      "severity": "High",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "FILE",
          "input": "/etc/lsb-release",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "DISTRIB_DESCRIPTION=\"Ubuntu 24.04.3 LTS\""
        },
        {
          "type": "condition",
          "element": "CMD",
          "input": "pro status",
          "selement": "OUTPUT",
          "condition": "NOT EQUALS",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    },
    {
      "external_id": "2e6f76c699fe0b077a5a146901dbad71",
      "name": "UBTU-24-100050 — Ubuntu 24.04 LTS must not have the nfs-kernel-server package installed.",
      "description": "Ubuntu 24.04 LTS must not have the nfs-kernel-server package installed.",
      "rational": "It is detrimental for operating systems to provide, or install by default, functionality exceeding requirements or mission objectives. These unnecessary capabilities or services are often overlooked and therefore may remain unsecured. They increase the risk to the platform by providing additional attack vectors. \n \nOperating systems are capable of providing a wide variety of functions and servi...",
      "remediation": "Configure Ubuntu 24.04 LTS to disable non-essential capabilities by removing the nfs-common and nfs-kernel-server packages from the system with the following commands:\n\nRemove packages if present:\n$ sudo apt purge --yes nfs-common nfs-kernel-server\n\nRemove any unneeded dependencies\n$ sudo apt autoremove --yes\n\nVerify NFS services are gone:\n$ sudo systemctl list-units --type=service | grep nfs",
      "severity": "High",
      "filter": null,
      "app_filter": null,
      "conditions": [
        {
          "type": "condition",
          "element": "PACKAGE",
          "input": "nfs-common",
          "selement": "NOT EXISTS",
          "condition": "",
          "sinput": ""
        },
        {
          "type": "condition",
          "element": "PACKAGE",
          "input": "nfs-kernel-server",
          "selement": "NOT EXISTS",
          "condition": "",
          "sinput": ""
        }
      ],
      "applicability": [
        {
          "type": "applicability",
          "element": "OS",
          "input": "",
          "selement": "CONTENT",
          "condition": "CONTAINS",
          "sinput": "Ubuntu"
        }
      ]
    }
  ]
}
