Instalação e operação do "Rudder".

Instalação e operação do "Rudder".

Prefácio

A nossa "amizade" começou há dois anos. Eu cheguei a um novo local de trabalho, onde o administrador anterior me deixou esta ferramenta como herança. Na internet, além da documentação oficial, não consegui encontrar mais nada. Mesmo agora, se você pesquisar por "rudder", em 99% das vezes aparecerão: volantes de navios e drones. Consegui encontrar a abordagem certa para isso. Como a comunidade deste software é insignificante, decidi compartilhar minha experiência e obstáculos. Acredito que isso pode ser útil para alguém.

Então, Rudder

Rudder é uma ferramenta de auditoria e gerenciamento de configuração de código aberto que ajuda a automatizar a configuração do sistema. Funciona com o princípio da instalação de um agente em cada usuário final. Através de uma interface conveniente, podemos observar o quanto nossa infraestrutura está em conformidade com todas as políticas definidas.

Uso

Abaixo listo para que uso o Rudder.

  • Controle de arquivos e configurações: ./ssh/authorized_keys; /etc/hosts; iptables; (e a partir daí, onde minha imaginação levar)

  • Controle de pacotes instalados: zabbix.agent ou qualquer outro software

Instalação do servidor

Recentemente, atualizei da versão 5 para 6.1, tudo correu bem. Abaixo estarão os comandos para Debian/Ubuntu, mas também há suporte para: RHEL/CentOS e Sles.

Vou esconder a instalação em spoilers, para não distrair você.

Spoiler

Dependências

Para rudder-server, é necessária a Java RE, versão mínima 8, que pode ser instalada a partir do repositório padrão:

Verificamos se ela está instalada

java -version

se a saída

-bash: java: comando não encontrado

então, instalamos

apt install default-jre

Servidor

Importamos a chave

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

Aqui está a própria impressão digital

pub  4096R/474A19E8 2011-12-15 Rudder Project (chave de liberação) 
      Impressão digital da chave = 7C16 9817 7904 212D D58C  B4D1 9322 C330 474A 19E8

Como não temos uma assinatura paga, adicionamos o seguinte repositório

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

Atualizamos a lista de repositórios e instalamos o servidor

apt update
apt install rudder-server-root

Criamos o usuário admin

rudder server create-user -u admin -p "Sua Senha"

No futuro, podemos gerenciar os usuários através da configuração

Pronto, o servidor está configurado.

Configuração do servidor

Agora, é necessário adicionar ao agente Rudder os endereços IP dos agentes ou uma sub-rede inteira, orientando-se pela política de segurança.

Configurações —> Geral

Instalação e operação do "Rudder".

No campo «Add a network» insira o endereço e a máscara no formato x.x.x.x/xx. Para permitir o acesso de todos os endereços da rede interna (se este for um ambiente de teste e você estiver atrás de um NAT), insira: 0.0.0.0/0

Importante — após adicionar o endereço IP, não se esqueça de clicar em Save changes, caso contrário, nada será salvo.

Portas

No servidor, abra as seguintes portas

  • 443 — tcp

  • 5309 — tcp

  • 514 — udp

Já lidamos com a configuração inicial do servidor.

Instalação do Agente

Spoiler

Adicionamos a chave

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

Impressão digital da chave

pub  4096R/474A19E8 2011-12-15 Rudder Project (chave de liberação) 
      Impressão digital da chave = 7C16 9817 7904 212D D58C  B4D1 9322 C330 474A 19E8

Adicionamos o repositório

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

Instalamos o agente

apt update
apt install rudder-agent

Configuração do agente

Vamos indicar ao agente o endereço IP do servidor de políticas

rudder agent policy-server  #Sem parênteses. Também é possível usar um nome de domínio 

Executando o seguinte comando, enviaremos um pedido para adicionar o novo agente ao servidor, em alguns minutos ele aparecerá na lista de novos agentes, como adicionar será explicado na próxima seção

rudder agent inventory

Também podemos forçar a execução do agente e ele enviará a solicitação imediatamente

rudder agent run

Nosso agente está configurado, vamos em frente.

Adição de agentes

Fazemos login

https://127.0.0.1/rudder/index.html

Instalação e operação do "Rudder".

Na seção «Accept new nodes» aparecerá seu agente, marque a caixa e clique em Accept

Instalação e operação do "Rudder".

