Hardening de OS y SSH

En esta entrada se definen los pasos a seguir para hacer hardening de OS y SSH una Raspberry Pi y posteriormente poder desplegar una serie de servicios securizados.

1. Configuración SSH

En el siguiente paso es necesario copiar la clave pública al archivo ~/.ssh/authorized_keys de la RaspberryPi. Para ello se utilizará el siguiente comando:

ssh-copy-id -i <identity.pub> pi@<ip de la raspberry o node-1>

Ahora nos pedirá la contraseña de nuestra clave SSH y nos conectaremos a la RaspberryPi mediante:

ssh pi@node-1

2. Instalación de Ansible

  • Debian
sudo apt install -y ansible
  • Arch:
sudo pacman -Sy ansible

3. Configuración OS y SSH usando Ansible

3.1. Usando una colección

  • Instalación:
ansible-galaxy install dev-sec.os-hardening
ansible-galaxy install dev-sec.ssh-hardening
  • Crea un playbook para cada rol de ansible llamado ansible-os-hardening.yaml y ansible-ssh-hardening.yaml.

  • Ejecuta estos playbooks con los siguientes comandos:

ansible-playbook ansible-os-hardening.yaml --ask-become-pass
ansible-playbook ansible-ssh-hardening.yaml --ask-become-pass

3.2. Usando un playbook básico

  • Añade tu clave ssh en un ssh-agent usando zsh (o bash):
ssh-agent zsh
ssh-add ~/.ssh/id_ed25519
  • Ejecutar el playbook de ansible con la contraseña sudo requerida para los comandos:
ansible-playbook playbook.yaml --ask-become-pass