siw36.ansible_ssh_hardening

ansible-ssh-hardening

Rol de Ansible Puntuación de Calidad de Ansible Rol de Ansible

Este rol realiza tareas básicas de endurecimiento de SSH, incluyendo:

  • Cambiar el puerto SSH
  • Desactivar la autenticación por contraseña de SSH
  • Configurar opciones de SELinux
  • Permitir el nuevo puerto SSH en firewalld
  • Instalar y configurar fail2ban para SSH

Obtener este rol

ansible-galaxy install --roles-path ./roles/ siw36.ansible_ssh_hardening

Requisitos

  • Sistema operativo basado en RHEL (RHEL/CentOS/Fedora)
  • Python 3 como intérprete de Python por defecto
  • El usuario utilizado en el host remoto debe tener permisos para ejecutar comandos sudo sin que se le solicite confirmación de contraseña.

Variables del Rol

Nombre Descripción Valor por defecto
sshPort Nuevo puerto SSH 1337
f2bEnabled Habilitar fail2ban para SSH true
f2bRetries Cantidad de intentos fallidos permitidos antes de banear 5
f2bBanTime Tiempo de baneo en segundos 3600
f2bIgnoreIP Lista de IPs/Subredes ignoradas 127.0.0.1/32
vmAdmins Lista de cuentas de usuario y claves SSH públicas que deben tener acceso a la máquina <ninguno - opcional>
allowedInterfaces Lista de interfaces de red donde el servicio SSHD debe estar disponible <ninguno - opcional>

Ejemplo de Playbook

playbook.yml

- hosts: servers
  become: true
  roles:
     - siw36.ansible_ssh_hardening

vars/main.yml

vmAdmins:
  - user: siw36
    sshKey: ssh-rsa xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx siw36
allowedInterfaces:
  - eth0

Licencia

Licencia Pública General de GNU v3.0

Información del Autor

Creado por Robin 'siw36' Klussmann (07/2019)

Acerca del proyecto

Role to perform basic SSH hardening

Instalar
ansible-galaxy install siw36.ansible_ssh_hardening
Licencia
Unknown
Descargas
158
Propietario
Platform & DevOps Engineer