Skip to content
Cryptography
ASD ISMISM-0484

ASD ISM 0484 Configure SSH for secure server access

What it says

The SSH daemon is configured to: - only listen on the required interfaces (ListenAddress xxx.xxx.xxx.xxx) - have a suitable login banner (Banner x) - have a login authentication timeout of no more than 60 seconds (LoginGraceTime 60) - disable host-based authentication (HostbasedAuthentication no) - disable rhosts-based authentication (IgnoreRhosts yes) - disable the ability to log in directly as root (PermitRootLogin no) - disable empty passwords (PermitEmptyPasswords no) - disable connection forwarding (AllowTCPForwarding no) - disable gateway ports (GatewayPorts no) - disable X11 forwarding (X11Forwarding no).

Quoted as published. Everything else on this page is written by Control Stack.

What it means

In plain English

Ensure SSH settings enhance security by limiting access, disabling risky features, and ensuring safe login practices.

This control is all about setting up a safe digital lock on your servers. If not done, strangers could enter your systems, potentially accessing sensitive information or causing disruptions.

Why it matters

Without secure SSH settings, unauthorised users could exploit server access, leading to data breaches or operational failures.

How to implement

  1. Your IT team should ensure that the server only listens for connections on necessary network interfaces.

    They can do this by editing the SSH configuration file to include the 'ListenAddress' setting with the required IP address.

  2. The IT manager should establish a firm but polite login message.

    This can be done by creating a text file with a welcome message and updating the SSH 'Banner' setting to point to this file.

  3. IT staff should set a short grace period for logging in, like 60 seconds.

    They can set this by changing the 'LoginGraceTime' in the SSH settings to prevent potential intruders from taking too long.

  4. Ensure that only authorised users have access by disabling the root login directly.

    IT can do this by adding 'PermitRootLogin no' to the SSH configuration, forcing users to authenticate as normal users first.

  5. Prevent the use of insecure login methods by turning off host-based and 'rhost' authentication.

    This is done by setting 'HostbasedAuthentication no' and 'IgnoreRhosts yes' in the configuration.

Keep it running

Regularly review SSH configurations for changes. Ensure security settings stay aligned with evolving threats and best practices.

Evidence and audit

  1. Check 1 of 5What an auditor asks for

    Ask for

    the SSH configuration file.

    Look at

    details like 'ListenAddress' and 'PermitRootLogin'.

    Good evidence

    proper settings matching the control requirements.

  2. Check 2 of 5What an auditor asks for

    Good evidence

    shows a clear message that complies with organisational policies.

  3. Check 3 of 5What an auditor asks for

    Ask for

    the SSH service logs to verify the 'LoginGraceTime' is enforced. Check recorded sessions for time limits.

    Good evidence

    login attempts have a 60-second window.

  4. Check 4 of 5What an auditor asks for

    Look at

    evidence of 'PermitRootLogin' set to 'no'.

    Good evidence

    outcome shows this practice is documented and implemented.

  5. Check 5 of 5What an auditor asks for

    Ask for

    security audit reports on SSH settings.

    Look at

    conclusions and recommendations. Good reports confirm all insecure practices are disabled or controlled.

Mappings

Closest match in ISO/IEC 27001: A.8.5, Secure authentication technologies and procedures, which this control covers in full and more.

ISO 27001

ISO/IEC 27001: 4 mappings

Mappings show how controls relate across frameworks. They do not imply full equivalence or certification.