Instalación y operación de 'Rudder'

Instalación y operación de 'Rudder'

Prólogo

Nuestra "amistad" comenzó hace dos años. Llegué a un nuevo trabajo donde el administrador anterior me dejó esta herramienta como herencia. En Internet, aparte de la documentación oficial, no encontré nada más. Incluso ahora, si buscas "rudder" en Google, en el 99% de los casos se refiere a timones de barcos y drones. Logré encontrar la manera de usarlo. Dado que la comunidad de este software es insignificante, decidí compartir mi experiencia y dificultades. Creo que será útil para alguien.

Así que, Rudder

Rudder es una herramienta de auditoría y gestión de configuración de código abierto que ayuda a automatizar la configuración del sistema. Funciona con el principio de instalar un agente en cada usuario final. A través de una interfaz fácil de usar, podemos observar cuán bien nuestra infraestructura cumple con todas las políticas establecidas.

Uso

A continuación, enumeraré para qué utilizo Rudder.

  • Control de archivos y configuraciones: .\/ssh\/authorized_keys; \/etc\/hosts; iptables; (y qué más se me ocurra)

  • 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 presentarán los comandos para Debian\/Ubuntu, pero también hay soporte para: RHEL\/CentOS y Sles.

Ocultaré la instalación en spoilers para no distraerles.

Spoiler

Dependencias

Para el rudder-server se requiere Java RE, mínimo la versión 8, se puede instalar desde el repositorio estándar:

Verificamos si está instalada

java -version

si la salida

-bash: java: command not found

entonces instalamos

apt install default-jre

Servidor

Importamos la clave

wget --quiet -O- "https:\/\/repository.rudder.io\/apt\/rudder_apt_key.pub" | sudo apt-key add -

Aquí está la huella digital

pub  4096R\/474A19E8 2011-12-15 Rudder Project (clave de liberación) 
      Huella de clave = 7C16 9817 7904 212D D58C  B4D1 9322 C330 474A 19E8

Como no tenemos una suscripción paga, añadimos el siguiente repositorio

echo "deb http:\/\/repository.rudder.io\/apt\/6.1\/ $(lsb_release -cs) main" > \/etc\/apt\/sources.list.d\/rudder.list

Actualizamos la lista de repositorios e instalamos el servidor

apt update
apt install rudder-server-root

Creamos un usuario admin

rudder server create-user -u admin -p "Tu Contraseña"

Más adelante podemos gestionar usuarios a través de la configuración

Listo, el servidor está preparado.

Configuración del servidor

Ahora es necesario agregar las direcciones IP de los agentes de Rudder o toda una subred, según la política de seguridad.

Configuraciones —> General

Instalación y operación de 'Rudder'

En el campo «Add a network» escribimos la dirección y la máscara en el formato x.x.x.x/xx. Para permitir el acceso desde todas las direcciones de la red interna (si es que es una red de prueba y estás detrás de NAT) escribimos: 0.0.0.0/0

Importante: después de añadir la dirección IP, no olvides hacer clic en Save changes, de lo contrario no se guardará nada.

Puertos

En el servidor abrimos los siguientes puertos

  • 443 — tcp

  • 5309 — tcp

  • 514 — udp

Hemos comprendido la configuración inicial del servidor.

Instalación del Agente

Spoiler

Añadimos la clave

wget --quiet -O- "https:\/\/repository.rudder.io\/apt\/rudder_apt_key.pub" | sudo apt-key add -

Huella de la clave

pub  4096R\/474A19E8 2011-12-15 Rudder Project (clave de liberación) 
      Huella de clave = 7C16 9817 7904 212D D58C  B4D1 9322 C330 474A 19E8

Añadimos el repositorio

echo "deb http:\/\/repository.rudder.io\/apt\/6.1\/ $(lsb_release -cs) main" > \/etc\/apt\/sources.list.d\/rudder.list

Instalamos el agente

apt update
apt install rudder-agent

Configuración del agente

Especificamos al agente la dirección IP del servidor de políticas

rudder agent policy-server  #Sin paréntesis. También se puede usar el nombre de dominio 

Al ejecutar el siguiente comando, enviaremos una solicitud para añadir un nuevo agente al servidor, en unos minutos aparecerá en la lista de nuevos agentes, cómo añadirlo lo explicaré en la siguiente sección

rudder agent inventory

También podemos ejecutar el agente forzosamente y él enviará la solicitud de inmediato

rudder agent run

Nuestro agente está configurado, continuamos.

Añadiendo agentes

Iniciamos sesión

https://127.0.0.1/rudder/index.html

