DNS
Al menos con las versiones de sal que probé (2014.1.13, envío con Debian Jessie), el minion de sal todavía buscará un maestro de sal, independientemente de si file_client
se ha configurado como local o no. Como consecuencia, la seguridad de su máquina depende en gran medida de la confiabilidad de su DNS.
De forma predeterminada, un minion acepta comandos de cualquier máquina llamada salt
en su espacio de nombres. Entonces, si su máquina se llama minion.example.com
, y hay otra máquina llamada salt.example.com
, el siervo aceptará con gusto los comandos de ese maestro. El maestro tiene que confirmar que la llave del siervo (con la clave de sal), pero no al revés. Una computadora portátil que ejecuta un minion de sal y está conectada a una red no confiable es altamente vulnerable.
Sugiero agregar algo como 127.0.0.2 salt.example.com
a su archivo / etc / hosts por ese motivo.
Repositorio de configuraciones
Esto no es específico de Salt, pero vale la pena mencionarlo: una gran ventaja de los sistemas de administración de la configuración es mantener las configuraciones en el código que se puede mantener en un sistema de control de versiones. La seguridad de todos los sistemas se basa en la integridad del repositorio respectivo. Si existe la menor duda sobre si alguien podría jugar con el código en el repositorio, recomendaría firmar criptográficamente todas las confirmaciones y verificar las firmas antes de ejecutar la última comprobación. Git tiene la opción --sign para confirmar. La última confirmación se puede verificar con git verify-commit HEAD .