Ubuntu · Accounts & authentication

Show a legal warning before login, without system details

When it fails: The login prompt shows the operating system version and no legal warning. The banner helps attackers fingerprint the system and gives no legal notice that access is restricted.

CB-UBU-AUTH-001lowactiveautomatedautomated fixprofile core

As released in v0.1.1 (beta). Current state.

Description

/etc/issue is printed before local console logins and /etc/issue.net before network logins of services that use it. On Ubuntu both contain the distribution name and full version (Ubuntu 24.04.5 LTS). The escape sequences \s, \r, \v and \m, if added, print the kernel name, release, version and architecture.

The SSH server only shows a banner when its Banner option is set; that is covered with the other SSH settings.

Rationale

A banner that states access is restricted and monitored supports legal action against intruders in many jurisdictions. Version details in the banner help an attacker pick exploits without any interaction with the system.

Impact

None known. Administrators who want the version still get it from uname -a after login.

Setting

Location/etc/issue, /etc/issue.net
DefaultDistribution name and version
Recommended{{ banner_text }}

Parameters

ParameterCoreServerServer hardenedDesktopDesktop hardenedBounds
banner_textstring. Text of the legal warning. It must not name the operating system or its version.Authorized use only. Activity on this system is monitored and recorded.Authorized use only. Activity on this system is monitored and recorded.Authorized use only. Activity on this system is monitored and recorded.Authorized use only. Activity on this system is monitored and recorded.Authorized use only. Activity on this system is monitored and recorded.

The value used is your override (tailoring file), else the profile's, else the one of the profile it extends, else the default. Bounds limit what an override may set.

Audit

  1. Read /etc/issue and /etc/issue.net. Both must contain a warning and no OS name or version.
  2. Neither file may contain the escape sequences \m, \r, \s or \v.

Automated: every check must pass. Scanners report each check by its id.

issue-present

/etc/issue has some text.

path: /etc/issue
pattern: \w

issue-no-os

/etc/issue does not reveal the system.

path: /etc/issue
pattern: \\[mrsv]|Ubuntu|Debian|GNU/Linux
expect: no_match

issue-net-present

/etc/issue.net has some text.

path: /etc/issue.net
pattern: \w

issue-net-no-os

/etc/issue.net does not reveal the system.

path: /etc/issue.net
pattern: \\[mrsv]|Ubuntu|Debian|GNU/Linux
expect: no_match

Remediation

Replace the content of /etc/issue and /etc/issue.net with the warning text: "{{ banner_text }}"

Restartnone
Disruptionnone

Rollback

Restore the files from the backup, or write Ubuntu <version> LTS \n \l back to /etc/issue.

write

for f in /etc/issue /etc/issue.net; do
  cb_backup "$f"
  printf '%s\n' "$CB_BANNER_TEXT" >"$f"
  chmod 644 "$f"
done

Handwritten code reads parameters from CB_<NAME> environment variables. Each release turns these fixes into remediate.sh and an Ansible role per profile: dry run by default, a fix runs only when its check fails.

References

Mappings

FrameworkIDRelation
NIST SP 800-53 Rev. 55.1.1AC-8partial

How this control relates to the other framework's: equivalent, stricter, looser, partial or related.

Threats mitigated

People and lifecycle

Authors
Verified2026-10-19 by Sn0wAlice on 20.04, Proxmox VM, Ubuntu 20.04 cloud image, kernel 5.4.0-216-generic. Fails on a fresh install as expected; generated fix, check again and second fix idempotent; kept after reboot; profiles core and server-hardened.
Verified2026-10-19 by Sn0wAlice on 22.04, Proxmox VM, Ubuntu 22.04 cloud image, kernel 5.15.0-198-generic. Fails on a fresh install as expected; generated fix, check again and second fix idempotent; kept after reboot; profiles core and server-hardened.
Verified2026-10-19 by Sn0wAlice on 24.04, Proxmox VM, Ubuntu 24.04 cloud image, kernel 6.8.0-147-generic. Fails on a fresh install as expected; generated fix, check again and second fix idempotent; kept after reboot; profiles core and server-hardened.
Verified2026-10-19 by Sn0wAlice on 26.04, Proxmox VM, Ubuntu 26.04 cloud image, kernel 7.0.0-38-generic. Fails on a fresh install as expected; generated fix, check again and second fix idempotent; kept after reboot; profiles core and server-hardened.
Introduced inv0.1.0
Created, updated2026-10-19, 2026-10-19
Translationsfr