Instalación y operación de 'Rudder'

En la sección «Accept new nodes» aparecerá tu agente, marcamos la casilla y hacemos clic en Accept

Instalación y operación de 'Rudder'

Debería pasar un poco de tiempo mientras el sistema verifica al servidor por su cumplimiento

Creación de grupos de servidores

Crearemos un grupo (es un verdadero entretenimiento), no tengo idea de por qué los desarrolladores hicieron tan complicado el proceso de formación de grupos, pero como entendí, no hay otra manera. Vamos a la sección Node management -> Groups y hacemos clic en Create, elegimos un grupo estático y un nombre.

Instalación y operación de 'Rudder'

Filtramos el servidor que necesitamos por características específicas, por ejemplo, por la dirección IP, y guardamos

Instalación y operación de 'Rudder'

El grupo está configurado.

Configuración de reglas

Vamos a Configuration policy → Rules, y creamos una nueva regla

Instalación y operación de 'Rudder'

Añadimos el grupo preparado anteriormente (esto se puede hacer más tarde)

Instalación y operación de 'Rudder'

Y formamos una nueva directiva

Instalación y operación de 'Rudder'

Crearemos una directiva para añadir claves públicas en .ssh/authorized_keys. Esto lo utilizo en caso de que un nuevo empleado entre, o por precaución, por ejemplo, si alguien elimina accidentalmente mi clave.

Vamos a Configuration policy → Directives a la izquierda vemos «Directive library» Encontramos «Remote access → SSH authorised keys», a la derecha hacemos clic en Create Directive

Escribimos los datos del usuario y añadimos su clave. Luego elegimos la política de aplicación

  • Global — Política establecida por defecto

  • Enforce — Ejecutar en los servidores seleccionados

  • Auditoría — Realiza una auditoría y dice en qué clientes hay claves.

Instalación y operación de 'Rudder'

Siempre indicamos nuestra regla.

Instalación y operación de 'Rudder'

Luego guardamos y todo está listo.

Verificamos.

Instalación y operación de 'Rudder'

Clave añadida con éxito.

Beneficios.

El agente proporciona información completa sobre el servidor. Listas de paquetes instalados, interfaces, puertos abiertos y mucho más, que pueden verse en la captura de pantalla a continuación.

Instalación y operación de 'Rudder'

También se puede instalar y controlar software no solo en Linux, sino también en Windows; no he comprobado esto último, no ha habido necesidad.

Del autor.

Quizás te preguntes, ¿por qué reinventar la rueda si ya existen Ansible y Puppet?

Respondo: Ansible tiene desventajas, por ejemplo, no vemos en qué estado se encuentra actualmente esta configuración, o la situación familiar cuando ejecutas un rol o un playbook y aparecen errores de fallo; empiezas a acceder al servidor para ver qué paquete se ha actualizado. Y, a decir verdad, no he trabajado con Puppet.

¿Hay desventajas en Rudder? Hay muchas... Desde que los agentes fallan y hay que reinstalarlos o usar el comando rudder reset. (Por cierto, en la versión 6 no he visto esto aún), hasta la configuración extremadamente compleja y una interfaz poco intuitiva.

¿Y hay ventajas? También hay muchas ventajas: A diferencia del conocido Ansible, tenemos una interfaz web que muestra el cumplimiento que aplicamos. Por ejemplo, si hay puertos expuestos al mundo, en qué estado se encuentra el firewall, si están instalados los agentes de seguridad u otras herramientas.

Este software es ideal para el departamento de seguridad informática, ya que el estado de la infraestructura siempre estará a la vista, y si alguna regla aparece en rojo, es un motivo para visitar el servidor. Como mencioné, llevo 2 años usando Rudder, y si lo entiendes un poco, la vida se vuelve más fácil. Lo más complicado en una gran infraestructura es no recordar en qué estado está el servidor, si el novato no pasó la instalación de los agentes de seguridad o si configuró correctamente iptables; Rudder te ayudará a estar al tanto de todo. ¡Informado es estar preparado! :)

P.D. Salió mucho más de lo que planeé, no voy a describir cómo instalar paquetes, si hay solicitudes, escribiré una segunda parte.

P.S.S Este artículo tiene carácter informativo, decidí compartirlo ya que hay muy poca información en Internet. Puede que a alguien le interese. ¡Les deseo un buen día, queridos amigos! )

Publicidad

Servidores épicos — es VPS en Linux o Windows con potentes procesadores de la familia AMD EPYC y discos NVMe Intel muy rápidos. ¡Apresúrate a hacer tu pedido!

Instalación y operación de 'Rudder'

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster