siw36.ansible_ssh_hardening
ansible-ssh-hardening
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)
Instalar
ansible-galaxy install siw36.ansible_ssh_hardening
Licencia
Unknown
Descargas
158
Propietario
Platform & DevOps Engineer