spec.md 789 B

MODIFIED Requirements

Requirement: SSH is hardened

The base role SHALL configure SSH to disable password authentication, disable root login, and only allow key-based authentication. The SSH port SHALL be configurable per host via ssh_port, defaulting to 22.

Scenario: SSH hardening applied

  • WHEN the base role completes
  • THEN /etc/ssh/sshd_config has PasswordAuthentication no, PermitRootLogin no, and PubkeyAuthentication yes
  • THEN the sshd Port directive uses the host's ssh_port value
  • THEN the sshd service is restarted

Scenario: Custom SSH port per host

  • WHEN a host defines ssh_port: 2222 in inventory
  • THEN sshd listens on port 2222
  • THEN UFW allows port 2222 instead of 22
  • THEN fail2ban monitors port 2222