Behöver ert företag hjälp med att implementera AI? Kontakta oss och få prisoffert här →
AI Skolan
januari 22, 2026

GitHub till Telegram: säkrare Wazuh-regelutskick

Rickard Andersson Partner, Nodenordic.se

Att driftsätta Wazuh-regler ”på det försiktiga sättet” betyder oftast samma tråkiga loop: hämta filen, kopiera den till managern, validera, starta om och berätta sedan för teamet vad som hände. Och på något sätt går det ändå sönder vid sämsta möjliga tillfälle.

Detection engineers känner av det här först, men SOC-ansvariga och MSSP-operatörer får också hantera konsekvenserna. Den här Wazuh-deploy-automatiseringen gör en GitHub-commit till en kontrollerad driftsättning, med validering och en Telegram-uppdatering du faktiskt kan lita på.

Nedan ser du hur flödet går från ”commit pushad” till ”regel driftsatt och verifierad”, vad som kontrolleras längs vägen och hur du anpassar det till dina egna godkännanderegler.

Så fungerar automatiseringen

Hela n8n-workflowet, från trigger till slutresultat:

n8n Workflow Template: GitHub till Telegram: säkrare Wazuh-regelutskick

Problemet: Wazuh-regeldeploys är sköra och bullriga

Regeldriftsättning låter enkelt tills du gör det varje vecka. Någon ändrar en XML-regel, kopierar den till Wazuh-managern, gör en snabb ”ser okej ut”-kontroll, startar om tjänster och väntar sedan på att se om något börjar brinna. Om valideringen hoppades över eller gjordes olika av olika personer märker du det först efter att omstarten misslyckas eller att managern vägrar ladda regler. Ännu värre: teamet får en halv berättelse i chatten: ”Jag deployade något, jag tror det funkade.” Den osäkerheten är dyr i SecOps eftersom den stjäl uppmärksamhet precis när du behöver fokus.

Friktionen byggs på. Här är var det fallerar i verkligheten.

  • Manuell kopiering och omstarter blir lätt 30–60 minuter per deploy, särskilt när någon måste fjärransluta och dubbelkolla sökvägar.
  • Felaktig XML kan slinka igenom och trigga en misslyckad omladdning, vilket skapar en mini-incident när larm slutar bete sig som de ska.
  • Det finns ingen konsekvent revisionslogg, så i efterhand gissar du vilken commit som faktiskt hamnade i produktion.
  • Notiser är ofta vaga, vilket gör att SOC ändå pingar ingenjören för status och sammanhang.

Lösningen: commit-till-deploy med validering och Telegram-bevis

