Skip to content

pauloeduas-software/SentinelAgent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sentinel Agent 🛡️

Core RMM & Telemetry Provider for Linux Systems

.NET 8 Linux Native Security

O Sentinel Agent é o componente de baixo nível do ecossistema, responsável pela extração de dados brutos do Kernel Linux e execução de comandos administrativos. Projetado para máxima performance e mínima pegada de memória.

📁 Estrutura do Projeto e Responsabilidade dos Arquivos

src/SentinelAgente.Agent.Worker/

  • Program.cs: Ponto de entrada. Gerencia a trava de privilégios de Root, orquestra a Injeção de Dependência (DI) e configura a auto-instalação no Systemd.
  • AgentWorker.cs: O orquestrador principal. Mantém o loop de execução infinita que dispara a coleta de métricas.

src/SentinelAgente.Agent.Core/

  • Identity/HwidGenerator.cs: Lógica de identidade única via Serial DMI/BIOS.
  • Communication/WssClient.cs: Cliente WebSocket resiliente com buffer offline.
  • Commands/CommandDispatcher.cs: Executor de comandos nativos do Linux.

src/SentinelAgente.Agent.Linux/

  • Metrics/LinuxSystemMetrics.cs: Coleta de CPU, RAM, Discos e Rede (Gb/Kbps).
  • Security/LinuxSecurity.cs: Implementa o Modo Stealth e Imutabilidade do Binário.
  • Hardware/ProcHardwareProvider.cs: Leitura direta de hardware via /sys e /proc.

src/SentinelAgente.Shared/

  • Packets/: Contratos de dados imutáveis (JSON models) para comunicação com a API.
  • Enums/: Definições globais de status e estados do sistema.

🛠️ Instalação e Configuração

Instalação como Serviço (Systemd)

Para instalar o agente permanentemente e iniciar com o boot:

sudo dotnet run --project src/SentinelAgente.Agent.Worker/SentinelAgente.Agent.Worker.csproj --install

Gerenciamento do Serviço

  • Pausar: sudo systemctl stop sentinel-agent.service
  • Remover: sudo rm /etc/systemd/system/sentinel-agent.service && sudo systemctl daemon-reload

Execução em Tempo Real (Debug)

Para rodar manualmente e ver os logs no terminal:

sudo dotnet run --project src/SentinelAgente.Agent.Worker/SentinelAgente.Agent.Worker.csproj
  • Parar: Pressione Ctrl + C ou use sudo pkill -f SentinelAgente.Agent.Worker.

🔒 Regras de Operação

  1. Strict Root: O agente encerra imediatamente se executado sem sudo.
  2. DMI Identity: O HWID é gerado estritamente via hardware físico.
  3. Grouping: Processos são agregados por nome para maior clareza.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages