triplepoint.secure_device
Introducción
El objetivo de este rol es configurar una máquina de la manera más genérica posible, lo suficientemente segura como para estar expuesta a Internet y que no se bloquee inmediatamente.
A un alto nivel:
- Instalar Fail2ban para dificultar los intentos de autenticación maliciosos.
- Deshabilitar el acceso SSH para el usuario
root
. - Deshabilitar la autenticación SSH por contraseña para todos (solo claves).
- Deshabilitar el acceso SSH y
sudo
para todos, y crear y configurar un conjunto de usuarios aprobados. - Limitar el acceso SSH a un rango específico de direcciones IP.
- Instalar
ufw
y deshabilitar todo el tráfico, con excepciones de puerto configurables (opcional). - Instalar
unattended-upgrades
y configurarlo para actualizaciones automáticas de seguridad de paquetes apt. - Instalar un servidor
ntp
para asegurar un tiempo de sistema confiable. - Instalar
logwatch
y configurarlo para enviar informes diarios de registros a una dirección de correo electrónico de administrador.
Obviamente, este rol es mejor revisarlo en detalle antes de utilizarlo, ya que no se pueden hacer garantías sobre la seguridad.
Requerimientos
Ninguno.
Variables de Rol
Consulte el comentario en el archivo de variables predeterminadas para obtener información sobre la configuración.
Dependencias
Ninguna.
Ejemplo de Playbook
- hosts: cualquier
roles:
- triplepoint.secure_device
Pruebas del Rol
Este rol se prueba con molecule
, utilizando pipenv
para manejar dependencias y el entorno de pruebas de Python.
Configurando Tu Entorno de Ejecución
pip install pipenv
Una vez que tengas pipenv
instalado, puedes construir el entorno virtual de ejecución con:
pipenv install --dev
Ejecutando Pruebas
Una vez que tu entorno esté configurado, puedes ejecutar molecule
con:
pipenv run molecule test
Regenerando el Archivo de Bloqueo
No deberías tener que hacer esto muy a menudo, pero si cambias los requisitos de paquetes de Python usando comandos pipenv install {some_package}
o editando directamente el Pipfile
, o si encuentras que las dependencias de construcción han quedado desactualizadas, puede que necesites regenerar el Pipfile.lock
.
pipenv update --dev
Asegúrate de registrar el Pipfile.lock
regenerado cuando este proceso esté completo.
Licencia
MIT
A role responsible for some basic security tweaks for internet-facing machines
ansible-galaxy install triplepoint.secure_device