Det här workflowet bevakar din GitHub-aktivitet och deployar bara när du uttryckligen ber om det. En commit kommer in, workflowet letar efter en deploy-signal (som #deploy-wazuh) och verifierar att författaren har rätt att pusha regler. Därefter tar det reda på vilka regelfiler som ändrats, laddar ner XML-innehållet från GitHub och överför filen till din Wazuh-manager via SSH. Innan det rör produktionsregler kör det validering (med standard XML-lintning) så trasig syntax aldrig når managern. Om valideringen godkänns deployar workflowet regeluppsättningen, startar om Wazuh-tjänsten, verifierar att allt laddas och skickar en tydlig Telegram-uppdatering med vad som ändrades och vad som hände. Om något misslyckas får teamet snabbt felorsaken, inte efter en massa gissande.

Workflowet startar på GitHub commit-triggern. Det förgrenar sig baserat på ”är detta en deploy-commit och är författaren godkänd”, och kör sedan en validera → deploya → starta om-sekvens. Telegram får ett lyckat- eller misslyckat-meddelande på slutet, så det blir inget mysterium.

Det här får du: automatisering vs. resultat

Exempel: så här ser det ut

Säg att ditt team levererar Wazuh-regeluppdateringar två gånger i veckan. Manuellt tar det oftast 10 minuter att hämta rätt fil, cirka 15 minuter att kopiera den till servern och placera den rätt, ytterligare 10 minuter för validering och omstart, och sedan 10 minuter fram och tillbaka i chatten. Räkna med ungefär 45 minuter per deploy. Med det här workflowet är ”jobbet” att lägga till #deploy-wazuh i commit-meddelandet och pusha; resten körs hands-off och teamet får en Telegram-uppdatering när det är klart. Du granskar fortfarande regeländringen i GitHub, men servertrixandet försvinner till stor del.

Det här behöver du

  • n8n-instans (prova n8n Cloud gratis)
  • Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
  • GitHub för att trigga deploys från commits
  • Telegram för att skicka uppdateringar om lyckad/misslyckad deploy
  • SSH-åtkomst till Wazuh Manager (använd en SSH-nyckel på managern)

Kunskapsnivå: Medel. Du kopplar konton, lägger in inloggningsuppgifter och är bekväm med att ange SSH-detaljer och filsökvägar.

Vill du inte sätta upp det här själv? Prata med en automatiseringsexpert (gratis 15-minuters konsultation).

Så fungerar det

En GitHub-commit startar allt. Workflowet lyssnar efter nya commits och letar efter en deploy-markör i meddelandet så att vanliga commits inte råkar röra produktion.

Godkännandekontroller sker tidigt. En allow-lista verifierar commit-författaren och workflowet avslutas tyst om commiten inte ska deploya. Ingen dramatik.

Workflowet hämtar och validerar regelfilerna. Det identifierar vilka XML-filer som ändrats, laddar ner dem från GitHub, överför dem till Wazuh-managern och kör XML-validering så felaktiga regler inte går vidare.

Driftsättning och omstart automatiseras och rapporteras. Om valideringen godkänns deployar workflowet regeluppsättningen, startar om Wazuh-tjänsten och skickar Telegram-uppdateringar vid lyckat eller misslyckat resultat med tillräckligt med detaljer för att kunna agera.

Du kan enkelt ändra godkännandelogiken för att kräva en andra granskare eller begränsa deploys till vissa grenar utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementering

Steg 1: Konfigurera GitHub-triggern

Konfigurera arbetsflödet så att det startar när en GitHub-händelse inträffar och styr kvalificerande commits in i deploy-spåret.

  1. Lägg till och öppna GitHub Event Trigger för att definiera den webhook-baserade triggern för repository-händelser.
  2. Inloggningsuppgifter krävs: Anslut era GitHub-inloggningsuppgifter (noden kräver autentisering även om inga är konfigurerade i arbetsflödet).
  3. Anslut GitHub Event Trigger till Validate Commit for Deploy för att starta gate-logiken.
  4. I Validate Commit for Deploy definierar ni villkoren som kvalificerar en commit för deploy.
  5. Styr true-grenen till Derive Modified Files och false-grenen till No-Op Exit.

⚠️ Vanlig fallgrop: Om villkoren i Validate Commit for Deploy är för strikta kommer arbetsflödet att avslutas via No-Op Exit och aldrig deploya.

Steg 2: Koppla GitHub-data till filhämtning

Omvandla commit-data till en fillista och hämta sedan regelfilen från ert repository eller er lagring.

  1. Öppna Derive Modified Files och implementera kodlogiken som extraherar sökvägar till ändrade regelfiler från GitHub-payloaden.
  2. Anslut Derive Modified Files till Fetch Rule File för att hämta regelfilens innehåll.
  3. I Fetch Rule File konfigurerar ni HTTP-förfrågan för att hämta regelfilen (URL, metod och headers baserat på ert repo eller er lagring).
  4. Inloggningsuppgifter krävs: Anslut era inloggningsuppgifter för HTTP Request (om regelkällan är privat krävs autentisering).

Säkerställ att Derive Modified Files returnerar exakt den filsökväg som Fetch Rule File förväntar sig för att undvika 404-fel.

Steg 3: Konfigurera regelvalidering och deploy-routing

Flytta regelfilen till målsystemet, validera den och avgör om deploy ska fortsätta.

  1. Öppna Transfer Rule File och konfigurera SSH-anslutningen och överföringskommandot.
  2. Inloggningsuppgifter krävs: Anslut era SSH-inloggningsuppgifter för Transfer Rule File, Validate Rule Set, Deploy Rule Set och Restart Wazuh Service.
  3. Anslut Fetch Rule File till Transfer Rule File och därefter till Validate Rule Set.
  4. Konfigurera Validate Rule Set för att köra valideringskommandot på serversidan.
  5. I Rule Check Branch definierar ni villkoren för godkänd/underkänd. Styr true-grenen till Deploy Rule Set och false-grenen till Deployment Failed Alert.

⚠️ Vanlig fallgrop: Om Rule Check Branch är felkonfigurerad kan ogiltiga regeluppsättningar deployas eller giltiga blockeras.

Steg 4: Konfigurera utdataåtgärder och notifieringar

Deploya reglerna, starta om tjänster och skicka notifieringar om lyckat eller misslyckat resultat via Telegram.

  1. Konfigurera Deploy Rule Set för att applicera regeluppsättningen på servern.
  2. Anslut Deploy Rule Set till Restart Wazuh Service för att läsa om regler efter deploy.
  3. Öppna Final Approval Gate och definiera er slutliga logik för godkänd/underkänd för att styra notifieringar.
  4. Styr true-grenen från Final Approval Gate till ✅ Success Notice och false-grenen till ❌ Failure Notice.
  5. Konfigurera Deployment Failed Alert, ✅ Success Notice och ❌ Failure Notice med meddelandeinnehåll och chatt-ID:n.
  6. Inloggningsuppgifter krävs: Anslut era Telegram-inloggningsuppgifter för alla Telegram-noder.

Om ni vill att deploy ska stoppas vid valideringsfel, säkerställ att Rule Check Branch skickar fel endast till Deployment Failed Alert och inte in i deploy-spåret.

Steg 5: Testa och aktivera ert arbetsflöde

Verifiera hela deploy-kedjan från GitHub till server och säkerställ att notifieringar triggas korrekt.

  1. Klicka på Execute Workflow och trigga en GitHub-händelse (t.ex. en commit som ändrar en regelfil).
  2. Bekräfta att körvägen går från GitHub Event TriggerValidate Commit for DeployDerive Modified FilesFetch Rule FileTransfer Rule FileValidate Rule SetRule Check BranchDeploy Rule SetRestart Wazuh ServiceFinal Approval Gate.
  3. Verifiera att en lyckad körning avslutas vid ✅ Success Notice och en misslyckad körning avslutas vid ❌ Failure Notice eller Deployment Failed Alert beroende på gren.
  4. När allt är verifierat, växla arbetsflödet till Active för att aktivera produktionskörningar.
🔒

Lås upp fullständig steg-för-steg-guide

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • GitHub-inloggning och scopes spelar roll. Om workflowet inte kan hämta filer, kontrollera först behörigheterna för GitHub-token och repo-åtkomstinställningarna.
  • Om du använder Wait-noder eller extern rendering varierar processningstider. Öka väntetiden om nedströmsnoder fallerar på tomma svar.
  • SSH-deployar fallerar av enkla skäl: fel sökvägar, saknade sudo-rättigheter eller en roterad nyckel. Testa SSH-uppgifterna mot Wazuh-managern och bekräfta att kommandot för service-omstart fungerar icke-interaktivt.

Vanliga frågor

Hur lång tid tar det att sätta upp den här Wazuh-deploy-automatiseringen?

Cirka en timme om du redan har GitHub, Telegram och SSH-åtkomst redo.

Behöver jag kunna koda för att automatisera Wazuh-deploy-automatisering?

Nej. Du klistrar mest in inloggningsuppgifter, anger filsökvägar och justerar ett par godkännandekrav.

Är n8n gratis att använda för det här Wazuh-deploy-automatiserings-workflowet?

Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Molnplaner börjar på $20/månad för högre volym. Du behöver också räkna med vanliga infrastrukturkostnader som din Wazuh-server och VPS-hosting (ingen betald AI-API krävs för själva deployflödet här).

Var kan jag hosta n8n för att köra den här automatiseringen?

Två alternativ: n8n Cloud (hanterat, enklast att sätta upp) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärt och hanterar n8n bra. Self-hosting ger dig obegränsat antal körningar men kräver grundläggande serverdrift.

Kan jag anpassa det här Wazuh-deploy-automatiserings-workflowet för flera Wazuh-miljöer?

Ja, och det är en vanlig justering för MSSP:er. Du kan förgrena efter ”Final Approval Gate” och styra driftsättningar till olika SSH-mål baserat på repo, mappnamn eller branch. Vissa team mappar ”dev/staging/prod” till separata managers, medan andra deployar till flera managers parallellt. Se bara till att Telegram-meddelanden är miljöspecifika så att ingen misstar en dev-deploy för produktion.

Varför misslyckas min GitHub-anslutning i det här workflowet?

Oftast är det ett tokenproblem: utgångna inloggningsuppgifter, saknat repo-scope eller att token inte kan läsa filsökvägarna du begär. Skapa en ny token, uppdatera den i n8n och bekräfta att workflowet pekar på rätt repo och branch. Om det bara fallerar under intensiva perioder kan du slå i API-gränser, så lägg till en kort fördröjning eller minska hur många filer du hämtar per körning.

Hur många regelfiler kan den här Wazuh-deploy-automatiseringen hantera?

Gott om för normalt regelarbete: dussintals filer per deploy är inga problem så länge din Wazuh-manager och GitHubs API-gränser hänger med.

Är den här Wazuh-deploy-automatiseringen bättre än att använda Zapier eller Make?

Oftast, ja, eftersom det här inte är en enkel ”skicka ett meddelande när X händer”-automatisering. Du kör grindade godkännanden, filhämtning, SSH-överföringar, validering på servern och service-omstarter, vilket innebär att du behöver förgreningslogik och steg som passar infrastruktur. n8n passar den stilen bra och kan self-hostas, så du betalar inte per liten åtgärd när du skalar. Zapier eller Make kan fungera för Telegram-notis-delen, men de är klumpiga för själva deploymekaniken. Om du vill ha hjälp att välja, prata med en automatiseringsexpert.

När detta väl är på plats slutar driftsättning av Wazuh-regler att vara en ”försiktig ritual” och blir en kontrollerad, repeterbar åtgärd. Ditt team får tydlighet i Telegram, och du får tillbaka din tid.

Kontakta oss

Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.

×

Använd mall

Få direkt tillgång till denna n8n-arbetsflödes JSON-fil

Få prisoffert redan idag!
Få prisoffert redan idag!

Berätta vad ni behöver hjälp med så hör vi av oss inom en arbetsdag!

Få prisoffert redan idag!
Få prisoffert redan idag!

Berätta vad ni behöver hjälp med så hör vi av oss inom en arbetsdag!

Launch login modal Launch register modal