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: Pi-hole

Pi-Hole Dashboard

Johdanto

Pi-hole on DNS-pohjainen suodatus-ohjelma, joka on varsin helppo asentaa ja käyttää. Se tarjoaa mahdollisuuden seurata kotiverkon sivustokyselyitä ja suodattaa mainoksia selaimista. Ohjelman paras puoli on selkeä käyttöliittymä, jonka kautta on helppo seurata mihin jääkaappi haluaa ottaa yhteyksiä tai kuinka paljon mainoksia verkkoliikenteestä on. Samalla tulee opittua paljon DNS-kyselyistä ja Linuxin käytöstä.

Projekti Pi-Hole

  • Vaikeustaso: Helppo
  • Hinta: Edullinen
  • Aika: Lyhyt
  • Ohjeistus: Saatavilla runsaasti
  • Hyöty: Mainosesto, tietoturvan parannus, opettavainen

Laitteisto ja sen käyttöönotto

Näppärin ja myös jatkoa ajatellen hyödyllisin laitteisto on Raspberry Pi eli tuttujen kesken Raspi. Se on pieni, mutta tehokas ja monipuolinen alusta, jolle voi rakentaa erilaisia projekteja ja vaihtaa asennusta muistikorttia vaihtamalla.

Tarvitset: 

  • Raspberry Pi:n (mikä tahansa versio käy)
  • Micro-SD muistikortin, tyhjän tai NOOBS esiasennetun (8,16,32 Gb tai isompi)
  • Tehokkaan micro-USB virtalähteen ja liittimen
  • HDMI-kaapelin / micro-HDMI adapterin
  • Näytön
  • Näppäimistön ja hiiren
  • (Asennusvaiheessa muistikortinlukijan ja tietokoneen)
  • (kotelon)
  • (verkkokaapelin)

Laitteiston voit ostaa esim: https://www.verkkokauppa.com/fi/search?query=raspberry+pi&sort=price%3Adesc joko yksittäisinä osina tai pakettina.

Raspin käyttöjärjestelmän asennukseen ja käyttöönottoon on hyvät ohjeet sivulla: https://www.raspberrypi.org/products/raspberry-pi-4-model-b/

Seuraa vaiheittaista ohjeistusta:

https://projects.raspberrypi.org/en/projects/raspberry-pi-setting-up

Vinkit:

  • Voit halutessasi käyttää Raspberryä joko näytön ja näppäimistön kautta tai SSH:n ylitse.
  • Aloittajalle on helpoin jättää laite aluksi näytön, hiiren ja näppäimistön kanssa kytketyksi.
  • Voit käyttää joko langatonta tai langallista yhteyttä (langallinen suositeltava)
  • Jatkoa ajatellen, laitteelle kannattaa määritellä pysyvä IP-osoite (reitittimeltäsi, esim: https://www.howtogeek.com/184310/ask-htg-should-i-be-setting-static-ip-addresses-on-my-router/)

Kun olet saanut asennuksen valmiiksi ja laite on verkossa pysyvällä IP-osoitteella, on aika siirtyä seuraavaan vaiheeseen.

Pi-Holen asennus

Vaihe 1: Pi-Hole

Asennus on hyvin helppoa ohjatun toiminnon kautta. Avaa komentotulkki esim työpöydältä (https://www.raspberrypi.org/documentation/usage/terminal/) tai ota SSH-yhteys koneeltasi.

Anna seuraava komento (copy-paste)

curl -sSL https://install.pi-hole.net | bash

Seuraa ohjeita. Anna laitteelle sama pysyvä IP-osoite jonka olet jo antanut reitittimellesi.

Testaa että saat Pi-Holeen yhteyden selaimen kautta.

Vaihe 2: Ota suodatus käyttöön

Sinulla on nyt muutama vaihtoehto:

Pi-Hole vastaa kaikista DNS-kyselyistä.

Tällöin aseta reitittimesi DNS-asetuksiin Pi-Hole:n IP-osoite. Aseta Pi-Hole käyttämään esim CloudFlaren 1.1.1.2 / 1.0.0.2 DNS-palvelimia (haittaohjelmien suodatus). Pi-Hole vastaa kaikista kyselyistä, muista asettaa myös conditional forwarding osoittamaan reitittimeesi, jotta näet mitkä laitteet tekevät kyselyitä. Helppo tapa aloittaa käyttö.

Aseta reitittimen DHCP-palveluiden kautta Pi-Hole DNS-palvelimeksi vain laitteille

Kun reititin antaa laitteillesi IP-osoitteita, se samalla mainostaa niille Pi-Holea DNS-palvelimeksi. Aseta reitittimellä esim CloudFlaren 1.1.1.2 / 1.0.0.2 DNS-palvelimet sen omiksi palvelimiksi, estä reitittimien omien DNS-palveluiden mainostaminen laitteille ja aseta Pi-Hole käyttämään reititintä omana DNS-palvelimenaan. Tämä mahdollistaa myös esim pfSensen DNSBL-palvelun käyttöönoton myöhemmin tai DNS over TLS.kyselyt. Lisäksi voit lisätä toisen Pi-Hole laitteen rinnalle, jolloin et ole vain yhden palvelimen varassa.

Moni aloittaa ensimmäisellä vaihtoehdolla ja siirtyy myöhemmin toiseen.

Ks esim: https://discourse.pi-hole.net/t/how-do-i-configure-my-devices-to-use-pi-hole-as-their-dns-server/245

 

Pi-Holen käyttö

Kun saat Pi-Holen käyttöön, alat pian näkemään millaisia kyselyitä laitteet tekevät. Mikäli valitsit asennusvaiheessa oletus-suodatuslistat, sinulla on jo käytössä mainossuodatus.

Vinkkejä:

Graafinen yleisilme on Pi-Holen vahvuus. Näet nopeasti yleistilanteen.

 

Voit myös tarkastella haluamiasi ajanjaksoja. Kannattaa tietenkin huolehtia ettei muistikortti täyty arkistoiduista lokitiedoista.

 

Querylistin kautta näet lähes reaaliajassa mitä dns-kyselyitä eri laitteet tekevät. Samalla voit sallia kyselyitä jos sivut eivät toimi. Flutterhole toimii Android-laitteilla ja antaa sinulle pääsyn samaan tietoon API:n ylitse.

 

Kohdatut ongelmatilanteet

Omatoimisen rakentelun väistämätön suola ja hupi on se, kun jotain hajoaa tai pääsee selvittämään monimutkaista ongelmaa (kun aikaa siihen ei olisi)

 

Onnistumisia

Toisaalta kun kaikki toimii, antaa Pi-Hole hyvin tietoa uusien laitteiden toiminnasta.

  • Asuksen wi-fi jakaja lähettää 10 sek välein kyselyn dlcdnet.asus.com palveluun ruuhkauttaen kameran nettiyhteyden. Ei enää.
  • Selailu on mainosvapaata, ilman selainten lisäosia, myös kännykällä
  • MTV3-nettipalvelun mainoskatkot jäävät pois

Jatkoa

Kun olet saanut ensimmäisen vaiheen valmiiksi, tässä lisää ideoita:

  • Toinen laite rinnalle, samoilla suodatuslistoilla (teleporter, export/import)
  • PiVPN, Wireguard tai OpenVPN yhteys, jolla myös kodin ulkopuolelta pääset nauttimaan Pi-Holestasi
  • Flutterhole kännykkään
  • OpenDNS-palvelun kokeileminen ja eri suodatuslistojen kokeilu

 

Kerro miten projektisi onnistui tai kysy apua!