BTB projekti: Wazuh kotilabraan

Johdanto

Tämä artikkeli on jatkoa BTB-Projektille: Kotilabran palvelut, jossa pystytimme Proxmox- virtualisoinnin Asus PN50 raudan päälle. Nyt jatkamme syventymällä Wazuhin käyttöön!

  • Tavoite: Ottaa Wazuh käyttöön kotiverkon valvontaan
  • Vaikeus: Helppo
  • Aika: Tunteja
  • Hinta: 0 €

Olethan tätä ennen jo asettanut varmuuskopioinnin päälle ja osaat ottaa yhteyden virtuaalikoneillesi joko SSH:lla tai konsolin yli.

Mikä on Wazuh?

Wazuh kuvailee itseään seuraavasti:

“Wazuh is a free, open source and enterprise-ready security monitoring solution for threat detection, integrity monitoring, incident response and compliance.”

Home

Wazuh käyttää ELK-stackiä lokien vastaanottamiseen, käsittelyyn ja hälytysten tekemiseen, agenttien tai ulkoisten lokilähteiden syötteistä. Sitä voidaan pitää sekä SIEM / HIDS että EDR järjestelmänä, joten kotilabraan löytyy paljon kiinnostavaa kokeiltavaa.

Miksi siihen kannattaa siis tutustua?

Alla on erilaisia käyttötapauksia, joista näkee mitä kannattaisi omassa käytössä kokeilla:

Log data analysis File integrity monitoring
Rootkits detection Active response
Configuration assessment System inventory
Vulnerability detection Cloud security monitoring
Containers security monitoring Regulatory compliance

Itseäni kiinnosti eniten haavoittuvuuksien hallinta ja lisäksi tietoturvapoikkeamien havaitseminen eri lokilähteistä.

Asennus

Käytämme asennuksen nopeuttamiseksi suoraan OVA-virtuaalikonetta, joka sisältää sekä Wazuhin että ELK-stäckin valmiiksi konfiguroituna:

https://documentation.wazuh.com/current/virtual-machine/virtual-machine.html

Kuten muistatte ehkä Proxmox-artikkelista, voi ova-muotoisen virtuaalikoneen saada Proxmoxiin pienellä kikkailulla:

Import OVA as Proxmox VM

Omakohtaisesta kokemuksesta voin sanoa että kovalevy tulee ennen ensimmäistä käynnistystä olla ide-muotoisena. Muutoin asennuksessa ei ollut mitään ihmeellistä. Alla näkyvät suhtellisen hyvän suorituskyvyn takaavat asetukset.

Kun kone on valmiina, käynnistyksen jälkeen se vastaa suoraan saamastaan ip-osoitteesta portista 443. Oletussalasana on admin / admin. Mikäli serverille on asiaa, on tunnus root / wazuh.

Pysyvämmässä käytössä nämä tulee vaihtaa, mutta nyt jouduttaisiin myös koskemaan Wazuhin / Elkin asetuksiin, joten jatkamme oletuksilla.

 

Agenttien käyttö

Agenttien avulla saadaan koneista dataa monipuolisesti ja puskuroidusti. Windows-puolella myös XP:t ovat tuettuja, joka avaa jatkoa varten kiinnostavia mahdollisuuksia 🙂

Wazuh -> Agents sivulta saa suoraan komentokehoitteen agenttien asentamiseksi.

Vaihtoehtoinen tapa on luoda ISO-tiedosto, jonka voi Proxmoxin kautta asettaa kohdekoneille saataville CD-aseman kautta. AnyToISo-ohjelmalla voi Wazuh-agentit sisältävästä hakemistosta tehdä ISO-tiedoston.

https://crystalidea.com/anytoiso

Käsin asentamalla ainoa tarvittava tieto on Wazuhin IP-osoite ja tämän jälkeen palvelun käynnistys. Asennetut agentit ottavat yhteyttä Wazuhiin ja muutaman minuutin työn jälkeen tiedonkeräys on jo käynnissä.

Syslog-lokien vastaanotto

Yleisesti käytössä oleva syslog-formaatti mahdollistaa reitittimien, NAS-purkkien ja muiden laitteiden lokien vastaanoton.

Sen vastaanotto tapahtuu Wazuhin ossec-konffista:

How to configure Rsyslog client to send events to Wazuh

Aseta Wazuh-Management-Configuration (Edit configuration). Sitten Save ja Restart Wazuh.

<remote>
  <connection>syslog</connection>
  <port>514</port>
  <protocol>udp</protocol>
  <allowed-ips>192.168.x.x/24</allowed-ips>
  </remote>

Tämän jälkeen aseta halutussa laitteessa syslog-palveluun Wazuhin IP, portti 514 ja muodoksi UDP.

PfSensen Suricata-lokit

Mikäli käytössäsi on PfSense-palomuuri, saa sen Suricatan lokit Wazuhiin seuraavasti:

https://github.com/pfelk/pfelk/wiki/How-To:-Suricata-on-pfSense

Aseta palveluun Wazuhin IP, portti 514 ja muodoksi UDP.

 

Lokitietojen tarkastelu

Wazuhin valikoiden alapuolelta löydät myös Kibanan omat valikot. Valitse sieltä Discovery, jossa näet lokifeedin ja voit tarkastaa että halutut lokit todellakin tulevat perille.

Voit varmistaa että lokit tulevat perille pudottamalla lokien hälytystasoa esim arvolle 1 tai generoimalla hälytyksiä:

https://documentation.wazuh.com/current/user-manual/manager/alert-threshold.html

 

Wazuhin haavoittuvuuksien monitorointi

Erittäin näppärä piirre on Wazuhin kyky tarkkailla asennuksia ja niiden todettuja haavoittuvuuksia. Aseta ensin päälle halutut käyttikset (Windows/Ubuntu/redHat jne):

Using Wazuh for Windows vulnerability detection

Kun agentit ovat tehneet työnsä, muutaman tunnin kuluttua pääset katsomaan millaisia haavoittuvuuksia on löytynyt:

Valitsemalla Explore agent- voit katsoa konekohtaisesti korjauslistaa:

Wazuhin hälytykset

Kohdasta Wazuh – Modules -Security Events näet filtteröidyt ja huomionarvoiset tapahtumat, niin haavoittuvuuksia kuin kirjautumisia koskien. Valitsemalla Events, pääset katsomaan raakadataa.

Filtteröinti ja hakutoimintojen avulla voit rajata ja etsiä vastaavia tapahtumia valitsemaltasi ajanjaksolta.

Hälytyksistä saat myös emailin, asettamalla ossec-konffiin sopivat asetukset:

https://documentation.wazuh.com/current/user-manual/manager/manual-email-report/

(Kannattaa tosin ensin rauhassa tutustua järjestelmään ja rakentaa se tuotantokäyttöön ajatuksen kanssa. Ota varmuuskopiot ja snapshotit merkittävien muutosten jälkeen).

Omat hälytykset ja säännöt

On luultavaa että aivan haluttua hälytystä ei löydy, joten voit rakentaa sääntöjen avulla oman hälytyksen:

https://documentation.wazuh.com/current/user-manual/ruleset/custom.html

 

Loppusanat

Wazuh tarjoaa nopeasti hyvin monipuolisen ratkaisun verkon laitteiden tapahtumien valvontaan. Tutustumalla ohjeisiin voit laajentaa sitä haluttuun suuntaan ja opettelemalla ELK-stackin toimintaa, voit myös rakentaa raportoinnin haluamaasi suuntaan.

Pikaisen käytön jälkeen huomasin että useasta komponentista koostuvassa järjestelmässä kannattaa olla tarkkana päivttämisen kanssa, tuki uusimmille komponenteille ei ilmesty hetkessä kaikkialle. Suosittelen rakentamaan pysyvään käyttöön erilliset ELK ja Wazuh ympäristöt.

Muutaman haastavamman ELK-konffauksen jälkeen piti turvautua Proxmoxin varmuuskopioiden palautukseen ja palata alkuruutuun, mutta tästä lisää seuraavassa artikkelissa jossa tutustutaan T-Potin ja Wazuhin yhteiselämään!

BTB-projekti: Kotilabran palvelut

Johdanto

Tämä artikkeli on jatkoa BTB-Projektille: Oma kotilabra, jossa pystytimme Proxmox- virtualisoinnin Asus PN50 raudan päälle. Nyt jatkamme erilaisten palveluiden pystyttämisellä.

  • Tavoite: Pystyttää ensimmäiset palvelut Proxmoxin päälle
  • Vaikeus: Keskitaso
  • Aika: Riippuu palvelusta
  • Hinta: 0 €

Olethan tätä ennen jo tutustunut hieman Proxmoxin dokumentaatioon ja huolehtinyt että sinulla on määritettynä storage-asetukset sekä varmuuskopioinnille että ISO / templaattien säilytykseen!

Perusteita

Hierarkia

Huomaa että osa Proxmoxin asetuksista löytyy Datacenter tasolta ja osa noodi-tasolta. Noodi-tason alta löydät storage-asetukset ominaan.

Palvelut

Proxmox ajaa kahdenlaisia palveluita:

  • Virtuaalikoneita, jotka sisältävät varatut resurssit
  • LXC kontteja, joissa resurssit ovat jaettuja

Virtualisoinnin hyödyt tulevat esille molemmissa. PN50:n kuusi prosessoria ja muisti voidaan jakaa virtuaalikoneiden ja konttien käyttöön niiden todellisen tarpeen mukaan, sillä käyttämättä jäävä kapasiteetti on muiden koneiden ja konttien käytössä.  Käyttötavoilla on kuitenkin vielä eroa tietoturvan suhteen, virtualisoidut koneet ovat eristettyjä kernelin suhteen, kun taas konteissa pitää ottaa huomioon ajetaanko kontteja “Unprivileged” moodissa (suositus), jolloin niitä ajetaan käyttäjäoikeuksin (ei-root) erillisessä nimiavaruudessa. Pääsääntönä siis internetiin näkyvät palvelut kannattaa ajaa omana virtuaalikoneenaan ja sisäverkon palvelut kontteina.

Lue lisää: https://pve.proxmox.com/wiki/Linux_Container

Virtuaalikoneet

Virtuaalikoneisiin liittyen muutama huomio:

CPU: Host mode on suositeltava tehon ja yhteensopivuuden takia, mikäli et aio tehdä migraatioita. Oletuksena tarjotaan KVM-muotoista prosessoria.

Muisti: Linux tukee suoraan mukautuvaa muistia (ballooning) ja Windows lisäajurien kautta. Voit määrittää minimi- ja maksimimuistimäärän. Huomaa että mikäli ylä- ja alaraja muokkaantuvat yhtäaikaa, määritä ensin yläraja ja sitten klikkaa alarajaa ja editoi siihen haluamasi arvo.

Levy: Levy kannattaa asettaa käyttämään nopeinta varastoa, joka minun tapauksessani on paikallinen local-lvm. Mikäli erehdyksessä levy asentuu esim. Synologylle, voi sen migroida uuteen paikkaan Hardware -> move disk 🙂

Boot order: Kun koneesi on boot-loopissa, mene tarkastamaan Options kohdasta boot order ja katso että kiintolevylläsi on rasti ruudussa 🙂

 

LXC templaatit

Templaatteihin pääset GUI:n kautta käsiksi kun menet noodin asetuksissa siihen storageen, johon olet määrittänyt CT templaatit talletettavan. Klikkaa Templates.

 

Isäntäkoneen laitteiden käyttö

Esim GPU:n tehojen parempi hyväksikäyttö salasanojen murtamiseen onnistunee näillä ohjeilla:

https://pve.proxmox.com/wiki/Pci_passthrough

 

Etäkäyttö

Proxmoxin konsolista saat helposti ruutuyhteyden koneelle, mutta leikepöytä ja tiedostojen siirto eivät ole tuettuja no-VNC:llä. Vaihtoehtona on asettaa RDP-palvelu, ottaa yhteys SSH:lla/SFTP:lla, avata yhteinen levyjako esim turnkey-fileserver kontilla tai tehdä CD-asemalle hakemistoista levyjä AnytoISO ohjelmalla. Lisäksi SPICE-ohjelmistot ovat tuettuja, jos ne saa toimimaan.

 

Pi-Hole virtualisoituna

Luodaan ensimmäisenä Debian templaatin päälle Pi-Hole, jota voidaan käyttää oman kodin mainosten estoon. BlueTeamBuildersin lukijat ovat saattaneet jo aikaisemmin asentaa Pi-Holen Raspberry Pi:n päälle, mutta nyt voidaan helposti lisätä vikasietoisuutta virtualisoidun palvelun kautta.

  1. Siirry varastoon, johon olet asettanut templaattien säilytyksen. Minun tapauksessani local, CT Templates. Lataa debian-10-standard / ubuntu tms mieleinen *nix distribuutio.
  2. Luo templaatin pohjalta kontti, aseta salasana / SSH julkinen avain hallintaa varten. Muistia riittää 1000 BiB ja prosessiksi 1 core. Aseta kiinteä IP tai pakota reitittimeltäsi sama IP. Aseta palvelu käynnistymään proxmoxin bootin yhteydessä.
  3. Käynnistä kontti ja siirry siihen Consolen kautta.
  4. Asenna qemu: https://pve.proxmox.com/wiki/Qemu-guest-agent
  5. Asenna Pi-Hole https://github.com/pi-hole/pi-hole/#one-step-automated-install
  6. Avaa Pi-holen hallintapaneeli selaimen kautta
  7. Siirrä Teleporter toiminnon kautta vanhasta Pi-Holesta asetukset uuteen.
  8. Voit tehdä asennuksesta templaatin jatkoa ajatellen. Tällöin tee templaatista klooni, joka näkyy nyt samalla IP-osoitteella kuin alkuperäinen (DHCP toimii tässä siis paremmin).
  9. Ota snapshot kloonista palautumista ajatellen
  10. Aseta reitittimessä DHCP-palvelussa myös uusi Pi-Hole kotilaitteidesi käyttöön

Kalin asennus

Tehdään Kalin asennus käyttäen virtuaalikonetta ja Live-CD:tä.

  1. Lataa Kali Linux LiveCD https://www.kali.org/downloads/ ja aseta se saataville ISO-varastoosi. Minun tapauksessani Synologyyn.
  2. Luo virtuaalikone mukautuvalla muistilla esim 2GiB – 8 GiB, neljällä host prosessorilla ja aseta CD-asema käyttämään Kali Live CD:tä.
  3. Käynnistä kone ja avaa Console.
  4. Asenna Linux. Voit myös halutessasi asettaa RDP:n päälle Windowsin käyttöä helpottamaan (leikepöydän kopiointi). Ohjeet: https://www.kali.org/docs/general-use/xfce-with-rdp/ (Minulla Legion lakkasi toimimasta, joten varaudu korjauksiin)
  5. Päivitä Qemu palvelut: https://pve.proxmox.com/wiki/Qemu-guest-agent
  6. Ota snapshotti asennuksestasi

 

Virtuaalikoneiden käyttö

Jostain erikoisesta syystä OVA-muotoiset virtuaalikoneet eivät ole suoraan tuettuja, mutta niiden käyttö onnistuu seuraavien ohjeiden avulla: https://www.itsfullofstars.de/2019/07/import-ova-as-proxmox-vm/

Voit asentaa itsellesi esim kohdekoneen Kalia varten: https://www.vulnhub.com/entry/driftingblues-9-final,695/

Muutama huomio:

  1. Aseta kerralla oikein levyn SATA /IDE yms asetus Proxmoxilla, jostain syystä esim Wazuh ei toiminut jos asetus oli kerran väärin. Näet asetuksen kun avaat OVA:n esim 7-zipillä ja katsot .ovf-tiedostoa esim Notepad ++:lla.
  2. Proxmoxiin pääset joko noden Shellin kautta tai haluamallasi SSH/SFTP ohjelmalla (esim. Bitwise). Voit siirtää vmdk-levyn koneelle SFTP:llä.
  3. Mikäli asennat Windows-koneita, kannattaa quemu ja virtuo-ajurit asentaa CD-aseman kautta: https://pve.proxmox.com/wiki/Windows_VirtIO_Drivers

 

Asennettavia palveluita

Voit rakentaa juuri sellaisen labran kuin haluat, mutta ohessa on muutamia ideoita jatkoa ajatellen:

  1. Infection Monkey https://www.guardicore.com/infectionmonkey/
  2. Wazuh: https://wazuh.com/
  3. Paessler PRTG: https://www.paessler.com/prtg
  4. T-Pot: https://github.com/telekom-security/tpotce
  5. Turnkey Linux templat: https://www.turnkeylinux.org/
  6. Oma Bitwarden: https://bitwarden.com/help/article/install-on-premise/

 

Seuraavassa artikkelissa testaamme Wazuhia!

BTB-projekti: Oma kotilabra

Johdanto

Oma kotilabra tarkoittaa joukkoa laitteita, joiden parissa voi kokeilla uusia teknologioita, palveluita tai harjoitella uusia taitoja. Kotilabran laitteet voi eristää normaalista “tuotannosta” ja niiden poistuminen ei häiritse normaalia elämää. Tässä artikkelissa otetaan ensimmäiset askeleet kohden omaa kotilabraa ja myöhemmissä artikkeleissa seurataan mitä palveluita / palvelimia labraan on otettu käyttöön.

  • Tavoite: Pystyttää oma kotilabra virtualisoinnin avulla 
  • Vaikeus: Keskitaso
  • Aika: 1 työpäivä
  • Hinta: Noin 700 €

Paljon vinkkejä löydät:

https://www.reddit.com/r/homelab/

Virtualisointi

Virtualisoinnilla tarkoitetaan käyttöjärjestelmätason erottamista rautatasosta, eli sen sijaan että Windows / *nix keskustelisi suoraan prosesorien ja muistin kanssa, keskustelee se virtualisointialustan kanssa. Virtualisointi kotilabrassa mahdollistaa seuraavia:

  • Resurssien tehokkaampi käyttö eri palveluiden tai palvelinten välillä
  • Nopeampi asentaminen, templaattien ja levykuvien kautta
  • Snapshottien ja konetasoisten varmuuskopioiden kautta
  • Muistin, prosessorien tai levytilan lisääminen tarpeen mukaan
  • Tarpeettomien palvelinten käynnistäminen ja sulkeminen riippumatta muista palveluista

Itselleni virtualisointi on ollut tuttua lähinnä VirtualBoxin ja Kali Linuxin kautta. Tekniikka toimii hyvin, mutta ongelmana on se ettei alusta ole ollut jatkuvaan käyttöön tarkoitettua, joten läppäriä ei ole voinut jättää päälle serverien käyttöön, käyttiksen uudelleenkäynnistykset ovat katkaisseet työt ja verkkopääsy on ollut pelkän wifin varassa. On siis aika hankkia rautaa, joka toimii nimenomaan kotilabran pohjana. Mutta mikä softa-alusta virtualisointiin?

Alusta

Pienen aiheeseen perehtymisen jälkeen karsintalistalleni päätyivät:

Tämän jälkeen ensimmäisenä karsiutui pois VirtualBox, koska halusin melko pelkistetyn ja suoraan raudan päälle asentuvan virtualisoinnin. Nutanix on varsin vakuuttava, mutta harrastajakäytössä siitä ei löytynyt tarpeeksi vinkkejä ja tukea. Lopullinen valinta tapahtui siis Proxmoxin ja ESXIn välillä. Mutta tämän jälkeen pitikin tehdä tarkastus millaista rautaa alustat tukevat.

 

Kirjallisuuskatsaus

Erittäin hyviä artikkeleita aiheeseen löytyi seuraavilta tahoilta:

VMware ESXi Home Lab – Intel NUC 10 (Frost Canyon)

Which Intel NUC should I buy for VMware ESXi? (August 2020)

Intel NUC 10 NUC10i7FNH Review

https://www.itpro.co.uk/hardware/358412/asus-mini-pc-pn50-review-no-storage-no-problem

https://henvic.dev/posts/homelab/

 

Vaatimukset

Koska vanhaa laitteistoa ei ollut käytössä, päätin panostaa uuteen settiin ja valita joko Intelin Nucin tai AMD:n barebone-malliston välillä. Nyt pitikin ottaa jo huomioon virtualisointialustan tuki laitteistolle.

Lyhyesti yhteenvedettynä ESXI tukee hyvin Intelin verkkoajureita, mutta ei kovin helposti Realtekin ajureita. Realtekia puolestaan löytyy AMD:n PN50-sarjasta. Tällä hetkellä tehojen suhteen AMD Radeon-sarja menee ohi Intelin vastaavan hinnan tuotteista, joten se puoltaisi investoinnissa AMD PN50-ostosta. Lisäksi jos myöhemmin haluaisin vaihtaa ESXi:iin, voi Intelin piirisarjaa tukevalla USB-Ethernet mokkulalla saada myös ESXin toimintaan. Mutta halusin aloittaa Proxmoxilla, avoimen lähdekoodin ideologiaa tukien. Mikäli se ei toimisi hyvin, olisi ESXi seuraavana vuorossa.

 

Ostoslista

Budjettini oli pysyä alle 1000 € hankinnoissa

Ostohetkellä halvimman setin tarjosi Tietokonekauppa.fi, johon linkit osoittavat, hinnalla 738,10 €. 

Yhteishinnaksi tuli  hieman alle 800 €.

Vaihtoehtoja

Vastaavia kokoonpanoja tarjoavat (kiitos Marcus ja Marcus):

 

Kokoaminen ja asennus

Osien kokoonpanossa ei muuta ongelmaa ollut kuin että en muistia saanut työnnettyä aivan pohjaan, joten ensimmäinen käynnistys ei onnistunut. Tuttuun tapaan 90-luvulta, kone paloiksi ja huolellisesti uudelleenkokoamalla bootti onnistui. Tämän jälkeen proxmoxin ISO-USB kiinni ja käynnistys.

Ohjeet asennukseen löytyvät: https://www.proxmox.com/en/proxmox-ve/get-started

Ikävä kyllä asennus katkesi heti alkuunsa, mutta onneksi muillakin oli sama ongelma tullut vastaan ja siihen löytyi helppo ratkaisu:

“chmod 1777 /tmp apt update Xorg-configure mv /xorg.conf.new /etc/X11/xorg.conf vim /etc/X11/xorg.conf # update Driver -> “fbdev” startx”

 

Tuore alusta

Proxmox on varsin selkeä valikkoineen.

  • Ensimmäisenä aina päivitys ja uusien bugien hakeminen netistä.
  • Tuoreelle asennukselle tuli heti laitettua NFS-verkkojako Synologyyn, jotta snapshotit ja ISO:t saa pois paikalliselta tasolta.
  • Testi VM:n snapshotin palautuskin sujui hyvin, joka on aina hyvä varmistaa.
  • Noden asetukset saa talteen skriptin kautta: https://github.com/DerDanilo/proxmox-stuff
  • Seuraavana tein kahdelle StarTechin NICille Bridget, joten minulla on nyt yksi managament-käyttöön ja kaksi varattuna tuotantoon. Koko laite siirtyi kolmella verkkopiuhalla kiinni kytkimeen ja kirjahyllyyn piiloon.

Kotilabran pohja on siis valmiina!

 

Ideoita jatkoon

Sinisen teamin perusajatuksen mukaisesti voi vaikka kokeilla miten hälytykset generoituvat erilaisista hyökkäyksistä tai monitoroida käytössä olevia palveluita. Tai ehkä Pi-Hole pitäisi virtualisoida? Olisi kiva laittaa Paesslerin PRTG pois wifin päästä. Entä jos katsoisi mitä Infection Monkey löytää?

Päivitys 31.5.2021 Lisätty Noden asetusten kopiointi-skripti

 

Jatkoa siis seuraa seuraavissa artikkeleissa:

BTB-projekti: Kotilabran palvelut