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!