prefacio
Nuestra “amistad” comenzó hace dos años. Llegué a un nuevo lugar de trabajo, donde el administrador anterior casualmente me dejó este software como herencia. No pude encontrar nada en Internet más que documentación oficial. Incluso ahora, si buscas en Google “timón”, en el 99% de los casos aparecerá: timones de barcos y cuadricópteros. Logré encontrar un acercamiento a él. Dado que la comunidad de este software es insignificante, decidí compartir mi experiencia y ganar dinero. Creo que esto será útil para alguien.
Entonces timón
Rudder es una utilidad de gestión de configuración y auditoría de código abierto que ayuda a automatizar la configuración del sistema. Funciona según el principio de instalar un agente para cada usuario final. A través de una interfaz conveniente, podemos monitorear en qué medida nuestra infraestructura cumple con todas las políticas especificadas.
el uso de
A continuación enumeraré para qué uso Rudder.
-
Control de archivos y configuraciones: ./ssh/authorized_keys; /etc/hosts; iptables; (y luego adónde te lleva tu imaginación)
-
Control de paquetes instalados: zabbix.agent o cualquier otro software
Instalación del servidor
Recientemente actualicé de la versión 5 a la 6.1, todo salió bien. A continuación se muestran los comandos para Deban/Ubuntu pero también hay soporte:
Ocultaré la instalación en spoilers para no distraerte.
Spoiler
Dependencias
rudder-server requiere Java RE al menos versión 8, se puede instalar desde el repositorio estándar:
Comprobando si está instalado
java -version
si la conclusión
-bash: java: command not found
luego instalar
apt install default-jre
Servidor
Importando la clave
wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -
Aquí está la impresión en sí.
pub 4096R/474A19E8 2011-12-15 Rudder Project (release key) <[email protected]>
Key fingerprint = 7C16 9817 7904 212D D58C B4D1 9322 C330 474A 19E8
Como no tenemos una suscripción paga, agregamos el siguiente repositorio
echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list
Actualizar la lista de repositorios e instalar el servidor.
apt update
apt install rudder-server-root
Crear administrador de usuario
rudder server create-user -u admin -p "Ваш Пароль"
En el futuro podremos administrar usuarios a través de la configuración.
Eso es todo, el servidor está listo.
Ajuste del servidor
Ahora necesita agregar las direcciones IP de los agentes o una subred completa al agente de timón, nos centramos en la política de seguridad.
Configuración -> General
En el campo "Agregar una red", ingrese la dirección y la máscara en el formato xxxx/xx. Para permitir el acceso desde todas las direcciones de la red interna (a menos que, por supuesto, se trate de una red de prueba y esté detrás de NAT), ingrese: 0.0.0.0/0
Importante: después de agregar la dirección IP, no olvide hacer clic en Guardar cambios; de lo contrario, no se guardará nada.
Puertos
Abra los siguientes puertos en el servidor
-
443-tcp
-
5309-tcp
-
514-udp
Hemos solucionado la configuración inicial del servidor.
Instalación del agente
Spoiler
Agregar una clave
wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -
Huella digital clave
pub 4096R/474A19E8 2011-12-15 Rudder Project (release key) <[email protected]>
Key fingerprint = 7C16 9817 7904 212D D58C B4D1 9322 C330 474A 19E8
Agregar un repositorio
echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list
Instalación del agente
apt update
apt install rudder-agent
Configuración del agente
Indicamos al agente la dirección IP del servidor de políticas
rudder agent policy-server <rudder server ip or hostname> #Без скобок. Можно также использовать доменное имя
Al ejecutar el siguiente comando enviaremos una solicitud para agregar un nuevo agente al servidor, en un par de minutos aparecerá en la lista de nuevos agentes, explicaré cómo agregar en la siguiente sección
rudder agent inventory
También podemos forzar al agente a iniciar y enviará la solicitud al instante.
rudder agent run
Nuestro agente está configurado, sigamos adelante.
Agregar agentes
Acceso
https://127.0.0.1/rudder/index.html
Su agente aparecerá en la sección “Aceptar nuevos nodos”, marque la casilla y haga clic en Aceptar
Debería tomar un poco de tiempo hasta que el sistema verifique el cumplimiento del servidor.
Crear grupos de servidores
Creemos un grupo (eso sigue siendo entretenimiento), no tengo idea de por qué los desarrolladores hicieron una formación de grupo tan atroz, pero según tengo entendido, no hay otra manera. Vaya a la sección Gestión de nodos -> Grupos y haga clic en Crear, seleccione un grupo estático y un nombre.
Filtramos el servidor que necesitamos por características especiales, por ejemplo, por dirección IP, y guardamos
El grupo está formado.
Configurar reglas
Vaya a Política de configuración → Reglas y cree una nueva regla
Agregue el grupo preparado anteriormente (esto se puede hacer más tarde)
Y formamos una nueva directiva.
Creemos una directiva para agregar claves públicas a .ssh/authorized_keys. Lo uso cuando un nuevo empleado se va, o para reaseguro, por ejemplo, si alguien accidentalmente corta mi llave.
Vaya a Política de configuración → Directivas, a la izquierda vemos “Biblioteca de directivas”. Busque “Acceso remoto → Claves autorizadas SSH”, a la derecha haga clic en Crear directiva.
Ingresamos información sobre el usuario y agregamos su clave. A continuación, seleccione la política de la aplicación.
-
Global: política predeterminada
-
Aplicar: ejecutar en servidores seleccionados
-
Auditoría: realizará una auditoría e indicará qué clientes tienen la clave.
Asegúrate de indicar nuestra regla.
Luego guarda y listo.
Cheque
Clave agregada exitosamente
bollos
El agente proporciona información completa sobre el servidor. Listas de paquetes instalados, interfaces, puertos abiertos y mucho más, que puedes ver en la siguiente captura de pantalla
También puedes instalar y controlar el software no sólo en Linux sino también en Windows, no comprobé este último, no era necesario.
Del autor
Quizás se pregunte, ¿por qué reinventar la rueda si ansible y Puppet ya se inventaron hace mucho tiempo?
Respondo: Ansible tiene algunos inconvenientes, por ejemplo, no vemos en qué estado se encuentra esta configuración ahora, o la situación familiar cuando inicias un rol o un libro de jugadas y aparecen errores de falla, y comienzas a subir al servidor y ver qué paquete se ha actualizado y dónde. Y simplemente no trabajé con títeres...
¿Tiene Rudder alguna desventaja? Mucho... Empezando por el hecho de que los agentes se caen y hay que reinstalarlos o usar el comando de reinicio del timón. (pero, por cierto, todavía no he visto esto en la versión 6), lo que resulta en una configuración extremadamente compleja y una interfaz ilógica.
¿Hay alguna ventaja? Y también hay muchas ventajas: a diferencia del conocido Ansible, tenemos una interfaz web en la que puedes ver el cumplimiento que hemos aplicado. Por ejemplo, ¿qué puertos sobresalen del mundo?, ¿cuál es el estado del firewall?, ¿hay agentes de seguridad instalados u otros dispositivos?
Este software es perfecto para el departamento de seguridad de la información, ya que el estado de la infraestructura siempre estará frente a tus ojos, y si alguna de las reglas se ilumina en rojo, entonces este es un motivo para visitar el servidor. Como dije, llevo 2 años usando Rudder y si lo fumas un poco, la vida mejora. Lo más difícil en una gran infraestructura es que no recuerdas en qué estado se encuentra el servidor, si June no instaló agentes de seguridad o si configuró iptables correctamente, pero timón te ayudará a estar al tanto de todos los eventos. ¡Consciente significa armado! )
PD: Resultó mucho más de lo que planeé, no describiré cómo instalar paquetes, si de repente hay solicitudes, escribiré una segunda parte.
PSS El artículo es para fines informativos, decidí compartirlo ya que hay muy poca información en Internet. Quizás esto sea interesante para alguien. Que tengan un buen día, queridos amigos)
Sobre los derechos de publicidad
Servidores épicos - es
Fuente: habr.com