Deve passar algum tempo enquanto o sistema verifica se o servidor está em conformidade

Criação de grupos de servidores

Vamos criar um grupo (é um verdadeiro divertimento), não sei por que os desenvolvedores fizeram a formação de grupos tão complicada, mas como entendi, não há outra maneira. Vamos para a seção Node management -> Groups e clicamos em Create, escolhemos um grupo estático e damos um nome.

Instalação e operação do "Rudder".

Filtramos o servidor necessário por características específicas, por exemplo, pelo endereço IP, e salvamos

Instalação e operação do "Rudder".

O grupo está configurado.

Configuração de regras

Vamos para Configuration policy → Rules e criamos uma nova regra

Instalação e operação do "Rudder".

Adicionamos o grupo que preparamos anteriormente (isso pode ser feito mais tarde)

Instalação e operação do "Rudder".

E formamos uma nova diretiva

Instalação e operação do "Rudder".

Vamos criar uma diretiva para adicionar chaves públicas em .ssh/authroized_keys. Eu uso isso em caso de saída de um novo funcionário, ou para precaução, por exemplo, se alguém deletar acidentalmente minha chave.

Vamos para Configuration policy → Directives e à esquerda vemos «Directive library» Encontramos «Remote access → SSH authorised keys», à direita clicamos em Create Directive

Inserimos os dados do usuário e adicionamos sua chave. Em seguida, escolhemos a política de aplicação

  • Global — Política definida por padrão

  • Enforce — Executar nos servidores escolhidos

  • Auditoria — Realizará uma auditoria e dirá em quais clientes há chave.

Instalação e operação do "Rudder".

Devemos indicar a nossa regra.

Instalação e operação do "Rudder".

Então salvamos e tudo está pronto.

Verificamos

Instalação e operação do "Rudder".

Chave adicionada com sucesso

Vantagens

O agente fornece informações completas sobre o servidor. Listas de pacotes instalados, interfaces, portas abertas e muito mais, que você pode ver na captura de tela abaixo.

Instalação e operação do "Rudder".

Além disso, você pode instalar e controlar o software não apenas no Linux, mas também no Windows; não verifiquei isso por não haver necessidade.

Do autor

Você deve estar se perguntando por que reinventar a roda se já existem o Ansible e o Puppet.

Respondo: O Ansible tem desvantagens, por exemplo, não sabemos em que estado está a configuração atualmente, ou a situação muito conhecida quando você executa uma role ou playbook e aparecem erros de falha, e você começa a acessar o servidor para ver quais pacotes foram atualizados. E eu simplesmente não trabalhei com Puppet.

Existem desvantagens no Rudder? Muitas... Desde o fato de que os agentes caem e é necessário reinstalá-los ou usar o comando rudder reset. (mas, a propósito, na versão 6, eu ainda não vi isso), até uma configuração extremamente complexa e uma interface ilógica.

E há vantagens? E também há muitas vantagens: Ao contrário do conhecido Ansible, temos uma interface web onde podemos ver a conformidade que aplicamos. Por exemplo, se as portas estão expostas para o mundo, em que estado está o firewall, se os agentes de segurança estão instalados ou outras coisas.

Esse software é excelente para o departamento de segurança da informação, pois o estado da infraestrutura estará sempre à vista, e se alguma regra ficar em vermelho, isso é um motivo para visitar o servidor. Como eu disse, já uso o Rudder há 2 anos, e se você se aprofundar um pouco, a vida fica melhor. O mais difícil em uma grande infraestrutura é que você não se lembra em que estado está o servidor, se o novato não perdeu a instalação dos agentes de segurança ou se configurou corretamente o iptables; o Rudder o ajudará a estar ciente de todos os eventos. Informado, significa armado! )

P.S. Acabou saindo muito mais do que eu planejava, não vou descrever como instalar pacotes; se houver pedidos, escreverei uma segunda parte.

P.S.S O artigo tem um caráter informativo, decidi compartilhar, pois há muito pouca informação na internet. Talvez isso interesse a alguém. Tenham um bom dia, queridos amigos )

Em nome da publicidade

Servidores épicos seja VPS em Linux ou Windows com poderosos processadores da família AMD EPYC e discos NVMe Intel extremamente rápidos. Apresse-se para fazer o pedido!

Instalação e operação do "Rudder".

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster